https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_option@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 58 114 50.9 %
Date: 2024-04-08 03:18:57 Functions: 29 57 50.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_option](@ref pm_option).
      19             : !>
      20             : !>  \test
      21             : !>  [test_pm_option](@ref test_pm_option)
      22             : !>
      23             : !>  \finmain
      24             : !>
      25             : !>  \author
      26             : !>  \AmirShahmoradi, Saturday 10:17 PM, December 5, 2021, Dallas, TX
      27             : 
      28             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      29             : 
      30             : submodule (pm_option) routines ! LCOV_EXCL_LINE
      31             : 
      32             : #if CHECK_ENABLED
      33             :     use pm_err, only: getFine
      34             :     use pm_val2str, only: getStr
      35             :     use pm_err, only: setAsserted
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      37             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      38             : #else
      39             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      40             : #endif
      41             : 
      42             :     implicit none
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : contains
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define getOption_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             : 
      56             : #define D0_ENABLED 1
      57             : 
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             : 
      60             : #define SK_ENABLED 1
      61             : 
      62             : #if SK5_ENABLED
      63             :     module procedure getOption_D0_SK5
      64             :         use pm_kind, only: SKC => SK5
      65             : #include "pm_option@routines.inc.F90"
      66             :     end procedure
      67             : #endif
      68             : 
      69             : #if SK4_ENABLED
      70             :     module procedure getOption_D0_SK4
      71             :         use pm_kind, only: SKC => SK4
      72             : #include "pm_option@routines.inc.F90"
      73             :     end procedure
      74             : #endif
      75             : 
      76             : #if SK3_ENABLED
      77             :     module procedure getOption_D0_SK3
      78             :         use pm_kind, only: SKC => SK3
      79             : #include "pm_option@routines.inc.F90"
      80             :     end procedure
      81             : #endif
      82             : 
      83             : #if SK2_ENABLED
      84             :     module procedure getOption_D0_SK2
      85             :         use pm_kind, only: SKC => SK2
      86             : #include "pm_option@routines.inc.F90"
      87             :     end procedure
      88             : #endif
      89             : 
      90             : #if SK1_ENABLED
      91      102824 :     module procedure getOption_D0_SK1
      92             :         use pm_kind, only: SKC => SK1
      93             : #include "pm_option@routines.inc.F90"
      94      102824 :     end procedure
      95             : #endif
      96             : 
      97             : #undef SK_ENABLED
      98             : 
      99             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     100             : 
     101             : #define IK_ENABLED 1
     102             : 
     103             : #if IK5_ENABLED
     104        1520 :     module procedure getOption_D0_IK5
     105             :         use pm_kind, only: IKC => IK5
     106             : #include "pm_option@routines.inc.F90"
     107        1520 :     end procedure
     108             : #endif
     109             : 
     110             : #if IK4_ENABLED
     111        1520 :     module procedure getOption_D0_IK4
     112             :         use pm_kind, only: IKC => IK4
     113             : #include "pm_option@routines.inc.F90"
     114        1520 :     end procedure
     115             : #endif
     116             : 
     117             : #if IK3_ENABLED
     118       42217 :     module procedure getOption_D0_IK3
     119             :         use pm_kind, only: IKC => IK3
     120             : #include "pm_option@routines.inc.F90"
     121       42217 :     end procedure
     122             : #endif
     123             : 
     124             : #if IK2_ENABLED
     125        1520 :     module procedure getOption_D0_IK2
     126             :         use pm_kind, only: IKC => IK2
     127             : #include "pm_option@routines.inc.F90"
     128        1520 :     end procedure
     129             : #endif
     130             : 
     131             : #if IK1_ENABLED
     132        1520 :     module procedure getOption_D0_IK1
     133             :         use pm_kind, only: IKC => IK1
     134             : #include "pm_option@routines.inc.F90"
     135        1520 :     end procedure
     136             : #endif
     137             : 
     138             : #undef IK_ENABLED
     139             : 
     140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     141             : 
     142             : #define LK_ENABLED 1
     143             : 
     144             : #if LK5_ENABLED
     145         320 :     module procedure getOption_D0_LK5
     146             :         use pm_kind, only: LKC => LK5
     147             : #include "pm_option@routines.inc.F90"
     148         320 :     end procedure
     149             : #endif
     150             : 
     151             : #if LK4_ENABLED
     152         320 :     module procedure getOption_D0_LK4
     153             :         use pm_kind, only: LKC => LK4
     154             : #include "pm_option@routines.inc.F90"
     155         320 :     end procedure
     156             : #endif
     157             : 
     158             : #if LK3_ENABLED
     159       13551 :     module procedure getOption_D0_LK3
     160             :         use pm_kind, only: LKC => LK3
     161             : #include "pm_option@routines.inc.F90"
     162       13551 :     end procedure
     163             : #endif
     164             : 
     165             : #if LK2_ENABLED
     166         320 :     module procedure getOption_D0_LK2
     167             :         use pm_kind, only: LKC => LK2
     168             : #include "pm_option@routines.inc.F90"
     169         320 :     end procedure
     170             : #endif
     171             : 
     172             : #if LK1_ENABLED
     173         320 :     module procedure getOption_D0_LK1
     174             :         use pm_kind, only: LKC => LK1
     175             : #include "pm_option@routines.inc.F90"
     176         320 :     end procedure
     177             : #endif
     178             : 
     179             : #undef LK_ENABLED
     180             : 
     181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     182             : 
     183             : #define CK_ENABLED 1
     184             : 
     185             : #if CK5_ENABLED
     186             :     module procedure getOption_D0_CK5
     187             :         use pm_kind, only: CKC => CK5
     188             : #include "pm_option@routines.inc.F90"
     189             :     end procedure
     190             : #endif
     191             : 
     192             : #if CK4_ENABLED
     193        1232 :     module procedure getOption_D0_CK4
     194             :         use pm_kind, only: CKC => CK4
     195             : #include "pm_option@routines.inc.F90"
     196        1232 :     end procedure
     197             : #endif
     198             : 
     199             : #if CK3_ENABLED
     200        1280 :     module procedure getOption_D0_CK3
     201             :         use pm_kind, only: CKC => CK3
     202             : #include "pm_option@routines.inc.F90"
     203        1280 :     end procedure
     204             : #endif
     205             : 
     206             : #if CK2_ENABLED
     207        1330 :     module procedure getOption_D0_CK2
     208             :         use pm_kind, only: CKC => CK2
     209             : #include "pm_option@routines.inc.F90"
     210        1330 :     end procedure
     211             : #endif
     212             : 
     213             : #if CK1_ENABLED
     214        1520 :     module procedure getOption_D0_CK1
     215             :         use pm_kind, only: CKC => CK1
     216             : #include "pm_option@routines.inc.F90"
     217        1520 :     end procedure
     218             : #endif
     219             : 
     220             : #undef CK_ENABLED
     221             : 
     222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     223             : 
     224             : #define RK_ENABLED 1
     225             : 
     226             : #if RK5_ENABLED
     227             :     module procedure getOption_D0_RK5
     228             :         use pm_kind, only: RKC => RK5
     229             : #include "pm_option@routines.inc.F90"
     230             :     end procedure
     231             : #endif
     232             : 
     233             : #if RK4_ENABLED
     234       90838 :     module procedure getOption_D0_RK4
     235             :         use pm_kind, only: RKC => RK4
     236             : #include "pm_option@routines.inc.F90"
     237       90838 :     end procedure
     238             : #endif
     239             : 
     240             : #if RK3_ENABLED
     241       26116 :     module procedure getOption_D0_RK3
     242             :         use pm_kind, only: RKC => RK3
     243             : #include "pm_option@routines.inc.F90"
     244       26116 :     end procedure
     245             : #endif
     246             : 
     247             : #if RK2_ENABLED
     248      308325 :     module procedure getOption_D0_RK2
     249             :         use pm_kind, only: RKC => RK2
     250             : #include "pm_option@routines.inc.F90"
     251      308325 :     end procedure
     252             : #endif
     253             : 
     254             : #if RK1_ENABLED
     255      134552 :     module procedure getOption_D0_RK1
     256             :         use pm_kind, only: RKC => RK1
     257             : #include "pm_option@routines.inc.F90"
     258      134552 :     end procedure
     259             : #endif
     260             : 
     261             : #undef RK_ENABLED
     262             : 
     263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     264             : 
     265             : #undef D0_ENABLED
     266             : 
     267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     270             : 
     271             : #define D1_ENABLED 1
     272             : 
     273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     274             : 
     275             : #define SK_ENABLED 1
     276             : 
     277             : #if SK5_ENABLED
     278             :     module procedure getOption_D1_SK5
     279             :         use pm_kind, only: SKC => SK5
     280             : #include "pm_option@routines.inc.F90"
     281             :     end procedure
     282             : #endif
     283             : 
     284             : #if SK4_ENABLED
     285             :     module procedure getOption_D1_SK4
     286             :         use pm_kind, only: SKC => SK4
     287             : #include "pm_option@routines.inc.F90"
     288             :     end procedure
     289             : #endif
     290             : 
     291             : #if SK3_ENABLED
     292             :     module procedure getOption_D1_SK3
     293             :         use pm_kind, only: SKC => SK3
     294             : #include "pm_option@routines.inc.F90"
     295             :     end procedure
     296             : #endif
     297             : 
     298             : #if SK2_ENABLED
     299             :     module procedure getOption_D1_SK2
     300             :         use pm_kind, only: SKC => SK2
     301             : #include "pm_option@routines.inc.F90"
     302             :     end procedure
     303             : #endif
     304             : 
     305             : #if SK1_ENABLED
     306           2 :     module procedure getOption_D1_SK1
     307             :         use pm_kind, only: SKC => SK1
     308             : #include "pm_option@routines.inc.F90"
     309           2 :     end procedure
     310             : #endif
     311             : 
     312             : #undef SK_ENABLED
     313             : 
     314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     315             : 
     316             : #define IK_ENABLED 1
     317             : 
     318             : #if IK5_ENABLED
     319           0 :     module procedure getOption_D1_IK5
     320             :         use pm_kind, only: IKC => IK5
     321             : #include "pm_option@routines.inc.F90"
     322           0 :     end procedure
     323             : #endif
     324             : 
     325             : #if IK4_ENABLED
     326           0 :     module procedure getOption_D1_IK4
     327             :         use pm_kind, only: IKC => IK4
     328             : #include "pm_option@routines.inc.F90"
     329           0 :     end procedure
     330             : #endif
     331             : 
     332             : #if IK3_ENABLED
     333           4 :     module procedure getOption_D1_IK3
     334             :         use pm_kind, only: IKC => IK3
     335             : #include "pm_option@routines.inc.F90"
     336           4 :     end procedure
     337             : #endif
     338             : 
     339             : #if IK2_ENABLED
     340           0 :     module procedure getOption_D1_IK2
     341             :         use pm_kind, only: IKC => IK2
     342             : #include "pm_option@routines.inc.F90"
     343           0 :     end procedure
     344             : #endif
     345             : 
     346             : #if IK1_ENABLED
     347           0 :     module procedure getOption_D1_IK1
     348             :         use pm_kind, only: IKC => IK1
     349             : #include "pm_option@routines.inc.F90"
     350           0 :     end procedure
     351             : #endif
     352             : 
     353             : #undef IK_ENABLED
     354             : 
     355             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     356             : 
     357             : #define LK_ENABLED 1
     358             : 
     359             : #if LK5_ENABLED
     360           0 :     module procedure getOption_D1_LK5
     361             :         use pm_kind, only: LKC => LK5
     362             : #include "pm_option@routines.inc.F90"
     363           0 :     end procedure
     364             : #endif
     365             : 
     366             : #if LK4_ENABLED
     367           0 :     module procedure getOption_D1_LK4
     368             :         use pm_kind, only: LKC => LK4
     369             : #include "pm_option@routines.inc.F90"
     370           0 :     end procedure
     371             : #endif
     372             : 
     373             : #if LK3_ENABLED
     374           4 :     module procedure getOption_D1_LK3
     375             :         use pm_kind, only: LKC => LK3
     376             : #include "pm_option@routines.inc.F90"
     377           4 :     end procedure
     378             : #endif
     379             : 
     380             : #if LK2_ENABLED
     381           0 :     module procedure getOption_D1_LK2
     382             :         use pm_kind, only: LKC => LK2
     383             : #include "pm_option@routines.inc.F90"
     384           0 :     end procedure
     385             : #endif
     386             : 
     387             : #if LK1_ENABLED
     388           0 :     module procedure getOption_D1_LK1
     389             :         use pm_kind, only: LKC => LK1
     390             : #include "pm_option@routines.inc.F90"
     391           0 :     end procedure
     392             : #endif
     393             : 
     394             : #undef LK_ENABLED
     395             : 
     396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     397             : 
     398             : #define CK_ENABLED 1
     399             : 
     400             : #if CK5_ENABLED
     401             :     module procedure getOption_D1_CK5
     402             :         use pm_kind, only: CKC => CK5
     403             : #include "pm_option@routines.inc.F90"
     404             :     end procedure
     405             : #endif
     406             : 
     407             : #if CK4_ENABLED
     408           0 :     module procedure getOption_D1_CK4
     409             :         use pm_kind, only: CKC => CK4
     410             : #include "pm_option@routines.inc.F90"
     411           0 :     end procedure
     412             : #endif
     413             : 
     414             : #if CK3_ENABLED
     415           0 :     module procedure getOption_D1_CK3
     416             :         use pm_kind, only: CKC => CK3
     417             : #include "pm_option@routines.inc.F90"
     418           0 :     end procedure
     419             : #endif
     420             : 
     421             : #if CK2_ENABLED
     422           4 :     module procedure getOption_D1_CK2
     423             :         use pm_kind, only: CKC => CK2
     424             : #include "pm_option@routines.inc.F90"
     425           4 :     end procedure
     426             : #endif
     427             : 
     428             : #if CK1_ENABLED
     429           0 :     module procedure getOption_D1_CK1
     430             :         use pm_kind, only: CKC => CK1
     431             : #include "pm_option@routines.inc.F90"
     432           0 :     end procedure
     433             : #endif
     434             : 
     435             : #undef CK_ENABLED
     436             : 
     437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     438             : 
     439             : #define RK_ENABLED 1
     440             : 
     441             : #if RK5_ENABLED
     442             :     module procedure getOption_D1_RK5
     443             :         use pm_kind, only: RKC => RK5
     444             : #include "pm_option@routines.inc.F90"
     445             :     end procedure
     446             : #endif
     447             : 
     448             : #if RK4_ENABLED
     449           0 :     module procedure getOption_D1_RK4
     450             :         use pm_kind, only: RKC => RK4
     451             : #include "pm_option@routines.inc.F90"
     452           0 :     end procedure
     453             : #endif
     454             : 
     455             : #if RK3_ENABLED
     456           0 :     module procedure getOption_D1_RK3
     457             :         use pm_kind, only: RKC => RK3
     458             : #include "pm_option@routines.inc.F90"
     459           0 :     end procedure
     460             : #endif
     461             : 
     462             : #if RK2_ENABLED
     463           4 :     module procedure getOption_D1_RK2
     464             :         use pm_kind, only: RKC => RK2
     465             : #include "pm_option@routines.inc.F90"
     466           4 :     end procedure
     467             : #endif
     468             : 
     469             : #if RK1_ENABLED
     470           0 :     module procedure getOption_D1_RK1
     471             :         use pm_kind, only: RKC => RK1
     472             : #include "pm_option@routines.inc.F90"
     473           0 :     end procedure
     474             : #endif
     475             : 
     476             : #undef RK_ENABLED
     477             : 
     478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     479             : 
     480             : #undef D1_ENABLED
     481             : 
     482             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             : 
     486             : #define D2_ENABLED 1
     487             : 
     488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     489             : 
     490             : #define SK_ENABLED 1
     491             : 
     492             : #if SK5_ENABLED
     493             :     module procedure getOption_D2_SK5
     494             :         use pm_kind, only: SKC => SK5
     495             : #include "pm_option@routines.inc.F90"
     496             :     end procedure
     497             : #endif
     498             : 
     499             : #if SK4_ENABLED
     500             :     module procedure getOption_D2_SK4
     501             :         use pm_kind, only: SKC => SK4
     502             : #include "pm_option@routines.inc.F90"
     503             :     end procedure
     504             : #endif
     505             : 
     506             : #if SK3_ENABLED
     507             :     module procedure getOption_D2_SK3
     508             :         use pm_kind, only: SKC => SK3
     509             : #include "pm_option@routines.inc.F90"
     510             :     end procedure
     511             : #endif
     512             : 
     513             : #if SK2_ENABLED
     514             :     module procedure getOption_D2_SK2
     515             :         use pm_kind, only: SKC => SK2
     516             : #include "pm_option@routines.inc.F90"
     517             :     end procedure
     518             : #endif
     519             : 
     520             : #if SK1_ENABLED
     521           2 :     module procedure getOption_D2_SK1
     522             :         use pm_kind, only: SKC => SK1
     523             : #include "pm_option@routines.inc.F90"
     524           2 :     end procedure
     525             : #endif
     526             : 
     527             : #undef SK_ENABLED
     528             : 
     529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     530             : 
     531             : #define IK_ENABLED 1
     532             : 
     533             : #if IK5_ENABLED
     534           0 :     module procedure getOption_D2_IK5
     535             :         use pm_kind, only: IKC => IK5
     536             : #include "pm_option@routines.inc.F90"
     537           0 :     end procedure
     538             : #endif
     539             : 
     540             : #if IK4_ENABLED
     541           0 :     module procedure getOption_D2_IK4
     542             :         use pm_kind, only: IKC => IK4
     543             : #include "pm_option@routines.inc.F90"
     544           0 :     end procedure
     545             : #endif
     546             : 
     547             : #if IK3_ENABLED
     548           2 :     module procedure getOption_D2_IK3
     549             :         use pm_kind, only: IKC => IK3
     550             : #include "pm_option@routines.inc.F90"
     551           2 :     end procedure
     552             : #endif
     553             : 
     554             : #if IK2_ENABLED
     555           0 :     module procedure getOption_D2_IK2
     556             :         use pm_kind, only: IKC => IK2
     557             : #include "pm_option@routines.inc.F90"
     558           0 :     end procedure
     559             : #endif
     560             : 
     561             : #if IK1_ENABLED
     562           0 :     module procedure getOption_D2_IK1
     563             :         use pm_kind, only: IKC => IK1
     564             : #include "pm_option@routines.inc.F90"
     565           0 :     end procedure
     566             : #endif
     567             : 
     568             : #undef IK_ENABLED
     569             : 
     570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     571             : 
     572             : #define LK_ENABLED 1
     573             : 
     574             : #if LK5_ENABLED
     575           0 :     module procedure getOption_D2_LK5
     576             :         use pm_kind, only: LKC => LK5
     577             : #include "pm_option@routines.inc.F90"
     578           0 :     end procedure
     579             : #endif
     580             : 
     581             : #if LK4_ENABLED
     582           0 :     module procedure getOption_D2_LK4
     583             :         use pm_kind, only: LKC => LK4
     584             : #include "pm_option@routines.inc.F90"
     585           0 :     end procedure
     586             : #endif
     587             : 
     588             : #if LK3_ENABLED
     589           2 :     module procedure getOption_D2_LK3
     590             :         use pm_kind, only: LKC => LK3
     591             : #include "pm_option@routines.inc.F90"
     592           2 :     end procedure
     593             : #endif
     594             : 
     595             : #if LK2_ENABLED
     596           0 :     module procedure getOption_D2_LK2
     597             :         use pm_kind, only: LKC => LK2
     598             : #include "pm_option@routines.inc.F90"
     599           0 :     end procedure
     600             : #endif
     601             : 
     602             : #if LK1_ENABLED
     603           0 :     module procedure getOption_D2_LK1
     604             :         use pm_kind, only: LKC => LK1
     605             : #include "pm_option@routines.inc.F90"
     606           0 :     end procedure
     607             : #endif
     608             : 
     609             : #undef LK_ENABLED
     610             : 
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             : 
     613             : #define CK_ENABLED 1
     614             : 
     615             : #if CK5_ENABLED
     616             :     module procedure getOption_D2_CK5
     617             :         use pm_kind, only: CKC => CK5
     618             : #include "pm_option@routines.inc.F90"
     619             :     end procedure
     620             : #endif
     621             : 
     622             : #if CK4_ENABLED
     623           0 :     module procedure getOption_D2_CK4
     624             :         use pm_kind, only: CKC => CK4
     625             : #include "pm_option@routines.inc.F90"
     626           0 :     end procedure
     627             : #endif
     628             : 
     629             : #if CK3_ENABLED
     630           0 :     module procedure getOption_D2_CK3
     631             :         use pm_kind, only: CKC => CK3
     632             : #include "pm_option@routines.inc.F90"
     633           0 :     end procedure
     634             : #endif
     635             : 
     636             : #if CK2_ENABLED
     637           2 :     module procedure getOption_D2_CK2
     638             :         use pm_kind, only: CKC => CK2
     639             : #include "pm_option@routines.inc.F90"
     640           2 :     end procedure
     641             : #endif
     642             : 
     643             : #if CK1_ENABLED
     644           0 :     module procedure getOption_D2_CK1
     645             :         use pm_kind, only: CKC => CK1
     646             : #include "pm_option@routines.inc.F90"
     647           0 :     end procedure
     648             : #endif
     649             : 
     650             : #undef CK_ENABLED
     651             : 
     652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     653             : 
     654             : #define RK_ENABLED 1
     655             : 
     656             : #if RK5_ENABLED
     657             :     module procedure getOption_D2_RK5
     658             :         use pm_kind, only: RKC => RK5
     659             : #include "pm_option@routines.inc.F90"
     660             :     end procedure
     661             : #endif
     662             : 
     663             : #if RK4_ENABLED
     664           0 :     module procedure getOption_D2_RK4
     665             :         use pm_kind, only: RKC => RK4
     666             : #include "pm_option@routines.inc.F90"
     667           0 :     end procedure
     668             : #endif
     669             : 
     670             : #if RK3_ENABLED
     671           0 :     module procedure getOption_D2_RK3
     672             :         use pm_kind, only: RKC => RK3
     673             : #include "pm_option@routines.inc.F90"
     674           0 :     end procedure
     675             : #endif
     676             : 
     677             : #if RK2_ENABLED
     678           2 :     module procedure getOption_D2_RK2
     679             :         use pm_kind, only: RKC => RK2
     680             : #include "pm_option@routines.inc.F90"
     681           2 :     end procedure
     682             : #endif
     683             : 
     684             : #if RK1_ENABLED
     685           0 :     module procedure getOption_D2_RK1
     686             :         use pm_kind, only: RKC => RK1
     687             : #include "pm_option@routines.inc.F90"
     688           0 :     end procedure
     689             : #endif
     690             : 
     691             : #undef RK_ENABLED
     692             : 
     693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     694             : 
     695             : #undef D2_ENABLED
     696             : 
     697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     698             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     699             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     700             : 
     701             : #undef getOption_ENABLED
     702             : 
     703             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705             : end submodule routines

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