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 [pm_sampleCCF](@ref pm_sampleCCF).
19 : !>
20 : !> final
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_sampleCCF) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : use pm_fftpack, only: setFFTF, setFFTI, setFFTR
40 : use pm_arraySort, only: isAscending
41 : use pm_arrayResize, only: setResized
42 : use pm_sampleShift, only: setShifted
43 : use pm_sampleScale, only: setScaled
44 : use pm_sampleNorm, only: setNormed
45 : use pm_sampleMean, only: getMean
46 : use pm_sampleVar, only: setVar
47 :
48 : implicit none
49 :
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 :
52 : contains
53 :
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 :
56 : #define getACF_ENABLED 1
57 :
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 :
62 : #define D1_ENABLED 1
63 :
64 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 :
68 : #define FP_ENABLED 1
69 :
70 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71 :
72 : #define CK_ENABLED 1
73 :
74 : #if CK5_ENABLED
75 : module procedure getACF_D1_CK5
76 : use pm_kind, only: TKC => CK5
77 : #include "pm_sampleCCF@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #if CK4_ENABLED
82 1200 : module procedure getACF_D1_CK4
83 : use pm_kind, only: TKC => CK4
84 : #include "pm_sampleCCF@routines.inc.F90"
85 1600 : end procedure
86 : #endif
87 :
88 : #if CK3_ENABLED
89 1200 : module procedure getACF_D1_CK3
90 : use pm_kind, only: TKC => CK3
91 : #include "pm_sampleCCF@routines.inc.F90"
92 1600 : end procedure
93 : #endif
94 :
95 : #if CK2_ENABLED
96 1200 : module procedure getACF_D1_CK2
97 : use pm_kind, only: TKC => CK2
98 : #include "pm_sampleCCF@routines.inc.F90"
99 1600 : end procedure
100 : #endif
101 :
102 : #if CK1_ENABLED
103 1202 : module procedure getACF_D1_CK1
104 : use pm_kind, only: TKC => CK1
105 : #include "pm_sampleCCF@routines.inc.F90"
106 1604 : end procedure
107 : #endif
108 :
109 : #undef CK_ENABLED
110 :
111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 :
113 : #define RK_ENABLED 1
114 :
115 : #if RK5_ENABLED
116 : module procedure getACF_D1_RK5
117 : use pm_kind, only: TKC => RK5
118 : #include "pm_sampleCCF@routines.inc.F90"
119 : end procedure
120 : #endif
121 :
122 : #if RK4_ENABLED
123 1200 : module procedure getACF_D1_RK4
124 : use pm_kind, only: TKC => RK4
125 : #include "pm_sampleCCF@routines.inc.F90"
126 1600 : end procedure
127 : #endif
128 :
129 : #if RK3_ENABLED
130 1200 : module procedure getACF_D1_RK3
131 : use pm_kind, only: TKC => RK3
132 : #include "pm_sampleCCF@routines.inc.F90"
133 1600 : end procedure
134 : #endif
135 :
136 : #if RK2_ENABLED
137 1200 : module procedure getACF_D1_RK2
138 : use pm_kind, only: TKC => RK2
139 : #include "pm_sampleCCF@routines.inc.F90"
140 1600 : end procedure
141 : #endif
142 :
143 : #if RK1_ENABLED
144 1206 : module procedure getACF_D1_RK1
145 : use pm_kind, only: TKC => RK1
146 : #include "pm_sampleCCF@routines.inc.F90"
147 1612 : end procedure
148 : #endif
149 :
150 : #undef RK_ENABLED
151 :
152 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153 :
154 : #undef FP_ENABLED
155 :
156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 :
160 : #undef D1_ENABLED
161 :
162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 :
166 : #undef getACF_ENABLED
167 :
168 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 :
170 : #define setACF_ENABLED 1
171 :
172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175 :
176 : #define D1_ENABLED 1
177 :
178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define FP_ENABLED 1
183 :
184 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
185 :
186 : #define CK_ENABLED 1
187 :
188 : #if CK5_ENABLED
189 : module procedure setACF_FP_D1_CK5
190 : use pm_kind, only: TKC => CK5
191 : #include "pm_sampleCCF@routines.inc.F90"
192 : end procedure
193 : #endif
194 :
195 : #if CK4_ENABLED
196 821 : module procedure setACF_FP_D1_CK4
197 : use pm_kind, only: TKC => CK4
198 : #include "pm_sampleCCF@routines.inc.F90"
199 821 : end procedure
200 : #endif
201 :
202 : #if CK3_ENABLED
203 821 : module procedure setACF_FP_D1_CK3
204 : use pm_kind, only: TKC => CK3
205 : #include "pm_sampleCCF@routines.inc.F90"
206 821 : end procedure
207 : #endif
208 :
209 : #if CK2_ENABLED
210 821 : module procedure setACF_FP_D1_CK2
211 : use pm_kind, only: TKC => CK2
212 : #include "pm_sampleCCF@routines.inc.F90"
213 821 : end procedure
214 : #endif
215 :
216 : #if CK1_ENABLED
217 823 : module procedure setACF_FP_D1_CK1
218 : use pm_kind, only: TKC => CK1
219 : #include "pm_sampleCCF@routines.inc.F90"
220 823 : end procedure
221 : #endif
222 :
223 : #undef CK_ENABLED
224 :
225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226 :
227 : #define RK_ENABLED 1
228 :
229 : #if RK5_ENABLED
230 : module procedure setACF_FP_D1_RK5
231 : use pm_kind, only: TKC => RK5
232 : #include "pm_sampleCCF@routines.inc.F90"
233 : end procedure
234 : #endif
235 :
236 : #if RK4_ENABLED
237 821 : module procedure setACF_FP_D1_RK4
238 : use pm_kind, only: TKC => RK4
239 : #include "pm_sampleCCF@routines.inc.F90"
240 821 : end procedure
241 : #endif
242 :
243 : #if RK3_ENABLED
244 821 : module procedure setACF_FP_D1_RK3
245 : use pm_kind, only: TKC => RK3
246 : #include "pm_sampleCCF@routines.inc.F90"
247 821 : end procedure
248 : #endif
249 :
250 : #if RK2_ENABLED
251 821 : module procedure setACF_FP_D1_RK2
252 : use pm_kind, only: TKC => RK2
253 : #include "pm_sampleCCF@routines.inc.F90"
254 821 : end procedure
255 : #endif
256 :
257 : #if RK1_ENABLED
258 828 : module procedure setACF_FP_D1_RK1
259 : use pm_kind, only: TKC => RK1
260 : #include "pm_sampleCCF@routines.inc.F90"
261 828 : end procedure
262 : #endif
263 :
264 : #undef RK_ENABLED
265 :
266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 :
268 : #undef FP_ENABLED
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
272 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273 :
274 : #undef D1_ENABLED
275 :
276 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279 :
280 : #undef setACF_ENABLED
281 :
282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 :
284 : #define getCCF_ENABLED 1
285 :
286 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289 :
290 : #define FG_ENABLED 1
291 :
292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 :
296 : #define FP_ENABLED 1
297 :
298 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
299 :
300 : #define CK_ENABLED 1
301 :
302 : #if CK5_ENABLED
303 : module procedure getCCF_FG_CK5
304 : use pm_kind, only: TKC => CK5
305 : #include "pm_sampleCCF@routines.inc.F90"
306 : end procedure
307 : #endif
308 :
309 : #if CK4_ENABLED
310 2300 : module procedure getCCF_FG_CK4
311 : use pm_kind, only: TKC => CK4
312 : #include "pm_sampleCCF@routines.inc.F90"
313 3600 : end procedure
314 : #endif
315 :
316 : #if CK3_ENABLED
317 2300 : module procedure getCCF_FG_CK3
318 : use pm_kind, only: TKC => CK3
319 : #include "pm_sampleCCF@routines.inc.F90"
320 3600 : end procedure
321 : #endif
322 :
323 : #if CK2_ENABLED
324 2300 : module procedure getCCF_FG_CK2
325 : use pm_kind, only: TKC => CK2
326 : #include "pm_sampleCCF@routines.inc.F90"
327 3600 : end procedure
328 : #endif
329 :
330 : #if CK1_ENABLED
331 2302 : module procedure getCCF_FG_CK1
332 : use pm_kind, only: TKC => CK1
333 : #include "pm_sampleCCF@routines.inc.F90"
334 3604 : end procedure
335 : #endif
336 :
337 : #undef CK_ENABLED
338 :
339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 :
341 : #define RK_ENABLED 1
342 :
343 : #if RK5_ENABLED
344 : module procedure getCCF_FG_RK5
345 : use pm_kind, only: TKC => RK5
346 : #include "pm_sampleCCF@routines.inc.F90"
347 : end procedure
348 : #endif
349 :
350 : #if RK4_ENABLED
351 2300 : module procedure getCCF_FG_RK4
352 : use pm_kind, only: TKC => RK4
353 : #include "pm_sampleCCF@routines.inc.F90"
354 3600 : end procedure
355 : #endif
356 :
357 : #if RK3_ENABLED
358 2300 : module procedure getCCF_FG_RK3
359 : use pm_kind, only: TKC => RK3
360 : #include "pm_sampleCCF@routines.inc.F90"
361 3600 : end procedure
362 : #endif
363 :
364 : #if RK2_ENABLED
365 2300 : module procedure getCCF_FG_RK2
366 : use pm_kind, only: TKC => RK2
367 : #include "pm_sampleCCF@routines.inc.F90"
368 3600 : end procedure
369 : #endif
370 :
371 : #if RK1_ENABLED
372 2304 : module procedure getCCF_FG_RK1
373 : use pm_kind, only: TKC => RK1
374 : #include "pm_sampleCCF@routines.inc.F90"
375 3608 : end procedure
376 : #endif
377 :
378 : #undef RK_ENABLED
379 :
380 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
381 :
382 : #undef FP_ENABLED
383 :
384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
387 :
388 : #undef FG_ENABLED
389 :
390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393 :
394 : #undef getCCF_ENABLED
395 :
396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397 :
398 : #define setCCF_ENABLED 1
399 :
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
403 :
404 : #define FG_ENABLED 1
405 :
406 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409 :
410 : #define FP_ENABLED 1
411 :
412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413 :
414 : #define CK_ENABLED 1
415 :
416 : #if CK5_ENABLED
417 : module procedure setCCF_FP_FG_CK5
418 : use pm_kind, only: TKC => CK5
419 : #include "pm_sampleCCF@routines.inc.F90"
420 : end procedure
421 : #endif
422 :
423 : #if CK4_ENABLED
424 2842 : module procedure setCCF_FP_FG_CK4
425 : use pm_kind, only: TKC => CK4
426 : #include "pm_sampleCCF@routines.inc.F90"
427 2842 : end procedure
428 : #endif
429 :
430 : #if CK3_ENABLED
431 2842 : module procedure setCCF_FP_FG_CK3
432 : use pm_kind, only: TKC => CK3
433 : #include "pm_sampleCCF@routines.inc.F90"
434 2842 : end procedure
435 : #endif
436 :
437 : #if CK2_ENABLED
438 2842 : module procedure setCCF_FP_FG_CK2
439 : use pm_kind, only: TKC => CK2
440 : #include "pm_sampleCCF@routines.inc.F90"
441 2842 : end procedure
442 : #endif
443 :
444 : #if CK1_ENABLED
445 2844 : module procedure setCCF_FP_FG_CK1
446 : use pm_kind, only: TKC => CK1
447 : #include "pm_sampleCCF@routines.inc.F90"
448 2844 : end procedure
449 : #endif
450 :
451 : #undef CK_ENABLED
452 :
453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454 :
455 : #define RK_ENABLED 1
456 :
457 : #if RK5_ENABLED
458 : module procedure setCCF_FP_FG_RK5
459 : use pm_kind, only: TKC => RK5
460 : #include "pm_sampleCCF@routines.inc.F90"
461 : end procedure
462 : #endif
463 :
464 : #if RK4_ENABLED
465 2842 : module procedure setCCF_FP_FG_RK4
466 : use pm_kind, only: TKC => RK4
467 : #include "pm_sampleCCF@routines.inc.F90"
468 2842 : end procedure
469 : #endif
470 :
471 : #if RK3_ENABLED
472 2842 : module procedure setCCF_FP_FG_RK3
473 : use pm_kind, only: TKC => RK3
474 : #include "pm_sampleCCF@routines.inc.F90"
475 2842 : end procedure
476 : #endif
477 :
478 : #if RK2_ENABLED
479 2842 : module procedure setCCF_FP_FG_RK2
480 : use pm_kind, only: TKC => RK2
481 : #include "pm_sampleCCF@routines.inc.F90"
482 2842 : end procedure
483 : #endif
484 :
485 : #if RK1_ENABLED
486 2848 : module procedure setCCF_FP_FG_RK1
487 : use pm_kind, only: TKC => RK1
488 : #include "pm_sampleCCF@routines.inc.F90"
489 2848 : end procedure
490 : #endif
491 :
492 : #undef RK_ENABLED
493 :
494 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495 :
496 : #undef FP_ENABLED
497 :
498 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
499 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
500 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
501 :
502 : #undef FG_ENABLED
503 :
504 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
505 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
506 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
507 :
508 : #undef setCCF_ENABLED
509 :
510 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
511 :
512 : #undef CHECK_ASSERTION
513 :
514 : end submodule routines
|