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 This module contains tests of the module [pm_distPower](@ref pm_distPower).
18 : !>
19 : !> \fintest
20 : !>
21 : !> \author
22 : !> \FatemehBagheri, 12:27 AM Tuesday, February 22, 2022, Dallas, TX
23 :
24 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 :
26 : module test_pm_distPower
27 :
28 : use pm_distPower
29 : use pm_err, only: err_type
30 : use pm_test, only: test_type, IK, LK
31 :
32 : implicit none
33 :
34 : private
35 : public :: setTest
36 : type(test_type) :: test
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : interface
41 :
42 : #if RK5_ENABLED
43 : module function test_getPowerLogPDF_RK5_1() result(assertion); logical(LK) :: assertion; end function
44 : #endif
45 : #if RK4_ENABLED
46 : module function test_getPowerLogPDF_RK4_1() result(assertion); logical(LK) :: assertion; end function
47 : #endif
48 : #if RK3_ENABLED
49 : module function test_getPowerLogPDF_RK3_1() result(assertion); logical(LK) :: assertion; end function
50 : #endif
51 : #if RK2_ENABLED
52 : module function test_getPowerLogPDF_RK2_1() result(assertion); logical(LK) :: assertion; end function
53 : #endif
54 : #if RK1_ENABLED
55 : module function test_getPowerLogPDF_RK1_1() result(assertion); logical(LK) :: assertion; end function
56 : #endif
57 :
58 : end interface
59 :
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 :
62 : interface
63 :
64 : #if RK5_ENABLED
65 : module function test_setPowerLogPDF_RK5_1() result(assertion); logical(LK) :: assertion; end function
66 : #endif
67 : #if RK4_ENABLED
68 : module function test_setPowerLogPDF_RK4_1() result(assertion); logical(LK) :: assertion; end function
69 : #endif
70 : #if RK3_ENABLED
71 : module function test_setPowerLogPDF_RK3_1() result(assertion); logical(LK) :: assertion; end function
72 : #endif
73 : #if RK2_ENABLED
74 : module function test_setPowerLogPDF_RK2_1() result(assertion); logical(LK) :: assertion; end function
75 : #endif
76 : #if RK1_ENABLED
77 : module function test_setPowerLogPDF_RK1_1() result(assertion); logical(LK) :: assertion; end function
78 : #endif
79 :
80 : end interface
81 :
82 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83 :
84 : interface
85 :
86 : #if RK5_ENABLED
87 : module function test_getPowerLogCDF_RK5_1() result(assertion); logical(LK) :: assertion; end function
88 : #endif
89 : #if RK4_ENABLED
90 : module function test_getPowerLogCDF_RK4_1() result(assertion); logical(LK) :: assertion; end function
91 : #endif
92 : #if RK3_ENABLED
93 : module function test_getPowerLogCDF_RK3_1() result(assertion); logical(LK) :: assertion; end function
94 : #endif
95 : #if RK2_ENABLED
96 : module function test_getPowerLogCDF_RK2_1() result(assertion); logical(LK) :: assertion; end function
97 : #endif
98 : #if RK1_ENABLED
99 : module function test_getPowerLogCDF_RK1_1() result(assertion); logical(LK) :: assertion; end function
100 : #endif
101 :
102 : end interface
103 :
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 :
106 : interface
107 :
108 : #if RK5_ENABLED
109 : module function test_setPowerLogCDF_RK5_1() result(assertion); logical(LK) :: assertion; end function
110 : #endif
111 : #if RK4_ENABLED
112 : module function test_setPowerLogCDF_RK4_1() result(assertion); logical(LK) :: assertion; end function
113 : #endif
114 : #if RK3_ENABLED
115 : module function test_setPowerLogCDF_RK3_1() result(assertion); logical(LK) :: assertion; end function
116 : #endif
117 : #if RK2_ENABLED
118 : module function test_setPowerLogCDF_RK2_1() result(assertion); logical(LK) :: assertion; end function
119 : #endif
120 : #if RK1_ENABLED
121 : module function test_setPowerLogCDF_RK1_1() result(assertion); logical(LK) :: assertion; end function
122 : #endif
123 :
124 : end interface
125 :
126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127 :
128 : interface
129 :
130 : #if RK5_ENABLED
131 : module function test_getPowerLogQuan_RK5_1() result(assertion); logical(LK) :: assertion; end function
132 : #endif
133 : #if RK4_ENABLED
134 : module function test_getPowerLogQuan_RK4_1() result(assertion); logical(LK) :: assertion; end function
135 : #endif
136 : #if RK3_ENABLED
137 : module function test_getPowerLogQuan_RK3_1() result(assertion); logical(LK) :: assertion; end function
138 : #endif
139 : #if RK2_ENABLED
140 : module function test_getPowerLogQuan_RK2_1() result(assertion); logical(LK) :: assertion; end function
141 : #endif
142 : #if RK1_ENABLED
143 : module function test_getPowerLogQuan_RK1_1() result(assertion); logical(LK) :: assertion; end function
144 : #endif
145 :
146 : end interface
147 :
148 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149 :
150 : interface
151 :
152 : #if RK5_ENABLED
153 : module function test_setPowerLogQuan_RK5_1() result(assertion); logical(LK) :: assertion; end function
154 : #endif
155 : #if RK4_ENABLED
156 : module function test_setPowerLogQuan_RK4_1() result(assertion); logical(LK) :: assertion; end function
157 : #endif
158 : #if RK3_ENABLED
159 : module function test_setPowerLogQuan_RK3_1() result(assertion); logical(LK) :: assertion; end function
160 : #endif
161 : #if RK2_ENABLED
162 : module function test_setPowerLogQuan_RK2_1() result(assertion); logical(LK) :: assertion; end function
163 : #endif
164 : #if RK1_ENABLED
165 : module function test_setPowerLogQuan_RK1_1() result(assertion); logical(LK) :: assertion; end function
166 : #endif
167 :
168 : end interface
169 :
170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 :
172 : interface
173 :
174 : #if RK5_ENABLED
175 : module function test_getPowerLogRand_RK5_1() result(assertion); logical(LK) :: assertion; end function
176 : #endif
177 : #if RK4_ENABLED
178 : module function test_getPowerLogRand_RK4_1() result(assertion); logical(LK) :: assertion; end function
179 : #endif
180 : #if RK3_ENABLED
181 : module function test_getPowerLogRand_RK3_1() result(assertion); logical(LK) :: assertion; end function
182 : #endif
183 : #if RK2_ENABLED
184 : module function test_getPowerLogRand_RK2_1() result(assertion); logical(LK) :: assertion; end function
185 : #endif
186 : #if RK1_ENABLED
187 : module function test_getPowerLogRand_RK1_1() result(assertion); logical(LK) :: assertion; end function
188 : #endif
189 :
190 : end interface
191 :
192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193 :
194 : interface
195 :
196 : #if RK5_ENABLED
197 : module function test_setPowerLogRand_RK5_1() result(assertion); logical(LK) :: assertion; end function
198 : #endif
199 : #if RK4_ENABLED
200 : module function test_setPowerLogRand_RK4_1() result(assertion); logical(LK) :: assertion; end function
201 : #endif
202 : #if RK3_ENABLED
203 : module function test_setPowerLogRand_RK3_1() result(assertion); logical(LK) :: assertion; end function
204 : #endif
205 : #if RK2_ENABLED
206 : module function test_setPowerLogRand_RK2_1() result(assertion); logical(LK) :: assertion; end function
207 : #endif
208 : #if RK1_ENABLED
209 : module function test_setPowerLogRand_RK1_1() result(assertion); logical(LK) :: assertion; end function
210 : #endif
211 :
212 : end interface
213 :
214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215 :
216 : contains
217 :
218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 :
220 1 : subroutine setTest()
221 :
222 1 : test = test_type(MODULE_NAME)
223 :
224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225 :
226 : #if RK5_ENABLED
227 : call test%run(test_setPowerLogPDF_RK5_1, SK_"test_setPowerLogPDF_RK5_1")
228 : #endif
229 : #if RK4_ENABLED
230 1 : call test%run(test_setPowerLogPDF_RK4_1, SK_"test_setPowerLogPDF_RK4_1")
231 : #endif
232 : #if RK3_ENABLED
233 1 : call test%run(test_setPowerLogPDF_RK3_1, SK_"test_setPowerLogPDF_RK3_1")
234 : #endif
235 : #if RK2_ENABLED
236 1 : call test%run(test_setPowerLogPDF_RK2_1, SK_"test_setPowerLogPDF_RK2_1")
237 : #endif
238 : #if RK1_ENABLED
239 1 : call test%run(test_setPowerLogPDF_RK1_1, SK_"test_setPowerLogPDF_RK1_1")
240 : #endif
241 :
242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243 :
244 : #if RK5_ENABLED
245 : call test%run(test_getPowerLogPDF_RK5_1, SK_"test_getPowerLogPDF_RK5_1")
246 : #endif
247 : #if RK4_ENABLED
248 1 : call test%run(test_getPowerLogPDF_RK4_1, SK_"test_getPowerLogPDF_RK4_1")
249 : #endif
250 : #if RK3_ENABLED
251 1 : call test%run(test_getPowerLogPDF_RK3_1, SK_"test_getPowerLogPDF_RK3_1")
252 : #endif
253 : #if RK2_ENABLED
254 1 : call test%run(test_getPowerLogPDF_RK2_1, SK_"test_getPowerLogPDF_RK2_1")
255 : #endif
256 : #if RK1_ENABLED
257 1 : call test%run(test_getPowerLogPDF_RK1_1, SK_"test_getPowerLogPDF_RK1_1")
258 : #endif
259 :
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 :
262 : #if RK5_ENABLED
263 : call test%run(test_setPowerLogCDF_RK5_1, SK_"test_setPowerLogCDF_RK5_1")
264 : #endif
265 : #if RK4_ENABLED
266 1 : call test%run(test_setPowerLogCDF_RK4_1, SK_"test_setPowerLogCDF_RK4_1")
267 : #endif
268 : #if RK3_ENABLED
269 1 : call test%run(test_setPowerLogCDF_RK3_1, SK_"test_setPowerLogCDF_RK3_1")
270 : #endif
271 : #if RK2_ENABLED
272 1 : call test%run(test_setPowerLogCDF_RK2_1, SK_"test_setPowerLogCDF_RK2_1")
273 : #endif
274 : #if RK1_ENABLED
275 1 : call test%run(test_setPowerLogCDF_RK1_1, SK_"test_setPowerLogCDF_RK1_1")
276 : #endif
277 :
278 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279 :
280 : #if RK5_ENABLED
281 : call test%run(test_getPowerLogCDF_RK5_1, SK_"test_getPowerLogCDF_RK5_1")
282 : #endif
283 : #if RK4_ENABLED
284 1 : call test%run(test_getPowerLogCDF_RK4_1, SK_"test_getPowerLogCDF_RK4_1")
285 : #endif
286 : #if RK3_ENABLED
287 1 : call test%run(test_getPowerLogCDF_RK3_1, SK_"test_getPowerLogCDF_RK3_1")
288 : #endif
289 : #if RK2_ENABLED
290 1 : call test%run(test_getPowerLogCDF_RK2_1, SK_"test_getPowerLogCDF_RK2_1")
291 : #endif
292 : #if RK1_ENABLED
293 1 : call test%run(test_getPowerLogCDF_RK1_1, SK_"test_getPowerLogCDF_RK1_1")
294 : #endif
295 :
296 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297 :
298 : #if RK5_ENABLED
299 : call test%run(test_setPowerLogQuan_RK5_1, SK_"test_setPowerLogQuan_RK5_1")
300 : #endif
301 : #if RK4_ENABLED
302 1 : call test%run(test_setPowerLogQuan_RK4_1, SK_"test_setPowerLogQuan_RK4_1")
303 : #endif
304 : #if RK3_ENABLED
305 1 : call test%run(test_setPowerLogQuan_RK3_1, SK_"test_setPowerLogQuan_RK3_1")
306 : #endif
307 : #if RK2_ENABLED
308 1 : call test%run(test_setPowerLogQuan_RK2_1, SK_"test_setPowerLogQuan_RK2_1")
309 : #endif
310 : #if RK1_ENABLED
311 1 : call test%run(test_setPowerLogQuan_RK1_1, SK_"test_setPowerLogQuan_RK1_1")
312 : #endif
313 :
314 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315 :
316 : #if RK5_ENABLED
317 : call test%run(test_getPowerLogQuan_RK5_1, SK_"test_getPowerLogQuan_RK5_1")
318 : #endif
319 : #if RK4_ENABLED
320 1 : call test%run(test_getPowerLogQuan_RK4_1, SK_"test_getPowerLogQuan_RK4_1")
321 : #endif
322 : #if RK3_ENABLED
323 1 : call test%run(test_getPowerLogQuan_RK3_1, SK_"test_getPowerLogQuan_RK3_1")
324 : #endif
325 : #if RK2_ENABLED
326 1 : call test%run(test_getPowerLogQuan_RK2_1, SK_"test_getPowerLogQuan_RK2_1")
327 : #endif
328 : #if RK1_ENABLED
329 1 : call test%run(test_getPowerLogQuan_RK1_1, SK_"test_getPowerLogQuan_RK1_1")
330 : #endif
331 :
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 :
334 : #if RK5_ENABLED
335 : call test%run(test_setPowerLogRand_RK5_1, SK_"test_setPowerLogRand_RK5_1")
336 : #endif
337 : #if RK4_ENABLED
338 1 : call test%run(test_setPowerLogRand_RK4_1, SK_"test_setPowerLogRand_RK4_1")
339 : #endif
340 : #if RK3_ENABLED
341 1 : call test%run(test_setPowerLogRand_RK3_1, SK_"test_setPowerLogRand_RK3_1")
342 : #endif
343 : #if RK2_ENABLED
344 1 : call test%run(test_setPowerLogRand_RK2_1, SK_"test_setPowerLogRand_RK2_1")
345 : #endif
346 : #if RK1_ENABLED
347 1 : call test%run(test_setPowerLogRand_RK1_1, SK_"test_setPowerLogRand_RK1_1")
348 : #endif
349 :
350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351 :
352 : #if RK5_ENABLED
353 : call test%run(test_getPowerLogRand_RK5_1, SK_"test_getPowerLogRand_RK5_1")
354 : #endif
355 : #if RK4_ENABLED
356 1 : call test%run(test_getPowerLogRand_RK4_1, SK_"test_getPowerLogRand_RK4_1")
357 : #endif
358 : #if RK3_ENABLED
359 1 : call test%run(test_getPowerLogRand_RK3_1, SK_"test_getPowerLogRand_RK3_1")
360 : #endif
361 : #if RK2_ENABLED
362 1 : call test%run(test_getPowerLogRand_RK2_1, SK_"test_getPowerLogRand_RK2_1")
363 : #endif
364 : #if RK1_ENABLED
365 1 : call test%run(test_getPowerLogRand_RK1_1, SK_"test_getPowerLogRand_RK1_1")
366 : #endif
367 :
368 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369 1 : call test%summarize()
370 :
371 1 : end subroutine setTest
372 :
373 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
374 :
375 : end module test_pm_distPower
|