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_arrayVerbose](@ref pm_arrayVerbose).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Saturday 1:30 AM, August 20, 2016, Institute for Computational Engineering and Sciences, UT Austin, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayVerbose) 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 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getVerbose_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define D0_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define SK_ENABLED 1
58 :
59 : #if SK5_ENABLED
60 : module procedure getVerbose_D0_SK5
61 : use pm_kind, only: SKC => SK5
62 : #include "pm_arrayVerbose@routines.inc.F90"
63 : end procedure
64 : #endif
65 :
66 : #if SK4_ENABLED
67 : module procedure getVerbose_D0_SK4
68 : use pm_kind, only: SKC => SK4
69 : #include "pm_arrayVerbose@routines.inc.F90"
70 : end procedure
71 : #endif
72 :
73 : #if SK3_ENABLED
74 : module procedure getVerbose_D0_SK3
75 : use pm_kind, only: SKC => SK3
76 : #include "pm_arrayVerbose@routines.inc.F90"
77 : end procedure
78 : #endif
79 :
80 : #if SK2_ENABLED
81 : module procedure getVerbose_D0_SK2
82 : use pm_kind, only: SKC => SK2
83 : #include "pm_arrayVerbose@routines.inc.F90"
84 : end procedure
85 : #endif
86 :
87 : #if SK1_ENABLED
88 38 : module procedure getVerbose_D0_SK1
89 : use pm_kind, only: SKC => SK1
90 : #include "pm_arrayVerbose@routines.inc.F90"
91 38 : end procedure
92 : #endif
93 :
94 : #undef SK_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #undef D0_ENABLED
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #define D1_ENABLED 1
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #define SK_ENABLED 1
111 :
112 : #if SK5_ENABLED
113 : module procedure getVerbose_D1_SK5
114 : use pm_kind, only: SKC => SK5
115 : #include "pm_arrayVerbose@routines.inc.F90"
116 : end procedure
117 : #endif
118 :
119 : #if SK4_ENABLED
120 : module procedure getVerbose_D1_SK4
121 : use pm_kind, only: SKC => SK4
122 : #include "pm_arrayVerbose@routines.inc.F90"
123 : end procedure
124 : #endif
125 :
126 : #if SK3_ENABLED
127 : module procedure getVerbose_D1_SK3
128 : use pm_kind, only: SKC => SK3
129 : #include "pm_arrayVerbose@routines.inc.F90"
130 : end procedure
131 : #endif
132 :
133 : #if SK2_ENABLED
134 : module procedure getVerbose_D1_SK2
135 : use pm_kind, only: SKC => SK2
136 : #include "pm_arrayVerbose@routines.inc.F90"
137 : end procedure
138 : #endif
139 :
140 : #if SK1_ENABLED
141 37 : module procedure getVerbose_D1_SK1
142 : use pm_kind, only: SKC => SK1
143 : #include "pm_arrayVerbose@routines.inc.F90"
144 37 : end procedure
145 : #endif
146 :
147 : #undef SK_ENABLED
148 :
149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 :
151 : #define IK_ENABLED 1
152 :
153 : #if IK5_ENABLED
154 6 : module procedure getVerbose_D1_IK5
155 : use pm_kind, only: IKC => IK5
156 : #include "pm_arrayVerbose@routines.inc.F90"
157 6 : end procedure
158 : #endif
159 :
160 : #if IK4_ENABLED
161 6 : module procedure getVerbose_D1_IK4
162 : use pm_kind, only: IKC => IK4
163 : #include "pm_arrayVerbose@routines.inc.F90"
164 6 : end procedure
165 : #endif
166 :
167 : #if IK3_ENABLED
168 37 : module procedure getVerbose_D1_IK3
169 : use pm_kind, only: IKC => IK3
170 : #include "pm_arrayVerbose@routines.inc.F90"
171 37 : end procedure
172 : #endif
173 :
174 : #if IK2_ENABLED
175 6 : module procedure getVerbose_D1_IK2
176 : use pm_kind, only: IKC => IK2
177 : #include "pm_arrayVerbose@routines.inc.F90"
178 6 : end procedure
179 : #endif
180 :
181 : #if IK1_ENABLED
182 6 : module procedure getVerbose_D1_IK1
183 : use pm_kind, only: IKC => IK1
184 : #include "pm_arrayVerbose@routines.inc.F90"
185 6 : end procedure
186 : #endif
187 :
188 : #undef IK_ENABLED
189 :
190 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 :
192 : #define LK_ENABLED 1
193 :
194 : #if LK5_ENABLED
195 6 : module procedure getVerbose_D1_LK5
196 : use pm_kind, only: LKC => LK5
197 : #include "pm_arrayVerbose@routines.inc.F90"
198 6 : end procedure
199 : #endif
200 :
201 : #if LK4_ENABLED
202 6 : module procedure getVerbose_D1_LK4
203 : use pm_kind, only: LKC => LK4
204 : #include "pm_arrayVerbose@routines.inc.F90"
205 6 : end procedure
206 : #endif
207 :
208 : #if LK3_ENABLED
209 37 : module procedure getVerbose_D1_LK3
210 : use pm_kind, only: LKC => LK3
211 : #include "pm_arrayVerbose@routines.inc.F90"
212 37 : end procedure
213 : #endif
214 :
215 : #if LK2_ENABLED
216 6 : module procedure getVerbose_D1_LK2
217 : use pm_kind, only: LKC => LK2
218 : #include "pm_arrayVerbose@routines.inc.F90"
219 6 : end procedure
220 : #endif
221 :
222 : #if LK1_ENABLED
223 6 : module procedure getVerbose_D1_LK1
224 : use pm_kind, only: LKC => LK1
225 : #include "pm_arrayVerbose@routines.inc.F90"
226 6 : end procedure
227 : #endif
228 :
229 : #undef LK_ENABLED
230 :
231 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232 :
233 : #define CK_ENABLED 1
234 :
235 : #if CK5_ENABLED
236 : module procedure getVerbose_D1_CK5
237 : use pm_kind, only: CKC => CK5
238 : #include "pm_arrayVerbose@routines.inc.F90"
239 : end procedure
240 : #endif
241 :
242 : #if CK4_ENABLED
243 6 : module procedure getVerbose_D1_CK4
244 : use pm_kind, only: CKC => CK4
245 : #include "pm_arrayVerbose@routines.inc.F90"
246 6 : end procedure
247 : #endif
248 :
249 : #if CK3_ENABLED
250 6 : module procedure getVerbose_D1_CK3
251 : use pm_kind, only: CKC => CK3
252 : #include "pm_arrayVerbose@routines.inc.F90"
253 6 : end procedure
254 : #endif
255 :
256 : #if CK2_ENABLED
257 8 : module procedure getVerbose_D1_CK2
258 : use pm_kind, only: CKC => CK2
259 : #include "pm_arrayVerbose@routines.inc.F90"
260 8 : end procedure
261 : #endif
262 :
263 : #if CK1_ENABLED
264 33 : module procedure getVerbose_D1_CK1
265 : use pm_kind, only: CKC => CK1
266 : #include "pm_arrayVerbose@routines.inc.F90"
267 33 : end procedure
268 : #endif
269 :
270 : #undef CK_ENABLED
271 :
272 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273 :
274 : #define RK_ENABLED 1
275 :
276 : #if RK5_ENABLED
277 : module procedure getVerbose_D1_RK5
278 : use pm_kind, only: RKC => RK5
279 : #include "pm_arrayVerbose@routines.inc.F90"
280 : end procedure
281 : #endif
282 :
283 : #if RK4_ENABLED
284 6 : module procedure getVerbose_D1_RK4
285 : use pm_kind, only: RKC => RK4
286 : #include "pm_arrayVerbose@routines.inc.F90"
287 6 : end procedure
288 : #endif
289 :
290 : #if RK3_ENABLED
291 6 : module procedure getVerbose_D1_RK3
292 : use pm_kind, only: RKC => RK3
293 : #include "pm_arrayVerbose@routines.inc.F90"
294 6 : end procedure
295 : #endif
296 :
297 : #if RK2_ENABLED
298 8 : module procedure getVerbose_D1_RK2
299 : use pm_kind, only: RKC => RK2
300 : #include "pm_arrayVerbose@routines.inc.F90"
301 8 : end procedure
302 : #endif
303 :
304 : #if RK1_ENABLED
305 115 : module procedure getVerbose_D1_RK1
306 : use pm_kind, only: RKC => RK1
307 : #include "pm_arrayVerbose@routines.inc.F90"
308 115 : end procedure
309 : #endif
310 :
311 : #undef RK_ENABLED
312 :
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 :
315 : #undef D1_ENABLED
316 :
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 :
321 : #define D2_ENABLED 1
322 :
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 :
325 : #define SK_ENABLED 1
326 :
327 : #if SK5_ENABLED
328 : module procedure getVerbose_D2_SK5
329 : use pm_kind, only: SKC => SK5
330 : #include "pm_arrayVerbose@routines.inc.F90"
331 : end procedure
332 : #endif
333 :
334 : #if SK4_ENABLED
335 : module procedure getVerbose_D2_SK4
336 : use pm_kind, only: SKC => SK4
337 : #include "pm_arrayVerbose@routines.inc.F90"
338 : end procedure
339 : #endif
340 :
341 : #if SK3_ENABLED
342 : module procedure getVerbose_D2_SK3
343 : use pm_kind, only: SKC => SK3
344 : #include "pm_arrayVerbose@routines.inc.F90"
345 : end procedure
346 : #endif
347 :
348 : #if SK2_ENABLED
349 : module procedure getVerbose_D2_SK2
350 : use pm_kind, only: SKC => SK2
351 : #include "pm_arrayVerbose@routines.inc.F90"
352 : end procedure
353 : #endif
354 :
355 : #if SK1_ENABLED
356 48 : module procedure getVerbose_D2_SK1
357 : use pm_kind, only: SKC => SK1
358 : #include "pm_arrayVerbose@routines.inc.F90"
359 48 : end procedure
360 : #endif
361 :
362 : #undef SK_ENABLED
363 :
364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365 :
366 : #define IK_ENABLED 1
367 :
368 : #if IK5_ENABLED
369 8 : module procedure getVerbose_D2_IK5
370 : use pm_kind, only: IKC => IK5
371 : #include "pm_arrayVerbose@routines.inc.F90"
372 8 : end procedure
373 : #endif
374 :
375 : #if IK4_ENABLED
376 8 : module procedure getVerbose_D2_IK4
377 : use pm_kind, only: IKC => IK4
378 : #include "pm_arrayVerbose@routines.inc.F90"
379 8 : end procedure
380 : #endif
381 :
382 : #if IK3_ENABLED
383 47 : module procedure getVerbose_D2_IK3
384 : use pm_kind, only: IKC => IK3
385 : #include "pm_arrayVerbose@routines.inc.F90"
386 47 : end procedure
387 : #endif
388 :
389 : #if IK2_ENABLED
390 8 : module procedure getVerbose_D2_IK2
391 : use pm_kind, only: IKC => IK2
392 : #include "pm_arrayVerbose@routines.inc.F90"
393 8 : end procedure
394 : #endif
395 :
396 : #if IK1_ENABLED
397 8 : module procedure getVerbose_D2_IK1
398 : use pm_kind, only: IKC => IK1
399 : #include "pm_arrayVerbose@routines.inc.F90"
400 8 : end procedure
401 : #endif
402 :
403 : #undef IK_ENABLED
404 :
405 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406 :
407 : #define LK_ENABLED 1
408 :
409 : #if LK5_ENABLED
410 8 : module procedure getVerbose_D2_LK5
411 : use pm_kind, only: LKC => LK5
412 : #include "pm_arrayVerbose@routines.inc.F90"
413 8 : end procedure
414 : #endif
415 :
416 : #if LK4_ENABLED
417 8 : module procedure getVerbose_D2_LK4
418 : use pm_kind, only: LKC => LK4
419 : #include "pm_arrayVerbose@routines.inc.F90"
420 8 : end procedure
421 : #endif
422 :
423 : #if LK3_ENABLED
424 46 : module procedure getVerbose_D2_LK3
425 : use pm_kind, only: LKC => LK3
426 : #include "pm_arrayVerbose@routines.inc.F90"
427 46 : end procedure
428 : #endif
429 :
430 : #if LK2_ENABLED
431 8 : module procedure getVerbose_D2_LK2
432 : use pm_kind, only: LKC => LK2
433 : #include "pm_arrayVerbose@routines.inc.F90"
434 8 : end procedure
435 : #endif
436 :
437 : #if LK1_ENABLED
438 8 : module procedure getVerbose_D2_LK1
439 : use pm_kind, only: LKC => LK1
440 : #include "pm_arrayVerbose@routines.inc.F90"
441 8 : end procedure
442 : #endif
443 :
444 : #undef LK_ENABLED
445 :
446 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447 :
448 : #define CK_ENABLED 1
449 :
450 : #if CK5_ENABLED
451 : module procedure getVerbose_D2_CK5
452 : use pm_kind, only: CKC => CK5
453 : #include "pm_arrayVerbose@routines.inc.F90"
454 : end procedure
455 : #endif
456 :
457 : #if CK4_ENABLED
458 8 : module procedure getVerbose_D2_CK4
459 : use pm_kind, only: CKC => CK4
460 : #include "pm_arrayVerbose@routines.inc.F90"
461 8 : end procedure
462 : #endif
463 :
464 : #if CK3_ENABLED
465 8 : module procedure getVerbose_D2_CK3
466 : use pm_kind, only: CKC => CK3
467 : #include "pm_arrayVerbose@routines.inc.F90"
468 8 : end procedure
469 : #endif
470 :
471 : #if CK2_ENABLED
472 10 : module procedure getVerbose_D2_CK2
473 : use pm_kind, only: CKC => CK2
474 : #include "pm_arrayVerbose@routines.inc.F90"
475 10 : end procedure
476 : #endif
477 :
478 : #if CK1_ENABLED
479 45 : module procedure getVerbose_D2_CK1
480 : use pm_kind, only: CKC => CK1
481 : #include "pm_arrayVerbose@routines.inc.F90"
482 45 : end procedure
483 : #endif
484 :
485 : #undef CK_ENABLED
486 :
487 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
488 :
489 : #define RK_ENABLED 1
490 :
491 : #if RK5_ENABLED
492 : module procedure getVerbose_D2_RK5
493 : use pm_kind, only: RKC => RK5
494 : #include "pm_arrayVerbose@routines.inc.F90"
495 : end procedure
496 : #endif
497 :
498 : #if RK4_ENABLED
499 8 : module procedure getVerbose_D2_RK4
500 : use pm_kind, only: RKC => RK4
501 : #include "pm_arrayVerbose@routines.inc.F90"
502 8 : end procedure
503 : #endif
504 :
505 : #if RK3_ENABLED
506 8 : module procedure getVerbose_D2_RK3
507 : use pm_kind, only: RKC => RK3
508 : #include "pm_arrayVerbose@routines.inc.F90"
509 8 : end procedure
510 : #endif
511 :
512 : #if RK2_ENABLED
513 10 : module procedure getVerbose_D2_RK2
514 : use pm_kind, only: RKC => RK2
515 : #include "pm_arrayVerbose@routines.inc.F90"
516 10 : end procedure
517 : #endif
518 :
519 : #if RK1_ENABLED
520 47 : module procedure getVerbose_D2_RK1
521 : use pm_kind, only: RKC => RK1
522 : #include "pm_arrayVerbose@routines.inc.F90"
523 47 : end procedure
524 : #endif
525 :
526 : #undef RK_ENABLED
527 :
528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 :
530 : #undef D2_ENABLED
531 :
532 :
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536 :
537 : #undef getVerbose_ENABLED
538 :
539 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 :
541 : #undef CHECK_ASSERTION
542 :
543 : end submodule routines
|