ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_arrayChoice.F90
Go to the documentation of this file.
1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3!!!! !!!!
4!!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5!!!! !!!!
6!!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7!!!! !!!!
8!!!! This file is part of the ParaMonte library. !!!!
9!!!! !!!!
10!!!! LICENSE !!!!
11!!!! !!!!
12!!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13!!!! !!!!
14!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
24
25!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26
28
30 use pm_err, only: err_type
31 use pm_test, only: test_type, LK
32 use pm_arrayMembership, only: operator(.in.)
33 use pm_arrayMembership, only: operator(.allin.)
34 implicit none
35
36 private
37 public :: setTest
38 type(test_type) :: test
39
40!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41
42 interface
43
44 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47
48 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49
50#if SK5_ENABLED
51 module function test_getChoice_D0_SK5_1 () result(assertion); logical(LK) :: assertion; end function
52#endif
53#if SK4_ENABLED
54 module function test_getChoice_D0_SK4_1 () result(assertion); logical(LK) :: assertion; end function
55#endif
56#if SK3_ENABLED
57 module function test_getChoice_D0_SK3_1 () result(assertion); logical(LK) :: assertion; end function
58#endif
59#if SK2_ENABLED
60 module function test_getChoice_D0_SK2_1 () result(assertion); logical(LK) :: assertion; end function
61#endif
62#if SK1_ENABLED
63 module function test_getChoice_D0_SK1_1 () result(assertion); logical(LK) :: assertion; end function
64#endif
65
66 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67
68 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71
72 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
73
74#if SK5_ENABLED
75 module function test_getChoice_D1_SK5_1 () result(assertion); logical(LK) :: assertion; end function
76#endif
77#if SK4_ENABLED
78 module function test_getChoice_D1_SK4_1 () result(assertion); logical(LK) :: assertion; end function
79#endif
80#if SK3_ENABLED
81 module function test_getChoice_D1_SK3_1 () result(assertion); logical(LK) :: assertion; end function
82#endif
83#if SK2_ENABLED
84 module function test_getChoice_D1_SK2_1 () result(assertion); logical(LK) :: assertion; end function
85#endif
86#if SK1_ENABLED
87 module function test_getChoice_D1_SK1_1 () result(assertion); logical(LK) :: assertion; end function
88#endif
89
90 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91
92#if IK5_ENABLED
93 module function test_getChoice_D1_IK5_1 () result(assertion); logical(LK) :: assertion; end function
94#endif
95#if IK4_ENABLED
96 module function test_getChoice_D1_IK4_1 () result(assertion); logical(LK) :: assertion; end function
97#endif
98#if IK3_ENABLED
99 module function test_getChoice_D1_IK3_1 () result(assertion); logical(LK) :: assertion; end function
100#endif
101#if IK2_ENABLED
102 module function test_getChoice_D1_IK2_1 () result(assertion); logical(LK) :: assertion; end function
103#endif
104#if IK1_ENABLED
105 module function test_getChoice_D1_IK1_1 () result(assertion); logical(LK) :: assertion; end function
106#endif
107
108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109
110#if LK5_ENABLED
111 module function test_getChoice_D1_LK5_1 () result(assertion); logical(LK) :: assertion; end function
112#endif
113#if LK4_ENABLED
114 module function test_getChoice_D1_LK4_1 () result(assertion); logical(LK) :: assertion; end function
115#endif
116#if LK3_ENABLED
117 module function test_getChoice_D1_LK3_1 () result(assertion); logical(LK) :: assertion; end function
118#endif
119#if LK2_ENABLED
120 module function test_getChoice_D1_LK2_1 () result(assertion); logical(LK) :: assertion; end function
121#endif
122#if LK1_ENABLED
123 module function test_getChoice_D1_LK1_1 () result(assertion); logical(LK) :: assertion; end function
124#endif
125
126 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127
128#if CK5_ENABLED
129 module function test_getChoice_D1_CK5_1 () result(assertion); logical(LK) :: assertion; end function
130#endif
131#if CK4_ENABLED
132 module function test_getChoice_D1_CK4_1 () result(assertion); logical(LK) :: assertion; end function
133#endif
134#if CK3_ENABLED
135 module function test_getChoice_D1_CK3_1 () result(assertion); logical(LK) :: assertion; end function
136#endif
137#if CK2_ENABLED
138 module function test_getChoice_D1_CK2_1 () result(assertion); logical(LK) :: assertion; end function
139#endif
140#if CK1_ENABLED
141 module function test_getChoice_D1_CK1_1 () result(assertion); logical(LK) :: assertion; end function
142#endif
143
144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145
146#if RK5_ENABLED
147 module function test_getChoice_D1_RK5_1 () result(assertion); logical(LK) :: assertion; end function
148#endif
149#if RK4_ENABLED
150 module function test_getChoice_D1_RK4_1 () result(assertion); logical(LK) :: assertion; end function
151#endif
152#if RK3_ENABLED
153 module function test_getChoice_D1_RK3_1 () result(assertion); logical(LK) :: assertion; end function
154#endif
155#if RK2_ENABLED
156 module function test_getChoice_D1_RK2_1 () result(assertion); logical(LK) :: assertion; end function
157#endif
158#if RK1_ENABLED
159 module function test_getChoice_D1_RK1_1 () result(assertion); logical(LK) :: assertion; end function
160#endif
161
162 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163
164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
167
168 end interface
169
170!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171
172 interface
173
174 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
176 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177
178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179
180#if SK5_ENABLED
181 module function test_setChoice_D0_SK5_1 () result(assertion); logical(LK) :: assertion; end function
182#endif
183#if SK4_ENABLED
184 module function test_setChoice_D0_SK4_1 () result(assertion); logical(LK) :: assertion; end function
185#endif
186#if SK3_ENABLED
187 module function test_setChoice_D0_SK3_1 () result(assertion); logical(LK) :: assertion; end function
188#endif
189#if SK2_ENABLED
190 module function test_setChoice_D0_SK2_1 () result(assertion); logical(LK) :: assertion; end function
191#endif
192#if SK1_ENABLED
193 module function test_setChoice_D0_SK1_1 () result(assertion); logical(LK) :: assertion; end function
194#endif
195
196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197
198 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201
202 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
203
204#if SK5_ENABLED
205 module function test_setChoice_D1_SK5_1 () result(assertion); logical(LK) :: assertion; end function
206#endif
207#if SK4_ENABLED
208 module function test_setChoice_D1_SK4_1 () result(assertion); logical(LK) :: assertion; end function
209#endif
210#if SK3_ENABLED
211 module function test_setChoice_D1_SK3_1 () result(assertion); logical(LK) :: assertion; end function
212#endif
213#if SK2_ENABLED
214 module function test_setChoice_D1_SK2_1 () result(assertion); logical(LK) :: assertion; end function
215#endif
216#if SK1_ENABLED
217 module function test_setChoice_D1_SK1_1 () result(assertion); logical(LK) :: assertion; end function
218#endif
219
220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
221
222#if IK5_ENABLED
223 module function test_setChoice_D1_IK5_1 () result(assertion); logical(LK) :: assertion; end function
224#endif
225#if IK4_ENABLED
226 module function test_setChoice_D1_IK4_1 () result(assertion); logical(LK) :: assertion; end function
227#endif
228#if IK3_ENABLED
229 module function test_setChoice_D1_IK3_1 () result(assertion); logical(LK) :: assertion; end function
230#endif
231#if IK2_ENABLED
232 module function test_setChoice_D1_IK2_1 () result(assertion); logical(LK) :: assertion; end function
233#endif
234#if IK1_ENABLED
235 module function test_setChoice_D1_IK1_1 () result(assertion); logical(LK) :: assertion; end function
236#endif
237
238 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239
240#if LK5_ENABLED
241 module function test_setChoice_D1_LK5_1 () result(assertion); logical(LK) :: assertion; end function
242#endif
243#if LK4_ENABLED
244 module function test_setChoice_D1_LK4_1 () result(assertion); logical(LK) :: assertion; end function
245#endif
246#if LK3_ENABLED
247 module function test_setChoice_D1_LK3_1 () result(assertion); logical(LK) :: assertion; end function
248#endif
249#if LK2_ENABLED
250 module function test_setChoice_D1_LK2_1 () result(assertion); logical(LK) :: assertion; end function
251#endif
252#if LK1_ENABLED
253 module function test_setChoice_D1_LK1_1 () result(assertion); logical(LK) :: assertion; end function
254#endif
255
256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
257
258#if CK5_ENABLED
259 module function test_setChoice_D1_CK5_1 () result(assertion); logical(LK) :: assertion; end function
260#endif
261#if CK4_ENABLED
262 module function test_setChoice_D1_CK4_1 () result(assertion); logical(LK) :: assertion; end function
263#endif
264#if CK3_ENABLED
265 module function test_setChoice_D1_CK3_1 () result(assertion); logical(LK) :: assertion; end function
266#endif
267#if CK2_ENABLED
268 module function test_setChoice_D1_CK2_1 () result(assertion); logical(LK) :: assertion; end function
269#endif
270#if CK1_ENABLED
271 module function test_setChoice_D1_CK1_1 () result(assertion); logical(LK) :: assertion; end function
272#endif
273
274 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275
276#if RK5_ENABLED
277 module function test_setChoice_D1_RK5_1 () result(assertion); logical(LK) :: assertion; end function
278#endif
279#if RK4_ENABLED
280 module function test_setChoice_D1_RK4_1 () result(assertion); logical(LK) :: assertion; end function
281#endif
282#if RK3_ENABLED
283 module function test_setChoice_D1_RK3_1 () result(assertion); logical(LK) :: assertion; end function
284#endif
285#if RK2_ENABLED
286 module function test_setChoice_D1_RK2_1 () result(assertion); logical(LK) :: assertion; end function
287#endif
288#if RK1_ENABLED
289 module function test_setChoice_D1_RK1_1 () result(assertion); logical(LK) :: assertion; end function
290#endif
291
292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293
294 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297
298 end interface
299
300!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301
302contains
303
304!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
305
306 subroutine setTest()
307
308 implicit none
309
311
312 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
313 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315
316 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
317
318#if SK5_ENABLED
319 call test%run(test_getChoice_D0_SK5_1, SK_"test_getChoice_D0_SK5_1")
320#endif
321#if SK4_ENABLED
322 call test%run(test_getChoice_D0_SK4_1, SK_"test_getChoice_D0_SK4_1")
323#endif
324#if SK3_ENABLED
325 call test%run(test_getChoice_D0_SK3_1, SK_"test_getChoice_D0_SK3_1")
326#endif
327#if SK2_ENABLED
328 call test%run(test_getChoice_D0_SK2_1, SK_"test_getChoice_D0_SK2_1")
329#endif
330#if SK1_ENABLED
331 call test%run(test_getChoice_D0_SK1_1, SK_"test_getChoice_D0_SK1_1")
332#endif
333
334 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
335
336 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
337 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339
340 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
341
342#if SK5_ENABLED
343 call test%run(test_getChoice_D1_SK5_1, SK_"test_getChoice_D1_SK5_1")
344#endif
345#if SK4_ENABLED
346 call test%run(test_getChoice_D1_SK4_1, SK_"test_getChoice_D1_SK4_1")
347#endif
348#if SK3_ENABLED
349 call test%run(test_getChoice_D1_SK3_1, SK_"test_getChoice_D1_SK3_1")
350#endif
351#if SK2_ENABLED
352 call test%run(test_getChoice_D1_SK2_1, SK_"test_getChoice_D1_SK2_1")
353#endif
354#if SK1_ENABLED
355 call test%run(test_getChoice_D1_SK1_1, SK_"test_getChoice_D1_SK1_1")
356#endif
357
358 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359
360#if IK5_ENABLED
361 call test%run(test_getChoice_D1_IK5_1, SK_"test_getChoice_D1_IK5_1")
362#endif
363#if IK4_ENABLED
364 call test%run(test_getChoice_D1_IK4_1, SK_"test_getChoice_D1_IK4_1")
365#endif
366#if IK3_ENABLED
367 call test%run(test_getChoice_D1_IK3_1, SK_"test_getChoice_D1_IK3_1")
368#endif
369#if IK2_ENABLED
370 call test%run(test_getChoice_D1_IK2_1, SK_"test_getChoice_D1_IK2_1")
371#endif
372#if IK1_ENABLED
373 call test%run(test_getChoice_D1_IK1_1, SK_"test_getChoice_D1_IK1_1")
374#endif
375
376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
377
378#if LK5_ENABLED
379 call test%run(test_getChoice_D1_LK5_1, SK_"test_getChoice_D1_LK5_1")
380#endif
381#if LK4_ENABLED
382 call test%run(test_getChoice_D1_LK4_1, SK_"test_getChoice_D1_LK4_1")
383#endif
384#if LK3_ENABLED
385 call test%run(test_getChoice_D1_LK3_1, SK_"test_getChoice_D1_LK3_1")
386#endif
387#if LK2_ENABLED
388 call test%run(test_getChoice_D1_LK2_1, SK_"test_getChoice_D1_LK2_1")
389#endif
390#if LK1_ENABLED
391 call test%run(test_getChoice_D1_LK1_1, SK_"test_getChoice_D1_LK1_1")
392#endif
393
394 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395
396#if CK5_ENABLED
397 call test%run(test_getChoice_D1_CK5_1, SK_"test_getChoice_D1_CK5_1")
398#endif
399#if CK4_ENABLED
400 call test%run(test_getChoice_D1_CK4_1, SK_"test_getChoice_D1_CK4_1")
401#endif
402#if CK3_ENABLED
403 call test%run(test_getChoice_D1_CK3_1, SK_"test_getChoice_D1_CK3_1")
404#endif
405#if CK2_ENABLED
406 call test%run(test_getChoice_D1_CK2_1, SK_"test_getChoice_D1_CK2_1")
407#endif
408#if CK1_ENABLED
409 call test%run(test_getChoice_D1_CK1_1, SK_"test_getChoice_D1_CK1_1")
410#endif
411
412 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413
414#if RK5_ENABLED
415 call test%run(test_getChoice_D1_RK5_1, SK_"test_getChoice_D1_RK5_1")
416#endif
417#if RK4_ENABLED
418 call test%run(test_getChoice_D1_RK4_1, SK_"test_getChoice_D1_RK4_1")
419#endif
420#if RK3_ENABLED
421 call test%run(test_getChoice_D1_RK3_1, SK_"test_getChoice_D1_RK3_1")
422#endif
423#if RK2_ENABLED
424 call test%run(test_getChoice_D1_RK2_1, SK_"test_getChoice_D1_RK2_1")
425#endif
426#if RK1_ENABLED
427 call test%run(test_getChoice_D1_RK1_1, SK_"test_getChoice_D1_RK1_1")
428#endif
429
430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
431
432 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
433 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
434 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435
436 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
437 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
438 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
439
440 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
441
442#if SK5_ENABLED
443 call test%run(test_setChoice_D0_SK5_1, SK_"test_setChoice_D0_SK5_1")
444#endif
445#if SK4_ENABLED
446 call test%run(test_setChoice_D0_SK4_1, SK_"test_setChoice_D0_SK4_1")
447#endif
448#if SK3_ENABLED
449 call test%run(test_setChoice_D0_SK3_1, SK_"test_setChoice_D0_SK3_1")
450#endif
451#if SK2_ENABLED
452 call test%run(test_setChoice_D0_SK2_1, SK_"test_setChoice_D0_SK2_1")
453#endif
454#if SK1_ENABLED
455 call test%run(test_setChoice_D0_SK1_1, SK_"test_setChoice_D0_SK1_1")
456#endif
457
458 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
459
460 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
461 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
463
464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
465
466#if SK5_ENABLED
467 call test%run(test_setChoice_D1_SK5_1, SK_"test_setChoice_D1_SK5_1")
468#endif
469#if SK4_ENABLED
470 call test%run(test_setChoice_D1_SK4_1, SK_"test_setChoice_D1_SK4_1")
471#endif
472#if SK3_ENABLED
473 call test%run(test_setChoice_D1_SK3_1, SK_"test_setChoice_D1_SK3_1")
474#endif
475#if SK2_ENABLED
476 call test%run(test_setChoice_D1_SK2_1, SK_"test_setChoice_D1_SK2_1")
477#endif
478#if SK1_ENABLED
479 call test%run(test_setChoice_D1_SK1_1, SK_"test_setChoice_D1_SK1_1")
480#endif
481
482 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483
484#if IK5_ENABLED
485 call test%run(test_setChoice_D1_IK5_1, SK_"test_setChoice_D1_IK5_1")
486#endif
487#if IK4_ENABLED
488 call test%run(test_setChoice_D1_IK4_1, SK_"test_setChoice_D1_IK4_1")
489#endif
490#if IK3_ENABLED
491 call test%run(test_setChoice_D1_IK3_1, SK_"test_setChoice_D1_IK3_1")
492#endif
493#if IK2_ENABLED
494 call test%run(test_setChoice_D1_IK2_1, SK_"test_setChoice_D1_IK2_1")
495#endif
496#if IK1_ENABLED
497 call test%run(test_setChoice_D1_IK1_1, SK_"test_setChoice_D1_IK1_1")
498#endif
499
500 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
501
502#if LK5_ENABLED
503 call test%run(test_setChoice_D1_LK5_1, SK_"test_setChoice_D1_LK5_1")
504#endif
505#if LK4_ENABLED
506 call test%run(test_setChoice_D1_LK4_1, SK_"test_setChoice_D1_LK4_1")
507#endif
508#if LK3_ENABLED
509 call test%run(test_setChoice_D1_LK3_1, SK_"test_setChoice_D1_LK3_1")
510#endif
511#if LK2_ENABLED
512 call test%run(test_setChoice_D1_LK2_1, SK_"test_setChoice_D1_LK2_1")
513#endif
514#if LK1_ENABLED
515 call test%run(test_setChoice_D1_LK1_1, SK_"test_setChoice_D1_LK1_1")
516#endif
517
518 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519
520#if CK5_ENABLED
521 call test%run(test_setChoice_D1_CK5_1, SK_"test_setChoice_D1_CK5_1")
522#endif
523#if CK4_ENABLED
524 call test%run(test_setChoice_D1_CK4_1, SK_"test_setChoice_D1_CK4_1")
525#endif
526#if CK3_ENABLED
527 call test%run(test_setChoice_D1_CK3_1, SK_"test_setChoice_D1_CK3_1")
528#endif
529#if CK2_ENABLED
530 call test%run(test_setChoice_D1_CK2_1, SK_"test_setChoice_D1_CK2_1")
531#endif
532#if CK1_ENABLED
533 call test%run(test_setChoice_D1_CK1_1, SK_"test_setChoice_D1_CK1_1")
534#endif
535
536 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
537
538#if RK5_ENABLED
539 call test%run(test_setChoice_D1_RK5_1, SK_"test_setChoice_D1_RK5_1")
540#endif
541#if RK4_ENABLED
542 call test%run(test_setChoice_D1_RK4_1, SK_"test_setChoice_D1_RK4_1")
543#endif
544#if RK3_ENABLED
545 call test%run(test_setChoice_D1_RK3_1, SK_"test_setChoice_D1_RK3_1")
546#endif
547#if RK2_ENABLED
548 call test%run(test_setChoice_D1_RK2_1, SK_"test_setChoice_D1_RK2_1")
549#endif
550#if RK1_ENABLED
551 call test%run(test_setChoice_D1_RK1_1, SK_"test_setChoice_D1_RK1_1")
552#endif
553
554 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
555
556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559
560 call test%summarize()
561
562 end subroutine setTest
563
564!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
565
566end module test_pm_arrayChoice ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for selecting uniformly-distributed or arbitra...
character(*, SK), parameter MODULE_NAME
This module contains procedures and generic interfaces for assessing whether particular value(s) or a...
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
This module contains a simple unit-testing framework for the Fortran libraries, including the ParaMon...
Definition: pm_test.F90:42
This module contains tests of the module pm_arrayChoice.
This is the derived type for generating objects to gracefully and verbosely handle runtime unexpected...
Definition: pm_err.F90:157
This is the derived type test_type for generating objects that facilitate testing of a series of proc...
Definition: pm_test.F90:209