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_sampleWeight](@ref pm_sampleWeight).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_sampleWeight) 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 getReweight_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define IK_ENABLED 1
52 :
53 : #if IK5_ENABLED
54 0 : module procedure getReweight_IK_IK5
55 : use pm_kind, only: IKC => IK5
56 : #include "pm_sampleWeight@routines.inc.F90"
57 0 : end procedure
58 : #endif
59 :
60 : #if IK4_ENABLED
61 0 : module procedure getReweight_IK_IK4
62 : use pm_kind, only: IKC => IK4
63 : #include "pm_sampleWeight@routines.inc.F90"
64 0 : end procedure
65 : #endif
66 :
67 : #if IK3_ENABLED
68 10 : module procedure getReweight_IK_IK3
69 : use pm_kind, only: IKC => IK3
70 : #include "pm_sampleWeight@routines.inc.F90"
71 10 : end procedure
72 : #endif
73 :
74 : #if IK2_ENABLED
75 0 : module procedure getReweight_IK_IK2
76 : use pm_kind, only: IKC => IK2
77 : #include "pm_sampleWeight@routines.inc.F90"
78 0 : end procedure
79 : #endif
80 :
81 : #if IK1_ENABLED
82 0 : module procedure getReweight_IK_IK1
83 : use pm_kind, only: IKC => IK1
84 : #include "pm_sampleWeight@routines.inc.F90"
85 0 : end procedure
86 : #endif
87 :
88 : #undef IK_ENABLED
89 :
90 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91 :
92 : #define RK_ENABLED 1
93 :
94 : #if RK5_ENABLED
95 : module procedure getReweight_RK_RK5
96 : use pm_kind, only: RKC => RK5
97 : #include "pm_sampleWeight@routines.inc.F90"
98 : end procedure
99 : #endif
100 :
101 : #if RK4_ENABLED
102 0 : module procedure getReweight_RK_RK4
103 : use pm_kind, only: RKC => RK4
104 : #include "pm_sampleWeight@routines.inc.F90"
105 0 : end procedure
106 : #endif
107 :
108 : #if RK3_ENABLED
109 0 : module procedure getReweight_RK_RK3
110 : use pm_kind, only: RKC => RK3
111 : #include "pm_sampleWeight@routines.inc.F90"
112 0 : end procedure
113 : #endif
114 :
115 : #if RK2_ENABLED
116 0 : module procedure getReweight_RK_RK2
117 : use pm_kind, only: RKC => RK2
118 : #include "pm_sampleWeight@routines.inc.F90"
119 0 : end procedure
120 : #endif
121 :
122 : #if RK1_ENABLED
123 10 : module procedure getReweight_RK_RK1
124 : use pm_kind, only: RKC => RK1
125 : #include "pm_sampleWeight@routines.inc.F90"
126 10 : end procedure
127 : #endif
128 :
129 : #undef RK_ENABLED
130 :
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 :
133 : #define IK_RK_ENABLED 1
134 :
135 : #if RK5_ENABLED
136 : module procedure getReweight_IK_RK5
137 : use pm_kind, only: RKC => RK5
138 : #include "pm_sampleWeight@routines.inc.F90"
139 : end procedure
140 : #endif
141 :
142 : #if RK4_ENABLED
143 0 : module procedure getReweight_IK_RK4
144 : use pm_kind, only: RKC => RK4
145 : #include "pm_sampleWeight@routines.inc.F90"
146 0 : end procedure
147 : #endif
148 :
149 : #if RK3_ENABLED
150 0 : module procedure getReweight_IK_RK3
151 : use pm_kind, only: RKC => RK3
152 : #include "pm_sampleWeight@routines.inc.F90"
153 0 : end procedure
154 : #endif
155 :
156 : #if RK2_ENABLED
157 0 : module procedure getReweight_IK_RK2
158 : use pm_kind, only: RKC => RK2
159 : #include "pm_sampleWeight@routines.inc.F90"
160 0 : end procedure
161 : #endif
162 :
163 : #if RK1_ENABLED
164 0 : module procedure getReweight_IK_RK1
165 : use pm_kind, only: RKC => RK1
166 : #include "pm_sampleWeight@routines.inc.F90"
167 0 : end procedure
168 : #endif
169 :
170 : #undef IK_RK_ENABLED
171 :
172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173 :
174 : #undef getReweight_ENABLED
175 :
176 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177 :
178 : #define setReweight_ENABLED 1
179 :
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define IK_ENABLED 1
183 :
184 : #if IK5_ENABLED
185 0 : module procedure setReweight_IK_IK5
186 : use pm_kind, only: IKC => IK5
187 : #include "pm_sampleWeight@routines.inc.F90"
188 0 : end procedure
189 : #endif
190 :
191 : #if IK4_ENABLED
192 0 : module procedure setReweight_IK_IK4
193 : use pm_kind, only: IKC => IK4
194 : #include "pm_sampleWeight@routines.inc.F90"
195 0 : end procedure
196 : #endif
197 :
198 : #if IK3_ENABLED
199 339 : module procedure setReweight_IK_IK3
200 : use pm_kind, only: IKC => IK3
201 : #include "pm_sampleWeight@routines.inc.F90"
202 339 : end procedure
203 : #endif
204 :
205 : #if IK2_ENABLED
206 0 : module procedure setReweight_IK_IK2
207 : use pm_kind, only: IKC => IK2
208 : #include "pm_sampleWeight@routines.inc.F90"
209 0 : end procedure
210 : #endif
211 :
212 : #if IK1_ENABLED
213 0 : module procedure setReweight_IK_IK1
214 : use pm_kind, only: IKC => IK1
215 : #include "pm_sampleWeight@routines.inc.F90"
216 0 : end procedure
217 : #endif
218 :
219 : #undef IK_ENABLED
220 :
221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222 :
223 : #define RK_ENABLED 1
224 :
225 : #if RK5_ENABLED
226 : module procedure setReweight_RK_RK5
227 : use pm_kind, only: RKC => RK5
228 : #include "pm_sampleWeight@routines.inc.F90"
229 : end procedure
230 : #endif
231 :
232 : #if RK4_ENABLED
233 0 : module procedure setReweight_RK_RK4
234 : use pm_kind, only: RKC => RK4
235 : #include "pm_sampleWeight@routines.inc.F90"
236 0 : end procedure
237 : #endif
238 :
239 : #if RK3_ENABLED
240 0 : module procedure setReweight_RK_RK3
241 : use pm_kind, only: RKC => RK3
242 : #include "pm_sampleWeight@routines.inc.F90"
243 0 : end procedure
244 : #endif
245 :
246 : #if RK2_ENABLED
247 0 : module procedure setReweight_RK_RK2
248 : use pm_kind, only: RKC => RK2
249 : #include "pm_sampleWeight@routines.inc.F90"
250 0 : end procedure
251 : #endif
252 :
253 : #if RK1_ENABLED
254 20 : module procedure setReweight_RK_RK1
255 : use pm_kind, only: RKC => RK1
256 : #include "pm_sampleWeight@routines.inc.F90"
257 20 : end procedure
258 : #endif
259 :
260 : #undef RK_ENABLED
261 :
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 :
264 : #define IK_RK_ENABLED 1
265 :
266 : #if RK5_ENABLED
267 : module procedure setReweight_IK_RK5
268 : use pm_kind, only: IKC => IK, RKC => RK5
269 : #include "pm_sampleWeight@routines.inc.F90"
270 : end procedure
271 : #endif
272 :
273 : #if RK4_ENABLED
274 0 : module procedure setReweight_IK_RK4
275 : use pm_kind, only: IKC => IK, RKC => RK4
276 : #include "pm_sampleWeight@routines.inc.F90"
277 0 : end procedure
278 : #endif
279 :
280 : #if RK3_ENABLED
281 0 : module procedure setReweight_IK_RK3
282 : use pm_kind, only: IKC => IK, RKC => RK3
283 : #include "pm_sampleWeight@routines.inc.F90"
284 0 : end procedure
285 : #endif
286 :
287 : #if RK2_ENABLED
288 0 : module procedure setReweight_IK_RK2
289 : use pm_kind, only: IKC => IK, RKC => RK2
290 : #include "pm_sampleWeight@routines.inc.F90"
291 0 : end procedure
292 : #endif
293 :
294 : #if RK1_ENABLED
295 0 : module procedure setReweight_IK_RK1
296 : use pm_kind, only: IKC => IK, RKC => RK1
297 : #include "pm_sampleWeight@routines.inc.F90"
298 0 : end procedure
299 : #endif
300 :
301 : #undef IK_RK_ENABLED
302 :
303 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
304 :
305 : #undef setReweight_ENABLED
306 :
307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308 :
309 : end submodule routines
|