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_arraySpace](@ref pm_arraySpace).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arraySpace) 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 getLinSpace_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define RK_ENABLED 1
52 :
53 : #if RK5_ENABLED
54 : module procedure getLinSpace_RK5
55 : use pm_kind, only: TKC => RK5
56 : #include "pm_arraySpace@routines.inc.F90"
57 : end procedure
58 : #endif
59 :
60 : #if RK4_ENABLED
61 187 : module procedure getLinSpace_RK4
62 : use pm_kind, only: TKC => RK4
63 : #include "pm_arraySpace@routines.inc.F90"
64 187 : end procedure
65 : #endif
66 :
67 : #if RK3_ENABLED
68 162 : module procedure getLinSpace_RK3
69 : use pm_kind, only: TKC => RK3
70 : #include "pm_arraySpace@routines.inc.F90"
71 162 : end procedure
72 : #endif
73 :
74 : #if RK2_ENABLED
75 208 : module procedure getLinSpace_RK2
76 : use pm_kind, only: TKC => RK2
77 : #include "pm_arraySpace@routines.inc.F90"
78 208 : end procedure
79 : #endif
80 :
81 : #if RK1_ENABLED
82 399 : module procedure getLinSpace_RK1
83 : use pm_kind, only: TKC => RK1
84 : #include "pm_arraySpace@routines.inc.F90"
85 399 : end procedure
86 : #endif
87 :
88 : #undef RK_ENABLED
89 :
90 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91 :
92 : #define CK_ENABLED 1
93 :
94 : #if CK5_ENABLED
95 : module procedure getLinSpace_CK5
96 : use pm_kind, only: TKC => CK5
97 : #include "pm_arraySpace@routines.inc.F90"
98 : end procedure
99 : #endif
100 :
101 : #if CK4_ENABLED
102 174 : module procedure getLinSpace_CK4
103 : use pm_kind, only: TKC => CK4
104 : #include "pm_arraySpace@routines.inc.F90"
105 174 : end procedure
106 : #endif
107 :
108 : #if CK3_ENABLED
109 156 : module procedure getLinSpace_CK3
110 : use pm_kind, only: TKC => CK3
111 : #include "pm_arraySpace@routines.inc.F90"
112 156 : end procedure
113 : #endif
114 :
115 : #if CK2_ENABLED
116 176 : module procedure getLinSpace_CK2
117 : use pm_kind, only: TKC => CK2
118 : #include "pm_arraySpace@routines.inc.F90"
119 176 : end procedure
120 : #endif
121 :
122 : #if CK1_ENABLED
123 175 : module procedure getLinSpace_CK1
124 : use pm_kind, only: TKC => CK1
125 : #include "pm_arraySpace@routines.inc.F90"
126 175 : end procedure
127 : #endif
128 :
129 : #undef CK_ENABLED
130 :
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 :
133 : #undef getLinSpace_ENABLED
134 :
135 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
136 :
137 : #define setLinSpace_ENABLED 1
138 :
139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 :
141 : #define RK_ENABLED 1
142 :
143 : #if RK5_ENABLED
144 : module procedure setLinSpace_RK5
145 : use pm_kind, only: TKC => RK5
146 : #include "pm_arraySpace@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if RK4_ENABLED
151 373 : module procedure setLinSpace_RK4
152 : use pm_kind, only: TKC => RK4
153 : #include "pm_arraySpace@routines.inc.F90"
154 : end procedure
155 : #endif
156 :
157 : #if RK3_ENABLED
158 318 : module procedure setLinSpace_RK3
159 : use pm_kind, only: TKC => RK3
160 : #include "pm_arraySpace@routines.inc.F90"
161 : end procedure
162 : #endif
163 :
164 : #if RK2_ENABLED
165 11926 : module procedure setLinSpace_RK2
166 : use pm_kind, only: TKC => RK2
167 : #include "pm_arraySpace@routines.inc.F90"
168 : end procedure
169 : #endif
170 :
171 : #if RK1_ENABLED
172 625 : module procedure setLinSpace_RK1
173 : use pm_kind, only: TKC => RK1
174 : #include "pm_arraySpace@routines.inc.F90"
175 : end procedure
176 : #endif
177 :
178 : #undef RK_ENABLED
179 :
180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
181 :
182 : #define CK_ENABLED 1
183 :
184 : #if CK5_ENABLED
185 : module procedure setLinSpace_CK5
186 : use pm_kind, only: TKC => CK5
187 : #include "pm_arraySpace@routines.inc.F90"
188 : end procedure
189 : #endif
190 :
191 : #if CK4_ENABLED
192 348 : module procedure setLinSpace_CK4
193 : use pm_kind, only: TKC => CK4
194 : #include "pm_arraySpace@routines.inc.F90"
195 : end procedure
196 : #endif
197 :
198 : #if CK3_ENABLED
199 312 : module procedure setLinSpace_CK3
200 : use pm_kind, only: TKC => CK3
201 : #include "pm_arraySpace@routines.inc.F90"
202 : end procedure
203 : #endif
204 :
205 : #if CK2_ENABLED
206 350 : module procedure setLinSpace_CK2
207 : use pm_kind, only: TKC => CK2
208 : #include "pm_arraySpace@routines.inc.F90"
209 : end procedure
210 : #endif
211 :
212 : #if CK1_ENABLED
213 349 : module procedure setLinSpace_CK1
214 : use pm_kind, only: TKC => CK1
215 : #include "pm_arraySpace@routines.inc.F90"
216 : end procedure
217 : #endif
218 :
219 : #undef CK_ENABLED
220 :
221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222 :
223 : #undef setLinSpace_ENABLED
224 :
225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226 :
227 : #define getLogSpace_ENABLED 1
228 :
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 :
231 : #define CK_ENABLED 1
232 :
233 : #if CK5_ENABLED
234 : module procedure getLogSpace_CK5
235 : use pm_kind, only: TKC => CK5
236 : #include "pm_arraySpace@routines.inc.F90"
237 : end procedure
238 : #endif
239 :
240 : #if CK4_ENABLED
241 114 : module procedure getLogSpace_CK4
242 : use pm_kind, only: TKC => CK4
243 : #include "pm_arraySpace@routines.inc.F90"
244 114 : end procedure
245 : #endif
246 :
247 : #if CK3_ENABLED
248 104 : module procedure getLogSpace_CK3
249 : use pm_kind, only: TKC => CK3
250 : #include "pm_arraySpace@routines.inc.F90"
251 104 : end procedure
252 : #endif
253 :
254 : #if CK2_ENABLED
255 114 : module procedure getLogSpace_CK2
256 : use pm_kind, only: TKC => CK2
257 : #include "pm_arraySpace@routines.inc.F90"
258 114 : end procedure
259 : #endif
260 :
261 : #if CK1_ENABLED
262 114 : module procedure getLogSpace_CK1
263 : use pm_kind, only: TKC => CK1
264 : #include "pm_arraySpace@routines.inc.F90"
265 114 : end procedure
266 : #endif
267 :
268 : #undef CK_ENABLED
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #define RK_ENABLED 1
273 :
274 : #if RK5_ENABLED
275 : module procedure getLogSpace_RK5
276 : use pm_kind, only: TKC => RK5
277 : #include "pm_arraySpace@routines.inc.F90"
278 : end procedure
279 : #endif
280 :
281 : #if RK4_ENABLED
282 114 : module procedure getLogSpace_RK4
283 : use pm_kind, only: TKC => RK4
284 : #include "pm_arraySpace@routines.inc.F90"
285 114 : end procedure
286 : #endif
287 :
288 : #if RK3_ENABLED
289 104 : module procedure getLogSpace_RK3
290 : use pm_kind, only: TKC => RK3
291 : #include "pm_arraySpace@routines.inc.F90"
292 104 : end procedure
293 : #endif
294 :
295 : #if RK2_ENABLED
296 115 : module procedure getLogSpace_RK2
297 : use pm_kind, only: TKC => RK2
298 : #include "pm_arraySpace@routines.inc.F90"
299 115 : end procedure
300 : #endif
301 :
302 : #if RK1_ENABLED
303 148 : module procedure getLogSpace_RK1
304 : use pm_kind, only: TKC => RK1
305 : #include "pm_arraySpace@routines.inc.F90"
306 148 : end procedure
307 : #endif
308 :
309 : #undef RK_ENABLED
310 :
311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 :
313 : #undef getLogSpace_ENABLED
314 :
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 :
317 : #define setLogSpace_ENABLED 1
318 :
319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 :
321 : #define CK_ENABLED 1
322 :
323 : #if CK5_ENABLED
324 : module procedure setLogSpace_CK5
325 : use pm_kind, only: TKC => CK5
326 : #include "pm_arraySpace@routines.inc.F90"
327 : end procedure
328 : #endif
329 :
330 : #if CK4_ENABLED
331 114 : module procedure setLogSpace_CK4
332 : use pm_kind, only: TKC => CK4
333 : #include "pm_arraySpace@routines.inc.F90"
334 114 : end procedure
335 : #endif
336 :
337 : #if CK3_ENABLED
338 104 : module procedure setLogSpace_CK3
339 : use pm_kind, only: TKC => CK3
340 : #include "pm_arraySpace@routines.inc.F90"
341 104 : end procedure
342 : #endif
343 :
344 : #if CK2_ENABLED
345 114 : module procedure setLogSpace_CK2
346 : use pm_kind, only: TKC => CK2
347 : #include "pm_arraySpace@routines.inc.F90"
348 114 : end procedure
349 : #endif
350 :
351 : #if CK1_ENABLED
352 114 : module procedure setLogSpace_CK1
353 : use pm_kind, only: TKC => CK1
354 : #include "pm_arraySpace@routines.inc.F90"
355 114 : end procedure
356 : #endif
357 :
358 : #undef CK_ENABLED
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 :
362 : #define RK_ENABLED 1
363 :
364 : #if RK5_ENABLED
365 : module procedure setLogSpace_RK5
366 : use pm_kind, only: TKC => RK5
367 : #include "pm_arraySpace@routines.inc.F90"
368 : end procedure
369 : #endif
370 :
371 : #if RK4_ENABLED
372 116 : module procedure setLogSpace_RK4
373 : use pm_kind, only: TKC => RK4
374 : #include "pm_arraySpace@routines.inc.F90"
375 116 : end procedure
376 : #endif
377 :
378 : #if RK3_ENABLED
379 104 : module procedure setLogSpace_RK3
380 : use pm_kind, only: TKC => RK3
381 : #include "pm_arraySpace@routines.inc.F90"
382 104 : end procedure
383 : #endif
384 :
385 : #if RK2_ENABLED
386 129 : module procedure setLogSpace_RK2
387 : use pm_kind, only: TKC => RK2
388 : #include "pm_arraySpace@routines.inc.F90"
389 129 : end procedure
390 : #endif
391 :
392 : #if RK1_ENABLED
393 122 : module procedure setLogSpace_RK1
394 : use pm_kind, only: TKC => RK1
395 : #include "pm_arraySpace@routines.inc.F90"
396 122 : end procedure
397 : #endif
398 :
399 : #undef RK_ENABLED
400 :
401 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402 :
403 : #undef setLogSpace_ENABLED
404 :
405 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406 :
407 : #undef CHECK_ASSERTION
408 :
409 : end submodule routines
|