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_mathFisher](@ref pm_mathFisher).
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_mathFisher) 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 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getFisher_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define FDD_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define RK_ENABLED 1
58 :
59 : #if RK5_ENABLED
60 : module procedure getFisherFDD_RK5
61 : use pm_kind, only: RKC => RK5
62 : #include "pm_mathFisher@routines.inc.F90"
63 : end procedure
64 : #endif
65 :
66 : #if RK4_ENABLED
67 0 : module procedure getFisherFDD_RK4
68 : use pm_kind, only: RKC => RK4
69 : #include "pm_mathFisher@routines.inc.F90"
70 0 : end procedure
71 : #endif
72 :
73 : #if RK3_ENABLED
74 0 : module procedure getFisherFDD_RK3
75 : use pm_kind, only: RKC => RK3
76 : #include "pm_mathFisher@routines.inc.F90"
77 0 : end procedure
78 : #endif
79 :
80 : #if RK2_ENABLED
81 500 : module procedure getFisherFDD_RK2
82 : use pm_kind, only: RKC => RK2
83 : #include "pm_mathFisher@routines.inc.F90"
84 500 : end procedure
85 : #endif
86 :
87 : #if RK1_ENABLED
88 505 : module procedure getFisherFDD_RK1
89 : use pm_kind, only: RKC => RK1
90 : #include "pm_mathFisher@routines.inc.F90"
91 505 : end procedure
92 : #endif
93 :
94 : #undef RK_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #undef FDD_ENABLED
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #define FLU_ENABLED 1
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #define RK_ENABLED 1
109 :
110 : #if RK5_ENABLED
111 : module procedure getFisherFLU_RK5
112 : use pm_kind, only: RKC => RK5
113 : #include "pm_mathFisher@routines.inc.F90"
114 : end procedure
115 : #endif
116 :
117 : #if RK4_ENABLED
118 0 : module procedure getFisherFLU_RK4
119 : use pm_kind, only: RKC => RK4
120 : #include "pm_mathFisher@routines.inc.F90"
121 0 : end procedure
122 : #endif
123 :
124 : #if RK3_ENABLED
125 0 : module procedure getFisherFLU_RK3
126 : use pm_kind, only: RKC => RK3
127 : #include "pm_mathFisher@routines.inc.F90"
128 0 : end procedure
129 : #endif
130 :
131 : #if RK2_ENABLED
132 0 : module procedure getFisherFLU_RK2
133 : use pm_kind, only: RKC => RK2
134 : #include "pm_mathFisher@routines.inc.F90"
135 0 : end procedure
136 : #endif
137 :
138 : #if RK1_ENABLED
139 10 : module procedure getFisherFLU_RK1
140 : use pm_kind, only: RKC => RK1
141 : #include "pm_mathFisher@routines.inc.F90"
142 10 : end procedure
143 : #endif
144 :
145 : #undef RK_ENABLED
146 :
147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 :
149 : #undef FLU_ENABLED
150 :
151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 :
155 : #undef getFisher_ENABLED
156 :
157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158 :
159 : #define getFisherInv_ENABLED 1
160 :
161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 :
165 : #define FDD_ENABLED 1
166 :
167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 :
169 : #define RK_ENABLED 1
170 :
171 : #if RK5_ENABLED
172 : module procedure getFisherInvFDD_RK5
173 : use pm_kind, only: RKC => RK5
174 : #include "pm_mathFisher@routines.inc.F90"
175 : end procedure
176 : #endif
177 :
178 : #if RK4_ENABLED
179 0 : module procedure getFisherInvFDD_RK4
180 : use pm_kind, only: RKC => RK4
181 : #include "pm_mathFisher@routines.inc.F90"
182 0 : end procedure
183 : #endif
184 :
185 : #if RK3_ENABLED
186 0 : module procedure getFisherInvFDD_RK3
187 : use pm_kind, only: RKC => RK3
188 : #include "pm_mathFisher@routines.inc.F90"
189 0 : end procedure
190 : #endif
191 :
192 : #if RK2_ENABLED
193 500 : module procedure getFisherInvFDD_RK2
194 : use pm_kind, only: RKC => RK2
195 : #include "pm_mathFisher@routines.inc.F90"
196 500 : end procedure
197 : #endif
198 :
199 : #if RK1_ENABLED
200 5 : module procedure getFisherInvFDD_RK1
201 : use pm_kind, only: RKC => RK1
202 : #include "pm_mathFisher@routines.inc.F90"
203 5 : end procedure
204 : #endif
205 :
206 : #undef RK_ENABLED
207 :
208 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
209 :
210 : #undef FDD_ENABLED
211 :
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215 :
216 : #define FLU_ENABLED 1
217 :
218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 :
220 : #define RK_ENABLED 1
221 :
222 : #if RK5_ENABLED
223 : module procedure getFisherInvFLU_RK5
224 : use pm_kind, only: RKC => RK5
225 : #include "pm_mathFisher@routines.inc.F90"
226 : end procedure
227 : #endif
228 :
229 : #if RK4_ENABLED
230 0 : module procedure getFisherInvFLU_RK4
231 : use pm_kind, only: RKC => RK4
232 : #include "pm_mathFisher@routines.inc.F90"
233 0 : end procedure
234 : #endif
235 :
236 : #if RK3_ENABLED
237 0 : module procedure getFisherInvFLU_RK3
238 : use pm_kind, only: RKC => RK3
239 : #include "pm_mathFisher@routines.inc.F90"
240 0 : end procedure
241 : #endif
242 :
243 : #if RK2_ENABLED
244 0 : module procedure getFisherInvFLU_RK2
245 : use pm_kind, only: RKC => RK2
246 : #include "pm_mathFisher@routines.inc.F90"
247 0 : end procedure
248 : #endif
249 :
250 : #if RK1_ENABLED
251 10 : module procedure getFisherInvFLU_RK1
252 : use pm_kind, only: RKC => RK1
253 : #include "pm_mathFisher@routines.inc.F90"
254 10 : end procedure
255 : #endif
256 :
257 : #undef RK_ENABLED
258 :
259 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
260 :
261 : #undef FLU_ENABLED
262 :
263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 :
267 : #undef getFisherInv_ENABLED
268 :
269 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
270 :
271 : end submodule routines
|