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_distLogUnif](@ref pm_distLogUnif).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_distLogUnif) 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_mathLogSubExp, only: getLogSubExp
40 : use pm_distUnif, only: getUnifRand
41 : implicit none
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : contains
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : #define getLogUnifPDFNF_ENABLED 1
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define RK_ENABLED 1
54 :
55 : #if RK5_ENABLED
56 : module procedure getLogUnifPDFNF_RK5
57 : use pm_kind, only: RKC => RK5
58 : #include "pm_distLogUnif@routines.inc.F90"
59 : end procedure
60 : #endif
61 :
62 : #if RK4_ENABLED
63 0 : module procedure getLogUnifPDFNF_RK4
64 : use pm_kind, only: RKC => RK4
65 : #include "pm_distLogUnif@routines.inc.F90"
66 0 : end procedure
67 : #endif
68 :
69 : #if RK3_ENABLED
70 0 : module procedure getLogUnifPDFNF_RK3
71 : use pm_kind, only: RKC => RK3
72 : #include "pm_distLogUnif@routines.inc.F90"
73 0 : end procedure
74 : #endif
75 :
76 : #if RK2_ENABLED
77 100 : module procedure getLogUnifPDFNF_RK2
78 : use pm_kind, only: RKC => RK2
79 : #include "pm_distLogUnif@routines.inc.F90"
80 100 : end procedure
81 : #endif
82 :
83 : #if RK1_ENABLED
84 21787 : module procedure getLogUnifPDFNF_RK1
85 : use pm_kind, only: RKC => RK1
86 : #include "pm_distLogUnif@routines.inc.F90"
87 21787 : end procedure
88 : #endif
89 :
90 : #undef RK_ENABLED
91 :
92 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93 :
94 : #undef getLogUnifPDFNF_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #define getLogUnifPDF_ENABLED 1
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #define MM_ENABLED 1
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #define RK_ENABLED 1
109 :
110 : #if RK5_ENABLED
111 : module procedure getLogUnifPDFMM_RK5
112 : use pm_kind, only: RKC => RK5
113 : #include "pm_distLogUnif@routines.inc.F90"
114 : end procedure
115 : #endif
116 :
117 : #if RK4_ENABLED
118 0 : module procedure getLogUnifPDFMM_RK4
119 : use pm_kind, only: RKC => RK4
120 : #include "pm_distLogUnif@routines.inc.F90"
121 0 : end procedure
122 : #endif
123 :
124 : #if RK3_ENABLED
125 0 : module procedure getLogUnifPDFMM_RK3
126 : use pm_kind, only: RKC => RK3
127 : #include "pm_distLogUnif@routines.inc.F90"
128 0 : end procedure
129 : #endif
130 :
131 : #if RK2_ENABLED
132 0 : module procedure getLogUnifPDFMM_RK2
133 : use pm_kind, only: RKC => RK2
134 : #include "pm_distLogUnif@routines.inc.F90"
135 0 : end procedure
136 : #endif
137 :
138 : #if RK1_ENABLED
139 1013 : module procedure getLogUnifPDFMM_RK1
140 : use pm_kind, only: RKC => RK1
141 : #include "pm_distLogUnif@routines.inc.F90"
142 1013 : end procedure
143 : #endif
144 :
145 : #undef RK_ENABLED
146 :
147 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148 :
149 : #undef MM_ENABLED
150 :
151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 :
155 : #undef getLogUnifPDF_ENABLED
156 :
157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158 :
159 : #define setLogUnifPDF_ENABLED 1
160 :
161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 :
163 : #define RK_ENABLED 1
164 :
165 : #if RK5_ENABLED
166 : module procedure setLogUnifPDF_RK5
167 : use pm_kind, only: RKC => RK5
168 : #include "pm_distLogUnif@routines.inc.F90"
169 : end procedure
170 : #endif
171 :
172 : #if RK4_ENABLED
173 0 : module procedure setLogUnifPDF_RK4
174 : use pm_kind, only: RKC => RK4
175 : #include "pm_distLogUnif@routines.inc.F90"
176 0 : end procedure
177 : #endif
178 :
179 : #if RK3_ENABLED
180 0 : module procedure setLogUnifPDF_RK3
181 : use pm_kind, only: RKC => RK3
182 : #include "pm_distLogUnif@routines.inc.F90"
183 0 : end procedure
184 : #endif
185 :
186 : #if RK2_ENABLED
187 0 : module procedure setLogUnifPDF_RK2
188 : use pm_kind, only: RKC => RK2
189 : #include "pm_distLogUnif@routines.inc.F90"
190 0 : end procedure
191 : #endif
192 :
193 : #if RK1_ENABLED
194 2026 : module procedure setLogUnifPDF_RK1
195 : use pm_kind, only: RKC => RK1
196 : #include "pm_distLogUnif@routines.inc.F90"
197 2026 : end procedure
198 : #endif
199 :
200 : #undef RK_ENABLED
201 :
202 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
203 :
204 : #undef setLogUnifPDF_ENABLED
205 :
206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 :
208 : #define getLogUnifCDF_ENABLED 1
209 :
210 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 :
214 : #define LL_ENABLED 1
215 :
216 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
217 :
218 : #define RK_ENABLED 1
219 :
220 : #if RK5_ENABLED
221 : module procedure getLogUnifCDFLL_RK5
222 : use pm_kind, only: RKC => RK5
223 : #include "pm_distLogUnif@routines.inc.F90"
224 : end procedure
225 : #endif
226 :
227 : #if RK4_ENABLED
228 0 : module procedure getLogUnifCDFLL_RK4
229 : use pm_kind, only: RKC => RK4
230 : #include "pm_distLogUnif@routines.inc.F90"
231 0 : end procedure
232 : #endif
233 :
234 : #if RK3_ENABLED
235 0 : module procedure getLogUnifCDFLL_RK3
236 : use pm_kind, only: RKC => RK3
237 : #include "pm_distLogUnif@routines.inc.F90"
238 0 : end procedure
239 : #endif
240 :
241 : #if RK2_ENABLED
242 0 : module procedure getLogUnifCDFLL_RK2
243 : use pm_kind, only: RKC => RK2
244 : #include "pm_distLogUnif@routines.inc.F90"
245 0 : end procedure
246 : #endif
247 :
248 : #if RK1_ENABLED
249 1918 : module procedure getLogUnifCDFLL_RK1
250 : use pm_kind, only: RKC => RK1
251 : #include "pm_distLogUnif@routines.inc.F90"
252 1918 : end procedure
253 : #endif
254 :
255 : #undef RK_ENABLED
256 :
257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
258 :
259 : #undef LL_ENABLED
260 :
261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264 :
265 : #undef getLogUnifCDF_ENABLED
266 :
267 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
268 :
269 : #define setLogUnifCDF_ENABLED 1
270 :
271 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
272 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
274 :
275 : #define LL_ENABLED 1
276 :
277 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278 :
279 : #define RK_ENABLED 1
280 :
281 : #if RK5_ENABLED
282 : module procedure setLogUnifCDFLL_RK5
283 : use pm_kind, only: RKC => RK5
284 : #include "pm_distLogUnif@routines.inc.F90"
285 : end procedure
286 : #endif
287 :
288 : #if RK4_ENABLED
289 0 : module procedure setLogUnifCDFLL_RK4
290 : use pm_kind, only: RKC => RK4
291 : #include "pm_distLogUnif@routines.inc.F90"
292 0 : end procedure
293 : #endif
294 :
295 : #if RK3_ENABLED
296 0 : module procedure setLogUnifCDFLL_RK3
297 : use pm_kind, only: RKC => RK3
298 : #include "pm_distLogUnif@routines.inc.F90"
299 0 : end procedure
300 : #endif
301 :
302 : #if RK2_ENABLED
303 0 : module procedure setLogUnifCDFLL_RK2
304 : use pm_kind, only: RKC => RK2
305 : #include "pm_distLogUnif@routines.inc.F90"
306 0 : end procedure
307 : #endif
308 :
309 : #if RK1_ENABLED
310 3836 : module procedure setLogUnifCDFLL_RK1
311 : use pm_kind, only: RKC => RK1
312 : #include "pm_distLogUnif@routines.inc.F90"
313 3836 : end procedure
314 : #endif
315 :
316 : #undef RK_ENABLED
317 :
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 :
320 : #undef LL_ENABLED
321 :
322 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
325 :
326 : #undef setLogUnifCDF_ENABLED
327 :
328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 :
330 : #define getLogUnifLogQuan_ENABLED 1
331 :
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
335 :
336 : #define LL_ENABLED 1
337 :
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 :
340 : #define RK_ENABLED 1
341 :
342 : #if RK5_ENABLED
343 : module procedure getLogUnifLogQuanLL_RK5
344 : use pm_kind, only: RKC => RK5
345 : #include "pm_distLogUnif@routines.inc.F90"
346 : end procedure
347 : #endif
348 :
349 : #if RK4_ENABLED
350 0 : module procedure getLogUnifLogQuanLL_RK4
351 : use pm_kind, only: RKC => RK4
352 : #include "pm_distLogUnif@routines.inc.F90"
353 0 : end procedure
354 : #endif
355 :
356 : #if RK3_ENABLED
357 0 : module procedure getLogUnifLogQuanLL_RK3
358 : use pm_kind, only: RKC => RK3
359 : #include "pm_distLogUnif@routines.inc.F90"
360 0 : end procedure
361 : #endif
362 :
363 : #if RK2_ENABLED
364 0 : module procedure getLogUnifLogQuanLL_RK2
365 : use pm_kind, only: RKC => RK2
366 : #include "pm_distLogUnif@routines.inc.F90"
367 0 : end procedure
368 : #endif
369 :
370 : #if RK1_ENABLED
371 4004 : module procedure getLogUnifLogQuanLL_RK1
372 : use pm_kind, only: RKC => RK1
373 : #include "pm_distLogUnif@routines.inc.F90"
374 4004 : end procedure
375 : #endif
376 :
377 : #undef RK_ENABLED
378 :
379 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380 :
381 : #undef LL_ENABLED
382 :
383 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 :
387 : #undef getLogUnifLogQuan_ENABLED
388 :
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 :
391 : #define setLogUnifLogQuan_ENABLED 1
392 :
393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 :
397 : #define LLLP_ENABLED 1
398 :
399 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
400 :
401 : #define RK_ENABLED 1
402 :
403 : #if RK5_ENABLED
404 : module procedure setLogUnifLogQuanLLLP_RK5
405 : use pm_kind, only: RKC => RK5
406 : #include "pm_distLogUnif@routines.inc.F90"
407 : end procedure
408 : #endif
409 :
410 : #if RK4_ENABLED
411 0 : module procedure setLogUnifLogQuanLLLP_RK4
412 : use pm_kind, only: RKC => RK4
413 : #include "pm_distLogUnif@routines.inc.F90"
414 0 : end procedure
415 : #endif
416 :
417 : #if RK3_ENABLED
418 0 : module procedure setLogUnifLogQuanLLLP_RK3
419 : use pm_kind, only: RKC => RK3
420 : #include "pm_distLogUnif@routines.inc.F90"
421 0 : end procedure
422 : #endif
423 :
424 : #if RK2_ENABLED
425 0 : module procedure setLogUnifLogQuanLLLP_RK2
426 : use pm_kind, only: RKC => RK2
427 : #include "pm_distLogUnif@routines.inc.F90"
428 0 : end procedure
429 : #endif
430 :
431 : #if RK1_ENABLED
432 8008 : module procedure setLogUnifLogQuanLLLP_RK1
433 : use pm_kind, only: RKC => RK1
434 : #include "pm_distLogUnif@routines.inc.F90"
435 8008 : end procedure
436 : #endif
437 :
438 : #undef RK_ENABLED
439 :
440 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
441 :
442 : #undef LLLP_ENABLED
443 :
444 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
445 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447 :
448 : #undef setLogUnifLogQuan_ENABLED
449 :
450 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
451 :
452 : #define getLogUnifRand_ENABLED 1
453 :
454 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
455 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
456 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
457 :
458 : #define MM_ENABLED 1
459 :
460 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
461 :
462 : #define IK_ENABLED 1
463 :
464 : #if IK5_ENABLED
465 100 : module procedure getLogUnifRandMM_IK5
466 : use pm_kind, only: IKC => IK5
467 : #include "pm_distLogUnif@routines.inc.F90"
468 100 : end procedure
469 : #endif
470 :
471 : #if IK4_ENABLED
472 100 : module procedure getLogUnifRandMM_IK4
473 : use pm_kind, only: IKC => IK4
474 : #include "pm_distLogUnif@routines.inc.F90"
475 100 : end procedure
476 : #endif
477 :
478 : #if IK3_ENABLED
479 120 : module procedure getLogUnifRandMM_IK3
480 : use pm_kind, only: IKC => IK3
481 : #include "pm_distLogUnif@routines.inc.F90"
482 120 : end procedure
483 : #endif
484 :
485 : #if IK2_ENABLED
486 100 : module procedure getLogUnifRandMM_IK2
487 : use pm_kind, only: IKC => IK2
488 : #include "pm_distLogUnif@routines.inc.F90"
489 100 : end procedure
490 : #endif
491 :
492 : #if IK1_ENABLED
493 100 : module procedure getLogUnifRandMM_IK1
494 : use pm_kind, only: IKC => IK1
495 : #include "pm_distLogUnif@routines.inc.F90"
496 100 : end procedure
497 : #endif
498 :
499 : #undef IK_ENABLED
500 :
501 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
502 :
503 : #define RK_ENABLED 1
504 :
505 : #if RK5_ENABLED
506 : module procedure getLogUnifRandMM_RK5
507 : use pm_kind, only: RKC => RK5
508 : #include "pm_distLogUnif@routines.inc.F90"
509 : end procedure
510 : #endif
511 :
512 : #if RK4_ENABLED
513 0 : module procedure getLogUnifRandMM_RK4
514 : use pm_kind, only: RKC => RK4
515 : #include "pm_distLogUnif@routines.inc.F90"
516 0 : end procedure
517 : #endif
518 :
519 : #if RK3_ENABLED
520 0 : module procedure getLogUnifRandMM_RK3
521 : use pm_kind, only: RKC => RK3
522 : #include "pm_distLogUnif@routines.inc.F90"
523 0 : end procedure
524 : #endif
525 :
526 : #if RK2_ENABLED
527 100 : module procedure getLogUnifRandMM_RK2
528 : use pm_kind, only: RKC => RK2
529 : #include "pm_distLogUnif@routines.inc.F90"
530 100 : end procedure
531 : #endif
532 :
533 : #if RK1_ENABLED
534 4424 : module procedure getLogUnifRandMM_RK1
535 : use pm_kind, only: RKC => RK1
536 : #include "pm_distLogUnif@routines.inc.F90"
537 4424 : end procedure
538 : #endif
539 :
540 : #undef RK_ENABLED
541 :
542 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543 :
544 : #undef MM_ENABLED
545 :
546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549 :
550 : #undef getLogUnifRand_ENABLED
551 :
552 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
553 :
554 : #define setLogUnifLogRand_ENABLED 1
555 :
556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559 :
560 : #define LLLP_ENABLED 1
561 :
562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
563 :
564 : #define RK_ENABLED 1
565 :
566 : #if RK5_ENABLED
567 : module procedure setLogUnifLogRandLLLP_RK5
568 : use pm_kind, only: RKC => RK5
569 : #include "pm_distLogUnif@routines.inc.F90"
570 : end procedure
571 : #endif
572 :
573 : #if RK4_ENABLED
574 0 : module procedure setLogUnifLogRandLLLP_RK4
575 : use pm_kind, only: RKC => RK4
576 : #include "pm_distLogUnif@routines.inc.F90"
577 0 : end procedure
578 : #endif
579 :
580 : #if RK3_ENABLED
581 0 : module procedure setLogUnifLogRandLLLP_RK3
582 : use pm_kind, only: RKC => RK3
583 : #include "pm_distLogUnif@routines.inc.F90"
584 0 : end procedure
585 : #endif
586 :
587 : #if RK2_ENABLED
588 100 : module procedure setLogUnifLogRandLLLP_RK2
589 : use pm_kind, only: RKC => RK2
590 : #include "pm_distLogUnif@routines.inc.F90"
591 100 : end procedure
592 : #endif
593 :
594 : #if RK1_ENABLED
595 8428 : module procedure setLogUnifLogRandLLLP_RK1
596 : use pm_kind, only: RKC => RK1
597 : #include "pm_distLogUnif@routines.inc.F90"
598 8428 : end procedure
599 : #endif
600 :
601 : #undef RK_ENABLED
602 :
603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
604 :
605 : #undef LLLP_ENABLED
606 :
607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 :
611 : #undef setLogUnifLogRand_ENABLED
612 :
613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
614 :
615 : #undef CHECK_ASSERTION
616 :
617 : end submodule routines
|