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_distPoweto](@ref pm_distPoweto).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_distPoweto) 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 : use pm_arraySort, only: isAscending
34 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
35 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
36 : #else
37 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
38 : #endif
39 :
40 : use pm_distNegExp, only: getNegExpRand
41 : use pm_mathLogSubExp, only: getLogSubExp
42 : use pm_distPower, only: getPowerLogPDFNF, setPowerLogPDF, getPowerLogCDFNF, setPowerLogCDF, setPowerLogQuan, setPowerLogRand
43 : use pm_distPareto, only: getParetoLogPDFNF, setParetoLogPDF, getParetoLogCDFNF, setParetoLogCDF, setParetoLogQuan, setParetoLogRand
44 :
45 : implicit none
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : contains
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define getPowetoLogPDFNF_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 :
59 : #define D0_ENABLED 1
60 :
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 :
63 : #define RK_ENABLED 1
64 :
65 : #if RK5_ENABLED
66 : module procedure getPowetoLogPDFNF_D0_RK5
67 : use pm_kind, only: RKC => RK5
68 : #include "pm_distPoweto@routines.inc.F90"
69 : end procedure
70 : #endif
71 :
72 : #if RK4_ENABLED
73 0 : module procedure getPowetoLogPDFNF_D0_RK4
74 : use pm_kind, only: RKC => RK4
75 : #include "pm_distPoweto@routines.inc.F90"
76 0 : end procedure
77 : #endif
78 :
79 : #if RK3_ENABLED
80 0 : module procedure getPowetoLogPDFNF_D0_RK3
81 : use pm_kind, only: RKC => RK3
82 : #include "pm_distPoweto@routines.inc.F90"
83 0 : end procedure
84 : #endif
85 :
86 : #if RK2_ENABLED
87 0 : module procedure getPowetoLogPDFNF_D0_RK2
88 : use pm_kind, only: RKC => RK2
89 : #include "pm_distPoweto@routines.inc.F90"
90 0 : end procedure
91 : #endif
92 :
93 : #if RK1_ENABLED
94 13664 : module procedure getPowetoLogPDFNF_D0_RK1
95 : use pm_kind, only: RKC => RK1
96 : #include "pm_distPoweto@routines.inc.F90"
97 13664 : end procedure
98 : #endif
99 :
100 : #undef RK_ENABLED
101 :
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #undef D0_ENABLED
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #undef getPowetoLogPDFNF_ENABLED
111 :
112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 :
114 : #define getPowetoLogPDF_ENABLED 1
115 :
116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
118 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119 :
120 : #define D0_ENABLED 1
121 :
122 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123 :
124 : #define RK_ENABLED 1
125 :
126 : #if RK5_ENABLED
127 : module procedure getPowetoLogPDF_D0_RK5
128 : use pm_kind, only: RKC => RK5
129 : #include "pm_distPoweto@routines.inc.F90"
130 : end procedure
131 : #endif
132 :
133 : #if RK4_ENABLED
134 0 : module procedure getPowetoLogPDF_D0_RK4
135 : use pm_kind, only: RKC => RK4
136 : #include "pm_distPoweto@routines.inc.F90"
137 0 : end procedure
138 : #endif
139 :
140 : #if RK3_ENABLED
141 0 : module procedure getPowetoLogPDF_D0_RK3
142 : use pm_kind, only: RKC => RK3
143 : #include "pm_distPoweto@routines.inc.F90"
144 0 : end procedure
145 : #endif
146 :
147 : #if RK2_ENABLED
148 0 : module procedure getPowetoLogPDF_D0_RK2
149 : use pm_kind, only: RKC => RK2
150 : #include "pm_distPoweto@routines.inc.F90"
151 0 : end procedure
152 : #endif
153 :
154 : #if RK1_ENABLED
155 2146 : module procedure getPowetoLogPDF_D0_RK1
156 : use pm_kind, only: RKC => RK1
157 : #include "pm_distPoweto@routines.inc.F90"
158 2146 : end procedure
159 : #endif
160 :
161 : #undef RK_ENABLED
162 :
163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 :
165 : #undef D0_ENABLED
166 :
167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170 :
171 : #undef getPowetoLogPDF_ENABLED
172 :
173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 :
175 : #define setPowetoLogPDF_ENABLED 1
176 :
177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 :
181 : #define D0_ENABLED 1
182 :
183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184 :
185 : #define RK_ENABLED 1
186 :
187 : #if RK5_ENABLED
188 : module procedure setPowetoLogPDF_D0_RK5
189 : use pm_kind, only: RKC => RK5
190 : #include "pm_distPoweto@routines.inc.F90"
191 : end procedure
192 : #endif
193 :
194 : #if RK4_ENABLED
195 0 : module procedure setPowetoLogPDF_D0_RK4
196 : use pm_kind, only: RKC => RK4
197 : #include "pm_distPoweto@routines.inc.F90"
198 0 : end procedure
199 : #endif
200 :
201 : #if RK3_ENABLED
202 0 : module procedure setPowetoLogPDF_D0_RK3
203 : use pm_kind, only: RKC => RK3
204 : #include "pm_distPoweto@routines.inc.F90"
205 0 : end procedure
206 : #endif
207 :
208 : #if RK2_ENABLED
209 0 : module procedure setPowetoLogPDF_D0_RK2
210 : use pm_kind, only: RKC => RK2
211 : #include "pm_distPoweto@routines.inc.F90"
212 0 : end procedure
213 : #endif
214 :
215 : #if RK1_ENABLED
216 4292 : module procedure setPowetoLogPDF_D0_RK1
217 : use pm_kind, only: RKC => RK1
218 : #include "pm_distPoweto@routines.inc.F90"
219 4292 : end procedure
220 : #endif
221 :
222 : #undef RK_ENABLED
223 :
224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225 :
226 : #undef D0_ENABLED
227 :
228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231 :
232 : #undef setPowetoLogPDF_ENABLED
233 :
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 :
236 : #define getPowetoLogCDFNF_ENABLED 1
237 :
238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
240 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
241 :
242 : #define D0_ENABLED 1
243 :
244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245 :
246 : #define RK_ENABLED 1
247 :
248 : #if RK5_ENABLED
249 : module procedure getPowetoLogCDFNF_D0_RK5
250 : use pm_kind, only: RKC => RK5
251 : #include "pm_distPoweto@routines.inc.F90"
252 : end procedure
253 : #endif
254 :
255 : #if RK4_ENABLED
256 0 : module procedure getPowetoLogCDFNF_D0_RK4
257 : use pm_kind, only: RKC => RK4
258 : #include "pm_distPoweto@routines.inc.F90"
259 0 : end procedure
260 : #endif
261 :
262 : #if RK3_ENABLED
263 0 : module procedure getPowetoLogCDFNF_D0_RK3
264 : use pm_kind, only: RKC => RK3
265 : #include "pm_distPoweto@routines.inc.F90"
266 0 : end procedure
267 : #endif
268 :
269 : #if RK2_ENABLED
270 0 : module procedure getPowetoLogCDFNF_D0_RK2
271 : use pm_kind, only: RKC => RK2
272 : #include "pm_distPoweto@routines.inc.F90"
273 0 : end procedure
274 : #endif
275 :
276 : #if RK1_ENABLED
277 44841 : module procedure getPowetoLogCDFNF_D0_RK1
278 : use pm_kind, only: RKC => RK1
279 : #include "pm_distPoweto@routines.inc.F90"
280 44841 : end procedure
281 : #endif
282 :
283 : #undef RK_ENABLED
284 :
285 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
286 :
287 : #undef D0_ENABLED
288 :
289 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
291 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
292 :
293 : #undef getPowetoLogCDFNF_ENABLED
294 :
295 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
296 :
297 : #define getPowetoLogCDF_ENABLED 1
298 :
299 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302 :
303 : #define D0_ENABLED 1
304 :
305 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
306 :
307 : #define RK_ENABLED 1
308 :
309 : #if RK5_ENABLED
310 : module procedure getPowetoLogCDF_D0_RK5
311 : use pm_kind, only: RKC => RK5
312 : #include "pm_distPoweto@routines.inc.F90"
313 : end procedure
314 : #endif
315 :
316 : #if RK4_ENABLED
317 0 : module procedure getPowetoLogCDF_D0_RK4
318 : use pm_kind, only: RKC => RK4
319 : #include "pm_distPoweto@routines.inc.F90"
320 0 : end procedure
321 : #endif
322 :
323 : #if RK3_ENABLED
324 0 : module procedure getPowetoLogCDF_D0_RK3
325 : use pm_kind, only: RKC => RK3
326 : #include "pm_distPoweto@routines.inc.F90"
327 0 : end procedure
328 : #endif
329 :
330 : #if RK2_ENABLED
331 0 : module procedure getPowetoLogCDF_D0_RK2
332 : use pm_kind, only: RKC => RK2
333 : #include "pm_distPoweto@routines.inc.F90"
334 0 : end procedure
335 : #endif
336 :
337 : #if RK1_ENABLED
338 2146 : module procedure getPowetoLogCDF_D0_RK1
339 : use pm_kind, only: RKC => RK1
340 : #include "pm_distPoweto@routines.inc.F90"
341 2146 : end procedure
342 : #endif
343 :
344 : #undef RK_ENABLED
345 :
346 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347 :
348 : #undef D0_ENABLED
349 :
350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353 :
354 : #undef getPowetoLogCDF_ENABLED
355 :
356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357 :
358 : #define setPowetoLogCDF_ENABLED 1
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 :
364 : #define D0_ENABLED 1
365 :
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 :
368 : #define RK_ENABLED 1
369 :
370 : #if RK5_ENABLED
371 : module procedure setPowetoLogCDF_D0_RK5
372 : use pm_kind, only: RKC => RK5
373 : #include "pm_distPoweto@routines.inc.F90"
374 : end procedure
375 : #endif
376 :
377 : #if RK4_ENABLED
378 0 : module procedure setPowetoLogCDF_D0_RK4
379 : use pm_kind, only: RKC => RK4
380 : #include "pm_distPoweto@routines.inc.F90"
381 0 : end procedure
382 : #endif
383 :
384 : #if RK3_ENABLED
385 0 : module procedure setPowetoLogCDF_D0_RK3
386 : use pm_kind, only: RKC => RK3
387 : #include "pm_distPoweto@routines.inc.F90"
388 0 : end procedure
389 : #endif
390 :
391 : #if RK2_ENABLED
392 0 : module procedure setPowetoLogCDF_D0_RK2
393 : use pm_kind, only: RKC => RK2
394 : #include "pm_distPoweto@routines.inc.F90"
395 0 : end procedure
396 : #endif
397 :
398 : #if RK1_ENABLED
399 4292 : module procedure setPowetoLogCDF_D0_RK1
400 : use pm_kind, only: RKC => RK1
401 : #include "pm_distPoweto@routines.inc.F90"
402 4292 : end procedure
403 : #endif
404 :
405 : #undef RK_ENABLED
406 :
407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 :
409 : #undef D0_ENABLED
410 :
411 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414 :
415 : #undef setPowetoLogCDF_ENABLED
416 :
417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418 :
419 : #define getPowetoLogQuan_ENABLED 1
420 :
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
423 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
424 :
425 : #define D0_ENABLED 1
426 :
427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428 :
429 : #define RK_ENABLED 1
430 :
431 : #if RK5_ENABLED
432 : module procedure getPowetoLogQuan_D0_RK5
433 : use pm_kind, only: RKC => RK5
434 : #include "pm_distPoweto@routines.inc.F90"
435 : end procedure
436 : #endif
437 :
438 : #if RK4_ENABLED
439 0 : module procedure getPowetoLogQuan_D0_RK4
440 : use pm_kind, only: RKC => RK4
441 : #include "pm_distPoweto@routines.inc.F90"
442 0 : end procedure
443 : #endif
444 :
445 : #if RK3_ENABLED
446 0 : module procedure getPowetoLogQuan_D0_RK3
447 : use pm_kind, only: RKC => RK3
448 : #include "pm_distPoweto@routines.inc.F90"
449 0 : end procedure
450 : #endif
451 :
452 : #if RK2_ENABLED
453 0 : module procedure getPowetoLogQuan_D0_RK2
454 : use pm_kind, only: RKC => RK2
455 : #include "pm_distPoweto@routines.inc.F90"
456 0 : end procedure
457 : #endif
458 :
459 : #if RK1_ENABLED
460 10008 : module procedure getPowetoLogQuan_D0_RK1
461 : use pm_kind, only: RKC => RK1
462 : #include "pm_distPoweto@routines.inc.F90"
463 10008 : end procedure
464 : #endif
465 :
466 : #undef RK_ENABLED
467 :
468 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
469 :
470 : #undef D0_ENABLED
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
475 :
476 : #undef getPowetoLogQuan_ENABLED
477 :
478 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
479 :
480 : #define setPowetoLogQuan_ENABLED 1
481 :
482 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
485 :
486 : #define D0_ENABLED 1
487 :
488 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
489 :
490 : #define RK_ENABLED 1
491 :
492 : #if RK5_ENABLED
493 : module procedure setPowetoLogQuan_D0_RK5
494 : use pm_kind, only: RKC => RK5
495 : #include "pm_distPoweto@routines.inc.F90"
496 : end procedure
497 : #endif
498 :
499 : #if RK4_ENABLED
500 0 : module procedure setPowetoLogQuan_D0_RK4
501 : use pm_kind, only: RKC => RK4
502 : #include "pm_distPoweto@routines.inc.F90"
503 0 : end procedure
504 : #endif
505 :
506 : #if RK3_ENABLED
507 0 : module procedure setPowetoLogQuan_D0_RK3
508 : use pm_kind, only: RKC => RK3
509 : #include "pm_distPoweto@routines.inc.F90"
510 0 : end procedure
511 : #endif
512 :
513 : #if RK2_ENABLED
514 0 : module procedure setPowetoLogQuan_D0_RK2
515 : use pm_kind, only: RKC => RK2
516 : #include "pm_distPoweto@routines.inc.F90"
517 0 : end procedure
518 : #endif
519 :
520 : #if RK1_ENABLED
521 40048 : module procedure setPowetoLogQuan_D0_RK1
522 : use pm_kind, only: RKC => RK1
523 : #include "pm_distPoweto@routines.inc.F90"
524 40048 : end procedure
525 : #endif
526 :
527 : #undef RK_ENABLED
528 :
529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 :
531 : #undef D0_ENABLED
532 :
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536 :
537 : #undef setPowetoLogQuan_ENABLED
538 :
539 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 :
541 : #define getPowetoLogRand_ENABLED 1
542 :
543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546 :
547 : #define D0_ENABLED 1
548 :
549 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550 :
551 : #define RK_ENABLED 1
552 :
553 : #if RK5_ENABLED
554 : module procedure getPowetoLogRand_D0_RK5
555 : use pm_kind, only: RKC => RK5
556 : #include "pm_distPoweto@routines.inc.F90"
557 : end procedure
558 : #endif
559 :
560 : #if RK4_ENABLED
561 0 : module procedure getPowetoLogRand_D0_RK4
562 : use pm_kind, only: RKC => RK4
563 : #include "pm_distPoweto@routines.inc.F90"
564 0 : end procedure
565 : #endif
566 :
567 : #if RK3_ENABLED
568 0 : module procedure getPowetoLogRand_D0_RK3
569 : use pm_kind, only: RKC => RK3
570 : #include "pm_distPoweto@routines.inc.F90"
571 0 : end procedure
572 : #endif
573 :
574 : #if RK2_ENABLED
575 0 : module procedure getPowetoLogRand_D0_RK2
576 : use pm_kind, only: RKC => RK2
577 : #include "pm_distPoweto@routines.inc.F90"
578 0 : end procedure
579 : #endif
580 :
581 : #if RK1_ENABLED
582 10016 : module procedure getPowetoLogRand_D0_RK1
583 : use pm_kind, only: RKC => RK1
584 : #include "pm_distPoweto@routines.inc.F90"
585 10016 : end procedure
586 : #endif
587 :
588 : #undef RK_ENABLED
589 :
590 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
591 :
592 : #undef D0_ENABLED
593 :
594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
595 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
597 :
598 : #undef getPowetoLogRand_ENABLED
599 :
600 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
601 :
602 : #define setPowetoLogRand_ENABLED 1
603 :
604 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
605 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
606 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607 :
608 : #define D0_ENABLED 1
609 :
610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611 :
612 : #define RK_ENABLED 1
613 :
614 : #if RK5_ENABLED
615 : module procedure setPowetoLogRand_D0_RK5
616 : use pm_kind, only: RKC => RK5
617 : #include "pm_distPoweto@routines.inc.F90"
618 : end procedure
619 : #endif
620 :
621 : #if RK4_ENABLED
622 0 : module procedure setPowetoLogRand_D0_RK4
623 : use pm_kind, only: RKC => RK4
624 : #include "pm_distPoweto@routines.inc.F90"
625 0 : end procedure
626 : #endif
627 :
628 : #if RK3_ENABLED
629 0 : module procedure setPowetoLogRand_D0_RK3
630 : use pm_kind, only: RKC => RK3
631 : #include "pm_distPoweto@routines.inc.F90"
632 0 : end procedure
633 : #endif
634 :
635 : #if RK2_ENABLED
636 0 : module procedure setPowetoLogRand_D0_RK2
637 : use pm_kind, only: RKC => RK2
638 : #include "pm_distPoweto@routines.inc.F90"
639 0 : end procedure
640 : #endif
641 :
642 : #if RK1_ENABLED
643 20032 : module procedure setPowetoLogRand_D0_RK1
644 : use pm_kind, only: RKC => RK1
645 : #include "pm_distPoweto@routines.inc.F90"
646 20032 : end procedure
647 : #endif
648 :
649 : #undef RK_ENABLED
650 :
651 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652 :
653 : #undef D0_ENABLED
654 :
655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658 :
659 : #undef setPowetoLogRand_ENABLED
660 :
661 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
662 :
663 : #undef CHECK_ASSERTION
664 :
665 : end submodule routines
|