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_batse](@ref pm_batse).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_batse) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_err, only: setAsserted
32 : use pm_arrayUnique, only: getUnique
33 : use pm_arraySort, only: isAscending
34 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
35 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
36 : #else
37 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
38 : #endif
39 :
40 : use pm_quadPack, only: getQuadErr, GK21, weps
41 : use pm_distGamma, only: setGammaCDF
42 :
43 : implicit none
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : contains
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define getCorrectionLogEffPPF_ENABLED 1
52 :
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 :
55 : #define RK_ENABLED 1
56 :
57 : #if RK5_ENABLED
58 : module procedure getCorrectionLogEffPPF_RK5
59 : use pm_kind, only: RKC => RK5
60 : #include "pm_batse@routines.inc.F90"
61 : end procedure
62 : #endif
63 :
64 : #if RK4_ENABLED
65 0 : module procedure getCorrectionLogEffPPF_RK4
66 : use pm_kind, only: RKC => RK4
67 : #include "pm_batse@routines.inc.F90"
68 0 : end procedure
69 : #endif
70 :
71 : #if RK3_ENABLED
72 0 : module procedure getCorrectionLogEffPPF_RK3
73 : use pm_kind, only: RKC => RK3
74 : #include "pm_batse@routines.inc.F90"
75 0 : end procedure
76 : #endif
77 :
78 : #if RK2_ENABLED
79 0 : module procedure getCorrectionLogEffPPF_RK2
80 : use pm_kind, only: RKC => RK2
81 : #include "pm_batse@routines.inc.F90"
82 0 : end procedure
83 : #endif
84 :
85 : #if RK1_ENABLED
86 0 : module procedure getCorrectionLogEffPPF_RK1
87 : use pm_kind, only: RKC => RK1
88 : #include "pm_batse@routines.inc.F90"
89 0 : end procedure
90 : #endif
91 :
92 : #undef RK_ENABLED
93 :
94 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95 :
96 : #undef getCorrectionLogEffPPF_ENABLED
97 :
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #define getLogEffPPF_ENABLED 1
101 :
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #define RK_ENABLED 1
105 :
106 : #if RK5_ENABLED
107 : module procedure getLogEffPPF_RK5
108 : use pm_kind, only: RKC => RK5
109 : #include "pm_batse@routines.inc.F90"
110 : end procedure
111 : #endif
112 :
113 : #if RK4_ENABLED
114 0 : module procedure getLogEffPPF_RK4
115 : use pm_kind, only: RKC => RK4
116 : #include "pm_batse@routines.inc.F90"
117 0 : end procedure
118 : #endif
119 :
120 : #if RK3_ENABLED
121 0 : module procedure getLogEffPPF_RK3
122 : use pm_kind, only: RKC => RK3
123 : #include "pm_batse@routines.inc.F90"
124 0 : end procedure
125 : #endif
126 :
127 : #if RK2_ENABLED
128 0 : module procedure getLogEffPPF_RK2
129 : use pm_kind, only: RKC => RK2
130 : #include "pm_batse@routines.inc.F90"
131 0 : end procedure
132 : #endif
133 :
134 : #if RK1_ENABLED
135 0 : module procedure getLogEffPPF_RK1
136 : use pm_kind, only: RKC => RK1
137 : #include "pm_batse@routines.inc.F90"
138 0 : end procedure
139 : #endif
140 :
141 : #undef RK_ENABLED
142 :
143 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 :
145 : #undef getLogEffPPF_ENABLED
146 :
147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 :
149 : #define getLogPbol_ENABLED 1
150 :
151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152 :
153 : #define RK_ENABLED 1
154 :
155 : #if RK5_ENABLED
156 : module procedure getLogPbol_RK5
157 : use pm_kind, only: RKC => RK5
158 : #include "pm_batse@routines.inc.F90"
159 : end procedure
160 : #endif
161 :
162 : #if RK4_ENABLED
163 1000 : module procedure getLogPbol_RK4
164 : use pm_kind, only: RKC => RK4
165 : #include "pm_batse@routines.inc.F90"
166 1000 : end procedure
167 : #endif
168 :
169 : #if RK3_ENABLED
170 0 : module procedure getLogPbol_RK3
171 : use pm_kind, only: RKC => RK3
172 : #include "pm_batse@routines.inc.F90"
173 0 : end procedure
174 : #endif
175 :
176 : #if RK2_ENABLED
177 1 : module procedure getLogPbol_RK2
178 : use pm_kind, only: RKC => RK2
179 : #include "pm_batse@routines.inc.F90"
180 1 : end procedure
181 : #endif
182 :
183 : #if RK1_ENABLED
184 0 : module procedure getLogPbol_RK1
185 : use pm_kind, only: RKC => RK1
186 : #include "pm_batse@routines.inc.F90"
187 0 : end procedure
188 : #endif
189 :
190 : #undef RK_ENABLED
191 :
192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193 :
194 : #undef getLogPbol_ENABLED
195 :
196 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197 :
198 : #define getLogPF53_ENABLED 1
199 :
200 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 :
202 : #define RK_ENABLED 1
203 :
204 : #if RK5_ENABLED
205 : module procedure getLogPF53_RK5
206 : use pm_kind, only: RKC => RK5
207 : #include "pm_batse@routines.inc.F90"
208 : end procedure
209 : #endif
210 :
211 : #if RK4_ENABLED
212 2000 : module procedure getLogPF53_RK4
213 : use pm_kind, only: RKC => RK4
214 : #include "pm_batse@routines.inc.F90"
215 2000 : end procedure
216 : #endif
217 :
218 : #if RK3_ENABLED
219 0 : module procedure getLogPF53_RK3
220 : use pm_kind, only: RKC => RK3
221 : #include "pm_batse@routines.inc.F90"
222 0 : end procedure
223 : #endif
224 :
225 : #if RK2_ENABLED
226 2 : module procedure getLogPF53_RK2
227 : use pm_kind, only: RKC => RK2
228 : #include "pm_batse@routines.inc.F90"
229 2 : end procedure
230 : #endif
231 :
232 : #if RK1_ENABLED
233 0 : module procedure getLogPF53_RK1
234 : use pm_kind, only: RKC => RK1
235 : #include "pm_batse@routines.inc.F90"
236 0 : end procedure
237 : #endif
238 :
239 : #undef RK_ENABLED
240 :
241 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
242 :
243 : #undef getLogPF53_ENABLED
244 :
245 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
246 :
247 : #define getLog10PF53_ENABLED 1
248 :
249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
250 :
251 : #define RK_ENABLED 1
252 :
253 : #if RK5_ENABLED
254 : module procedure getLog10PF53_RK5
255 : use pm_kind, only: RKC => RK5
256 : #include "pm_batse@routines.inc.F90"
257 : end procedure
258 : #endif
259 :
260 : #if RK4_ENABLED
261 0 : module procedure getLog10PF53_RK4
262 : use pm_kind, only: RKC => RK4
263 : #include "pm_batse@routines.inc.F90"
264 0 : end procedure
265 : #endif
266 :
267 : #if RK3_ENABLED
268 0 : module procedure getLog10PF53_RK3
269 : use pm_kind, only: RKC => RK3
270 : #include "pm_batse@routines.inc.F90"
271 0 : end procedure
272 : #endif
273 :
274 : #if RK2_ENABLED
275 0 : module procedure getLog10PF53_RK2
276 : use pm_kind, only: RKC => RK2
277 : #include "pm_batse@routines.inc.F90"
278 0 : end procedure
279 : #endif
280 :
281 : #if RK1_ENABLED
282 0 : module procedure getLog10PF53_RK1
283 : use pm_kind, only: RKC => RK1
284 : #include "pm_batse@routines.inc.F90"
285 0 : end procedure
286 : #endif
287 :
288 : #undef RK_ENABLED
289 :
290 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
291 :
292 : #undef getLog10PF53_ENABLED
293 :
294 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295 :
296 : #undef CHECK_ASSERTION
297 :
298 : end submodule routines ! LCOV_EXCL_LINE
|