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_kind](@ref pm_kind). 19 : !> 20 : !> \finmain 21 : !> 22 : !> \author 23 : !> \AmirShahmoradi, April 23, 2017, 1:36 AM, Institute for Computational Engineering and Sciences (ICES), University of Texas at Austin 24 : 25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 26 : 27 : submodule (pm_kind) routines ! LCOV_EXCL_LINE 28 : 29 : implicit none 30 : 31 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 32 : 33 : contains 34 : 35 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 36 : 37 : #define construct_modeli_ENABLED 1 38 : 39 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 40 : 41 : #define IK_ENABLED 1 42 : 43 : #if IK5_ENABLED 44 2 : module procedure construct_modeli_IK5 45 : #include "pm_kind@routines.inc.F90" 46 2 : end procedure 47 : #endif 48 : 49 : #if IK4_ENABLED 50 2 : module procedure construct_modeli_IK4 51 : #include "pm_kind@routines.inc.F90" 52 2 : end procedure 53 : #endif 54 : 55 : #if IK3_ENABLED 56 2 : module procedure construct_modeli_IK3 57 : #include "pm_kind@routines.inc.F90" 58 2 : end procedure 59 : #endif 60 : 61 : #if IK2_ENABLED 62 0 : module procedure construct_modeli_IK2 63 : #include "pm_kind@routines.inc.F90" 64 0 : end procedure 65 : #endif 66 : 67 : #if IK1_ENABLED 68 0 : module procedure construct_modeli_IK1 69 : #include "pm_kind@routines.inc.F90" 70 0 : end procedure 71 : #endif 72 : 73 : #undef IK_ENABLED 74 : 75 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 76 : 77 : #undef construct_modeli_ENABLED 78 : 79 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 80 : 81 : #define construct_modelb_ENABLED 1 82 : 83 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 84 : 85 : #define IK_ENABLED 1 86 : 87 : #if IK5_ENABLED 88 1 : module procedure construct_modelb_IK5 89 : #include "pm_kind@routines.inc.F90" 90 1 : end procedure 91 : #endif 92 : 93 : #if IK4_ENABLED 94 1 : module procedure construct_modelb_IK4 95 : #include "pm_kind@routines.inc.F90" 96 1 : end procedure 97 : #endif 98 : 99 : #if IK3_ENABLED 100 1 : module procedure construct_modelb_IK3 101 : #include "pm_kind@routines.inc.F90" 102 1 : end procedure 103 : #endif 104 : 105 : #if IK2_ENABLED 106 0 : module procedure construct_modelb_IK2 107 : #include "pm_kind@routines.inc.F90" 108 0 : end procedure 109 : #endif 110 : 111 : #if IK1_ENABLED 112 0 : module procedure construct_modelb_IK1 113 : #include "pm_kind@routines.inc.F90" 114 0 : end procedure 115 : #endif 116 : 117 : #undef IK_ENABLED 118 : 119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 120 : 121 : #undef construct_modelb_ENABLED 122 : 123 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 124 : 125 : #define construct_modelr_ENABLED 1 126 : 127 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 128 : 129 : #define RK_ENABLED 1 130 : 131 : #if RK5_ENABLED 132 : module procedure construct_modelr_RK5 133 : #include "pm_kind@routines.inc.F90" 134 : end procedure 135 : #endif 136 : 137 : #if RK4_ENABLED 138 1 : module procedure construct_modelr_RK4 139 : #include "pm_kind@routines.inc.F90" 140 1 : end procedure 141 : #endif 142 : 143 : #if RK3_ENABLED 144 0 : module procedure construct_modelr_RK3 145 : #include "pm_kind@routines.inc.F90" 146 0 : end procedure 147 : #endif 148 : 149 : #if RK2_ENABLED 150 14 : module procedure construct_modelr_RK2 151 : #include "pm_kind@routines.inc.F90" 152 14 : end procedure 153 : #endif 154 : 155 : #if RK1_ENABLED 156 2 : module procedure construct_modelr_RK1 157 : #include "pm_kind@routines.inc.F90" 158 2 : end procedure 159 : #endif 160 : 161 : #undef RK_ENABLED 162 : 163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 164 : 165 : #undef construct_modelr_ENABLED 166 : 167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 168 : 169 : end submodule routines