ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayVerbose.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
35
36!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
39
41! \bug
42! The following bypasses the bug reported below that creates a conflict between Intel and gfortran.
43#if __INTEL_COMPILER
44#define LEN_STR :
45#else
46#define LEN_STR len(array,IK)
47#endif
48#if 0
49#define CONTIGUOUS__, contiguous
50#else
51#define CONTIGUOUS__
52#endif
53
54
55 use pm_kind, only: SK, IK
56
57 implicit none
58
59 character(*, SK), parameter :: MODULE_NAME = "@pm_arrayVerbose"
60
61!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62
142 interface getVerbose
143
144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147
148 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149
150#if SK5_ENABLED
151 PURE module function getVerbose_D0_SK5(array, weight, weisum) result(verbose)
152#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
153 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D0_SK5
154#endif
155 use pm_kind, only: SKG => SK5
156 character(*,SKG) , intent(in) :: array
157 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
158 integer(IK) , intent(in) :: weisum
159 character(weisum,SKG) :: verbose
160 end function
161#endif
162
163#if SK4_ENABLED
164 PURE module function getVerbose_D0_SK4(array, weight, weisum) result(verbose)
165#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
166 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D0_SK4
167#endif
168 use pm_kind, only: SKG => SK4
169 character(*,SKG) , intent(in) :: array
170 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
171 integer(IK) , intent(in) :: weisum
172 character(weisum,SKG) :: verbose
173 end function
174#endif
175
176#if SK3_ENABLED
177 PURE module function getVerbose_D0_SK3(array, weight, weisum) result(verbose)
178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
179 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D0_SK3
180#endif
181 use pm_kind, only: SKG => SK3
182 character(*,SKG) , intent(in) :: array
183 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
184 integer(IK) , intent(in) :: weisum
185 character(weisum,SKG) :: verbose
186 end function
187#endif
188
189#if SK2_ENABLED
190 PURE module function getVerbose_D0_SK2(array, weight, weisum) result(verbose)
191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
192 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D0_SK2
193#endif
194 use pm_kind, only: SKG => SK2
195 character(*,SKG) , intent(in) :: array
196 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
197 integer(IK) , intent(in) :: weisum
198 character(weisum,SKG) :: verbose
199 end function
200#endif
201
202#if SK1_ENABLED
203 PURE module function getVerbose_D0_SK1(array, weight, weisum) result(verbose)
204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
205 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D0_SK1
206#endif
207 use pm_kind, only: SKG => SK1
208 character(*,SKG) , intent(in) :: array
209 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
210 integer(IK) , intent(in) :: weisum
211 character(weisum,SKG) :: verbose
212 end function
213#endif
214
215 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216
217 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
220
221 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222
223#if SK5_ENABLED
224 PURE module function getVerbose_D1_SK5(array, weight, weisum) result(verbose)
225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
226 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_SK5
227#endif
228 use pm_kind, only: SKG => SK5
229 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:)
230 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
231 integer(IK) , intent(in) :: weisum
232 character(len(array,IK),SKG) :: verbose(weisum)
233 end function
234#endif
235
236#if SK4_ENABLED
237 PURE module function getVerbose_D1_SK4(array, weight, weisum) result(verbose)
238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
239 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_SK4
240#endif
241 use pm_kind, only: SKG => SK4
242 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:)
243 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
244 integer(IK) , intent(in) :: weisum
245 character(len(array,IK),SKG) :: verbose(weisum)
246 end function
247#endif
248
249#if SK3_ENABLED
250 PURE module function getVerbose_D1_SK3(array, weight, weisum) result(verbose)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_SK3
253#endif
254 use pm_kind, only: SKG => SK3
255 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:)
256 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
257 integer(IK) , intent(in) :: weisum
258 character(len(array,IK),SKG) :: verbose(weisum)
259 end function
260#endif
261
262#if SK2_ENABLED
263 PURE module function getVerbose_D1_SK2(array, weight, weisum) result(verbose)
264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
265 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_SK2
266#endif
267 use pm_kind, only: SKG => SK2
268 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:)
269 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
270 integer(IK) , intent(in) :: weisum
271 character(len(array,IK),SKG) :: verbose(weisum)
272 end function
273#endif
274
275#if SK1_ENABLED
276 PURE module function getVerbose_D1_SK1(array, weight, weisum) result(verbose)
277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
278 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_SK1
279#endif
280 use pm_kind, only: SKG => SK1
281 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:)
282 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
283 integer(IK) , intent(in) :: weisum
284 character(len(array,IK),SKG) :: verbose(weisum)
285 end function
286#endif
287
288 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289
290#if IK5_ENABLED
291 PURE module function getVerbose_D1_IK5(array, weight, weisum) result(verbose)
292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
293 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_IK5
294#endif
295 use pm_kind, only: IKG => IK5
296 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:)
297 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
298 integer(IK) , intent(in) :: weisum
299 integer(IKG) :: verbose(weisum)
300 end function
301#endif
302
303#if IK4_ENABLED
304 PURE module function getVerbose_D1_IK4(array, weight, weisum) result(verbose)
305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
306 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_IK4
307#endif
308 use pm_kind, only: IKG => IK4
309 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:)
310 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
311 integer(IK) , intent(in) :: weisum
312 integer(IKG) :: verbose(weisum)
313 end function
314#endif
315
316#if IK3_ENABLED
317 PURE module function getVerbose_D1_IK3(array, weight, weisum) result(verbose)
318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
319 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_IK3
320#endif
321 use pm_kind, only: IKG => IK3
322 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:)
323 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
324 integer(IK) , intent(in) :: weisum
325 integer(IKG) :: verbose(weisum)
326 end function
327#endif
328
329#if IK2_ENABLED
330 PURE module function getVerbose_D1_IK2(array, weight, weisum) result(verbose)
331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
332 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_IK2
333#endif
334 use pm_kind, only: IKG => IK2
335 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:)
336 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
337 integer(IK) , intent(in) :: weisum
338 integer(IKG) :: verbose(weisum)
339 end function
340#endif
341
342#if IK1_ENABLED
343 PURE module function getVerbose_D1_IK1(array, weight, weisum) result(verbose)
344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
345 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_IK1
346#endif
347 use pm_kind, only: IKG => IK1
348 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:)
349 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
350 integer(IK) , intent(in) :: weisum
351 integer(IKG) :: verbose(weisum)
352 end function
353#endif
354
355 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
356
357#if LK5_ENABLED
358 PURE module function getVerbose_D1_LK5(array, weight, weisum) result(verbose)
359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
360 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_LK5
361#endif
362 use pm_kind, only: LKG => LK5
363 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:)
364 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
365 integer(IK) , intent(in) :: weisum
366 logical(LKG) :: verbose(weisum)
367 end function
368#endif
369
370#if LK4_ENABLED
371 PURE module function getVerbose_D1_LK4(array, weight, weisum) result(verbose)
372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
373 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_LK4
374#endif
375 use pm_kind, only: LKG => LK4
376 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:)
377 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
378 integer(IK) , intent(in) :: weisum
379 logical(LKG) :: verbose(weisum)
380 end function
381#endif
382
383#if LK3_ENABLED
384 PURE module function getVerbose_D1_LK3(array, weight, weisum) result(verbose)
385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
386 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_LK3
387#endif
388 use pm_kind, only: LKG => LK3
389 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:)
390 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
391 integer(IK) , intent(in) :: weisum
392 logical(LKG) :: verbose(weisum)
393 end function
394#endif
395
396#if LK2_ENABLED
397 PURE module function getVerbose_D1_LK2(array, weight, weisum) result(verbose)
398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
399 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_LK2
400#endif
401 use pm_kind, only: LKG => LK2
402 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:)
403 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
404 integer(IK) , intent(in) :: weisum
405 logical(LKG) :: verbose(weisum)
406 end function
407#endif
408
409#if LK1_ENABLED
410 PURE module function getVerbose_D1_LK1(array, weight, weisum) result(verbose)
411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_LK1
413#endif
414 use pm_kind, only: LKG => LK1
415 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:)
416 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
417 integer(IK) , intent(in) :: weisum
418 logical(LKG) :: verbose(weisum)
419 end function
420#endif
421
422 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423
424#if CK5_ENABLED
425 PURE module function getVerbose_D1_CK5(array, weight, weisum) result(verbose)
426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
427 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_CK5
428#endif
429 use pm_kind, only: CKG => CK5
430 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:)
431 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
432 integer(IK) , intent(in) :: weisum
433 complex(CKG) :: verbose(weisum)
434 end function
435#endif
436
437#if CK4_ENABLED
438 PURE module function getVerbose_D1_CK4(array, weight, weisum) result(verbose)
439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
440 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_CK4
441#endif
442 use pm_kind, only: CKG => CK4
443 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:)
444 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
445 integer(IK) , intent(in) :: weisum
446 complex(CKG) :: verbose(weisum)
447 end function
448#endif
449
450#if CK3_ENABLED
451 PURE module function getVerbose_D1_CK3(array, weight, weisum) result(verbose)
452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
453 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_CK3
454#endif
455 use pm_kind, only: CKG => CK3
456 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:)
457 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
458 integer(IK) , intent(in) :: weisum
459 complex(CKG) :: verbose(weisum)
460 end function
461#endif
462
463#if CK2_ENABLED
464 PURE module function getVerbose_D1_CK2(array, weight, weisum) result(verbose)
465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
466 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_CK2
467#endif
468 use pm_kind, only: CKG => CK2
469 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:)
470 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
471 integer(IK) , intent(in) :: weisum
472 complex(CKG) :: verbose(weisum)
473 end function
474#endif
475
476#if CK1_ENABLED
477 PURE module function getVerbose_D1_CK1(array, weight, weisum) result(verbose)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_CK1
480#endif
481 use pm_kind, only: CKG => CK1
482 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:)
483 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
484 integer(IK) , intent(in) :: weisum
485 complex(CKG) :: verbose(weisum)
486 end function
487#endif
488
489 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
490
491#if RK5_ENABLED
492 PURE module function getVerbose_D1_RK5(array, weight, weisum) result(verbose)
493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
494 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_RK5
495#endif
496 use pm_kind, only: RKG => RK5
497 real(RKG) , intent(in) CONTIGUOUS__ :: array(:)
498 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
499 integer(IK) , intent(in) :: weisum
500 real(RKG) :: verbose(weisum)
501 end function
502#endif
503
504#if RK4_ENABLED
505 PURE module function getVerbose_D1_RK4(array, weight, weisum) result(verbose)
506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
507 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_RK4
508#endif
509 use pm_kind, only: RKG => RK4
510 real(RKG) , intent(in) CONTIGUOUS__ :: array(:)
511 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
512 integer(IK) , intent(in) :: weisum
513 real(RKG) :: verbose(weisum)
514 end function
515#endif
516
517#if RK3_ENABLED
518 PURE module function getVerbose_D1_RK3(array, weight, weisum) result(verbose)
519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
520 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_RK3
521#endif
522 use pm_kind, only: RKG => RK3
523 real(RKG) , intent(in) CONTIGUOUS__ :: array(:)
524 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
525 integer(IK) , intent(in) :: weisum
526 real(RKG) :: verbose(weisum)
527 end function
528#endif
529
530#if RK2_ENABLED
531 PURE module function getVerbose_D1_RK2(array, weight, weisum) result(verbose)
532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
533 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_RK2
534#endif
535 use pm_kind, only: RKG => RK2
536 real(RKG) , intent(in) CONTIGUOUS__ :: array(:)
537 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
538 integer(IK) , intent(in) :: weisum
539 real(RKG) :: verbose(weisum)
540 end function
541#endif
542
543#if RK1_ENABLED
544 PURE module function getVerbose_D1_RK1(array, weight, weisum) result(verbose)
545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
546 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D1_RK1
547#endif
548 use pm_kind, only: RKG => RK1
549 real(RKG) , intent(in) CONTIGUOUS__ :: array(:)
550 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
551 integer(IK) , intent(in) :: weisum
552 real(RKG) :: verbose(weisum)
553 end function
554#endif
555
556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557
558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561
562 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
563
564#if SK5_ENABLED
565 PURE module function getVerbose_D2_SK5(array, weight, weisum, dim) result(verbose)
566#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
567 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_SK5
568#endif
569 use pm_kind, only: SKG => SK5
570 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:,:)
571 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
572 integer(IK) , intent(in) :: weisum, dim
573 character(len(array,IK),SKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
574 end function
575#endif
576
577#if SK4_ENABLED
578 PURE module function getVerbose_D2_SK4(array, weight, weisum, dim) result(verbose)
579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
580 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_SK4
581#endif
582 use pm_kind, only: SKG => SK4
583 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:,:)
584 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
585 integer(IK) , intent(in) :: weisum, dim
586 character(len(array,IK),SKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
587 end function
588#endif
589
590#if SK3_ENABLED
591 PURE module function getVerbose_D2_SK3(array, weight, weisum, dim) result(verbose)
592#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
593 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_SK3
594#endif
595 use pm_kind, only: SKG => SK3
596 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:,:)
597 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
598 integer(IK) , intent(in) :: weisum, dim
599 character(len(array,IK),SKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
600 end function
601#endif
602
603#if SK2_ENABLED
604 PURE module function getVerbose_D2_SK2(array, weight, weisum, dim) result(verbose)
605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
606 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_SK2
607#endif
608 use pm_kind, only: SKG => SK2
609 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:,:)
610 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
611 integer(IK) , intent(in) :: weisum, dim
612 character(len(array,IK),SKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
613 end function
614#endif
615
616#if SK1_ENABLED
617 PURE module function getVerbose_D2_SK1(array, weight, weisum, dim) result(verbose)
618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
619 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_SK1
620#endif
621 use pm_kind, only: SKG => SK1
622 character(*,SKG) , intent(in) CONTIGUOUS__ :: array(:,:)
623 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
624 integer(IK) , intent(in) :: weisum, dim
625 character(len(array,IK),SKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
626 end function
627#endif
628
629 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630
631#if IK5_ENABLED
632 PURE module function getVerbose_D2_IK5(array, weight, weisum, dim) result(verbose)
633#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
634 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_IK5
635#endif
636 use pm_kind, only: IKG => IK5
637 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:,:)
638 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
639 integer(IK) , intent(in) :: weisum, dim
640 integer(IKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
641 end function
642#endif
643
644#if IK4_ENABLED
645 PURE module function getVerbose_D2_IK4(array, weight, weisum, dim) result(verbose)
646#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
647 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_IK4
648#endif
649 use pm_kind, only: IKG => IK4
650 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:,:)
651 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
652 integer(IK) , intent(in) :: weisum, dim
653 integer(IKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
654 end function
655#endif
656
657#if IK3_ENABLED
658 PURE module function getVerbose_D2_IK3(array, weight, weisum, dim) result(verbose)
659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
660 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_IK3
661#endif
662 use pm_kind, only: IKG => IK3
663 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:,:)
664 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
665 integer(IK) , intent(in) :: weisum, dim
666 integer(IKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
667 end function
668#endif
669
670#if IK2_ENABLED
671 PURE module function getVerbose_D2_IK2(array, weight, weisum, dim) result(verbose)
672#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
673 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_IK2
674#endif
675 use pm_kind, only: IKG => IK2
676 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:,:)
677 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
678 integer(IK) , intent(in) :: weisum, dim
679 integer(IKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
680 end function
681#endif
682
683#if IK1_ENABLED
684 PURE module function getVerbose_D2_IK1(array, weight, weisum, dim) result(verbose)
685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
686 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_IK1
687#endif
688 use pm_kind, only: IKG => IK1
689 integer(IKG) , intent(in) CONTIGUOUS__ :: array(:,:)
690 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
691 integer(IK) , intent(in) :: weisum, dim
692 integer(IKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
693 end function
694#endif
695
696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697
698#if LK5_ENABLED
699 PURE module function getVerbose_D2_LK5(array, weight, weisum, dim) result(verbose)
700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
701 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_LK5
702#endif
703 use pm_kind, only: LKG => LK5
704 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:,:)
705 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
706 integer(IK) , intent(in) :: weisum, dim
707 logical(LKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
708 end function
709#endif
710
711#if LK4_ENABLED
712 PURE module function getVerbose_D2_LK4(array, weight, weisum, dim) result(verbose)
713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
714 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_LK4
715#endif
716 use pm_kind, only: LKG => LK4
717 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:,:)
718 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
719 integer(IK) , intent(in) :: weisum, dim
720 logical(LKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
721 end function
722#endif
723
724#if LK3_ENABLED
725 PURE module function getVerbose_D2_LK3(array, weight, weisum, dim) result(verbose)
726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
727 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_LK3
728#endif
729 use pm_kind, only: LKG => LK3
730 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:,:)
731 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
732 integer(IK) , intent(in) :: weisum, dim
733 logical(LKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
734 end function
735#endif
736
737#if LK2_ENABLED
738 PURE module function getVerbose_D2_LK2(array, weight, weisum, dim) result(verbose)
739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
740 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_LK2
741#endif
742 use pm_kind, only: LKG => LK2
743 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:,:)
744 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
745 integer(IK) , intent(in) :: weisum, dim
746 logical(LKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
747 end function
748#endif
749
750#if LK1_ENABLED
751 PURE module function getVerbose_D2_LK1(array, weight, weisum, dim) result(verbose)
752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
753 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_LK1
754#endif
755 use pm_kind, only: LKG => LK1
756 logical(LKG) , intent(in) CONTIGUOUS__ :: array(:,:)
757 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
758 integer(IK) , intent(in) :: weisum, dim
759 logical(LKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
760 end function
761#endif
762
763 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
764
765#if CK5_ENABLED
766 PURE module function getVerbose_D2_CK5(array, weight, weisum, dim) result(verbose)
767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
768 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_CK5
769#endif
770 use pm_kind, only: CKG => CK5
771 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:,:)
772 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
773 integer(IK) , intent(in) :: weisum, dim
774 complex(CKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
775 end function
776#endif
777
778#if CK4_ENABLED
779 PURE module function getVerbose_D2_CK4(array, weight, weisum, dim) result(verbose)
780#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
781 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_CK4
782#endif
783 use pm_kind, only: CKG => CK4
784 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:,:)
785 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
786 integer(IK) , intent(in) :: weisum, dim
787 complex(CKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
788 end function
789#endif
790
791#if CK3_ENABLED
792 PURE module function getVerbose_D2_CK3(array, weight, weisum, dim) result(verbose)
793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
794 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_CK3
795#endif
796 use pm_kind, only: CKG => CK3
797 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:,:)
798 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
799 integer(IK) , intent(in) :: weisum, dim
800 complex(CKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
801 end function
802#endif
803
804#if CK2_ENABLED
805 PURE module function getVerbose_D2_CK2(array, weight, weisum, dim) result(verbose)
806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
807 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_CK2
808#endif
809 use pm_kind, only: CKG => CK2
810 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:,:)
811 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
812 integer(IK) , intent(in) :: weisum, dim
813 complex(CKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
814 end function
815#endif
816
817#if CK1_ENABLED
818 PURE module function getVerbose_D2_CK1(array, weight, weisum, dim) result(verbose)
819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
820 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_CK1
821#endif
822 use pm_kind, only: CKG => CK1
823 complex(CKG) , intent(in) CONTIGUOUS__ :: array(:,:)
824 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
825 integer(IK) , intent(in) :: weisum, dim
826 complex(CKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
827 end function
828#endif
829
830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
831
832#if RK5_ENABLED
833 PURE module function getVerbose_D2_RK5(array, weight, weisum, dim) result(verbose)
834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
835 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_RK5
836#endif
837 use pm_kind, only: RKG => RK5
838 real(RKG) , intent(in) CONTIGUOUS__ :: array(:,:)
839 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
840 integer(IK) , intent(in) :: weisum, dim
841 real(RKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
842 end function
843#endif
844
845#if RK4_ENABLED
846 PURE module function getVerbose_D2_RK4(array, weight, weisum, dim) result(verbose)
847#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
848 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_RK4
849#endif
850 use pm_kind, only: RKG => RK4
851 real(RKG) , intent(in) CONTIGUOUS__ :: array(:,:)
852 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
853 integer(IK) , intent(in) :: weisum, dim
854 real(RKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
855 end function
856#endif
857
858#if RK3_ENABLED
859 PURE module function getVerbose_D2_RK3(array, weight, weisum, dim) result(verbose)
860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
861 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_RK3
862#endif
863 use pm_kind, only: RKG => RK3
864 real(RKG) , intent(in) CONTIGUOUS__ :: array(:,:)
865 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
866 integer(IK) , intent(in) :: weisum, dim
867 real(RKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
868 end function
869#endif
870
871#if RK2_ENABLED
872 PURE module function getVerbose_D2_RK2(array, weight, weisum, dim) result(verbose)
873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
874 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_RK2
875#endif
876 use pm_kind, only: RKG => RK2
877 real(RKG) , intent(in) CONTIGUOUS__ :: array(:,:)
878 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
879 integer(IK) , intent(in) :: weisum, dim
880 real(RKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
881 end function
882#endif
883
884#if RK1_ENABLED
885 PURE module function getVerbose_D2_RK1(array, weight, weisum, dim) result(verbose)
886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
887 !DEC$ ATTRIBUTES DLLEXPORT :: getVerbose_D2_RK1
888#endif
889 use pm_kind, only: RKG => RK1
890 real(RKG) , intent(in) CONTIGUOUS__ :: array(:,:)
891 integer(IK) , intent(in) CONTIGUOUS__ :: weight(:)
892 integer(IK) , intent(in) :: weisum, dim
893 real(RKG) :: verbose(merge(weisum, size(array, 3 - dim, IK), dim == 1_IK), merge(weisum, size(array, 3 - dim, IK), dim == 2_IK))
894 end function
895#endif
896
897 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898
899 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
902
903 end interface getVerbose
904
905!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906
907end module pm_arrayVerbose ! LCOV_EXCL_LINE
Generate an equally-weighted (verbose or flattened) array of the input weighted array of rank 1 or 2.
This module contains procedures and generic interfaces for flattening (duplicating the elements of) a...
character(*, SK), parameter MODULE_NAME
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336