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_distExp](@ref pm_distExp).
18 : !>
19 : !> \fintest
20 : !>
21 : !> \author
22 : !> \FatemehBagheri, 12:27 AM Tuesday, February 22, 2022, Dallas, TX
23 :
24 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 :
26 : submodule (test_pm_distExp) routines
27 :
28 : use pm_distUnif, only: getUnifRand
29 : use pm_arrayChoice, only: getChoice
30 : use pm_mathCompare, only: isClose
31 : use pm_kind, only: SK, IK
32 : implicit none
33 :
34 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 :
36 : contains
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : #define getExpLogPDF_ENABLED 1
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : #define RK_ENABLED 1
45 :
46 : #if RK5_ENABLED
47 : module procedure test_getExpLogPDF_RK5
48 : use pm_kind, only: RKC => RK5
49 : #include "test_pm_distExp@routines.inc.F90"
50 : end procedure
51 : #endif
52 :
53 : #if RK4_ENABLED
54 1 : module procedure test_getExpLogPDF_RK4
55 : use pm_kind, only: RKC => RK4
56 : #include "test_pm_distExp@routines.inc.F90"
57 : end procedure
58 : #endif
59 :
60 : #if RK3_ENABLED
61 1 : module procedure test_getExpLogPDF_RK3
62 : use pm_kind, only: RKC => RK3
63 : #include "test_pm_distExp@routines.inc.F90"
64 : end procedure
65 : #endif
66 :
67 : #if RK2_ENABLED
68 1 : module procedure test_getExpLogPDF_RK2
69 : use pm_kind, only: RKC => RK2
70 : #include "test_pm_distExp@routines.inc.F90"
71 : end procedure
72 : #endif
73 :
74 : #if RK1_ENABLED
75 1 : module procedure test_getExpLogPDF_RK1
76 : use pm_kind, only: RKC => RK1
77 : #include "test_pm_distExp@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #undef RK_ENABLED
82 :
83 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84 :
85 : #undef getExpLogPDF_ENABLED
86 :
87 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 :
89 : #define setExpLogPDF_ENABLED 1
90 :
91 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
92 :
93 : #define RK_ENABLED 1
94 :
95 : #if RK5_ENABLED
96 : module procedure test_setExpLogPDF_RK5
97 : use pm_kind, only: RKC => RK5
98 : #include "test_pm_distExp@routines.inc.F90"
99 : end procedure
100 : #endif
101 :
102 : #if RK4_ENABLED
103 1 : module procedure test_setExpLogPDF_RK4
104 : use pm_kind, only: RKC => RK4
105 : #include "test_pm_distExp@routines.inc.F90"
106 : end procedure
107 : #endif
108 :
109 : #if RK3_ENABLED
110 1 : module procedure test_setExpLogPDF_RK3
111 : use pm_kind, only: RKC => RK3
112 : #include "test_pm_distExp@routines.inc.F90"
113 : end procedure
114 : #endif
115 :
116 : #if RK2_ENABLED
117 1 : module procedure test_setExpLogPDF_RK2
118 : use pm_kind, only: RKC => RK2
119 : #include "test_pm_distExp@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #if RK1_ENABLED
124 1 : module procedure test_setExpLogPDF_RK1
125 : use pm_kind, only: RKC => RK1
126 : #include "test_pm_distExp@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #undef RK_ENABLED
131 :
132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 :
134 : #undef setExpLogPDF_ENABLED
135 :
136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
137 :
138 : #define getExpCDF_ENABLED 1
139 :
140 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
141 :
142 : #define RK_ENABLED 1
143 :
144 : #if RK5_ENABLED
145 : module procedure test_getExpCDF_RK5
146 : use pm_kind, only: RKC => RK5
147 : #include "test_pm_distExp@routines.inc.F90"
148 : end procedure
149 : #endif
150 :
151 : #if RK4_ENABLED
152 1 : module procedure test_getExpCDF_RK4
153 : use pm_kind, only: RKC => RK4
154 : #include "test_pm_distExp@routines.inc.F90"
155 : end procedure
156 : #endif
157 :
158 : #if RK3_ENABLED
159 1 : module procedure test_getExpCDF_RK3
160 : use pm_kind, only: RKC => RK3
161 : #include "test_pm_distExp@routines.inc.F90"
162 : end procedure
163 : #endif
164 :
165 : #if RK2_ENABLED
166 1 : module procedure test_getExpCDF_RK2
167 : use pm_kind, only: RKC => RK2
168 : #include "test_pm_distExp@routines.inc.F90"
169 : end procedure
170 : #endif
171 :
172 : #if RK1_ENABLED
173 1 : module procedure test_getExpCDF_RK1
174 : use pm_kind, only: RKC => RK1
175 : #include "test_pm_distExp@routines.inc.F90"
176 : end procedure
177 : #endif
178 :
179 : #undef RK_ENABLED
180 :
181 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182 :
183 : #undef getExpCDF_ENABLED
184 :
185 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186 :
187 : #define setExpCDF_ENABLED 1
188 :
189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190 :
191 : #define RK_ENABLED 1
192 :
193 : #if RK5_ENABLED
194 : module procedure test_setExpCDF_RK5
195 : use pm_kind, only: RKC => RK5
196 : #include "test_pm_distExp@routines.inc.F90"
197 : end procedure
198 : #endif
199 :
200 : #if RK4_ENABLED
201 1 : module procedure test_setExpCDF_RK4
202 : use pm_kind, only: RKC => RK4
203 : #include "test_pm_distExp@routines.inc.F90"
204 : end procedure
205 : #endif
206 :
207 : #if RK3_ENABLED
208 1 : module procedure test_setExpCDF_RK3
209 : use pm_kind, only: RKC => RK3
210 : #include "test_pm_distExp@routines.inc.F90"
211 : end procedure
212 : #endif
213 :
214 : #if RK2_ENABLED
215 1 : module procedure test_setExpCDF_RK2
216 : use pm_kind, only: RKC => RK2
217 : #include "test_pm_distExp@routines.inc.F90"
218 : end procedure
219 : #endif
220 :
221 : #if RK1_ENABLED
222 1 : module procedure test_setExpCDF_RK1
223 : use pm_kind, only: RKC => RK1
224 : #include "test_pm_distExp@routines.inc.F90"
225 : end procedure
226 : #endif
227 :
228 : #undef RK_ENABLED
229 :
230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231 :
232 : #undef setExpCDF_ENABLED
233 :
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 :
236 : #define getExpRand_ENABLED 1
237 :
238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239 :
240 : #define RK_ENABLED 1
241 :
242 : #if RK5_ENABLED
243 : module procedure test_getExpRand_RK5_1
244 : use pm_kind, only: RKC => RK5
245 : #include "test_pm_distExp@routines.inc.F90"
246 : end procedure
247 : #endif
248 :
249 : #if RK4_ENABLED
250 1 : module procedure test_getExpRand_RK4_1
251 : use pm_kind, only: RKC => RK4
252 : #include "test_pm_distExp@routines.inc.F90"
253 : end procedure
254 : #endif
255 :
256 : #if RK3_ENABLED
257 1 : module procedure test_getExpRand_RK3_1
258 : use pm_kind, only: RKC => RK3
259 : #include "test_pm_distExp@routines.inc.F90"
260 : end procedure
261 : #endif
262 :
263 : #if RK2_ENABLED
264 1 : module procedure test_getExpRand_RK2_1
265 : use pm_kind, only: RKC => RK2
266 : #include "test_pm_distExp@routines.inc.F90"
267 : end procedure
268 : #endif
269 :
270 : #if RK1_ENABLED
271 1 : module procedure test_getExpRand_RK1_1
272 : use pm_kind, only: RKC => RK1
273 : #include "test_pm_distExp@routines.inc.F90"
274 : end procedure
275 : #endif
276 :
277 : #undef RK_ENABLED
278 :
279 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280 :
281 : #undef getExpRand_ENABLED
282 :
283 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
284 :
285 : #define setExpRand_ENABLED 1
286 :
287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
288 :
289 : #define RK_ENABLED 1
290 :
291 : #if RK5_ENABLED
292 : module procedure test_setExpRand_RK5_1
293 : use pm_kind, only: RKC => RK5
294 : #include "test_pm_distExp@routines.inc.F90"
295 : end procedure
296 : #endif
297 :
298 : #if RK4_ENABLED
299 1 : module procedure test_setExpRand_RK4_1
300 : use pm_kind, only: RKC => RK4
301 : #include "test_pm_distExp@routines.inc.F90"
302 : end procedure
303 : #endif
304 :
305 : #if RK3_ENABLED
306 1 : module procedure test_setExpRand_RK3_1
307 : use pm_kind, only: RKC => RK3
308 : #include "test_pm_distExp@routines.inc.F90"
309 : end procedure
310 : #endif
311 :
312 : #if RK2_ENABLED
313 1 : module procedure test_setExpRand_RK2_1
314 : use pm_kind, only: RKC => RK2
315 : #include "test_pm_distExp@routines.inc.F90"
316 : end procedure
317 : #endif
318 :
319 : #if RK1_ENABLED
320 1 : module procedure test_setExpRand_RK1_1
321 : use pm_kind, only: RKC => RK1
322 : #include "test_pm_distExp@routines.inc.F90"
323 : end procedure
324 : #endif
325 :
326 : #undef RK_ENABLED
327 :
328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 :
330 : #undef setExpRand_ENABLED
331 :
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 :
334 : end submodule routines ! LCOV_EXCL_LINE
|