https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_str@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 25 27 92.6 %
Date: 2024-04-08 03:18:57 Functions: 16 17 94.1 %
Legend: Lines: hit not hit

          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

ParaMonte: Parallel Monte Carlo and Machine Learning Library 
The Computational Data Science Lab
© Copyright 2012 - 2024