ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_distBern.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
29 use pm_distBern
30 use pm_err, only: err_type
31 use pm_test, only: test_type, LK
32
33 implicit none
34
35 private
36 public :: setTest
37 type(test_type) :: test
38
39!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40
41 interface
42#if RK5_ENABLED
43 module function test_isHead_RK5_1() result(assertion); logical(LK) :: assertion; end function
44#endif
45#if RK4_ENABLED
46 module function test_isHead_RK4_1() result(assertion); logical(LK) :: assertion; end function
47#endif
48#if RK3_ENABLED
49 module function test_isHead_RK3_1() result(assertion); logical(LK) :: assertion; end function
50#endif
51#if RK2_ENABLED
52 module function test_isHead_RK2_1() result(assertion); logical(LK) :: assertion; end function
53#endif
54#if RK1_ENABLED
55 module function test_isHead_RK1_1() result(assertion); logical(LK) :: assertion; end function
56#endif
57 end interface
58
59!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60
61 interface
62#if RK5_ENABLED
63 module function test_getBernRand_RK5_1() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if RK4_ENABLED
66 module function test_getBernRand_RK4_1() result(assertion); logical(LK) :: assertion; end function
67#endif
68#if RK3_ENABLED
69 module function test_getBernRand_RK3_1() result(assertion); logical(LK) :: assertion; end function
70#endif
71#if RK2_ENABLED
72 module function test_getBernRand_RK2_1() result(assertion); logical(LK) :: assertion; end function
73#endif
74#if RK1_ENABLED
75 module function test_getBernRand_RK1_1() result(assertion); logical(LK) :: assertion; end function
76#endif
77 end interface
78
79!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80
81 interface
82
83 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
86
87 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88
89#if IK5_ENABLED && RK5_ENABLED
90 module function test_setBernRand_IK5_RK5_1() result(assertion); logical(LK) :: assertion; end function
91#endif
92#if IK5_ENABLED && RK4_ENABLED
93 module function test_setBernRand_IK5_RK4_1() result(assertion); logical(LK) :: assertion; end function
94#endif
95#if IK5_ENABLED && RK3_ENABLED
96 module function test_setBernRand_IK5_RK3_1() result(assertion); logical(LK) :: assertion; end function
97#endif
98#if IK5_ENABLED && RK2_ENABLED
99 module function test_setBernRand_IK5_RK2_1() result(assertion); logical(LK) :: assertion; end function
100#endif
101#if IK5_ENABLED && RK1_ENABLED
102 module function test_setBernRand_IK5_RK1_1() result(assertion); logical(LK) :: assertion; end function
103#endif
104
105 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106
107#if IK4_ENABLED && RK5_ENABLED
108 module function test_setBernRand_IK4_RK5_1() result(assertion); logical(LK) :: assertion; end function
109#endif
110#if IK4_ENABLED && RK4_ENABLED
111 module function test_setBernRand_IK4_RK4_1() result(assertion); logical(LK) :: assertion; end function
112#endif
113#if IK4_ENABLED && RK3_ENABLED
114 module function test_setBernRand_IK4_RK3_1() result(assertion); logical(LK) :: assertion; end function
115#endif
116#if IK4_ENABLED && RK2_ENABLED
117 module function test_setBernRand_IK4_RK2_1() result(assertion); logical(LK) :: assertion; end function
118#endif
119#if IK4_ENABLED && RK1_ENABLED
120 module function test_setBernRand_IK4_RK1_1() result(assertion); logical(LK) :: assertion; end function
121#endif
122
123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
124
125#if IK3_ENABLED && RK5_ENABLED
126 module function test_setBernRand_IK3_RK5_1() result(assertion); logical(LK) :: assertion; end function
127#endif
128#if IK3_ENABLED && RK4_ENABLED
129 module function test_setBernRand_IK3_RK4_1() result(assertion); logical(LK) :: assertion; end function
130#endif
131#if IK3_ENABLED && RK3_ENABLED
132 module function test_setBernRand_IK3_RK3_1() result(assertion); logical(LK) :: assertion; end function
133#endif
134#if IK3_ENABLED && RK2_ENABLED
135 module function test_setBernRand_IK3_RK2_1() result(assertion); logical(LK) :: assertion; end function
136#endif
137#if IK3_ENABLED && RK1_ENABLED
138 module function test_setBernRand_IK3_RK1_1() result(assertion); logical(LK) :: assertion; end function
139#endif
140
141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
142
143#if IK2_ENABLED && RK5_ENABLED
144 module function test_setBernRand_IK2_RK5_1() result(assertion); logical(LK) :: assertion; end function
145#endif
146#if IK2_ENABLED && RK4_ENABLED
147 module function test_setBernRand_IK2_RK4_1() result(assertion); logical(LK) :: assertion; end function
148#endif
149#if IK2_ENABLED && RK3_ENABLED
150 module function test_setBernRand_IK2_RK3_1() result(assertion); logical(LK) :: assertion; end function
151#endif
152#if IK2_ENABLED && RK2_ENABLED
153 module function test_setBernRand_IK2_RK2_1() result(assertion); logical(LK) :: assertion; end function
154#endif
155#if IK2_ENABLED && RK1_ENABLED
156 module function test_setBernRand_IK2_RK1_1() result(assertion); logical(LK) :: assertion; end function
157#endif
158
159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
161#if IK1_ENABLED && RK5_ENABLED
162 module function test_setBernRand_IK1_RK5_1() result(assertion); logical(LK) :: assertion; end function
163#endif
164#if IK1_ENABLED && RK4_ENABLED
165 module function test_setBernRand_IK1_RK4_1() result(assertion); logical(LK) :: assertion; end function
166#endif
167#if IK1_ENABLED && RK3_ENABLED
168 module function test_setBernRand_IK1_RK3_1() result(assertion); logical(LK) :: assertion; end function
169#endif
170#if IK1_ENABLED && RK2_ENABLED
171 module function test_setBernRand_IK1_RK2_1() result(assertion); logical(LK) :: assertion; end function
172#endif
173#if IK1_ENABLED && RK1_ENABLED
174 module function test_setBernRand_IK1_RK1_1() result(assertion); logical(LK) :: assertion; end function
175#endif
176
177 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178
179 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182
183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184
185#if LK5_ENABLED && RK5_ENABLED
186 module function test_setBernRand_LK5_RK5_1() result(assertion); logical(LK) :: assertion; end function
187#endif
188#if LK5_ENABLED && RK4_ENABLED
189 module function test_setBernRand_LK5_RK4_1() result(assertion); logical(LK) :: assertion; end function
190#endif
191#if LK5_ENABLED && RK3_ENABLED
192 module function test_setBernRand_LK5_RK3_1() result(assertion); logical(LK) :: assertion; end function
193#endif
194#if LK5_ENABLED && RK2_ENABLED
195 module function test_setBernRand_LK5_RK2_1() result(assertion); logical(LK) :: assertion; end function
196#endif
197#if LK5_ENABLED && RK1_ENABLED
198 module function test_setBernRand_LK5_RK1_1() result(assertion); logical(LK) :: assertion; end function
199#endif
200
201 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
202
203#if LK4_ENABLED && RK5_ENABLED
204 module function test_setBernRand_LK4_RK5_1() result(assertion); logical(LK) :: assertion; end function
205#endif
206#if LK4_ENABLED && RK4_ENABLED
207 module function test_setBernRand_LK4_RK4_1() result(assertion); logical(LK) :: assertion; end function
208#endif
209#if LK4_ENABLED && RK3_ENABLED
210 module function test_setBernRand_LK4_RK3_1() result(assertion); logical(LK) :: assertion; end function
211#endif
212#if LK4_ENABLED && RK2_ENABLED
213 module function test_setBernRand_LK4_RK2_1() result(assertion); logical(LK) :: assertion; end function
214#endif
215#if LK4_ENABLED && RK1_ENABLED
216 module function test_setBernRand_LK4_RK1_1() result(assertion); logical(LK) :: assertion; end function
217#endif
218
219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
220
221#if LK3_ENABLED && RK5_ENABLED
222 module function test_setBernRand_LK3_RK5_1() result(assertion); logical(LK) :: assertion; end function
223#endif
224#if LK3_ENABLED && RK4_ENABLED
225 module function test_setBernRand_LK3_RK4_1() result(assertion); logical(LK) :: assertion; end function
226#endif
227#if LK3_ENABLED && RK3_ENABLED
228 module function test_setBernRand_LK3_RK3_1() result(assertion); logical(LK) :: assertion; end function
229#endif
230#if LK3_ENABLED && RK2_ENABLED
231 module function test_setBernRand_LK3_RK2_1() result(assertion); logical(LK) :: assertion; end function
232#endif
233#if LK3_ENABLED && RK1_ENABLED
234 module function test_setBernRand_LK3_RK1_1() result(assertion); logical(LK) :: assertion; end function
235#endif
236
237 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
238
239#if LK2_ENABLED && RK5_ENABLED
240 module function test_setBernRand_LK2_RK5_1() result(assertion); logical(LK) :: assertion; end function
241#endif
242#if LK2_ENABLED && RK4_ENABLED
243 module function test_setBernRand_LK2_RK4_1() result(assertion); logical(LK) :: assertion; end function
244#endif
245#if LK2_ENABLED && RK3_ENABLED
246 module function test_setBernRand_LK2_RK3_1() result(assertion); logical(LK) :: assertion; end function
247#endif
248#if LK2_ENABLED && RK2_ENABLED
249 module function test_setBernRand_LK2_RK2_1() result(assertion); logical(LK) :: assertion; end function
250#endif
251#if LK2_ENABLED && RK1_ENABLED
252 module function test_setBernRand_LK2_RK1_1() result(assertion); logical(LK) :: assertion; end function
253#endif
254
255 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256
257#if LK1_ENABLED && RK5_ENABLED
258 module function test_setBernRand_LK1_RK5_1() result(assertion); logical(LK) :: assertion; end function
259#endif
260#if LK1_ENABLED && RK4_ENABLED
261 module function test_setBernRand_LK1_RK4_1() result(assertion); logical(LK) :: assertion; end function
262#endif
263#if LK1_ENABLED && RK3_ENABLED
264 module function test_setBernRand_LK1_RK3_1() result(assertion); logical(LK) :: assertion; end function
265#endif
266#if LK1_ENABLED && RK2_ENABLED
267 module function test_setBernRand_LK1_RK2_1() result(assertion); logical(LK) :: assertion; end function
268#endif
269#if LK1_ENABLED && RK1_ENABLED
270 module function test_setBernRand_LK1_RK1_1() result(assertion); logical(LK) :: assertion; end function
271#endif
272
273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274
275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278
279 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280
281#if RK5_ENABLED
282 module function test_setBernRand_RK5_RK5_1() result(assertion); logical(LK) :: assertion; end function
283#endif
284#if RK4_ENABLED
285 module function test_setBernRand_RK4_RK4_1() result(assertion); logical(LK) :: assertion; end function
286#endif
287#if RK3_ENABLED
288 module function test_setBernRand_RK3_RK3_1() result(assertion); logical(LK) :: assertion; end function
289#endif
290#if RK2_ENABLED
291 module function test_setBernRand_RK2_RK2_1() result(assertion); logical(LK) :: assertion; end function
292#endif
293#if RK1_ENABLED
294 module function test_setBernRand_RK1_RK1_1() result(assertion); logical(LK) :: assertion; end function
295#endif
296
297 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298
299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302
303 end interface
304
305!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
306
307contains
308
309!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310
311 subroutine setTest()
312
314
315 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316
317#if RK5_ENABLED
318 call test%run(test_isHead_RK5_1, SK_"test_isHead_RK5_1")
319#endif
320#if RK4_ENABLED
321 call test%run(test_isHead_RK4_1, SK_"test_isHead_RK4_1")
322#endif
323#if RK3_ENABLED
324 call test%run(test_isHead_RK3_1, SK_"test_isHead_RK3_1")
325#endif
326#if RK2_ENABLED
327 call test%run(test_isHead_RK2_1, SK_"test_isHead_RK2_1")
328#endif
329#if RK1_ENABLED
330 call test%run(test_isHead_RK1_1, SK_"test_isHead_RK1_1")
331#endif
332
333 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334
335#if RK5_ENABLED
336 call test%run(test_getBernRand_RK5_1, SK_"test_getBernRand_RK5_1")
337#endif
338#if RK4_ENABLED
339 call test%run(test_getBernRand_RK4_1, SK_"test_getBernRand_RK4_1")
340#endif
341#if RK3_ENABLED
342 call test%run(test_getBernRand_RK3_1, SK_"test_getBernRand_RK3_1")
343#endif
344#if RK2_ENABLED
345 call test%run(test_getBernRand_RK2_1, SK_"test_getBernRand_RK2_1")
346#endif
347#if RK1_ENABLED
348 call test%run(test_getBernRand_RK1_1, SK_"test_getBernRand_RK1_1")
349#endif
350
351 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352
353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
354 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356
357 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
358
359#if IK5_ENABLED && RK5_ENABLED
360 call test%run(test_setBernRand_IK5_RK5_1, SK_"test_setBernRand_IK5_RK5_1")
361#endif
362#if IK5_ENABLED && RK4_ENABLED
363 call test%run(test_setBernRand_IK5_RK4_1, SK_"test_setBernRand_IK5_RK4_1")
364#endif
365#if IK5_ENABLED && RK3_ENABLED
366 call test%run(test_setBernRand_IK5_RK3_1, SK_"test_setBernRand_IK5_RK3_1")
367#endif
368#if IK5_ENABLED && RK2_ENABLED
369 call test%run(test_setBernRand_IK5_RK2_1, SK_"test_setBernRand_IK5_RK2_1")
370#endif
371#if IK5_ENABLED && RK1_ENABLED
372 call test%run(test_setBernRand_IK5_RK1_1, SK_"test_setBernRand_IK5_RK1_1")
373#endif
374
375 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
376
377#if IK4_ENABLED && RK5_ENABLED
378 call test%run(test_setBernRand_IK4_RK5_1, SK_"test_setBernRand_IK4_RK5_1")
379#endif
380#if IK4_ENABLED && RK4_ENABLED
381 call test%run(test_setBernRand_IK4_RK4_1, SK_"test_setBernRand_IK4_RK4_1")
382#endif
383#if IK4_ENABLED && RK3_ENABLED
384 call test%run(test_setBernRand_IK4_RK3_1, SK_"test_setBernRand_IK4_RK3_1")
385#endif
386#if IK4_ENABLED && RK2_ENABLED
387 call test%run(test_setBernRand_IK4_RK2_1, SK_"test_setBernRand_IK4_RK2_1")
388#endif
389#if IK4_ENABLED && RK1_ENABLED
390 call test%run(test_setBernRand_IK4_RK1_1, SK_"test_setBernRand_IK4_RK1_1")
391#endif
392
393 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394
395#if IK3_ENABLED && RK5_ENABLED
396 call test%run(test_setBernRand_IK3_RK5_1, SK_"test_setBernRand_IK3_RK5_1")
397#endif
398#if IK3_ENABLED && RK4_ENABLED
399 call test%run(test_setBernRand_IK3_RK4_1, SK_"test_setBernRand_IK3_RK4_1")
400#endif
401#if IK3_ENABLED && RK3_ENABLED
402 call test%run(test_setBernRand_IK3_RK3_1, SK_"test_setBernRand_IK3_RK3_1")
403#endif
404#if IK3_ENABLED && RK2_ENABLED
405 call test%run(test_setBernRand_IK3_RK2_1, SK_"test_setBernRand_IK3_RK2_1")
406#endif
407#if IK3_ENABLED && RK1_ENABLED
408 call test%run(test_setBernRand_IK3_RK1_1, SK_"test_setBernRand_IK3_RK1_1")
409#endif
410
411 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412
413#if IK2_ENABLED && RK5_ENABLED
414 call test%run(test_setBernRand_IK2_RK5_1, SK_"test_setBernRand_IK2_RK5_1")
415#endif
416#if IK2_ENABLED && RK4_ENABLED
417 call test%run(test_setBernRand_IK2_RK4_1, SK_"test_setBernRand_IK2_RK4_1")
418#endif
419#if IK2_ENABLED && RK3_ENABLED
420 call test%run(test_setBernRand_IK2_RK3_1, SK_"test_setBernRand_IK2_RK3_1")
421#endif
422#if IK2_ENABLED && RK2_ENABLED
423 call test%run(test_setBernRand_IK2_RK2_1, SK_"test_setBernRand_IK2_RK2_1")
424#endif
425#if IK2_ENABLED && RK1_ENABLED
426 call test%run(test_setBernRand_IK2_RK1_1, SK_"test_setBernRand_IK2_RK1_1")
427#endif
428
429 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
430
431#if IK1_ENABLED && RK5_ENABLED
432 call test%run(test_setBernRand_IK1_RK5_1, SK_"test_setBernRand_IK1_RK5_1")
433#endif
434#if IK1_ENABLED && RK4_ENABLED
435 call test%run(test_setBernRand_IK1_RK4_1, SK_"test_setBernRand_IK1_RK4_1")
436#endif
437#if IK1_ENABLED && RK3_ENABLED
438 call test%run(test_setBernRand_IK1_RK3_1, SK_"test_setBernRand_IK1_RK3_1")
439#endif
440#if IK1_ENABLED && RK2_ENABLED
441 call test%run(test_setBernRand_IK1_RK2_1, SK_"test_setBernRand_IK1_RK2_1")
442#endif
443#if IK1_ENABLED && RK1_ENABLED
444 call test%run(test_setBernRand_IK1_RK1_1, SK_"test_setBernRand_IK1_RK1_1")
445#endif
446
447 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
448
449 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
450 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
451 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
452
453 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454
455#if LK5_ENABLED && RK5_ENABLED
456 call test%run(test_setBernRand_LK5_RK5_1, SK_"test_setBernRand_LK5_RK5_1")
457#endif
458#if LK5_ENABLED && RK4_ENABLED
459 call test%run(test_setBernRand_LK5_RK4_1, SK_"test_setBernRand_LK5_RK4_1")
460#endif
461#if LK5_ENABLED && RK3_ENABLED
462 call test%run(test_setBernRand_LK5_RK3_1, SK_"test_setBernRand_LK5_RK3_1")
463#endif
464#if LK5_ENABLED && RK2_ENABLED
465 call test%run(test_setBernRand_LK5_RK2_1, SK_"test_setBernRand_LK5_RK2_1")
466#endif
467#if LK5_ENABLED && RK1_ENABLED
468 call test%run(test_setBernRand_LK5_RK1_1, SK_"test_setBernRand_LK5_RK1_1")
469#endif
470
471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
472
473#if LK4_ENABLED && RK5_ENABLED
474 call test%run(test_setBernRand_LK4_RK5_1, SK_"test_setBernRand_LK4_RK5_1")
475#endif
476#if LK4_ENABLED && RK4_ENABLED
477 call test%run(test_setBernRand_LK4_RK4_1, SK_"test_setBernRand_LK4_RK4_1")
478#endif
479#if LK4_ENABLED && RK3_ENABLED
480 call test%run(test_setBernRand_LK4_RK3_1, SK_"test_setBernRand_LK4_RK3_1")
481#endif
482#if LK4_ENABLED && RK2_ENABLED
483 call test%run(test_setBernRand_LK4_RK2_1, SK_"test_setBernRand_LK4_RK2_1")
484#endif
485#if LK4_ENABLED && RK1_ENABLED
486 call test%run(test_setBernRand_LK4_RK1_1, SK_"test_setBernRand_LK4_RK1_1")
487#endif
488
489 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
490
491#if LK3_ENABLED && RK5_ENABLED
492 call test%run(test_setBernRand_LK3_RK5_1, SK_"test_setBernRand_LK3_RK5_1")
493#endif
494#if LK3_ENABLED && RK4_ENABLED
495 call test%run(test_setBernRand_LK3_RK4_1, SK_"test_setBernRand_LK3_RK4_1")
496#endif
497#if LK3_ENABLED && RK3_ENABLED
498 call test%run(test_setBernRand_LK3_RK3_1, SK_"test_setBernRand_LK3_RK3_1")
499#endif
500#if LK3_ENABLED && RK2_ENABLED
501 call test%run(test_setBernRand_LK3_RK2_1, SK_"test_setBernRand_LK3_RK2_1")
502#endif
503#if LK3_ENABLED && RK1_ENABLED
504 call test%run(test_setBernRand_LK3_RK1_1, SK_"test_setBernRand_LK3_RK1_1")
505#endif
506
507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
508
509#if LK2_ENABLED && RK5_ENABLED
510 call test%run(test_setBernRand_LK2_RK5_1, SK_"test_setBernRand_LK2_RK5_1")
511#endif
512#if LK2_ENABLED && RK4_ENABLED
513 call test%run(test_setBernRand_LK2_RK4_1, SK_"test_setBernRand_LK2_RK4_1")
514#endif
515#if LK2_ENABLED && RK3_ENABLED
516 call test%run(test_setBernRand_LK2_RK3_1, SK_"test_setBernRand_LK2_RK3_1")
517#endif
518#if LK2_ENABLED && RK2_ENABLED
519 call test%run(test_setBernRand_LK2_RK2_1, SK_"test_setBernRand_LK2_RK2_1")
520#endif
521#if LK2_ENABLED && RK1_ENABLED
522 call test%run(test_setBernRand_LK2_RK1_1, SK_"test_setBernRand_LK2_RK1_1")
523#endif
524
525 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526
527#if LK1_ENABLED && RK5_ENABLED
528 call test%run(test_setBernRand_LK1_RK5_1, SK_"test_setBernRand_LK1_RK5_1")
529#endif
530#if LK1_ENABLED && RK4_ENABLED
531 call test%run(test_setBernRand_LK1_RK4_1, SK_"test_setBernRand_LK1_RK4_1")
532#endif
533#if LK1_ENABLED && RK3_ENABLED
534 call test%run(test_setBernRand_LK1_RK3_1, SK_"test_setBernRand_LK1_RK3_1")
535#endif
536#if LK1_ENABLED && RK2_ENABLED
537 call test%run(test_setBernRand_LK1_RK2_1, SK_"test_setBernRand_LK1_RK2_1")
538#endif
539#if LK1_ENABLED && RK1_ENABLED
540 call test%run(test_setBernRand_LK1_RK1_1, SK_"test_setBernRand_LK1_RK1_1")
541#endif
542
543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544
545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548
549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550
551#if RK5_ENABLED
552 call test%run(test_setBernRand_RK5_RK5_1, SK_"test_setBernRand_RK5_RK5_1")
553#endif
554#if RK4_ENABLED
555 call test%run(test_setBernRand_RK4_RK4_1, SK_"test_setBernRand_RK4_RK4_1")
556#endif
557#if RK3_ENABLED
558 call test%run(test_setBernRand_RK3_RK3_1, SK_"test_setBernRand_RK3_RK3_1")
559#endif
560#if RK2_ENABLED
561 call test%run(test_setBernRand_RK2_RK2_1, SK_"test_setBernRand_RK2_RK2_1")
562#endif
563#if RK1_ENABLED
564 call test%run(test_setBernRand_RK1_RK1_1, SK_"test_setBernRand_RK1_RK1_1")
565#endif
566
567 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
568
569 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
572
573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
574
575 call test%summarize()
576
577 end subroutine setTest
578
579!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580
581end module test_pm_distBern
This module contains classes and procedures for generating Bernoulli-distributed random numbers.
Definition: pm_distBern.F90:39
character(*, SK), parameter MODULE_NAME
Definition: pm_distBern.F90:45
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 include file contains procedure implementations of the tests of pm_distBern.
type(test_type) test
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