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_distNormShell](@ref pm_distNormShell).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_distNormShell) 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 : use pm_distanceMahal, only: getMahalSq
40 : use pm_option, only: getOption
41 :
42 : implicit none
43 :
44 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 :
46 : contains
47 :
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 :
50 : #define getNormShellLogUDF_ENABLED 1
51 :
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 :
56 : #define D1_ENABLED 1
57 :
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 :
62 : #define One_ENABLED 1
63 :
64 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 :
68 : #define DD_ENABLED 1
69 :
70 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71 :
72 : #define RK_ENABLED 1
73 :
74 : #if RK5_ENABLED
75 : module procedure getNormShellLogUDFODD_D1_RK5
76 : use pm_kind, only: RKC => RK5
77 : #include "pm_distNormShell@routines.inc.F90"
78 : end procedure
79 : #endif
80 :
81 : #if RK4_ENABLED
82 0 : module procedure getNormShellLogUDFODD_D1_RK4
83 : use pm_kind, only: RKC => RK4
84 : #include "pm_distNormShell@routines.inc.F90"
85 0 : end procedure
86 : #endif
87 :
88 : #if RK3_ENABLED
89 0 : module procedure getNormShellLogUDFODD_D1_RK3
90 : use pm_kind, only: RKC => RK3
91 : #include "pm_distNormShell@routines.inc.F90"
92 0 : end procedure
93 : #endif
94 :
95 : #if RK2_ENABLED
96 1 : module procedure getNormShellLogUDFODD_D1_RK2
97 : use pm_kind, only: RKC => RK2
98 : #include "pm_distNormShell@routines.inc.F90"
99 1 : end procedure
100 : #endif
101 :
102 : #if RK1_ENABLED
103 0 : module procedure getNormShellLogUDFODD_D1_RK1
104 : use pm_kind, only: RKC => RK1
105 : #include "pm_distNormShell@routines.inc.F90"
106 0 : end procedure
107 : #endif
108 :
109 : #undef RK_ENABLED
110 :
111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 :
113 : #undef DD_ENABLED
114 :
115 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
118 :
119 : #define CI_ENABLED 1
120 :
121 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
122 :
123 : #define RK_ENABLED 1
124 :
125 : #if RK5_ENABLED
126 : module procedure getNormShellLogUDFOCI_D1_RK5
127 : use pm_kind, only: RKC => RK5
128 : #include "pm_distNormShell@routines.inc.F90"
129 : end procedure
130 : #endif
131 :
132 : #if RK4_ENABLED
133 0 : module procedure getNormShellLogUDFOCI_D1_RK4
134 : use pm_kind, only: RKC => RK4
135 : #include "pm_distNormShell@routines.inc.F90"
136 0 : end procedure
137 : #endif
138 :
139 : #if RK3_ENABLED
140 0 : module procedure getNormShellLogUDFOCI_D1_RK3
141 : use pm_kind, only: RKC => RK3
142 : #include "pm_distNormShell@routines.inc.F90"
143 0 : end procedure
144 : #endif
145 :
146 : #if RK2_ENABLED
147 2 : module procedure getNormShellLogUDFOCI_D1_RK2
148 : use pm_kind, only: RKC => RK2
149 : #include "pm_distNormShell@routines.inc.F90"
150 2 : end procedure
151 : #endif
152 :
153 : #if RK1_ENABLED
154 0 : module procedure getNormShellLogUDFOCI_D1_RK1
155 : use pm_kind, only: RKC => RK1
156 : #include "pm_distNormShell@routines.inc.F90"
157 0 : end procedure
158 : #endif
159 :
160 : #undef RK_ENABLED
161 :
162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163 :
164 : #undef CI_ENABLED
165 :
166 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 :
170 : #undef One_ENABLED
171 :
172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175 :
176 : #define Mix_ENABLED 1
177 :
178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define DD_ENABLED 1
183 :
184 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
185 :
186 : #define RK_ENABLED 1
187 :
188 : #if RK5_ENABLED
189 : module procedure getNormShellLogUDFMDD_D1_RK5
190 : use pm_kind, only: RKC => RK5
191 : #include "pm_distNormShell@routines.inc.F90"
192 : end procedure
193 : #endif
194 :
195 : #if RK4_ENABLED
196 0 : module procedure getNormShellLogUDFMDD_D1_RK4
197 : use pm_kind, only: RKC => RK4
198 : #include "pm_distNormShell@routines.inc.F90"
199 0 : end procedure
200 : #endif
201 :
202 : #if RK3_ENABLED
203 0 : module procedure getNormShellLogUDFMDD_D1_RK3
204 : use pm_kind, only: RKC => RK3
205 : #include "pm_distNormShell@routines.inc.F90"
206 0 : end procedure
207 : #endif
208 :
209 : #if RK2_ENABLED
210 0 : module procedure getNormShellLogUDFMDD_D1_RK2
211 : use pm_kind, only: RKC => RK2
212 : #include "pm_distNormShell@routines.inc.F90"
213 0 : end procedure
214 : #endif
215 :
216 : #if RK1_ENABLED
217 0 : module procedure getNormShellLogUDFMDD_D1_RK1
218 : use pm_kind, only: RKC => RK1
219 : #include "pm_distNormShell@routines.inc.F90"
220 0 : end procedure
221 : #endif
222 :
223 : #undef RK_ENABLED
224 :
225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226 :
227 : #undef DD_ENABLED
228 :
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232 :
233 : #define CI_ENABLED 1
234 :
235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236 :
237 : #define RK_ENABLED 1
238 :
239 : #if RK5_ENABLED
240 : module procedure getNormShellLogUDFMCI_D1_RK5
241 : use pm_kind, only: RKC => RK5
242 : #include "pm_distNormShell@routines.inc.F90"
243 : end procedure
244 : #endif
245 :
246 : #if RK4_ENABLED
247 0 : module procedure getNormShellLogUDFMCI_D1_RK4
248 : use pm_kind, only: RKC => RK4
249 : #include "pm_distNormShell@routines.inc.F90"
250 0 : end procedure
251 : #endif
252 :
253 : #if RK3_ENABLED
254 0 : module procedure getNormShellLogUDFMCI_D1_RK3
255 : use pm_kind, only: RKC => RK3
256 : #include "pm_distNormShell@routines.inc.F90"
257 0 : end procedure
258 : #endif
259 :
260 : #if RK2_ENABLED
261 491000 : module procedure getNormShellLogUDFMCI_D1_RK2
262 : use pm_kind, only: RKC => RK2
263 : #include "pm_distNormShell@routines.inc.F90"
264 491000 : end procedure
265 : #endif
266 :
267 : #if RK1_ENABLED
268 0 : module procedure getNormShellLogUDFMCI_D1_RK1
269 : use pm_kind, only: RKC => RK1
270 : #include "pm_distNormShell@routines.inc.F90"
271 0 : end procedure
272 : #endif
273 :
274 : #undef RK_ENABLED
275 :
276 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277 :
278 : #undef CI_ENABLED
279 :
280 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
281 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 :
284 : #undef Mix_ENABLED
285 :
286 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
288 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289 :
290 : #undef D1_ENABLED
291 :
292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 :
296 : #undef getNormShellLogUDF_ENABLED
297 :
298 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
299 :
300 : #undef CHECK_ASSERTION
301 :
302 : end submodule routines
|