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_str](@ref pm_str).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_str) 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 alleq_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define SK_ENABLED 1
52 :
53 : #if SK5_ENABLED
54 : module procedure alleq_SK5
55 : use pm_kind, only: SKC => SK5
56 : #include "pm_str@routines.inc.F90"
57 : end procedure
58 : #endif
59 :
60 : #if SK4_ENABLED
61 : module procedure alleq_SK4
62 : use pm_kind, only: SKC => SK4
63 : #include "pm_str@routines.inc.F90"
64 : end procedure
65 : #endif
66 :
67 : #if SK3_ENABLED
68 : module procedure alleq_SK3
69 : use pm_kind, only: SKC => SK3
70 : #include "pm_str@routines.inc.F90"
71 : end procedure
72 : #endif
73 :
74 : #if SK2_ENABLED
75 : module procedure alleq_SK2
76 : use pm_kind, only: SKC => SK2
77 : #include "pm_str@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #if SK1_ENABLED
82 14 : module procedure alleq_SK1
83 : use pm_kind, only: SKC => SK1
84 : #include "pm_str@routines.inc.F90"
85 : end procedure
86 : #endif
87 :
88 : #undef SK_ENABLED
89 :
90 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91 :
92 : #undef alleq_ENABLED
93 :
94 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95 :
96 : #define isEndedWith_ENABLED 1
97 :
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #define SK_ENABLED 1
101 :
102 : #if SK5_ENABLED
103 : module procedure isEndedWith_SK5
104 : use pm_kind, only: SKC => SK5
105 : #include "pm_str@routines.inc.F90"
106 : end procedure
107 : #endif
108 :
109 : #if SK4_ENABLED
110 : module procedure isEndedWith_SK4
111 : use pm_kind, only: SKC => SK4
112 : #include "pm_str@routines.inc.F90"
113 : end procedure
114 : #endif
115 :
116 : #if SK3_ENABLED
117 : module procedure isEndedWith_SK3
118 : use pm_kind, only: SKC => SK3
119 : #include "pm_str@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #if SK2_ENABLED
124 : module procedure isEndedWith_SK2
125 : use pm_kind, only: SKC => SK2
126 : #include "pm_str@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #if SK1_ENABLED
131 386568 : module procedure isEndedWith_SK1
132 : use pm_kind, only: SKC => SK1
133 : #include "pm_str@routines.inc.F90"
134 386568 : end procedure
135 : #endif
136 :
137 : #undef SK_ENABLED
138 :
139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 :
141 : #define PSSK_ENABLED 1
142 :
143 : #if SK5_ENABLED
144 : module procedure isEndedWith_PSSK5
145 : use pm_kind, only: SKC => SK5
146 : #include "pm_str@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if SK4_ENABLED
151 : module procedure isEndedWith_PSSK4
152 : use pm_kind, only: SKC => SK4
153 : #include "pm_str@routines.inc.F90"
154 : end procedure
155 : #endif
156 :
157 : #if SK3_ENABLED
158 : module procedure isEndedWith_PSSK3
159 : use pm_kind, only: SKC => SK3
160 : #include "pm_str@routines.inc.F90"
161 : end procedure
162 : #endif
163 :
164 : #if SK2_ENABLED
165 : module procedure isEndedWith_PSSK2
166 : use pm_kind, only: SKC => SK2
167 : #include "pm_str@routines.inc.F90"
168 : end procedure
169 : #endif
170 :
171 : #if SK1_ENABLED
172 0 : module procedure isEndedWith_PSSK1
173 : use pm_kind, only: SKC => SK1
174 : #include "pm_str@routines.inc.F90"
175 0 : end procedure
176 : #endif
177 :
178 : #undef PSSK_ENABLED
179 :
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define BSSK_ENABLED 1
183 38 : module procedure isEndedWith_BSSK
184 : use pm_kind, only: SKC => SK
185 : #include "pm_str@routines.inc.F90"
186 38 : end procedure
187 : #undef BSSK_ENABLED
188 :
189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190 :
191 : #undef isEndedWith_ENABLED
192 :
193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
194 :
195 : #define getMinLoc_ENABLED 1
196 :
197 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
198 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 :
201 : #define NoMask_ENABLED 1
202 :
203 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
204 :
205 : #define SK_ENABLED 1
206 :
207 : #if SK5_ENABLED
208 : module procedure getMinLocNoMask_SK5
209 : use pm_kind, only: SKC => SK5
210 : #include "pm_str@routines.inc.F90"
211 : end procedure
212 : #endif
213 :
214 : #if SK4_ENABLED
215 : module procedure getMinLocNoMask_SK4
216 : use pm_kind, only: SKC => SK4
217 : #include "pm_str@routines.inc.F90"
218 : end procedure
219 : #endif
220 :
221 : #if SK3_ENABLED
222 : module procedure getMinLocNoMask_SK3
223 : use pm_kind, only: SKC => SK3
224 : #include "pm_str@routines.inc.F90"
225 : end procedure
226 : #endif
227 :
228 : #if SK2_ENABLED
229 : module procedure getMinLocNoMask_SK2
230 : use pm_kind, only: SKC => SK2
231 : #include "pm_str@routines.inc.F90"
232 : end procedure
233 : #endif
234 :
235 : #if SK1_ENABLED
236 11 : module procedure getMinLocNoMask_SK1
237 : use pm_kind, only: SKC => SK1
238 : #include "pm_str@routines.inc.F90"
239 : end procedure
240 : #endif
241 :
242 : #undef SK_ENABLED
243 :
244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245 :
246 : #undef NoMask_ENABLED
247 :
248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
250 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
251 :
252 : #define Masked_ENABLED 1
253 :
254 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255 :
256 : #define SK_ENABLED 1
257 :
258 : #if SK5_ENABLED
259 : module procedure getMinLocMasked_SK5
260 : use pm_kind, only: SKC => SK5
261 : #include "pm_str@routines.inc.F90"
262 : end procedure
263 : #endif
264 :
265 : #if SK4_ENABLED
266 : module procedure getMinLocMasked_SK4
267 : use pm_kind, only: SKC => SK4
268 : #include "pm_str@routines.inc.F90"
269 : end procedure
270 : #endif
271 :
272 : #if SK3_ENABLED
273 : module procedure getMinLocMasked_SK3
274 : use pm_kind, only: SKC => SK3
275 : #include "pm_str@routines.inc.F90"
276 : end procedure
277 : #endif
278 :
279 : #if SK2_ENABLED
280 : module procedure getMinLocMasked_SK2
281 : use pm_kind, only: SKC => SK2
282 : #include "pm_str@routines.inc.F90"
283 : end procedure
284 : #endif
285 :
286 : #if SK1_ENABLED
287 3 : module procedure getMinLocMasked_SK1
288 : use pm_kind, only: SKC => SK1
289 : #include "pm_str@routines.inc.F90"
290 : end procedure
291 : #endif
292 :
293 : #undef SK_ENABLED
294 :
295 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296 :
297 : #undef Masked_ENABLED
298 :
299 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302 :
303 : #undef getMinLoc_ENABLED
304 :
305 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
306 :
307 : #define getMaxLoc_ENABLED 1
308 :
309 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 :
313 : #define NoMask_ENABLED 1
314 :
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 :
317 : #define SK_ENABLED 1
318 :
319 : #if SK5_ENABLED
320 : module procedure getMaxLocNoMask_SK5
321 : use pm_kind, only: SKC => SK5
322 : #include "pm_str@routines.inc.F90"
323 : end procedure
324 : #endif
325 :
326 : #if SK4_ENABLED
327 : module procedure getMaxLocNoMask_SK4
328 : use pm_kind, only: SKC => SK4
329 : #include "pm_str@routines.inc.F90"
330 : end procedure
331 : #endif
332 :
333 : #if SK3_ENABLED
334 : module procedure getMaxLocNoMask_SK3
335 : use pm_kind, only: SKC => SK3
336 : #include "pm_str@routines.inc.F90"
337 : end procedure
338 : #endif
339 :
340 : #if SK2_ENABLED
341 : module procedure getMaxLocNoMask_SK2
342 : use pm_kind, only: SKC => SK2
343 : #include "pm_str@routines.inc.F90"
344 : end procedure
345 : #endif
346 :
347 : #if SK1_ENABLED
348 10 : module procedure getMaxLocNoMask_SK1
349 : use pm_kind, only: SKC => SK1
350 : #include "pm_str@routines.inc.F90"
351 : end procedure
352 : #endif
353 :
354 : #undef SK_ENABLED
355 :
356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357 :
358 : #undef NoMask_ENABLED
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 :
364 : #define Masked_ENABLED 1
365 :
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 :
368 : #define SK_ENABLED 1
369 :
370 : #if SK5_ENABLED
371 : module procedure getMaxLocMasked_SK5
372 : use pm_kind, only: SKC => SK5
373 : #include "pm_str@routines.inc.F90"
374 : end procedure
375 : #endif
376 :
377 : #if SK4_ENABLED
378 : module procedure getMaxLocMasked_SK4
379 : use pm_kind, only: SKC => SK4
380 : #include "pm_str@routines.inc.F90"
381 : end procedure
382 : #endif
383 :
384 : #if SK3_ENABLED
385 : module procedure getMaxLocMasked_SK3
386 : use pm_kind, only: SKC => SK3
387 : #include "pm_str@routines.inc.F90"
388 : end procedure
389 : #endif
390 :
391 : #if SK2_ENABLED
392 : module procedure getMaxLocMasked_SK2
393 : use pm_kind, only: SKC => SK2
394 : #include "pm_str@routines.inc.F90"
395 : end procedure
396 : #endif
397 :
398 : #if SK1_ENABLED
399 3 : module procedure getMaxLocMasked_SK1
400 : use pm_kind, only: SKC => SK1
401 : #include "pm_str@routines.inc.F90"
402 : end procedure
403 : #endif
404 :
405 : #undef SK_ENABLED
406 :
407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 :
409 : #undef Masked_ENABLED
410 :
411 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414 :
415 : #undef getMaxLoc_ENABLED
416 :
417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418 :
419 : #define getMinVal_ENABLED 1
420 :
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
424 :
425 : #define NoMask_ENABLED 1
426 :
427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428 :
429 : #define SK_ENABLED 1
430 :
431 : #if SK5_ENABLED
432 : module procedure getMinValNoMask_SK5
433 : use pm_kind, only: SKC => SK5
434 : #include "pm_str@routines.inc.F90"
435 : end procedure
436 : #endif
437 :
438 : #if SK4_ENABLED
439 : module procedure getMinValNoMask_SK4
440 : use pm_kind, only: SKC => SK4
441 : #include "pm_str@routines.inc.F90"
442 : end procedure
443 : #endif
444 :
445 : #if SK3_ENABLED
446 : module procedure getMinValNoMask_SK3
447 : use pm_kind, only: SKC => SK3
448 : #include "pm_str@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if SK2_ENABLED
453 : module procedure getMinValNoMask_SK2
454 : use pm_kind, only: SKC => SK2
455 : #include "pm_str@routines.inc.F90"
456 : end procedure
457 : #endif
458 :
459 : #if SK1_ENABLED
460 6 : module procedure getMinValNoMask_SK1
461 : use pm_kind, only: SKC => SK1
462 : #include "pm_str@routines.inc.F90"
463 6 : end procedure
464 : #endif
465 :
466 : #undef SK_ENABLED
467 :
468 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
469 :
470 : #undef NoMask_ENABLED
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
475 :
476 : #define Masked_ENABLED 1
477 :
478 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
479 :
480 : #define SK_ENABLED 1
481 :
482 : #if SK5_ENABLED
483 : module procedure getMinValMasked_SK5
484 : use pm_kind, only: SKC => SK5
485 : #include "pm_str@routines.inc.F90"
486 : end procedure
487 : #endif
488 :
489 : #if SK4_ENABLED
490 : module procedure getMinValMasked_SK4
491 : use pm_kind, only: SKC => SK4
492 : #include "pm_str@routines.inc.F90"
493 : end procedure
494 : #endif
495 :
496 : #if SK3_ENABLED
497 : module procedure getMinValMasked_SK3
498 : use pm_kind, only: SKC => SK3
499 : #include "pm_str@routines.inc.F90"
500 : end procedure
501 : #endif
502 :
503 : #if SK2_ENABLED
504 : module procedure getMinValMasked_SK2
505 : use pm_kind, only: SKC => SK2
506 : #include "pm_str@routines.inc.F90"
507 : end procedure
508 : #endif
509 :
510 : #if SK1_ENABLED
511 1 : module procedure getMinValMasked_SK1
512 : use pm_kind, only: SKC => SK1
513 : #include "pm_str@routines.inc.F90"
514 1 : end procedure
515 : #endif
516 :
517 : #undef SK_ENABLED
518 :
519 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 :
521 : #undef Masked_ENABLED
522 :
523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526 :
527 : #undef getMinVal_ENABLED
528 :
529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 :
531 : #define getMaxVal_ENABLED 1
532 :
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536 :
537 : #define NoMask_ENABLED 1
538 :
539 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 :
541 : #define SK_ENABLED 1
542 :
543 : #if SK5_ENABLED
544 : module procedure getMaxValNoMask_SK5
545 : use pm_kind, only: SKC => SK5
546 : #include "pm_str@routines.inc.F90"
547 : end procedure
548 : #endif
549 :
550 : #if SK4_ENABLED
551 : module procedure getMaxValNoMask_SK4
552 : use pm_kind, only: SKC => SK4
553 : #include "pm_str@routines.inc.F90"
554 : end procedure
555 : #endif
556 :
557 : #if SK3_ENABLED
558 : module procedure getMaxValNoMask_SK3
559 : use pm_kind, only: SKC => SK3
560 : #include "pm_str@routines.inc.F90"
561 : end procedure
562 : #endif
563 :
564 : #if SK2_ENABLED
565 : module procedure getMaxValNoMask_SK2
566 : use pm_kind, only: SKC => SK2
567 : #include "pm_str@routines.inc.F90"
568 : end procedure
569 : #endif
570 :
571 : #if SK1_ENABLED
572 6 : module procedure getMaxValNoMask_SK1
573 : use pm_kind, only: SKC => SK1
574 : #include "pm_str@routines.inc.F90"
575 6 : end procedure
576 : #endif
577 :
578 : #undef SK_ENABLED
579 :
580 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581 :
582 : #undef NoMask_ENABLED
583 :
584 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
586 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
587 :
588 : #define Masked_ENABLED 1
589 :
590 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
591 :
592 : #define SK_ENABLED 1
593 :
594 : #if SK5_ENABLED
595 : module procedure getMaxValMasked_SK5
596 : use pm_kind, only: SKC => SK5
597 : #include "pm_str@routines.inc.F90"
598 : end procedure
599 : #endif
600 :
601 : #if SK4_ENABLED
602 : module procedure getMaxValMasked_SK4
603 : use pm_kind, only: SKC => SK4
604 : #include "pm_str@routines.inc.F90"
605 : end procedure
606 : #endif
607 :
608 : #if SK3_ENABLED
609 : module procedure getMaxValMasked_SK3
610 : use pm_kind, only: SKC => SK3
611 : #include "pm_str@routines.inc.F90"
612 : end procedure
613 : #endif
614 :
615 : #if SK2_ENABLED
616 : module procedure getMaxValMasked_SK2
617 : use pm_kind, only: SKC => SK2
618 : #include "pm_str@routines.inc.F90"
619 : end procedure
620 : #endif
621 :
622 : #if SK1_ENABLED
623 1 : module procedure getMaxValMasked_SK1
624 : use pm_kind, only: SKC => SK1
625 : #include "pm_str@routines.inc.F90"
626 1 : end procedure
627 : #endif
628 :
629 : #undef SK_ENABLED
630 :
631 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632 :
633 : #undef Masked_ENABLED
634 :
635 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
636 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
637 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
638 :
639 : #undef getMaxVal_ENABLED
640 :
641 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
642 :
643 : #define getCharSeq_ENABLED 1
644 :
645 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
646 :
647 : #define SK_ENABLED 1
648 :
649 : #if SK5_ENABLED
650 : module procedure getCharSeq_SK5
651 : use pm_kind, only: SKC => SK5
652 : #include "pm_str@routines.inc.F90"
653 : end procedure
654 : #endif
655 :
656 : #if SK4_ENABLED
657 : module procedure getCharSeq_SK4
658 : use pm_kind, only: SKC => SK4
659 : #include "pm_str@routines.inc.F90"
660 : end procedure
661 : #endif
662 :
663 : #if SK3_ENABLED
664 : module procedure getCharSeq_SK3
665 : use pm_kind, only: SKC => SK3
666 : #include "pm_str@routines.inc.F90"
667 : end procedure
668 : #endif
669 :
670 : #if SK2_ENABLED
671 : module procedure getCharSeq_SK2
672 : use pm_kind, only: SKC => SK2
673 : #include "pm_str@routines.inc.F90"
674 : end procedure
675 : #endif
676 :
677 : #if SK1_ENABLED
678 2 : module procedure getCharSeq_SK1
679 : use pm_kind, only: SKC => SK1
680 : #include "pm_str@routines.inc.F90"
681 2 : end procedure
682 : #endif
683 :
684 : #undef SK_ENABLED
685 :
686 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
687 :
688 : #undef getCharSeq_ENABLED
689 :
690 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691 :
692 : #define getCharVec_ENABLED 1
693 :
694 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
695 :
696 : #define SK_ENABLED 1
697 :
698 : #if SK5_ENABLED
699 : module procedure getCharVec_SK5
700 : use pm_kind, only: SKC => SK5
701 : #include "pm_str@routines.inc.F90"
702 : end procedure
703 : #endif
704 :
705 : #if SK4_ENABLED
706 : module procedure getCharVec_SK4
707 : use pm_kind, only: SKC => SK4
708 : #include "pm_str@routines.inc.F90"
709 : end procedure
710 : #endif
711 :
712 : #if SK3_ENABLED
713 : module procedure getCharVec_SK3
714 : use pm_kind, only: SKC => SK3
715 : #include "pm_str@routines.inc.F90"
716 : end procedure
717 : #endif
718 :
719 : #if SK2_ENABLED
720 : module procedure getCharVec_SK2
721 : use pm_kind, only: SKC => SK2
722 : #include "pm_str@routines.inc.F90"
723 : end procedure
724 : #endif
725 :
726 : #if SK1_ENABLED
727 463 : module procedure getCharVec_SK1
728 : use pm_kind, only: SKC => SK1
729 : #include "pm_str@routines.inc.F90"
730 463 : end procedure
731 : #endif
732 :
733 : #undef SK_ENABLED
734 :
735 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
736 :
737 : #undef getCharVec_ENABLED
738 :
739 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
740 :
741 : #define getTrimmedTZ_ENABLED 1
742 :
743 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
744 :
745 : #define SK_ENABLED 1
746 :
747 : #if SK5_ENABLED
748 : module procedure getTrimmedTZ_SK5
749 : use pm_kind, only: SKC => SK5
750 : #include "pm_str@routines.inc.F90"
751 : end procedure
752 : #endif
753 :
754 : #if SK4_ENABLED
755 : module procedure getTrimmedTZ_SK4
756 : use pm_kind, only: SKC => SK4
757 : #include "pm_str@routines.inc.F90"
758 : end procedure
759 : #endif
760 :
761 : #if SK3_ENABLED
762 : module procedure getTrimmedTZ_SK3
763 : use pm_kind, only: SKC => SK3
764 : #include "pm_str@routines.inc.F90"
765 : end procedure
766 : #endif
767 :
768 : #if SK2_ENABLED
769 : module procedure getTrimmedTZ_SK2
770 : use pm_kind, only: SKC => SK2
771 : #include "pm_str@routines.inc.F90"
772 : end procedure
773 : #endif
774 :
775 : #if SK1_ENABLED
776 386 : module procedure getTrimmedTZ_SK1
777 : use pm_kind, only: SKC => SK1
778 : #include "pm_str@routines.inc.F90"
779 386 : end procedure
780 : #endif
781 :
782 : #undef SK_ENABLED
783 :
784 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
785 :
786 : #undef getTrimmedTZ_ENABLED
787 :
788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
789 :
790 : #define getStrWrapped_ENABLED 1
791 :
792 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
793 :
794 : #define SK_ENABLED 1
795 :
796 : #if SK5_ENABLED
797 : module procedure getStrWrapped_SK5
798 : use pm_kind, only: SKC => SK5
799 : #include "pm_str@routines.inc.F90"
800 : end procedure
801 : #endif
802 :
803 : #if SK4_ENABLED
804 : module procedure getStrWrapped_SK4
805 : use pm_kind, only: SKC => SK4
806 : #include "pm_str@routines.inc.F90"
807 : end procedure
808 : #endif
809 :
810 : #if SK3_ENABLED
811 : module procedure getStrWrapped_SK3
812 : use pm_kind, only: SKC => SK3
813 : #include "pm_str@routines.inc.F90"
814 : end procedure
815 : #endif
816 :
817 : #if SK2_ENABLED
818 : module procedure getStrWrapped_SK2
819 : use pm_kind, only: SKC => SK2
820 : #include "pm_str@routines.inc.F90"
821 : end procedure
822 : #endif
823 :
824 : #if SK1_ENABLED
825 1604 : module procedure getStrWrapped_SK1
826 : use pm_kind, only: SKC => SK1
827 : #include "pm_str@routines.inc.F90"
828 : end procedure
829 : #endif
830 :
831 : #undef SK_ENABLED
832 :
833 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
834 :
835 : #undef getStrWrapped_ENABLED
836 :
837 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
838 :
839 : #define getLenIndent_ENABLED 1
840 :
841 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
842 :
843 : #define SK_ENABLED 1
844 :
845 : #if SK5_ENABLED
846 : module procedure getLenIndent_SK5
847 : use pm_kind, only: SKC => SK5
848 : #include "pm_str@routines.inc.F90"
849 : end procedure
850 : #endif
851 :
852 : #if SK4_ENABLED
853 : module procedure getLenIndent_SK4
854 : use pm_kind, only: SKC => SK4
855 : #include "pm_str@routines.inc.F90"
856 : end procedure
857 : #endif
858 :
859 : #if SK3_ENABLED
860 : module procedure getLenIndent_SK3
861 : use pm_kind, only: SKC => SK3
862 : #include "pm_str@routines.inc.F90"
863 : end procedure
864 : #endif
865 :
866 : #if SK2_ENABLED
867 : module procedure getLenIndent_SK2
868 : use pm_kind, only: SKC => SK2
869 : #include "pm_str@routines.inc.F90"
870 : end procedure
871 : #endif
872 :
873 : #if SK1_ENABLED
874 4092 : module procedure getLenIndent_SK1
875 : use pm_kind, only: SKC => SK1
876 : #include "pm_str@routines.inc.F90"
877 : end procedure
878 : #endif
879 :
880 : #undef SK_ENABLED
881 :
882 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883 :
884 : #undef getLenIndent_ENABLED
885 :
886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
887 :
888 : !#define setStrWrapped_ENABLED 1
889 : !
890 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
891 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
893 : !#if 0
894 : !#define List_ENABLED 1
895 : !
896 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
897 : !
898 : !#define SK_ENABLED 1
899 : !
900 : !#if SK5_ENABLED
901 : ! module procedure getStrWrappedList_SK5
902 : ! use pm_kind, only: SKC => SK5
903 : !#include "pm_str@routines.inc.F90"
904 : ! end procedure
905 : !#endif
906 : !
907 : !#if SK4_ENABLED
908 : ! module procedure getStrWrappedList_SK4
909 : ! use pm_kind, only: SKC => SK4
910 : !#include "pm_str@routines.inc.F90"
911 : ! end procedure
912 : !#endif
913 : !
914 : !#if SK3_ENABLED
915 : ! module procedure getStrWrappedList_SK3
916 : ! use pm_kind, only: SKC => SK3
917 : !#include "pm_str@routines.inc.F90"
918 : ! end procedure
919 : !#endif
920 : !
921 : !#if SK2_ENABLED
922 : ! module procedure getStrWrappedList_SK2
923 : ! use pm_kind, only: SKC => SK2
924 : !#include "pm_str@routines.inc.F90"
925 : ! end procedure
926 : !#endif
927 : !
928 : !#if SK1_ENABLED
929 : ! module procedure getStrWrappedList_SK1
930 : ! use pm_kind, only: SKC => SK1
931 : !#include "pm_str@routines.inc.F90"
932 : ! end procedure
933 : !#endif
934 : !
935 : !#undef SK_ENABLED
936 : !
937 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
938 : !
939 : !#undef List_ENABLED
940 : !#endif
941 : !
942 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
943 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
944 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
945 : !
946 : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
947 :
948 : end submodule routines
|