ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_distPower.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
23
24!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25
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
216contains
217
218!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219
220 subroutine setTest()
221
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 call test%run(test_setPowerLogPDF_RK4_1, SK_"test_setPowerLogPDF_RK4_1")
231#endif
232#if RK3_ENABLED
233 call test%run(test_setPowerLogPDF_RK3_1, SK_"test_setPowerLogPDF_RK3_1")
234#endif
235#if RK2_ENABLED
236 call test%run(test_setPowerLogPDF_RK2_1, SK_"test_setPowerLogPDF_RK2_1")
237#endif
238#if RK1_ENABLED
239 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 call test%run(test_getPowerLogPDF_RK4_1, SK_"test_getPowerLogPDF_RK4_1")
249#endif
250#if RK3_ENABLED
251 call test%run(test_getPowerLogPDF_RK3_1, SK_"test_getPowerLogPDF_RK3_1")
252#endif
253#if RK2_ENABLED
254 call test%run(test_getPowerLogPDF_RK2_1, SK_"test_getPowerLogPDF_RK2_1")
255#endif
256#if RK1_ENABLED
257 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 call test%run(test_setPowerLogCDF_RK4_1, SK_"test_setPowerLogCDF_RK4_1")
267#endif
268#if RK3_ENABLED
269 call test%run(test_setPowerLogCDF_RK3_1, SK_"test_setPowerLogCDF_RK3_1")
270#endif
271#if RK2_ENABLED
272 call test%run(test_setPowerLogCDF_RK2_1, SK_"test_setPowerLogCDF_RK2_1")
273#endif
274#if RK1_ENABLED
275 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 call test%run(test_getPowerLogCDF_RK4_1, SK_"test_getPowerLogCDF_RK4_1")
285#endif
286#if RK3_ENABLED
287 call test%run(test_getPowerLogCDF_RK3_1, SK_"test_getPowerLogCDF_RK3_1")
288#endif
289#if RK2_ENABLED
290 call test%run(test_getPowerLogCDF_RK2_1, SK_"test_getPowerLogCDF_RK2_1")
291#endif
292#if RK1_ENABLED
293 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 call test%run(test_setPowerLogQuan_RK4_1, SK_"test_setPowerLogQuan_RK4_1")
303#endif
304#if RK3_ENABLED
305 call test%run(test_setPowerLogQuan_RK3_1, SK_"test_setPowerLogQuan_RK3_1")
306#endif
307#if RK2_ENABLED
308 call test%run(test_setPowerLogQuan_RK2_1, SK_"test_setPowerLogQuan_RK2_1")
309#endif
310#if RK1_ENABLED
311 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 call test%run(test_getPowerLogQuan_RK4_1, SK_"test_getPowerLogQuan_RK4_1")
321#endif
322#if RK3_ENABLED
323 call test%run(test_getPowerLogQuan_RK3_1, SK_"test_getPowerLogQuan_RK3_1")
324#endif
325#if RK2_ENABLED
326 call test%run(test_getPowerLogQuan_RK2_1, SK_"test_getPowerLogQuan_RK2_1")
327#endif
328#if RK1_ENABLED
329 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 call test%run(test_setPowerLogRand_RK4_1, SK_"test_setPowerLogRand_RK4_1")
339#endif
340#if RK3_ENABLED
341 call test%run(test_setPowerLogRand_RK3_1, SK_"test_setPowerLogRand_RK3_1")
342#endif
343#if RK2_ENABLED
344 call test%run(test_setPowerLogRand_RK2_1, SK_"test_setPowerLogRand_RK2_1")
345#endif
346#if RK1_ENABLED
347 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 call test%run(test_getPowerLogRand_RK4_1, SK_"test_getPowerLogRand_RK4_1")
357#endif
358#if RK3_ENABLED
359 call test%run(test_getPowerLogRand_RK3_1, SK_"test_getPowerLogRand_RK3_1")
360#endif
361#if RK2_ENABLED
362 call test%run(test_getPowerLogRand_RK2_1, SK_"test_getPowerLogRand_RK2_1")
363#endif
364#if RK1_ENABLED
365 call test%run(test_getPowerLogRand_RK1_1, SK_"test_getPowerLogRand_RK1_1")
366#endif
367
368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369 call test%summarize()
370
371 end subroutine setTest
372
373!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
374
375end module test_pm_distPower
This module contains classes and procedures for computing various statistical quantities related to t...
character(*, SK), parameter MODULE_NAME
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_distPower.
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