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 file contains the implementations of the tests of module [pm_distPareto](@ref pm_distPareto).
18 : !>
19 : !> \fintest
20 : !>
21 : !> \author
22 : !> \FatemehBagheri, 12:27 AM Tuesday, February 22, 2022, Dallas, TX
23 :
24 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 :
26 : submodule (test_pm_distPareto) routines
27 :
28 : use pm_option, only: getOption
29 : use pm_arraySort, only: setSorted
30 : use pm_quadPack, only: isFailedQuad
31 : use pm_arraySpace, only: getLinSpace
32 : use pm_distUnif, only: getUnifRand
33 : use pm_distUnif, only: setUnifRand
34 : use pm_distPareto, only: getParetoLogPDF
35 :
36 : implicit none
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : contains
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : #define getParetoLogPDF_ENABLED 1
45 :
46 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47 :
48 : #define RK_ENABLED 1
49 :
50 : #if RK5_ENABLED
51 : module procedure test_getParetoLogPDF_RK5_1
52 : use pm_kind, only: RKC => RK5
53 : #include "test_pm_distPareto@routines.inc.F90"
54 : end procedure
55 : #endif
56 :
57 : #if RK4_ENABLED
58 1 : module procedure test_getParetoLogPDF_RK4_1
59 : use pm_kind, only: RKC => RK4
60 : #include "test_pm_distPareto@routines.inc.F90"
61 : end procedure
62 : #endif
63 :
64 : #if RK3_ENABLED
65 1 : module procedure test_getParetoLogPDF_RK3_1
66 : use pm_kind, only: RKC => RK3
67 : #include "test_pm_distPareto@routines.inc.F90"
68 : end procedure
69 : #endif
70 :
71 : #if RK2_ENABLED
72 1 : module procedure test_getParetoLogPDF_RK2_1
73 : use pm_kind, only: RKC => RK2
74 : #include "test_pm_distPareto@routines.inc.F90"
75 : end procedure
76 : #endif
77 :
78 : #if RK1_ENABLED
79 1 : module procedure test_getParetoLogPDF_RK1_1
80 : use pm_kind, only: RKC => RK1
81 : #include "test_pm_distPareto@routines.inc.F90"
82 : end procedure
83 : #endif
84 :
85 : #undef RK_ENABLED
86 :
87 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 :
89 : #undef getParetoLogPDF_ENABLED
90 :
91 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
92 :
93 : #define setParetoLogPDF_ENABLED 1
94 :
95 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96 :
97 : #define RK_ENABLED 1
98 :
99 : #if RK5_ENABLED
100 : module procedure test_setParetoLogPDF_RK5_1
101 : use pm_kind, only: RKC => RK5
102 : #include "test_pm_distPareto@routines.inc.F90"
103 : end procedure
104 : #endif
105 :
106 : #if RK4_ENABLED
107 1 : module procedure test_setParetoLogPDF_RK4_1
108 : use pm_kind, only: RKC => RK4
109 : #include "test_pm_distPareto@routines.inc.F90"
110 : end procedure
111 : #endif
112 :
113 : #if RK3_ENABLED
114 1 : module procedure test_setParetoLogPDF_RK3_1
115 : use pm_kind, only: RKC => RK3
116 : #include "test_pm_distPareto@routines.inc.F90"
117 : end procedure
118 : #endif
119 :
120 : #if RK2_ENABLED
121 1 : module procedure test_setParetoLogPDF_RK2_1
122 : use pm_kind, only: RKC => RK2
123 : #include "test_pm_distPareto@routines.inc.F90"
124 : end procedure
125 : #endif
126 :
127 : #if RK1_ENABLED
128 1 : module procedure test_setParetoLogPDF_RK1_1
129 : use pm_kind, only: RKC => RK1
130 : #include "test_pm_distPareto@routines.inc.F90"
131 : end procedure
132 : #endif
133 :
134 : #undef RK_ENABLED
135 :
136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
137 :
138 : #undef setParetoLogPDF_ENABLED
139 :
140 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141 :
142 : #define getParetoLogCDF_ENABLED 1
143 :
144 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 :
146 : #define RK_ENABLED 1
147 :
148 : #if RK5_ENABLED
149 : module procedure test_getParetoLogCDF_RK5_1
150 : use pm_kind, only: RKC => RK5
151 : #include "test_pm_distPareto@routines.inc.F90"
152 : end procedure
153 : #endif
154 :
155 : #if RK4_ENABLED
156 1 : module procedure test_getParetoLogCDF_RK4_1
157 : use pm_kind, only: RKC => RK4
158 : #include "test_pm_distPareto@routines.inc.F90"
159 : end procedure
160 : #endif
161 :
162 : #if RK3_ENABLED
163 1 : module procedure test_getParetoLogCDF_RK3_1
164 : use pm_kind, only: RKC => RK3
165 : #include "test_pm_distPareto@routines.inc.F90"
166 : end procedure
167 : #endif
168 :
169 : #if RK2_ENABLED
170 1 : module procedure test_getParetoLogCDF_RK2_1
171 : use pm_kind, only: RKC => RK2
172 : #include "test_pm_distPareto@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if RK1_ENABLED
177 1 : module procedure test_getParetoLogCDF_RK1_1
178 : use pm_kind, only: RKC => RK1
179 : #include "test_pm_distPareto@routines.inc.F90"
180 : end procedure
181 : #endif
182 :
183 : #undef RK_ENABLED
184 :
185 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186 :
187 : #undef getParetoLogCDF_ENABLED
188 :
189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190 :
191 : #define setParetoLogCDF_ENABLED 1
192 :
193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
194 :
195 : #define RK_ENABLED 1
196 :
197 : #if RK5_ENABLED
198 : module procedure test_setParetoLogCDF_RK5_1
199 : use pm_kind, only: RKC => RK5
200 : #include "test_pm_distPareto@routines.inc.F90"
201 : end procedure
202 : #endif
203 :
204 : #if RK4_ENABLED
205 1 : module procedure test_setParetoLogCDF_RK4_1
206 : use pm_kind, only: RKC => RK4
207 : #include "test_pm_distPareto@routines.inc.F90"
208 : end procedure
209 : #endif
210 :
211 : #if RK3_ENABLED
212 1 : module procedure test_setParetoLogCDF_RK3_1
213 : use pm_kind, only: RKC => RK3
214 : #include "test_pm_distPareto@routines.inc.F90"
215 : end procedure
216 : #endif
217 :
218 : #if RK2_ENABLED
219 1 : module procedure test_setParetoLogCDF_RK2_1
220 : use pm_kind, only: RKC => RK2
221 : #include "test_pm_distPareto@routines.inc.F90"
222 : end procedure
223 : #endif
224 :
225 : #if RK1_ENABLED
226 1 : module procedure test_setParetoLogCDF_RK1_1
227 : use pm_kind, only: RKC => RK1
228 : #include "test_pm_distPareto@routines.inc.F90"
229 : end procedure
230 : #endif
231 :
232 : #undef RK_ENABLED
233 :
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 :
236 : #undef setParetoLogCDF_ENABLED
237 :
238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239 :
240 : #define getParetoLogQuan_ENABLED 1
241 :
242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243 :
244 : #define RK_ENABLED 1
245 :
246 : #if RK5_ENABLED
247 : module procedure test_getParetoLogQuan_RK5_1
248 : use pm_kind, only: RKC => RK5
249 : #include "test_pm_distPareto@routines.inc.F90"
250 : end procedure
251 : #endif
252 :
253 : #if RK4_ENABLED
254 1 : module procedure test_getParetoLogQuan_RK4_1
255 : use pm_kind, only: RKC => RK4
256 : #include "test_pm_distPareto@routines.inc.F90"
257 : end procedure
258 : #endif
259 :
260 : #if RK3_ENABLED
261 1 : module procedure test_getParetoLogQuan_RK3_1
262 : use pm_kind, only: RKC => RK3
263 : #include "test_pm_distPareto@routines.inc.F90"
264 : end procedure
265 : #endif
266 :
267 : #if RK2_ENABLED
268 1 : module procedure test_getParetoLogQuan_RK2_1
269 : use pm_kind, only: RKC => RK2
270 : #include "test_pm_distPareto@routines.inc.F90"
271 : end procedure
272 : #endif
273 :
274 : #if RK1_ENABLED
275 1 : module procedure test_getParetoLogQuan_RK1_1
276 : use pm_kind, only: RKC => RK1
277 : #include "test_pm_distPareto@routines.inc.F90"
278 : end procedure
279 : #endif
280 :
281 : #undef RK_ENABLED
282 :
283 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
284 :
285 : #undef getParetoLogQuan_ENABLED
286 :
287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
288 :
289 : #define setParetoLogQuan_ENABLED 1
290 :
291 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
292 :
293 : #define RK_ENABLED 1
294 :
295 : #if RK5_ENABLED
296 : module procedure test_setParetoLogQuan_RK5_1
297 : use pm_kind, only: RKC => RK5
298 : #include "test_pm_distPareto@routines.inc.F90"
299 : end procedure
300 : #endif
301 :
302 : #if RK4_ENABLED
303 2 : module procedure test_setParetoLogQuan_RK4_1
304 : use pm_kind, only: RKC => RK4
305 : #include "test_pm_distPareto@routines.inc.F90"
306 : end procedure
307 : #endif
308 :
309 : #if RK3_ENABLED
310 1 : module procedure test_setParetoLogQuan_RK3_1
311 : use pm_kind, only: RKC => RK3
312 : #include "test_pm_distPareto@routines.inc.F90"
313 : end procedure
314 : #endif
315 :
316 : #if RK2_ENABLED
317 1 : module procedure test_setParetoLogQuan_RK2_1
318 : use pm_kind, only: RKC => RK2
319 : #include "test_pm_distPareto@routines.inc.F90"
320 : end procedure
321 : #endif
322 :
323 : #if RK1_ENABLED
324 1 : module procedure test_setParetoLogQuan_RK1_1
325 : use pm_kind, only: RKC => RK1
326 : #include "test_pm_distPareto@routines.inc.F90"
327 : end procedure
328 : #endif
329 :
330 : #undef RK_ENABLED
331 :
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 :
334 : #undef setParetoLogQuan_ENABLED
335 :
336 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
337 :
338 : #define getParetoLogRand_ENABLED 1
339 :
340 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
341 :
342 : #define RK_ENABLED 1
343 :
344 : #if RK5_ENABLED
345 : module procedure test_getParetoLogRand_RK5_1
346 : use pm_kind, only: RKC => RK5
347 : #include "test_pm_distPareto@routines.inc.F90"
348 : end procedure
349 : #endif
350 :
351 : #if RK4_ENABLED
352 1 : module procedure test_getParetoLogRand_RK4_1
353 : use pm_kind, only: RKC => RK4
354 : #include "test_pm_distPareto@routines.inc.F90"
355 : end procedure
356 : #endif
357 :
358 : #if RK3_ENABLED
359 1 : module procedure test_getParetoLogRand_RK3_1
360 : use pm_kind, only: RKC => RK3
361 : #include "test_pm_distPareto@routines.inc.F90"
362 : end procedure
363 : #endif
364 :
365 : #if RK2_ENABLED
366 1 : module procedure test_getParetoLogRand_RK2_1
367 : use pm_kind, only: RKC => RK2
368 : #include "test_pm_distPareto@routines.inc.F90"
369 : end procedure
370 : #endif
371 :
372 : #if RK1_ENABLED
373 1 : module procedure test_getParetoLogRand_RK1_1
374 : use pm_kind, only: RKC => RK1
375 : #include "test_pm_distPareto@routines.inc.F90"
376 : end procedure
377 : #endif
378 :
379 : #undef RK_ENABLED
380 :
381 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
382 :
383 : #undef getParetoLogRand_ENABLED
384 :
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 :
387 : #define setParetoLogRand_ENABLED 1
388 :
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 :
391 : #define RK_ENABLED 1
392 :
393 : #if RK5_ENABLED
394 : module procedure test_setParetoLogRand_RK5_1
395 : use pm_kind, only: RKC => RK5
396 : #include "test_pm_distPareto@routines.inc.F90"
397 : end procedure
398 : #endif
399 :
400 : #if RK4_ENABLED
401 1 : module procedure test_setParetoLogRand_RK4_1
402 : use pm_kind, only: RKC => RK4
403 : #include "test_pm_distPareto@routines.inc.F90"
404 : end procedure
405 : #endif
406 :
407 : #if RK3_ENABLED
408 1 : module procedure test_setParetoLogRand_RK3_1
409 : use pm_kind, only: RKC => RK3
410 : #include "test_pm_distPareto@routines.inc.F90"
411 : end procedure
412 : #endif
413 :
414 : #if RK2_ENABLED
415 1 : module procedure test_setParetoLogRand_RK2_1
416 : use pm_kind, only: RKC => RK2
417 : #include "test_pm_distPareto@routines.inc.F90"
418 : end procedure
419 : #endif
420 :
421 : #if RK1_ENABLED
422 1 : module procedure test_setParetoLogRand_RK1_1
423 : use pm_kind, only: RKC => RK1
424 : #include "test_pm_distPareto@routines.inc.F90"
425 : end procedure
426 : #endif
427 :
428 : #undef RK_ENABLED
429 :
430 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
431 :
432 : #undef setParetoLogRand_ENABLED
433 :
434 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435 :
436 : end submodule routines ! LCOV_EXCL_LINE
|