https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_mathMinMax@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 50 152 32.9 %
Date: 2024-04-08 03:18:57 Functions: 25 76 32.9 %
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_mathMinMax](@ref pm_mathMinMax).
      19             : !>
      20             : !>  \author
      21             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      22             : 
      23             : submodule (pm_mathMinMax) routines ! LCOV_EXCL_LINE
      24             : 
      25             :     implicit none
      26             : 
      27             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      28             : 
      29             : contains
      30             : 
      31             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      32             : 
      33             : #define getMinMax_ENABLED 1
      34             : 
      35             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      36             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      37             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      38             : 
      39             : #define Indi_ENABLED 1
      40             : 
      41             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : #define SK_ENABLED 1
      44             : 
      45             : #if SK5_ENABLED
      46             :     module procedure getMinMaxIndi_SK5
      47             :         use pm_kind, only: SKC => SK5
      48             : #include "pm_mathMinMax@routines.inc.F90"
      49             :     end procedure
      50             : #endif
      51             : 
      52             : #if SK4_ENABLED
      53             :     module procedure getMinMaxIndi_SK4
      54             :         use pm_kind, only: SKC => SK4
      55             : #include "pm_mathMinMax@routines.inc.F90"
      56             :     end procedure
      57             : #endif
      58             : 
      59             : #if SK3_ENABLED
      60             :     module procedure getMinMaxIndi_SK3
      61             :         use pm_kind, only: SKC => SK3
      62             : #include "pm_mathMinMax@routines.inc.F90"
      63             :     end procedure
      64             : #endif
      65             : 
      66             : #if SK2_ENABLED
      67             :     module procedure getMinMaxIndi_SK2
      68             :         use pm_kind, only: SKC => SK2
      69             : #include "pm_mathMinMax@routines.inc.F90"
      70             :     end procedure
      71             : #endif
      72             : 
      73             : #if SK1_ENABLED
      74           1 :     module procedure getMinMaxIndi_SK1
      75             :         use pm_kind, only: SKC => SK1
      76             : #include "pm_mathMinMax@routines.inc.F90"
      77           1 :     end procedure
      78             : #endif
      79             : 
      80             : #undef SK_ENABLED
      81             : 
      82             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      83             : 
      84             : #define IK_ENABLED 1
      85             : 
      86             : #if IK5_ENABLED
      87           0 :     module procedure getMinMaxIndi_IK5
      88             :         use pm_kind, only: IKC => IK5
      89             : #include "pm_mathMinMax@routines.inc.F90"
      90           0 :     end procedure
      91             : #endif
      92             : 
      93             : #if IK4_ENABLED
      94           0 :     module procedure getMinMaxIndi_IK4
      95             :         use pm_kind, only: IKC => IK4
      96             : #include "pm_mathMinMax@routines.inc.F90"
      97           0 :     end procedure
      98             : #endif
      99             : 
     100             : #if IK3_ENABLED
     101           1 :     module procedure getMinMaxIndi_IK3
     102             :         use pm_kind, only: IKC => IK3
     103             : #include "pm_mathMinMax@routines.inc.F90"
     104           1 :     end procedure
     105             : #endif
     106             : 
     107             : #if IK2_ENABLED
     108           0 :     module procedure getMinMaxIndi_IK2
     109             :         use pm_kind, only: IKC => IK2
     110             : #include "pm_mathMinMax@routines.inc.F90"
     111           0 :     end procedure
     112             : #endif
     113             : 
     114             : #if IK1_ENABLED
     115           0 :     module procedure getMinMaxIndi_IK1
     116             :         use pm_kind, only: IKC => IK1
     117             : #include "pm_mathMinMax@routines.inc.F90"
     118           0 :     end procedure
     119             : #endif
     120             : 
     121             : #undef IK_ENABLED
     122             : 
     123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     124             : 
     125             : #define LK_ENABLED 1
     126             : 
     127             : #if LK5_ENABLED
     128           0 :     module procedure getMinMaxIndi_LK5
     129             :         use pm_kind, only: LKC => LK5
     130             : #include "pm_mathMinMax@routines.inc.F90"
     131           0 :     end procedure
     132             : #endif
     133             : 
     134             : #if LK4_ENABLED
     135           0 :     module procedure getMinMaxIndi_LK4
     136             :         use pm_kind, only: LKC => LK4
     137             : #include "pm_mathMinMax@routines.inc.F90"
     138           0 :     end procedure
     139             : #endif
     140             : 
     141             : #if LK3_ENABLED
     142           1 :     module procedure getMinMaxIndi_LK3
     143             :         use pm_kind, only: LKC => LK3
     144             : #include "pm_mathMinMax@routines.inc.F90"
     145           1 :     end procedure
     146             : #endif
     147             : 
     148             : #if LK2_ENABLED
     149           0 :     module procedure getMinMaxIndi_LK2
     150             :         use pm_kind, only: LKC => LK2
     151             : #include "pm_mathMinMax@routines.inc.F90"
     152           0 :     end procedure
     153             : #endif
     154             : 
     155             : #if LK1_ENABLED
     156           0 :     module procedure getMinMaxIndi_LK1
     157             :         use pm_kind, only: LKC => LK1
     158             : #include "pm_mathMinMax@routines.inc.F90"
     159           0 :     end procedure
     160             : #endif
     161             : 
     162             : #undef LK_ENABLED
     163             : 
     164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     165             : 
     166             : #define CK_ENABLED 1
     167             : 
     168             : #if CK5_ENABLED
     169             :     module procedure getMinMaxIndi_CK5
     170             :         use pm_kind, only: CKC => CK5
     171             : #include "pm_mathMinMax@routines.inc.F90"
     172             :     end procedure
     173             : #endif
     174             : 
     175             : #if CK4_ENABLED
     176           0 :     module procedure getMinMaxIndi_CK4
     177             :         use pm_kind, only: CKC => CK4
     178             : #include "pm_mathMinMax@routines.inc.F90"
     179           0 :     end procedure
     180             : #endif
     181             : 
     182             : #if CK3_ENABLED
     183           0 :     module procedure getMinMaxIndi_CK3
     184             :         use pm_kind, only: CKC => CK3
     185             : #include "pm_mathMinMax@routines.inc.F90"
     186           0 :     end procedure
     187             : #endif
     188             : 
     189             : #if CK2_ENABLED
     190           1 :     module procedure getMinMaxIndi_CK2
     191             :         use pm_kind, only: CKC => CK2
     192             : #include "pm_mathMinMax@routines.inc.F90"
     193           1 :     end procedure
     194             : #endif
     195             : 
     196             : #if CK1_ENABLED
     197           0 :     module procedure getMinMaxIndi_CK1
     198             :         use pm_kind, only: CKC => CK1
     199             : #include "pm_mathMinMax@routines.inc.F90"
     200           0 :     end procedure
     201             : #endif
     202             : 
     203             : #undef CK_ENABLED
     204             : 
     205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     206             : 
     207             : #define RK_ENABLED 1
     208             : 
     209             : #if RK5_ENABLED
     210             :     module procedure getMinMaxIndi_RK5
     211             :         use pm_kind, only: RKC => RK5
     212             : #include "pm_mathMinMax@routines.inc.F90"
     213             :     end procedure
     214             : #endif
     215             : 
     216             : #if RK4_ENABLED
     217        5000 :     module procedure getMinMaxIndi_RK4
     218             :         use pm_kind, only: RKC => RK4
     219             : #include "pm_mathMinMax@routines.inc.F90"
     220        5000 :     end procedure
     221             : #endif
     222             : 
     223             : #if RK3_ENABLED
     224        5000 :     module procedure getMinMaxIndi_RK3
     225             :         use pm_kind, only: RKC => RK3
     226             : #include "pm_mathMinMax@routines.inc.F90"
     227        5000 :     end procedure
     228             : #endif
     229             : 
     230             : #if RK2_ENABLED
     231        5001 :     module procedure getMinMaxIndi_RK2
     232             :         use pm_kind, only: RKC => RK2
     233             : #include "pm_mathMinMax@routines.inc.F90"
     234        5001 :     end procedure
     235             : #endif
     236             : 
     237             : #if RK1_ENABLED
     238       33024 :     module procedure getMinMaxIndi_RK1
     239             :         use pm_kind, only: RKC => RK1
     240             : #include "pm_mathMinMax@routines.inc.F90"
     241       33024 :     end procedure
     242             : #endif
     243             : 
     244             : #undef RK_ENABLED
     245             : 
     246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     247             : 
     248             : #undef Indi_ENABLED
     249             : 
     250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     253             : 
     254             : #define Pair_ENABLED 1
     255             : 
     256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     257             : 
     258             : #define SK_ENABLED 1
     259             : 
     260             : #if SK5_ENABLED
     261             :     module procedure getMinMaxPair_SK5
     262             :         use pm_kind, only: SKC => SK5
     263             : #include "pm_mathMinMax@routines.inc.F90"
     264             :     end procedure
     265             : #endif
     266             : 
     267             : #if SK4_ENABLED
     268             :     module procedure getMinMaxPair_SK4
     269             :         use pm_kind, only: SKC => SK4
     270             : #include "pm_mathMinMax@routines.inc.F90"
     271             :     end procedure
     272             : #endif
     273             : 
     274             : #if SK3_ENABLED
     275             :     module procedure getMinMaxPair_SK3
     276             :         use pm_kind, only: SKC => SK3
     277             : #include "pm_mathMinMax@routines.inc.F90"
     278             :     end procedure
     279             : #endif
     280             : 
     281             : #if SK2_ENABLED
     282             :     module procedure getMinMaxPair_SK2
     283             :         use pm_kind, only: SKC => SK2
     284             : #include "pm_mathMinMax@routines.inc.F90"
     285             :     end procedure
     286             : #endif
     287             : 
     288             : #if SK1_ENABLED
     289           1 :     module procedure getMinMaxPair_SK1
     290             :         use pm_kind, only: SKC => SK1
     291             : #include "pm_mathMinMax@routines.inc.F90"
     292           1 :     end procedure
     293             : #endif
     294             : 
     295             : #undef SK_ENABLED
     296             : 
     297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     298             : 
     299             : #define IK_ENABLED 1
     300             : 
     301             : #if IK5_ENABLED
     302           0 :     module procedure getMinMaxPair_IK5
     303             :         use pm_kind, only: IKC => IK5
     304             : #include "pm_mathMinMax@routines.inc.F90"
     305           0 :     end procedure
     306             : #endif
     307             : 
     308             : #if IK4_ENABLED
     309           0 :     module procedure getMinMaxPair_IK4
     310             :         use pm_kind, only: IKC => IK4
     311             : #include "pm_mathMinMax@routines.inc.F90"
     312           0 :     end procedure
     313             : #endif
     314             : 
     315             : #if IK3_ENABLED
     316           1 :     module procedure getMinMaxPair_IK3
     317             :         use pm_kind, only: IKC => IK3
     318             : #include "pm_mathMinMax@routines.inc.F90"
     319           1 :     end procedure
     320             : #endif
     321             : 
     322             : #if IK2_ENABLED
     323           0 :     module procedure getMinMaxPair_IK2
     324             :         use pm_kind, only: IKC => IK2
     325             : #include "pm_mathMinMax@routines.inc.F90"
     326           0 :     end procedure
     327             : #endif
     328             : 
     329             : #if IK1_ENABLED
     330           0 :     module procedure getMinMaxPair_IK1
     331             :         use pm_kind, only: IKC => IK1
     332             : #include "pm_mathMinMax@routines.inc.F90"
     333           0 :     end procedure
     334             : #endif
     335             : 
     336             : #undef IK_ENABLED
     337             : 
     338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     339             : 
     340             : #define LK_ENABLED 1
     341             : 
     342             : #if LK5_ENABLED
     343           0 :     module procedure getMinMaxPair_LK5
     344             :         use pm_kind, only: LKC => LK5
     345             : #include "pm_mathMinMax@routines.inc.F90"
     346           0 :     end procedure
     347             : #endif
     348             : 
     349             : #if LK4_ENABLED
     350           0 :     module procedure getMinMaxPair_LK4
     351             :         use pm_kind, only: LKC => LK4
     352             : #include "pm_mathMinMax@routines.inc.F90"
     353           0 :     end procedure
     354             : #endif
     355             : 
     356             : #if LK3_ENABLED
     357           1 :     module procedure getMinMaxPair_LK3
     358             :         use pm_kind, only: LKC => LK3
     359             : #include "pm_mathMinMax@routines.inc.F90"
     360           1 :     end procedure
     361             : #endif
     362             : 
     363             : #if LK2_ENABLED
     364           0 :     module procedure getMinMaxPair_LK2
     365             :         use pm_kind, only: LKC => LK2
     366             : #include "pm_mathMinMax@routines.inc.F90"
     367           0 :     end procedure
     368             : #endif
     369             : 
     370             : #if LK1_ENABLED
     371           0 :     module procedure getMinMaxPair_LK1
     372             :         use pm_kind, only: LKC => LK1
     373             : #include "pm_mathMinMax@routines.inc.F90"
     374           0 :     end procedure
     375             : #endif
     376             : 
     377             : #undef LK_ENABLED
     378             : 
     379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     380             : 
     381             : #define CK_ENABLED 1
     382             : 
     383             : #if CK5_ENABLED
     384             :     module procedure getMinMaxPair_CK5
     385             :         use pm_kind, only: CKC => CK5
     386             : #include "pm_mathMinMax@routines.inc.F90"
     387             :     end procedure
     388             : #endif
     389             : 
     390             : #if CK4_ENABLED
     391           0 :     module procedure getMinMaxPair_CK4
     392             :         use pm_kind, only: CKC => CK4
     393             : #include "pm_mathMinMax@routines.inc.F90"
     394           0 :     end procedure
     395             : #endif
     396             : 
     397             : #if CK3_ENABLED
     398           0 :     module procedure getMinMaxPair_CK3
     399             :         use pm_kind, only: CKC => CK3
     400             : #include "pm_mathMinMax@routines.inc.F90"
     401           0 :     end procedure
     402             : #endif
     403             : 
     404             : #if CK2_ENABLED
     405           1 :     module procedure getMinMaxPair_CK2
     406             :         use pm_kind, only: CKC => CK2
     407             : #include "pm_mathMinMax@routines.inc.F90"
     408           1 :     end procedure
     409             : #endif
     410             : 
     411             : #if CK1_ENABLED
     412           0 :     module procedure getMinMaxPair_CK1
     413             :         use pm_kind, only: CKC => CK1
     414             : #include "pm_mathMinMax@routines.inc.F90"
     415           0 :     end procedure
     416             : #endif
     417             : 
     418             : #undef CK_ENABLED
     419             : 
     420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     421             : 
     422             : #define RK_ENABLED 1
     423             : 
     424             : #if RK5_ENABLED
     425             :     module procedure getMinMaxPair_RK5
     426             :         use pm_kind, only: RKC => RK5
     427             : #include "pm_mathMinMax@routines.inc.F90"
     428             :     end procedure
     429             : #endif
     430             : 
     431             : #if RK4_ENABLED
     432           0 :     module procedure getMinMaxPair_RK4
     433             :         use pm_kind, only: RKC => RK4
     434             : #include "pm_mathMinMax@routines.inc.F90"
     435           0 :     end procedure
     436             : #endif
     437             : 
     438             : #if RK3_ENABLED
     439           0 :     module procedure getMinMaxPair_RK3
     440             :         use pm_kind, only: RKC => RK3
     441             : #include "pm_mathMinMax@routines.inc.F90"
     442           0 :     end procedure
     443             : #endif
     444             : 
     445             : #if RK2_ENABLED
     446           1 :     module procedure getMinMaxPair_RK2
     447             :         use pm_kind, only: RKC => RK2
     448             : #include "pm_mathMinMax@routines.inc.F90"
     449           1 :     end procedure
     450             : #endif
     451             : 
     452             : #if RK1_ENABLED
     453           2 :     module procedure getMinMaxPair_RK1
     454             :         use pm_kind, only: RKC => RK1
     455             : #include "pm_mathMinMax@routines.inc.F90"
     456           2 :     end procedure
     457             : #endif
     458             : 
     459             : #undef RK_ENABLED
     460             : 
     461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     462             : 
     463             : #undef Pair_ENABLED
     464             : 
     465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             : 
     469             : #undef getMinMax_ENABLED
     470             : 
     471             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     472             : 
     473             : #define setMinMax_ENABLED 1
     474             : 
     475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     476             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     477             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     478             : 
     479             : #define Indi_ENABLED 1
     480             : 
     481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     482             : 
     483             : #define SK_ENABLED 1
     484             : 
     485             : #if SK5_ENABLED
     486             :     module procedure setMinMaxIndi_SK5
     487             :         use pm_kind, only: SKC => SK5
     488             : #include "pm_mathMinMax@routines.inc.F90"
     489             :     end procedure
     490             : #endif
     491             : 
     492             : #if SK4_ENABLED
     493             :     module procedure setMinMaxIndi_SK4
     494             :         use pm_kind, only: SKC => SK4
     495             : #include "pm_mathMinMax@routines.inc.F90"
     496             :     end procedure
     497             : #endif
     498             : 
     499             : #if SK3_ENABLED
     500             :     module procedure setMinMaxIndi_SK3
     501             :         use pm_kind, only: SKC => SK3
     502             : #include "pm_mathMinMax@routines.inc.F90"
     503             :     end procedure
     504             : #endif
     505             : 
     506             : #if SK2_ENABLED
     507             :     module procedure setMinMaxIndi_SK2
     508             :         use pm_kind, only: SKC => SK2
     509             : #include "pm_mathMinMax@routines.inc.F90"
     510             :     end procedure
     511             : #endif
     512             : 
     513             : #if SK1_ENABLED
     514           1 :     module procedure setMinMaxIndi_SK1
     515             :         use pm_kind, only: SKC => SK1
     516             : #include "pm_mathMinMax@routines.inc.F90"
     517           1 :     end procedure
     518             : #endif
     519             : 
     520             : #undef SK_ENABLED
     521             : 
     522             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     523             : 
     524             : #define IK_ENABLED 1
     525             : 
     526             : #if IK5_ENABLED
     527           0 :     module procedure setMinMaxIndi_IK5
     528             :         use pm_kind, only: IKC => IK5
     529             : #include "pm_mathMinMax@routines.inc.F90"
     530           0 :     end procedure
     531             : #endif
     532             : 
     533             : #if IK4_ENABLED
     534           0 :     module procedure setMinMaxIndi_IK4
     535             :         use pm_kind, only: IKC => IK4
     536             : #include "pm_mathMinMax@routines.inc.F90"
     537           0 :     end procedure
     538             : #endif
     539             : 
     540             : #if IK3_ENABLED
     541           5 :     module procedure setMinMaxIndi_IK3
     542             :         use pm_kind, only: IKC => IK3
     543             : #include "pm_mathMinMax@routines.inc.F90"
     544           5 :     end procedure
     545             : #endif
     546             : 
     547             : #if IK2_ENABLED
     548           0 :     module procedure setMinMaxIndi_IK2
     549             :         use pm_kind, only: IKC => IK2
     550             : #include "pm_mathMinMax@routines.inc.F90"
     551           0 :     end procedure
     552             : #endif
     553             : 
     554             : #if IK1_ENABLED
     555           0 :     module procedure setMinMaxIndi_IK1
     556             :         use pm_kind, only: IKC => IK1
     557             : #include "pm_mathMinMax@routines.inc.F90"
     558           0 :     end procedure
     559             : #endif
     560             : 
     561             : #undef IK_ENABLED
     562             : 
     563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     564             : 
     565             : #define LK_ENABLED 1
     566             : 
     567             : #if LK5_ENABLED
     568           0 :     module procedure setMinMaxIndi_LK5
     569             :         use pm_kind, only: LKC => LK5
     570             : #include "pm_mathMinMax@routines.inc.F90"
     571           0 :     end procedure
     572             : #endif
     573             : 
     574             : #if LK4_ENABLED
     575           0 :     module procedure setMinMaxIndi_LK4
     576             :         use pm_kind, only: LKC => LK4
     577             : #include "pm_mathMinMax@routines.inc.F90"
     578           0 :     end procedure
     579             : #endif
     580             : 
     581             : #if LK3_ENABLED
     582           1 :     module procedure setMinMaxIndi_LK3
     583             :         use pm_kind, only: LKC => LK3
     584             : #include "pm_mathMinMax@routines.inc.F90"
     585           1 :     end procedure
     586             : #endif
     587             : 
     588             : #if LK2_ENABLED
     589           0 :     module procedure setMinMaxIndi_LK2
     590             :         use pm_kind, only: LKC => LK2
     591             : #include "pm_mathMinMax@routines.inc.F90"
     592           0 :     end procedure
     593             : #endif
     594             : 
     595             : #if LK1_ENABLED
     596           0 :     module procedure setMinMaxIndi_LK1
     597             :         use pm_kind, only: LKC => LK1
     598             : #include "pm_mathMinMax@routines.inc.F90"
     599           0 :     end procedure
     600             : #endif
     601             : 
     602             : #undef LK_ENABLED
     603             : 
     604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             : 
     606             : #define CK_ENABLED 1
     607             : 
     608             : #if CK5_ENABLED
     609             :     module procedure setMinMaxIndi_CK5
     610             :         use pm_kind, only: CKC => CK5
     611             : #include "pm_mathMinMax@routines.inc.F90"
     612             :     end procedure
     613             : #endif
     614             : 
     615             : #if CK4_ENABLED
     616           0 :     module procedure setMinMaxIndi_CK4
     617             :         use pm_kind, only: CKC => CK4
     618             : #include "pm_mathMinMax@routines.inc.F90"
     619           0 :     end procedure
     620             : #endif
     621             : 
     622             : #if CK3_ENABLED
     623           0 :     module procedure setMinMaxIndi_CK3
     624             :         use pm_kind, only: CKC => CK3
     625             : #include "pm_mathMinMax@routines.inc.F90"
     626           0 :     end procedure
     627             : #endif
     628             : 
     629             : #if CK2_ENABLED
     630           1 :     module procedure setMinMaxIndi_CK2
     631             :         use pm_kind, only: CKC => CK2
     632             : #include "pm_mathMinMax@routines.inc.F90"
     633           1 :     end procedure
     634             : #endif
     635             : 
     636             : #if CK1_ENABLED
     637           0 :     module procedure setMinMaxIndi_CK1
     638             :         use pm_kind, only: CKC => CK1
     639             : #include "pm_mathMinMax@routines.inc.F90"
     640           0 :     end procedure
     641             : #endif
     642             : 
     643             : #undef CK_ENABLED
     644             : 
     645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     646             : 
     647             : #define RK_ENABLED 1
     648             : 
     649             : #if RK5_ENABLED
     650             :     module procedure setMinMaxIndi_RK5
     651             :         use pm_kind, only: RKC => RK5
     652             : #include "pm_mathMinMax@routines.inc.F90"
     653             :     end procedure
     654             : #endif
     655             : 
     656             : #if RK4_ENABLED
     657           0 :     module procedure setMinMaxIndi_RK4
     658             :         use pm_kind, only: RKC => RK4
     659             : #include "pm_mathMinMax@routines.inc.F90"
     660           0 :     end procedure
     661             : #endif
     662             : 
     663             : #if RK3_ENABLED
     664           0 :     module procedure setMinMaxIndi_RK3
     665             :         use pm_kind, only: RKC => RK3
     666             : #include "pm_mathMinMax@routines.inc.F90"
     667           0 :     end procedure
     668             : #endif
     669             : 
     670             : #if RK2_ENABLED
     671           1 :     module procedure setMinMaxIndi_RK2
     672             :         use pm_kind, only: RKC => RK2
     673             : #include "pm_mathMinMax@routines.inc.F90"
     674           1 :     end procedure
     675             : #endif
     676             : 
     677             : #if RK1_ENABLED
     678           0 :     module procedure setMinMaxIndi_RK1
     679             :         use pm_kind, only: RKC => RK1
     680             : #include "pm_mathMinMax@routines.inc.F90"
     681           0 :     end procedure
     682             : #endif
     683             : 
     684             : #undef RK_ENABLED
     685             : 
     686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     687             : 
     688             : #undef Indi_ENABLED
     689             : 
     690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     692             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     693             : 
     694             : #define Pair_ENABLED 1
     695             : 
     696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     697             : 
     698             : #define SK_ENABLED 1
     699             : 
     700             : #if SK5_ENABLED
     701             :     module procedure setMinMaxPair_SK5
     702             :         use pm_kind, only: SKC => SK5
     703             : #include "pm_mathMinMax@routines.inc.F90"
     704             :     end procedure
     705             : #endif
     706             : 
     707             : #if SK4_ENABLED
     708             :     module procedure setMinMaxPair_SK4
     709             :         use pm_kind, only: SKC => SK4
     710             : #include "pm_mathMinMax@routines.inc.F90"
     711             :     end procedure
     712             : #endif
     713             : 
     714             : #if SK3_ENABLED
     715             :     module procedure setMinMaxPair_SK3
     716             :         use pm_kind, only: SKC => SK3
     717             : #include "pm_mathMinMax@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #if SK2_ENABLED
     722             :     module procedure setMinMaxPair_SK2
     723             :         use pm_kind, only: SKC => SK2
     724             : #include "pm_mathMinMax@routines.inc.F90"
     725             :     end procedure
     726             : #endif
     727             : 
     728             : #if SK1_ENABLED
     729           1 :     module procedure setMinMaxPair_SK1
     730             :         use pm_kind, only: SKC => SK1
     731             : #include "pm_mathMinMax@routines.inc.F90"
     732           1 :     end procedure
     733             : #endif
     734             : 
     735             : #undef SK_ENABLED
     736             : 
     737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     738             : 
     739             : #define IK_ENABLED 1
     740             : 
     741             : #if IK5_ENABLED
     742           0 :     module procedure setMinMaxPair_IK5
     743             :         use pm_kind, only: IKC => IK5
     744             : #include "pm_mathMinMax@routines.inc.F90"
     745           0 :     end procedure
     746             : #endif
     747             : 
     748             : #if IK4_ENABLED
     749           0 :     module procedure setMinMaxPair_IK4
     750             :         use pm_kind, only: IKC => IK4
     751             : #include "pm_mathMinMax@routines.inc.F90"
     752           0 :     end procedure
     753             : #endif
     754             : 
     755             : #if IK3_ENABLED
     756           1 :     module procedure setMinMaxPair_IK3
     757             :         use pm_kind, only: IKC => IK3
     758             : #include "pm_mathMinMax@routines.inc.F90"
     759           1 :     end procedure
     760             : #endif
     761             : 
     762             : #if IK2_ENABLED
     763           0 :     module procedure setMinMaxPair_IK2
     764             :         use pm_kind, only: IKC => IK2
     765             : #include "pm_mathMinMax@routines.inc.F90"
     766           0 :     end procedure
     767             : #endif
     768             : 
     769             : #if IK1_ENABLED
     770           0 :     module procedure setMinMaxPair_IK1
     771             :         use pm_kind, only: IKC => IK1
     772             : #include "pm_mathMinMax@routines.inc.F90"
     773           0 :     end procedure
     774             : #endif
     775             : 
     776             : #undef IK_ENABLED
     777             : 
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             : 
     780             : #define LK_ENABLED 1
     781             : 
     782             : #if LK5_ENABLED
     783           0 :     module procedure setMinMaxPair_LK5
     784             :         use pm_kind, only: LKC => LK5
     785             : #include "pm_mathMinMax@routines.inc.F90"
     786           0 :     end procedure
     787             : #endif
     788             : 
     789             : #if LK4_ENABLED
     790           0 :     module procedure setMinMaxPair_LK4
     791             :         use pm_kind, only: LKC => LK4
     792             : #include "pm_mathMinMax@routines.inc.F90"
     793           0 :     end procedure
     794             : #endif
     795             : 
     796             : #if LK3_ENABLED
     797           1 :     module procedure setMinMaxPair_LK3
     798             :         use pm_kind, only: LKC => LK3
     799             : #include "pm_mathMinMax@routines.inc.F90"
     800           1 :     end procedure
     801             : #endif
     802             : 
     803             : #if LK2_ENABLED
     804           0 :     module procedure setMinMaxPair_LK2
     805             :         use pm_kind, only: LKC => LK2
     806             : #include "pm_mathMinMax@routines.inc.F90"
     807           0 :     end procedure
     808             : #endif
     809             : 
     810             : #if LK1_ENABLED
     811           0 :     module procedure setMinMaxPair_LK1
     812             :         use pm_kind, only: LKC => LK1
     813             : #include "pm_mathMinMax@routines.inc.F90"
     814           0 :     end procedure
     815             : #endif
     816             : 
     817             : #undef LK_ENABLED
     818             : 
     819             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     820             : 
     821             : #define CK_ENABLED 1
     822             : 
     823             : #if CK5_ENABLED
     824             :     module procedure setMinMaxPair_CK5
     825             :         use pm_kind, only: CKC => CK5
     826             : #include "pm_mathMinMax@routines.inc.F90"
     827             :     end procedure
     828             : #endif
     829             : 
     830             : #if CK4_ENABLED
     831           0 :     module procedure setMinMaxPair_CK4
     832             :         use pm_kind, only: CKC => CK4
     833             : #include "pm_mathMinMax@routines.inc.F90"
     834           0 :     end procedure
     835             : #endif
     836             : 
     837             : #if CK3_ENABLED
     838           0 :     module procedure setMinMaxPair_CK3
     839             :         use pm_kind, only: CKC => CK3
     840             : #include "pm_mathMinMax@routines.inc.F90"
     841           0 :     end procedure
     842             : #endif
     843             : 
     844             : #if CK2_ENABLED
     845           1 :     module procedure setMinMaxPair_CK2
     846             :         use pm_kind, only: CKC => CK2
     847             : #include "pm_mathMinMax@routines.inc.F90"
     848           1 :     end procedure
     849             : #endif
     850             : 
     851             : #if CK1_ENABLED
     852           0 :     module procedure setMinMaxPair_CK1
     853             :         use pm_kind, only: CKC => CK1
     854             : #include "pm_mathMinMax@routines.inc.F90"
     855           0 :     end procedure
     856             : #endif
     857             : 
     858             : #undef CK_ENABLED
     859             : 
     860             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     861             : 
     862             : #define RK_ENABLED 1
     863             : 
     864             : #if RK5_ENABLED
     865             :     module procedure setMinMaxPair_RK5
     866             :         use pm_kind, only: RKC => RK5
     867             : #include "pm_mathMinMax@routines.inc.F90"
     868             :     end procedure
     869             : #endif
     870             : 
     871             : #if RK4_ENABLED
     872           2 :     module procedure setMinMaxPair_RK4
     873             :         use pm_kind, only: RKC => RK4
     874             : #include "pm_mathMinMax@routines.inc.F90"
     875           2 :     end procedure
     876             : #endif
     877             : 
     878             : #if RK3_ENABLED
     879           0 :     module procedure setMinMaxPair_RK3
     880             :         use pm_kind, only: RKC => RK3
     881             : #include "pm_mathMinMax@routines.inc.F90"
     882           0 :     end procedure
     883             : #endif
     884             : 
     885             : #if RK2_ENABLED
     886           1 :     module procedure setMinMaxPair_RK2
     887             :         use pm_kind, only: RKC => RK2
     888             : #include "pm_mathMinMax@routines.inc.F90"
     889           1 :     end procedure
     890             : #endif
     891             : 
     892             : #if RK1_ENABLED
     893           0 :     module procedure setMinMaxPair_RK1
     894             :         use pm_kind, only: RKC => RK1
     895             : #include "pm_mathMinMax@routines.inc.F90"
     896           0 :     end procedure
     897             : #endif
     898             : 
     899             : #undef RK_ENABLED
     900             : 
     901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     902             : 
     903             : #undef Pair_ENABLED
     904             : 
     905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     908             : 
     909             : #undef setMinMax_ENABLED
     910             : 
     911             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     912             : 
     913             : end submodule routines

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