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_distGamma](@ref pm_distGamma).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_distGamma) 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_mathGamma, only: setGammaIncLow
40 : use pm_distUnif, only: setUnifRand
41 : use pm_distNorm, only: setNormRand
42 : implicit none
43 :
44 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 :
46 : contains
47 :
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 :
50 : #define getGammaLogPDFNF_ENABLED 1
51 :
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 :
56 : #define KD_ENABLED 1
57 :
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : #define RK_ENABLED 1
61 :
62 : #if RK5_ENABLED
63 : module procedure getGammaLogPDFNFKD_RK5
64 : use pm_kind, only: RKC => RK5
65 : #include "pm_distGamma@routines.inc.F90"
66 : end procedure
67 : #endif
68 :
69 : #if RK4_ENABLED
70 8843634 : module procedure getGammaLogPDFNFKD_RK4
71 : use pm_kind, only: RKC => RK4
72 : #include "pm_distGamma@routines.inc.F90"
73 8843634 : end procedure
74 : #endif
75 :
76 : #if RK3_ENABLED
77 480 : module procedure getGammaLogPDFNFKD_RK3
78 : use pm_kind, only: RKC => RK3
79 : #include "pm_distGamma@routines.inc.F90"
80 480 : end procedure
81 : #endif
82 :
83 : #if RK2_ENABLED
84 118398 : module procedure getGammaLogPDFNFKD_RK2
85 : use pm_kind, only: RKC => RK2
86 : #include "pm_distGamma@routines.inc.F90"
87 118398 : end procedure
88 : #endif
89 :
90 : #if RK1_ENABLED
91 25570 : module procedure getGammaLogPDFNFKD_RK1
92 : use pm_kind, only: RKC => RK1
93 : #include "pm_distGamma@routines.inc.F90"
94 25570 : end procedure
95 : #endif
96 :
97 : #undef RK_ENABLED
98 :
99 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100 :
101 : #undef KD_ENABLED
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106 :
107 : #define KS_ENABLED 1
108 :
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define RK_ENABLED 1
112 :
113 : #if RK5_ENABLED
114 : module procedure getGammaLogPDFNFKS_RK5
115 : use pm_kind, only: RKC => RK5
116 : #include "pm_distGamma@routines.inc.F90"
117 : end procedure
118 : #endif
119 :
120 : #if RK4_ENABLED
121 8843574 : module procedure getGammaLogPDFNFKS_RK4
122 : use pm_kind, only: RKC => RK4
123 : #include "pm_distGamma@routines.inc.F90"
124 8843574 : end procedure
125 : #endif
126 :
127 : #if RK3_ENABLED
128 420 : module procedure getGammaLogPDFNFKS_RK3
129 : use pm_kind, only: RKC => RK3
130 : #include "pm_distGamma@routines.inc.F90"
131 420 : end procedure
132 : #endif
133 :
134 : #if RK2_ENABLED
135 118338 : module procedure getGammaLogPDFNFKS_RK2
136 : use pm_kind, only: RKC => RK2
137 : #include "pm_distGamma@routines.inc.F90"
138 118338 : end procedure
139 : #endif
140 :
141 : #if RK1_ENABLED
142 25510 : module procedure getGammaLogPDFNFKS_RK1
143 : use pm_kind, only: RKC => RK1
144 : #include "pm_distGamma@routines.inc.F90"
145 25510 : end procedure
146 : #endif
147 :
148 : #undef RK_ENABLED
149 :
150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151 :
152 : #undef KS_ENABLED
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
157 :
158 : #undef getGammaLogPDFNF_ENABLED
159 :
160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 :
162 : #define getGammaLogPDF_ENABLED 1
163 :
164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 :
166 : #define RK_ENABLED 1
167 :
168 : #if RK5_ENABLED
169 : module procedure getGammaLogPDF_RK5
170 : use pm_kind, only: RKC => RK5
171 : #include "pm_distGamma@routines.inc.F90"
172 : end procedure
173 : #endif
174 :
175 : #if RK4_ENABLED
176 2947838 : module procedure getGammaLogPDF_RK4
177 : use pm_kind, only: RKC => RK4
178 : #include "pm_distGamma@routines.inc.F90"
179 2947838 : end procedure
180 : #endif
181 :
182 : #if RK3_ENABLED
183 120 : module procedure getGammaLogPDF_RK3
184 : use pm_kind, only: RKC => RK3
185 : #include "pm_distGamma@routines.inc.F90"
186 120 : end procedure
187 : #endif
188 :
189 : #if RK2_ENABLED
190 39426 : module procedure getGammaLogPDF_RK2
191 : use pm_kind, only: RKC => RK2
192 : #include "pm_distGamma@routines.inc.F90"
193 39426 : end procedure
194 : #endif
195 :
196 : #if RK1_ENABLED
197 4131 : module procedure getGammaLogPDF_RK1
198 : use pm_kind, only: RKC => RK1
199 : #include "pm_distGamma@routines.inc.F90"
200 4131 : end procedure
201 : #endif
202 :
203 : #undef RK_ENABLED
204 :
205 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 :
207 : #undef getGammaLogPDF_ENABLED
208 :
209 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210 :
211 : #define setGammaLogPDF_ENABLED 1
212 :
213 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 :
217 : #define DDD_ENABLED 1
218 :
219 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
220 :
221 : #define RK_ENABLED 1
222 :
223 : #if RK5_ENABLED
224 : module procedure setGammaLogPDFDDD_RK5
225 : use pm_kind, only: RKC => RK5
226 : #include "pm_distGamma@routines.inc.F90"
227 : end procedure
228 : #endif
229 :
230 : #if RK4_ENABLED
231 20 : module procedure setGammaLogPDFDDD_RK4
232 : use pm_kind, only: RKC => RK4
233 : #include "pm_distGamma@routines.inc.F90"
234 20 : end procedure
235 : #endif
236 :
237 : #if RK3_ENABLED
238 20 : module procedure setGammaLogPDFDDD_RK3
239 : use pm_kind, only: RKC => RK3
240 : #include "pm_distGamma@routines.inc.F90"
241 20 : end procedure
242 : #endif
243 :
244 : #if RK2_ENABLED
245 20 : module procedure setGammaLogPDFDDD_RK2
246 : use pm_kind, only: RKC => RK2
247 : #include "pm_distGamma@routines.inc.F90"
248 20 : end procedure
249 : #endif
250 :
251 : #if RK1_ENABLED
252 21 : module procedure setGammaLogPDFDDD_RK1
253 : use pm_kind, only: RKC => RK1
254 : #include "pm_distGamma@routines.inc.F90"
255 21 : end procedure
256 : #endif
257 :
258 : #undef RK_ENABLED
259 :
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 :
262 : #undef DDD_ENABLED
263 :
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 :
268 : #define NKD_ENABLED 1
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #define RK_ENABLED 1
273 :
274 : #if RK5_ENABLED
275 : module procedure setGammaLogPDFNKD_RK5
276 : use pm_kind, only: RKC => RK5
277 : #include "pm_distGamma@routines.inc.F90"
278 : end procedure
279 : #endif
280 :
281 : #if RK4_ENABLED
282 20 : module procedure setGammaLogPDFNKD_RK4
283 : use pm_kind, only: RKC => RK4
284 : #include "pm_distGamma@routines.inc.F90"
285 20 : end procedure
286 : #endif
287 :
288 : #if RK3_ENABLED
289 20 : module procedure setGammaLogPDFNKD_RK3
290 : use pm_kind, only: RKC => RK3
291 : #include "pm_distGamma@routines.inc.F90"
292 20 : end procedure
293 : #endif
294 :
295 : #if RK2_ENABLED
296 20 : module procedure setGammaLogPDFNKD_RK2
297 : use pm_kind, only: RKC => RK2
298 : #include "pm_distGamma@routines.inc.F90"
299 20 : end procedure
300 : #endif
301 :
302 : #if RK1_ENABLED
303 20 : module procedure setGammaLogPDFNKD_RK1
304 : use pm_kind, only: RKC => RK1
305 : #include "pm_distGamma@routines.inc.F90"
306 20 : end procedure
307 : #endif
308 :
309 : #undef RK_ENABLED
310 :
311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 :
313 : #undef NKD_ENABLED
314 :
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 :
319 : #define NKS_ENABLED 1
320 :
321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 :
323 : #define RK_ENABLED 1
324 :
325 : #if RK5_ENABLED
326 : module procedure setGammaLogPDFNKS_RK5
327 : use pm_kind, only: RKC => RK5
328 : #include "pm_distGamma@routines.inc.F90"
329 : end procedure
330 : #endif
331 :
332 : #if RK4_ENABLED
333 2947858 : module procedure setGammaLogPDFNKS_RK4
334 : use pm_kind, only: RKC => RK4
335 : #include "pm_distGamma@routines.inc.F90"
336 2947858 : end procedure
337 : #endif
338 :
339 : #if RK3_ENABLED
340 140 : module procedure setGammaLogPDFNKS_RK3
341 : use pm_kind, only: RKC => RK3
342 : #include "pm_distGamma@routines.inc.F90"
343 140 : end procedure
344 : #endif
345 :
346 : #if RK2_ENABLED
347 39446 : module procedure setGammaLogPDFNKS_RK2
348 : use pm_kind, only: RKC => RK2
349 : #include "pm_distGamma@routines.inc.F90"
350 39446 : end procedure
351 : #endif
352 :
353 : #if RK1_ENABLED
354 8167 : module procedure setGammaLogPDFNKS_RK1
355 : use pm_kind, only: RKC => RK1
356 : #include "pm_distGamma@routines.inc.F90"
357 8167 : end procedure
358 : #endif
359 :
360 : #undef RK_ENABLED
361 :
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 :
364 : #undef NKS_ENABLED
365 :
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
368 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
369 :
370 : #undef setGammaLogPDF_ENABLED
371 :
372 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
373 :
374 : #define getGammaCDF_ENABLED 1
375 :
376 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
377 :
378 : #define RK_ENABLED 1
379 :
380 : #if RK5_ENABLED
381 : module procedure getGammaCDF_RK5
382 : use pm_kind, only: RKC => RK5
383 : #include "pm_distGamma@routines.inc.F90"
384 : end procedure
385 : #endif
386 :
387 : #if RK4_ENABLED
388 0 : module procedure getGammaCDF_RK4
389 : use pm_kind, only: RKC => RK4
390 : #include "pm_distGamma@routines.inc.F90"
391 0 : end procedure
392 : #endif
393 :
394 : #if RK3_ENABLED
395 0 : module procedure getGammaCDF_RK3
396 : use pm_kind, only: RKC => RK3
397 : #include "pm_distGamma@routines.inc.F90"
398 0 : end procedure
399 : #endif
400 :
401 : #if RK2_ENABLED
402 0 : module procedure getGammaCDF_RK2
403 : use pm_kind, only: RKC => RK2
404 : #include "pm_distGamma@routines.inc.F90"
405 0 : end procedure
406 : #endif
407 :
408 : #if RK1_ENABLED
409 4017 : module procedure getGammaCDF_RK1
410 : use pm_kind, only: RKC => RK1
411 : #include "pm_distGamma@routines.inc.F90"
412 4017 : end procedure
413 : #endif
414 :
415 : #undef RK_ENABLED
416 :
417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418 :
419 : #undef getGammaCDF_ENABLED
420 :
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 :
423 : #define setGammaCDF_ENABLED 1
424 :
425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
426 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428 :
429 : #define DD_ENABLED 1
430 :
431 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
432 :
433 : #define RK_ENABLED 1
434 :
435 : #if RK5_ENABLED
436 : module procedure setGammaCDFDD_RK5
437 : use pm_kind, only: RKC => RK5
438 : #include "pm_distGamma@routines.inc.F90"
439 : end procedure
440 : #endif
441 :
442 : #if RK4_ENABLED
443 0 : module procedure setGammaCDFDD_RK4
444 : use pm_kind, only: RKC => RK4
445 : #include "pm_distGamma@routines.inc.F90"
446 0 : end procedure
447 : #endif
448 :
449 : #if RK3_ENABLED
450 0 : module procedure setGammaCDFDD_RK3
451 : use pm_kind, only: RKC => RK3
452 : #include "pm_distGamma@routines.inc.F90"
453 0 : end procedure
454 : #endif
455 :
456 : #if RK2_ENABLED
457 0 : module procedure setGammaCDFDD_RK2
458 : use pm_kind, only: RKC => RK2
459 : #include "pm_distGamma@routines.inc.F90"
460 0 : end procedure
461 : #endif
462 :
463 : #if RK1_ENABLED
464 1 : module procedure setGammaCDFDD_RK1
465 : use pm_kind, only: RKC => RK1
466 : #include "pm_distGamma@routines.inc.F90"
467 1 : end procedure
468 : #endif
469 :
470 : #undef RK_ENABLED
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 :
474 : #undef DD_ENABLED
475 :
476 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
478 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
479 :
480 : #define KD_ENABLED 1
481 :
482 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 :
484 : #define RK_ENABLED 1
485 :
486 : #if RK5_ENABLED
487 : module procedure setGammaCDFKD_RK5
488 : use pm_kind, only: RKC => RK5
489 : #include "pm_distGamma@routines.inc.F90"
490 : end procedure
491 : #endif
492 :
493 : #if RK4_ENABLED
494 0 : module procedure setGammaCDFKD_RK4
495 : use pm_kind, only: RKC => RK4
496 : #include "pm_distGamma@routines.inc.F90"
497 0 : end procedure
498 : #endif
499 :
500 : #if RK3_ENABLED
501 0 : module procedure setGammaCDFKD_RK3
502 : use pm_kind, only: RKC => RK3
503 : #include "pm_distGamma@routines.inc.F90"
504 0 : end procedure
505 : #endif
506 :
507 : #if RK2_ENABLED
508 0 : module procedure setGammaCDFKD_RK2
509 : use pm_kind, only: RKC => RK2
510 : #include "pm_distGamma@routines.inc.F90"
511 0 : end procedure
512 : #endif
513 :
514 : #if RK1_ENABLED
515 4017 : module procedure setGammaCDFKD_RK1
516 : use pm_kind, only: RKC => RK1
517 : #include "pm_distGamma@routines.inc.F90"
518 4017 : end procedure
519 : #endif
520 :
521 : #undef RK_ENABLED
522 :
523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524 :
525 : #undef KD_ENABLED
526 :
527 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 :
531 : #define KS_ENABLED 1
532 :
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 :
535 : #define RK_ENABLED 1
536 :
537 : #if RK5_ENABLED
538 : module procedure setGammaCDFKS_RK5
539 : use pm_kind, only: RKC => RK5
540 : #include "pm_distGamma@routines.inc.F90"
541 : end procedure
542 : #endif
543 :
544 : #if RK4_ENABLED
545 32356 : module procedure setGammaCDFKS_RK4
546 : use pm_kind, only: RKC => RK4
547 : #include "pm_distGamma@routines.inc.F90"
548 32356 : end procedure
549 : #endif
550 :
551 : #if RK3_ENABLED
552 0 : module procedure setGammaCDFKS_RK3
553 : use pm_kind, only: RKC => RK3
554 : #include "pm_distGamma@routines.inc.F90"
555 0 : end procedure
556 : #endif
557 :
558 : #if RK2_ENABLED
559 13840 : module procedure setGammaCDFKS_RK2
560 : use pm_kind, only: RKC => RK2
561 : #include "pm_distGamma@routines.inc.F90"
562 13840 : end procedure
563 : #endif
564 :
565 : #if RK1_ENABLED
566 4016 : module procedure setGammaCDFKS_RK1
567 : use pm_kind, only: RKC => RK1
568 : #include "pm_distGamma@routines.inc.F90"
569 4016 : end procedure
570 : #endif
571 :
572 : #undef RK_ENABLED
573 :
574 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
575 :
576 : #undef KS_ENABLED
577 :
578 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
579 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581 :
582 : #undef setGammaCDF_ENABLED
583 :
584 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585 :
586 : #define setGammaRand_ENABLED 1
587 :
588 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
591 :
592 : #define KR_ENABLED 1
593 :
594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
595 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
597 :
598 : #define D0_ENABLED 1
599 :
600 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
601 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603 :
604 : #define RNGD_ENABLED 1
605 :
606 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607 :
608 : #define RK_ENABLED 1
609 :
610 : #if RK5_ENABLED
611 : module procedure setGammaRandRNGD_D0_RK5
612 : use pm_kind, only: RKC => RK5
613 : #include "pm_distGamma@routines.inc.F90"
614 : end procedure
615 : #endif
616 :
617 : #if RK4_ENABLED
618 0 : module procedure setGammaRandRNGD_D0_RK4
619 : use pm_kind, only: RKC => RK4
620 : #include "pm_distGamma@routines.inc.F90"
621 0 : end procedure
622 : #endif
623 :
624 : #if RK3_ENABLED
625 0 : module procedure setGammaRandRNGD_D0_RK3
626 : use pm_kind, only: RKC => RK3
627 : #include "pm_distGamma@routines.inc.F90"
628 0 : end procedure
629 : #endif
630 :
631 : #if RK2_ENABLED
632 0 : module procedure setGammaRandRNGD_D0_RK2
633 : use pm_kind, only: RKC => RK2
634 : #include "pm_distGamma@routines.inc.F90"
635 0 : end procedure
636 : #endif
637 :
638 : #if RK1_ENABLED
639 8 : module procedure setGammaRandRNGD_D0_RK1
640 : use pm_kind, only: RKC => RK1
641 : #include "pm_distGamma@routines.inc.F90"
642 8 : end procedure
643 : #endif
644 :
645 : #undef RK_ENABLED
646 :
647 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648 :
649 : #undef RNGD_ENABLED
650 :
651 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
653 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
654 :
655 : #define RNGF_ENABLED 1
656 :
657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658 :
659 : #define RK_ENABLED 1
660 :
661 : #if RK5_ENABLED
662 : module procedure setGammaRandRNGF_D0_RK5
663 : use pm_kind, only: RKC => RK5
664 : #include "pm_distGamma@routines.inc.F90"
665 : end procedure
666 : #endif
667 :
668 : #if RK4_ENABLED
669 0 : module procedure setGammaRandRNGF_D0_RK4
670 : use pm_kind, only: RKC => RK4
671 : #include "pm_distGamma@routines.inc.F90"
672 0 : end procedure
673 : #endif
674 :
675 : #if RK3_ENABLED
676 0 : module procedure setGammaRandRNGF_D0_RK3
677 : use pm_kind, only: RKC => RK3
678 : #include "pm_distGamma@routines.inc.F90"
679 0 : end procedure
680 : #endif
681 :
682 : #if RK2_ENABLED
683 0 : module procedure setGammaRandRNGF_D0_RK2
684 : use pm_kind, only: RKC => RK2
685 : #include "pm_distGamma@routines.inc.F90"
686 0 : end procedure
687 : #endif
688 :
689 : #if RK1_ENABLED
690 434 : module procedure setGammaRandRNGF_D0_RK1
691 : use pm_kind, only: RKC => RK1
692 : #include "pm_distGamma@routines.inc.F90"
693 434 : end procedure
694 : #endif
695 :
696 : #undef RK_ENABLED
697 :
698 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
699 :
700 : #undef RNGF_ENABLED
701 :
702 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
703 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
704 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
705 :
706 : #define RNGX_ENABLED 1
707 :
708 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
709 :
710 : #define RK_ENABLED 1
711 :
712 : #if RK5_ENABLED
713 : module procedure setGammaRandRNGX_D0_RK5
714 : use pm_kind, only: RKC => RK5
715 : #include "pm_distGamma@routines.inc.F90"
716 : end procedure
717 : #endif
718 :
719 : #if RK4_ENABLED
720 0 : module procedure setGammaRandRNGX_D0_RK4
721 : use pm_kind, only: RKC => RK4
722 : #include "pm_distGamma@routines.inc.F90"
723 0 : end procedure
724 : #endif
725 :
726 : #if RK3_ENABLED
727 0 : module procedure setGammaRandRNGX_D0_RK3
728 : use pm_kind, only: RKC => RK3
729 : #include "pm_distGamma@routines.inc.F90"
730 0 : end procedure
731 : #endif
732 :
733 : #if RK2_ENABLED
734 0 : module procedure setGammaRandRNGX_D0_RK2
735 : use pm_kind, only: RKC => RK2
736 : #include "pm_distGamma@routines.inc.F90"
737 0 : end procedure
738 : #endif
739 :
740 : #if RK1_ENABLED
741 0 : module procedure setGammaRandRNGX_D0_RK1
742 : use pm_kind, only: RKC => RK1
743 : #include "pm_distGamma@routines.inc.F90"
744 0 : end procedure
745 : #endif
746 :
747 : #undef RK_ENABLED
748 :
749 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
750 :
751 : #undef RNGX_ENABLED
752 :
753 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 :
757 : #undef D0_ENABLED
758 :
759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
761 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
762 :
763 : #define D1_ENABLED 1
764 :
765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
766 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
767 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768 :
769 : #define RNGD_ENABLED 1
770 :
771 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
772 :
773 : #define RK_ENABLED 1
774 :
775 : #if RK5_ENABLED
776 : module procedure setGammaRandRNGD_D1_RK5
777 : use pm_kind, only: RKC => RK5
778 : #include "pm_distGamma@routines.inc.F90"
779 : end procedure
780 : #endif
781 :
782 : #if RK4_ENABLED
783 0 : module procedure setGammaRandRNGD_D1_RK4
784 : use pm_kind, only: RKC => RK4
785 : #include "pm_distGamma@routines.inc.F90"
786 0 : end procedure
787 : #endif
788 :
789 : #if RK3_ENABLED
790 0 : module procedure setGammaRandRNGD_D1_RK3
791 : use pm_kind, only: RKC => RK3
792 : #include "pm_distGamma@routines.inc.F90"
793 0 : end procedure
794 : #endif
795 :
796 : #if RK2_ENABLED
797 0 : module procedure setGammaRandRNGD_D1_RK2
798 : use pm_kind, only: RKC => RK2
799 : #include "pm_distGamma@routines.inc.F90"
800 0 : end procedure
801 : #endif
802 :
803 : #if RK1_ENABLED
804 12 : module procedure setGammaRandRNGD_D1_RK1
805 : use pm_kind, only: RKC => RK1
806 : #include "pm_distGamma@routines.inc.F90"
807 12 : end procedure
808 : #endif
809 :
810 : #undef RK_ENABLED
811 :
812 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
813 :
814 : #undef RNGD_ENABLED
815 :
816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
817 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
818 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
819 :
820 : #define RNGF_ENABLED 1
821 :
822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
823 :
824 : #define RK_ENABLED 1
825 :
826 : #if RK5_ENABLED
827 : module procedure setGammaRandRNGF_D1_RK5
828 : use pm_kind, only: RKC => RK5
829 : #include "pm_distGamma@routines.inc.F90"
830 : end procedure
831 : #endif
832 :
833 : #if RK4_ENABLED
834 0 : module procedure setGammaRandRNGF_D1_RK4
835 : use pm_kind, only: RKC => RK4
836 : #include "pm_distGamma@routines.inc.F90"
837 0 : end procedure
838 : #endif
839 :
840 : #if RK3_ENABLED
841 0 : module procedure setGammaRandRNGF_D1_RK3
842 : use pm_kind, only: RKC => RK3
843 : #include "pm_distGamma@routines.inc.F90"
844 0 : end procedure
845 : #endif
846 :
847 : #if RK2_ENABLED
848 0 : module procedure setGammaRandRNGF_D1_RK2
849 : use pm_kind, only: RKC => RK2
850 : #include "pm_distGamma@routines.inc.F90"
851 0 : end procedure
852 : #endif
853 :
854 : #if RK1_ENABLED
855 0 : module procedure setGammaRandRNGF_D1_RK1
856 : use pm_kind, only: RKC => RK1
857 : #include "pm_distGamma@routines.inc.F90"
858 0 : end procedure
859 : #endif
860 :
861 : #undef RK_ENABLED
862 :
863 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
864 :
865 : #undef RNGF_ENABLED
866 :
867 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
868 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
869 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
870 :
871 : #define RNGX_ENABLED 1
872 :
873 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
874 :
875 : #define RK_ENABLED 1
876 :
877 : #if RK5_ENABLED
878 : module procedure setGammaRandRNGX_D1_RK5
879 : use pm_kind, only: RKC => RK5
880 : #include "pm_distGamma@routines.inc.F90"
881 : end procedure
882 : #endif
883 :
884 : #if RK4_ENABLED
885 0 : module procedure setGammaRandRNGX_D1_RK4
886 : use pm_kind, only: RKC => RK4
887 : #include "pm_distGamma@routines.inc.F90"
888 0 : end procedure
889 : #endif
890 :
891 : #if RK3_ENABLED
892 0 : module procedure setGammaRandRNGX_D1_RK3
893 : use pm_kind, only: RKC => RK3
894 : #include "pm_distGamma@routines.inc.F90"
895 0 : end procedure
896 : #endif
897 :
898 : #if RK2_ENABLED
899 0 : module procedure setGammaRandRNGX_D1_RK2
900 : use pm_kind, only: RKC => RK2
901 : #include "pm_distGamma@routines.inc.F90"
902 0 : end procedure
903 : #endif
904 :
905 : #if RK1_ENABLED
906 0 : module procedure setGammaRandRNGX_D1_RK1
907 : use pm_kind, only: RKC => RK1
908 : #include "pm_distGamma@routines.inc.F90"
909 0 : end procedure
910 : #endif
911 :
912 : #undef RK_ENABLED
913 :
914 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
915 :
916 : #undef RNGX_ENABLED
917 :
918 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
919 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
920 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
921 :
922 : #undef D1_ENABLED
923 :
924 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
925 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
926 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
927 :
928 : #undef KR_ENABLED
929 :
930 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
931 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
932 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
933 :
934 : #undef setGammaRand_ENABLED
935 :
936 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
937 :
938 : #undef CHECK_ASSERTION
939 :
940 : end submodule routines
|