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 file contains procedure implementations of tests of [test_pm_sampleCCF](@ref test_pm_sampleCCF).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (test_pm_sampleCCF) routines ! LCOV_EXCL_LINE
28 :
29 : use pm_io, only: getFormat
30 : use pm_fftpack, only: getFFTF
31 : use pm_fftpack, only: getFFTI
32 : use pm_fftpack, only: getFactorFFT
33 : use pm_distUnif, only: getUnifRand
34 : use pm_distUnif, only: setUnifRand
35 : use pm_arrayFill, only: getFilled
36 : use pm_matrixCopy, only: rdpack
37 : use pm_matrixCopy, only: transHerm
38 : use pm_matrixInit, only: getMatInit
39 : use pm_matrixInit, only: setMatInit
40 : use pm_matrixCopy, only: setMatCopy
41 : use pm_matrixSubset, only: uppLowDia
42 : use pm_matrixSubset, only: upp, low, dia
43 : use pm_matrixSubset, only: uppLowDia_type
44 : use pm_matrixSubset, only: getSubUnion
45 : use pm_matrixSubset, only: getSubComp
46 : use pm_matrixSubset, only: getSubSymm
47 : use pm_arrayChoice, only: getChoice
48 : use pm_arrayResize, only: setResized
49 : use pm_arrayRange, only: getRange
50 : use pm_sampleMean, only: getMean
51 : use pm_sampleCov, only: getCov
52 : use pm_sampleCov, only: setCov
53 : use pm_sampleShift, only: getShifted
54 : use pm_complexCompareAll, only: operator(<)
55 : use pm_container, only: css_type, css_pdt
56 : use pm_arrayRank, only: getRankFractional
57 : use pm_complexAbs, only: abs
58 : implicit none
59 :
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 :
62 : contains
63 :
64 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 :
66 : #define getCCF_ENABLED 1
67 :
68 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 :
70 : #define CK_ENABLED 1
71 :
72 : #if CK5_ENABLED
73 : module procedure test_getCCF_CK5
74 : use pm_kind, only: TKC => CK5
75 : #include "test_pm_sampleCCF@routines.inc.F90"
76 : end procedure
77 : #endif
78 :
79 : #if CK4_ENABLED
80 1 : module procedure test_getCCF_CK4
81 : use pm_kind, only: TKC => CK4
82 : #include "test_pm_sampleCCF@routines.inc.F90"
83 : end procedure
84 : #endif
85 :
86 : #if CK3_ENABLED
87 1 : module procedure test_getCCF_CK3
88 : use pm_kind, only: TKC => CK3
89 : #include "test_pm_sampleCCF@routines.inc.F90"
90 : end procedure
91 : #endif
92 :
93 : #if CK2_ENABLED
94 1 : module procedure test_getCCF_CK2
95 : use pm_kind, only: TKC => CK2
96 : #include "test_pm_sampleCCF@routines.inc.F90"
97 : end procedure
98 : #endif
99 :
100 : #if CK1_ENABLED
101 1 : module procedure test_getCCF_CK1
102 : use pm_kind, only: TKC => CK1
103 : #include "test_pm_sampleCCF@routines.inc.F90"
104 : end procedure
105 : #endif
106 :
107 : #undef CK_ENABLED
108 :
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define RK_ENABLED 1
112 :
113 : #if RK5_ENABLED
114 : module procedure test_getCCF_RK5
115 : use pm_kind, only: TKC => RK5
116 : #include "test_pm_sampleCCF@routines.inc.F90"
117 : end procedure
118 : #endif
119 :
120 : #if RK4_ENABLED
121 1 : module procedure test_getCCF_RK4
122 : use pm_kind, only: TKC => RK4
123 : #include "test_pm_sampleCCF@routines.inc.F90"
124 : end procedure
125 : #endif
126 :
127 : #if RK3_ENABLED
128 1 : module procedure test_getCCF_RK3
129 : use pm_kind, only: TKC => RK3
130 : #include "test_pm_sampleCCF@routines.inc.F90"
131 : end procedure
132 : #endif
133 :
134 : #if RK2_ENABLED
135 1 : module procedure test_getCCF_RK2
136 : use pm_kind, only: TKC => RK2
137 : #include "test_pm_sampleCCF@routines.inc.F90"
138 : end procedure
139 : #endif
140 :
141 : #if RK1_ENABLED
142 1 : module procedure test_getCCF_RK1
143 : use pm_kind, only: TKC => RK1
144 : #include "test_pm_sampleCCF@routines.inc.F90"
145 : end procedure
146 : #endif
147 :
148 : #undef RK_ENABLED
149 :
150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151 :
152 : #undef getCCF_ENABLED
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 :
156 : #define setCCF_ENABLED 1
157 :
158 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 :
160 : #define CK_ENABLED 1
161 :
162 : #if CK5_ENABLED
163 : module procedure test_setCCF_CK5
164 : use pm_kind, only: TKC => CK5
165 : #include "test_pm_sampleCCF@routines.inc.F90"
166 : end procedure
167 : #endif
168 :
169 : #if CK4_ENABLED
170 1 : module procedure test_setCCF_CK4
171 : use pm_kind, only: TKC => CK4
172 : #include "test_pm_sampleCCF@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if CK3_ENABLED
177 1 : module procedure test_setCCF_CK3
178 : use pm_kind, only: TKC => CK3
179 : #include "test_pm_sampleCCF@routines.inc.F90"
180 : end procedure
181 : #endif
182 :
183 : #if CK2_ENABLED
184 1 : module procedure test_setCCF_CK2
185 : use pm_kind, only: TKC => CK2
186 : #include "test_pm_sampleCCF@routines.inc.F90"
187 : end procedure
188 : #endif
189 :
190 : #if CK1_ENABLED
191 1 : module procedure test_setCCF_CK1
192 : use pm_kind, only: TKC => CK1
193 : #include "test_pm_sampleCCF@routines.inc.F90"
194 : end procedure
195 : #endif
196 :
197 : #undef CK_ENABLED
198 :
199 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 :
201 : #define RK_ENABLED 1
202 :
203 : #if RK5_ENABLED
204 : module procedure test_setCCF_RK5
205 : use pm_kind, only: TKC => RK5
206 : #include "test_pm_sampleCCF@routines.inc.F90"
207 : end procedure
208 : #endif
209 :
210 : #if RK4_ENABLED
211 1 : module procedure test_setCCF_RK4
212 : use pm_kind, only: TKC => RK4
213 : #include "test_pm_sampleCCF@routines.inc.F90"
214 : end procedure
215 : #endif
216 :
217 : #if RK3_ENABLED
218 1 : module procedure test_setCCF_RK3
219 : use pm_kind, only: TKC => RK3
220 : #include "test_pm_sampleCCF@routines.inc.F90"
221 : end procedure
222 : #endif
223 :
224 : #if RK2_ENABLED
225 1 : module procedure test_setCCF_RK2
226 : use pm_kind, only: TKC => RK2
227 : #include "test_pm_sampleCCF@routines.inc.F90"
228 : end procedure
229 : #endif
230 :
231 : #if RK1_ENABLED
232 1 : module procedure test_setCCF_RK1
233 : use pm_kind, only: TKC => RK1
234 : #include "test_pm_sampleCCF@routines.inc.F90"
235 : end procedure
236 : #endif
237 :
238 : #undef RK_ENABLED
239 :
240 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
241 :
242 : #undef setCCF_ENABLED
243 :
244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245 :
246 : #define getACF_ENABLED 1
247 :
248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249 :
250 : #define CK_ENABLED 1
251 :
252 : #if CK5_ENABLED
253 : module procedure test_getACF_CK5
254 : use pm_kind, only: TKC => CK5
255 : #include "test_pm_sampleCCF@routines.inc.F90"
256 : end procedure
257 : #endif
258 :
259 : #if CK4_ENABLED
260 1 : module procedure test_getACF_CK4
261 : use pm_kind, only: TKC => CK4
262 : #include "test_pm_sampleCCF@routines.inc.F90"
263 : end procedure
264 : #endif
265 :
266 : #if CK3_ENABLED
267 1 : module procedure test_getACF_CK3
268 : use pm_kind, only: TKC => CK3
269 : #include "test_pm_sampleCCF@routines.inc.F90"
270 : end procedure
271 : #endif
272 :
273 : #if CK2_ENABLED
274 1 : module procedure test_getACF_CK2
275 : use pm_kind, only: TKC => CK2
276 : #include "test_pm_sampleCCF@routines.inc.F90"
277 : end procedure
278 : #endif
279 :
280 : #if CK1_ENABLED
281 1 : module procedure test_getACF_CK1
282 : use pm_kind, only: TKC => CK1
283 : #include "test_pm_sampleCCF@routines.inc.F90"
284 : end procedure
285 : #endif
286 :
287 : #undef CK_ENABLED
288 :
289 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290 :
291 : #define RK_ENABLED 1
292 :
293 : #if RK5_ENABLED
294 : module procedure test_getACF_RK5
295 : use pm_kind, only: TKC => RK5
296 : #include "test_pm_sampleCCF@routines.inc.F90"
297 : end procedure
298 : #endif
299 :
300 : #if RK4_ENABLED
301 1 : module procedure test_getACF_RK4
302 : use pm_kind, only: TKC => RK4
303 : #include "test_pm_sampleCCF@routines.inc.F90"
304 : end procedure
305 : #endif
306 :
307 : #if RK3_ENABLED
308 1 : module procedure test_getACF_RK3
309 : use pm_kind, only: TKC => RK3
310 : #include "test_pm_sampleCCF@routines.inc.F90"
311 : end procedure
312 : #endif
313 :
314 : #if RK2_ENABLED
315 1 : module procedure test_getACF_RK2
316 : use pm_kind, only: TKC => RK2
317 : #include "test_pm_sampleCCF@routines.inc.F90"
318 : end procedure
319 : #endif
320 :
321 : #if RK1_ENABLED
322 1 : module procedure test_getACF_RK1
323 : use pm_kind, only: TKC => RK1
324 : #include "test_pm_sampleCCF@routines.inc.F90"
325 : end procedure
326 : #endif
327 :
328 : #undef RK_ENABLED
329 :
330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
331 :
332 : #undef getACF_ENABLED
333 :
334 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
335 :
336 : #define setACF_ENABLED 1
337 :
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 :
340 : #define CK_ENABLED 1
341 :
342 : #if CK5_ENABLED
343 : module procedure test_setACF_CK5
344 : use pm_kind, only: TKC => CK5
345 : #include "test_pm_sampleCCF@routines.inc.F90"
346 : end procedure
347 : #endif
348 :
349 : #if CK4_ENABLED
350 1 : module procedure test_setACF_CK4
351 : use pm_kind, only: TKC => CK4
352 : #include "test_pm_sampleCCF@routines.inc.F90"
353 : end procedure
354 : #endif
355 :
356 : #if CK3_ENABLED
357 1 : module procedure test_setACF_CK3
358 : use pm_kind, only: TKC => CK3
359 : #include "test_pm_sampleCCF@routines.inc.F90"
360 : end procedure
361 : #endif
362 :
363 : #if CK2_ENABLED
364 1 : module procedure test_setACF_CK2
365 : use pm_kind, only: TKC => CK2
366 : #include "test_pm_sampleCCF@routines.inc.F90"
367 : end procedure
368 : #endif
369 :
370 : #if CK1_ENABLED
371 1 : module procedure test_setACF_CK1
372 : use pm_kind, only: TKC => CK1
373 : #include "test_pm_sampleCCF@routines.inc.F90"
374 : end procedure
375 : #endif
376 :
377 : #undef CK_ENABLED
378 :
379 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380 :
381 : #define RK_ENABLED 1
382 :
383 : #if RK5_ENABLED
384 : module procedure test_setACF_RK5
385 : use pm_kind, only: TKC => RK5
386 : #include "test_pm_sampleCCF@routines.inc.F90"
387 : end procedure
388 : #endif
389 :
390 : #if RK4_ENABLED
391 1 : module procedure test_setACF_RK4
392 : use pm_kind, only: TKC => RK4
393 : #include "test_pm_sampleCCF@routines.inc.F90"
394 : end procedure
395 : #endif
396 :
397 : #if RK3_ENABLED
398 1 : module procedure test_setACF_RK3
399 : use pm_kind, only: TKC => RK3
400 : #include "test_pm_sampleCCF@routines.inc.F90"
401 : end procedure
402 : #endif
403 :
404 : #if RK2_ENABLED
405 1 : module procedure test_setACF_RK2
406 : use pm_kind, only: TKC => RK2
407 : #include "test_pm_sampleCCF@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if RK1_ENABLED
412 1 : module procedure test_setACF_RK1
413 : use pm_kind, only: TKC => RK1
414 : #include "test_pm_sampleCCF@routines.inc.F90"
415 : end procedure
416 : #endif
417 :
418 : #undef RK_ENABLED
419 :
420 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
421 :
422 : #undef setACF_ENABLED
423 :
424 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
425 :
426 : end submodule routines
|