Line data Source code
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 :
17 : !> \brief
18 : !> This module contains tests of the module [pm_sampleCCF](@ref pm_sampleCCF).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Thursday 12:45 AM, August 20, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : module test_pm_sampleCCF
28 :
29 : use pm_sampleCCF
30 : use pm_kind, only: IK
31 : use pm_test, only: test_type, LK
32 : implicit none
33 :
34 : private
35 : public :: setTest
36 : type(test_type) :: test
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : ! getCCF
41 :
42 : interface
43 :
44 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 :
46 : #if CK5_ENABLED
47 : module function test_getCCF_CK5() result(assertion); logical(LK) :: assertion; end function
48 : #endif
49 : #if CK4_ENABLED
50 : module function test_getCCF_CK4() result(assertion); logical(LK) :: assertion; end function
51 : #endif
52 : #if CK3_ENABLED
53 : module function test_getCCF_CK3() result(assertion); logical(LK) :: assertion; end function
54 : #endif
55 : #if CK2_ENABLED
56 : module function test_getCCF_CK2() result(assertion); logical(LK) :: assertion; end function
57 : #endif
58 : #if CK1_ENABLED
59 : module function test_getCCF_CK1() result(assertion); logical(LK) :: assertion; end function
60 : #endif
61 :
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 :
64 : #if RK5_ENABLED
65 : module function test_getCCF_RK5() result(assertion); logical(LK) :: assertion; end function
66 : #endif
67 : #if RK4_ENABLED
68 : module function test_getCCF_RK4() result(assertion); logical(LK) :: assertion; end function
69 : #endif
70 : #if RK3_ENABLED
71 : module function test_getCCF_RK3() result(assertion); logical(LK) :: assertion; end function
72 : #endif
73 : #if RK2_ENABLED
74 : module function test_getCCF_RK2() result(assertion); logical(LK) :: assertion; end function
75 : #endif
76 : #if RK1_ENABLED
77 : module function test_getCCF_RK1() result(assertion); logical(LK) :: assertion; end function
78 : #endif
79 :
80 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
81 :
82 : end interface
83 :
84 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85 :
86 : ! setCCF
87 :
88 : interface
89 :
90 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91 :
92 : #if CK5_ENABLED
93 : module function test_setCCF_CK5() result(assertion); logical(LK) :: assertion; end function
94 : #endif
95 : #if CK4_ENABLED
96 : module function test_setCCF_CK4() result(assertion); logical(LK) :: assertion; end function
97 : #endif
98 : #if CK3_ENABLED
99 : module function test_setCCF_CK3() result(assertion); logical(LK) :: assertion; end function
100 : #endif
101 : #if CK2_ENABLED
102 : module function test_setCCF_CK2() result(assertion); logical(LK) :: assertion; end function
103 : #endif
104 : #if CK1_ENABLED
105 : module function test_setCCF_CK1() result(assertion); logical(LK) :: assertion; end function
106 : #endif
107 :
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #if RK5_ENABLED
111 : module function test_setCCF_RK5() result(assertion); logical(LK) :: assertion; end function
112 : #endif
113 : #if RK4_ENABLED
114 : module function test_setCCF_RK4() result(assertion); logical(LK) :: assertion; end function
115 : #endif
116 : #if RK3_ENABLED
117 : module function test_setCCF_RK3() result(assertion); logical(LK) :: assertion; end function
118 : #endif
119 : #if RK2_ENABLED
120 : module function test_setCCF_RK2() result(assertion); logical(LK) :: assertion; end function
121 : #endif
122 : #if RK1_ENABLED
123 : module function test_setCCF_RK1() result(assertion); logical(LK) :: assertion; end function
124 : #endif
125 :
126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127 :
128 : end interface
129 :
130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 :
132 : ! getACF
133 :
134 : interface
135 :
136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
137 :
138 : #if CK5_ENABLED
139 : module function test_getACF_CK5() result(assertion); logical(LK) :: assertion; end function
140 : #endif
141 : #if CK4_ENABLED
142 : module function test_getACF_CK4() result(assertion); logical(LK) :: assertion; end function
143 : #endif
144 : #if CK3_ENABLED
145 : module function test_getACF_CK3() result(assertion); logical(LK) :: assertion; end function
146 : #endif
147 : #if CK2_ENABLED
148 : module function test_getACF_CK2() result(assertion); logical(LK) :: assertion; end function
149 : #endif
150 : #if CK1_ENABLED
151 : module function test_getACF_CK1() result(assertion); logical(LK) :: assertion; end function
152 : #endif
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 :
156 : #if RK5_ENABLED
157 : module function test_getACF_RK5() result(assertion); logical(LK) :: assertion; end function
158 : #endif
159 : #if RK4_ENABLED
160 : module function test_getACF_RK4() result(assertion); logical(LK) :: assertion; end function
161 : #endif
162 : #if RK3_ENABLED
163 : module function test_getACF_RK3() result(assertion); logical(LK) :: assertion; end function
164 : #endif
165 : #if RK2_ENABLED
166 : module function test_getACF_RK2() result(assertion); logical(LK) :: assertion; end function
167 : #endif
168 : #if RK1_ENABLED
169 : module function test_getACF_RK1() result(assertion); logical(LK) :: assertion; end function
170 : #endif
171 :
172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173 :
174 : end interface
175 :
176 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177 :
178 : ! setACF
179 :
180 : interface
181 :
182 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
183 :
184 : #if CK5_ENABLED
185 : module function test_setACF_CK5() result(assertion); logical(LK) :: assertion; end function
186 : #endif
187 : #if CK4_ENABLED
188 : module function test_setACF_CK4() result(assertion); logical(LK) :: assertion; end function
189 : #endif
190 : #if CK3_ENABLED
191 : module function test_setACF_CK3() result(assertion); logical(LK) :: assertion; end function
192 : #endif
193 : #if CK2_ENABLED
194 : module function test_setACF_CK2() result(assertion); logical(LK) :: assertion; end function
195 : #endif
196 : #if CK1_ENABLED
197 : module function test_setACF_CK1() result(assertion); logical(LK) :: assertion; end function
198 : #endif
199 :
200 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 :
202 : #if RK5_ENABLED
203 : module function test_setACF_RK5() result(assertion); logical(LK) :: assertion; end function
204 : #endif
205 : #if RK4_ENABLED
206 : module function test_setACF_RK4() result(assertion); logical(LK) :: assertion; end function
207 : #endif
208 : #if RK3_ENABLED
209 : module function test_setACF_RK3() result(assertion); logical(LK) :: assertion; end function
210 : #endif
211 : #if RK2_ENABLED
212 : module function test_setACF_RK2() result(assertion); logical(LK) :: assertion; end function
213 : #endif
214 : #if RK1_ENABLED
215 : module function test_setACF_RK1() result(assertion); logical(LK) :: assertion; end function
216 : #endif
217 :
218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 :
220 : end interface
221 :
222 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
223 :
224 : contains
225 :
226 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
227 :
228 1 : subroutine setTest()
229 :
230 : implicit none
231 :
232 1 : test = test_type(MODULE_NAME)
233 :
234 : ! getCCF
235 :
236 : block
237 :
238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239 :
240 : #if CK5_ENABLED
241 : call test%run(test_getCCF_CK5, SK_"test_getCCF_CK5")
242 : #endif
243 : #if CK4_ENABLED
244 1 : call test%run(test_getCCF_CK4, SK_"test_getCCF_CK4")
245 : #endif
246 : #if CK3_ENABLED
247 1 : call test%run(test_getCCF_CK3, SK_"test_getCCF_CK3")
248 : #endif
249 : #if CK2_ENABLED
250 1 : call test%run(test_getCCF_CK2, SK_"test_getCCF_CK2")
251 : #endif
252 : #if CK1_ENABLED
253 1 : call test%run(test_getCCF_CK1, SK_"test_getCCF_CK1")
254 : #endif
255 :
256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
257 :
258 : #if RK5_ENABLED
259 : call test%run(test_getCCF_RK5, SK_"test_getCCF_RK5")
260 : #endif
261 : #if RK4_ENABLED
262 1 : call test%run(test_getCCF_RK4, SK_"test_getCCF_RK4")
263 : #endif
264 : #if RK3_ENABLED
265 1 : call test%run(test_getCCF_RK3, SK_"test_getCCF_RK3")
266 : #endif
267 : #if RK2_ENABLED
268 1 : call test%run(test_getCCF_RK2, SK_"test_getCCF_RK2")
269 : #endif
270 : #if RK1_ENABLED
271 1 : call test%run(test_getCCF_RK1, SK_"test_getCCF_RK1")
272 : #endif
273 :
274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 :
276 : end block
277 :
278 : ! setCCF
279 :
280 : block
281 :
282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 :
284 : #if CK5_ENABLED
285 : call test%run(test_setCCF_CK5, SK_"test_setCCF_CK5")
286 : #endif
287 : #if CK4_ENABLED
288 1 : call test%run(test_setCCF_CK4, SK_"test_setCCF_CK4")
289 : #endif
290 : #if CK3_ENABLED
291 1 : call test%run(test_setCCF_CK3, SK_"test_setCCF_CK3")
292 : #endif
293 : #if CK2_ENABLED
294 1 : call test%run(test_setCCF_CK2, SK_"test_setCCF_CK2")
295 : #endif
296 : #if CK1_ENABLED
297 1 : call test%run(test_setCCF_CK1, SK_"test_setCCF_CK1")
298 : #endif
299 :
300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301 :
302 : #if RK5_ENABLED
303 : call test%run(test_setCCF_RK5, SK_"test_setCCF_RK5")
304 : #endif
305 : #if RK4_ENABLED
306 1 : call test%run(test_setCCF_RK4, SK_"test_setCCF_RK4")
307 : #endif
308 : #if RK3_ENABLED
309 1 : call test%run(test_setCCF_RK3, SK_"test_setCCF_RK3")
310 : #endif
311 : #if RK2_ENABLED
312 1 : call test%run(test_setCCF_RK2, SK_"test_setCCF_RK2")
313 : #endif
314 : #if RK1_ENABLED
315 1 : call test%run(test_setCCF_RK1, SK_"test_setCCF_RK1")
316 : #endif
317 :
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 :
320 : end block
321 :
322 : ! getACF
323 :
324 : block
325 :
326 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327 :
328 : #if CK5_ENABLED
329 : call test%run(test_getACF_CK5, SK_"test_getACF_CK5")
330 : #endif
331 : #if CK4_ENABLED
332 1 : call test%run(test_getACF_CK4, SK_"test_getACF_CK4")
333 : #endif
334 : #if CK3_ENABLED
335 1 : call test%run(test_getACF_CK3, SK_"test_getACF_CK3")
336 : #endif
337 : #if CK2_ENABLED
338 1 : call test%run(test_getACF_CK2, SK_"test_getACF_CK2")
339 : #endif
340 : #if CK1_ENABLED
341 1 : call test%run(test_getACF_CK1, SK_"test_getACF_CK1")
342 : #endif
343 :
344 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 :
346 : #if RK5_ENABLED
347 : call test%run(test_getACF_RK5, SK_"test_getACF_RK5")
348 : #endif
349 : #if RK4_ENABLED
350 1 : call test%run(test_getACF_RK4, SK_"test_getACF_RK4")
351 : #endif
352 : #if RK3_ENABLED
353 1 : call test%run(test_getACF_RK3, SK_"test_getACF_RK3")
354 : #endif
355 : #if RK2_ENABLED
356 1 : call test%run(test_getACF_RK2, SK_"test_getACF_RK2")
357 : #endif
358 : #if RK1_ENABLED
359 1 : call test%run(test_getACF_RK1, SK_"test_getACF_RK1")
360 : #endif
361 :
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 :
364 : end block
365 :
366 : ! setACF
367 :
368 : block
369 :
370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371 :
372 : #if CK5_ENABLED
373 : call test%run(test_setACF_CK5, SK_"test_setACF_CK5")
374 : #endif
375 : #if CK4_ENABLED
376 1 : call test%run(test_setACF_CK4, SK_"test_setACF_CK4")
377 : #endif
378 : #if CK3_ENABLED
379 1 : call test%run(test_setACF_CK3, SK_"test_setACF_CK3")
380 : #endif
381 : #if CK2_ENABLED
382 1 : call test%run(test_setACF_CK2, SK_"test_setACF_CK2")
383 : #endif
384 : #if CK1_ENABLED
385 1 : call test%run(test_setACF_CK1, SK_"test_setACF_CK1")
386 : #endif
387 :
388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389 :
390 : #if RK5_ENABLED
391 : call test%run(test_setACF_RK5, SK_"test_setACF_RK5")
392 : #endif
393 : #if RK4_ENABLED
394 1 : call test%run(test_setACF_RK4, SK_"test_setACF_RK4")
395 : #endif
396 : #if RK3_ENABLED
397 1 : call test%run(test_setACF_RK3, SK_"test_setACF_RK3")
398 : #endif
399 : #if RK2_ENABLED
400 1 : call test%run(test_setACF_RK2, SK_"test_setACF_RK2")
401 : #endif
402 : #if RK1_ENABLED
403 1 : call test%run(test_setACF_RK1, SK_"test_setACF_RK1")
404 : #endif
405 :
406 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
407 :
408 : end block
409 :
410 1 : call test%summarize()
411 :
412 1 : end subroutine setTest
413 :
414 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
415 :
416 : end module test_pm_sampleCCF
|