ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distGenGamma.F90
Go to the documentation of this file.
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
126
127!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
128
130
131 use pm_kind, only: SK, IK, LK
132 use pm_distUnif, only: rngf_type
134
135 implicit none
136
137 character(*, SK), parameter :: MODULE_NAME = "@pm_distGenGamma"
138
139!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140
175 end type
176
177!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178
251
252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
253
254#if RK5_ENABLED
255 PURE elemental module function getGenGammaLogPDFNFKDD_RK5(kappa) result(logPDFNF)
256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
257 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKDD_RK5
258#endif
259 use pm_kind, only: RKG => RK5
260 real(RKG) , intent(in) :: kappa
261 real(RKG) :: logPDFNF
262 end function
263#endif
264
265#if RK4_ENABLED
266 PURE elemental module function getGenGammaLogPDFNFKDD_RK4(kappa) result(logPDFNF)
267#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
268 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKDD_RK4
269#endif
270 use pm_kind, only: RKG => RK4
271 real(RKG) , intent(in) :: kappa
272 real(RKG) :: logPDFNF
273 end function
274#endif
275
276#if RK3_ENABLED
277 PURE elemental module function getGenGammaLogPDFNFKDD_RK3(kappa) result(logPDFNF)
278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
279 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKDD_RK3
280#endif
281 use pm_kind, only: RKG => RK3
282 real(RKG) , intent(in) :: kappa
283 real(RKG) :: logPDFNF
284 end function
285#endif
286
287#if RK2_ENABLED
288 PURE elemental module function getGenGammaLogPDFNFKDD_RK2(kappa) result(logPDFNF)
289#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
290 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKDD_RK2
291#endif
292 use pm_kind, only: RKG => RK2
293 real(RKG) , intent(in) :: kappa
294 real(RKG) :: logPDFNF
295 end function
296#endif
297
298#if RK1_ENABLED
299 PURE elemental module function getGenGammaLogPDFNFKDD_RK1(kappa) result(logPDFNF)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKDD_RK1
302#endif
303 use pm_kind, only: RKG => RK1
304 real(RKG) , intent(in) :: kappa
305 real(RKG) :: logPDFNF
306 end function
307#endif
308
309 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310
311#if RK5_ENABLED
312 PURE elemental module function getGenGammaLogPDFNFKOD_RK5(kappa, invOmega) result(logPDFNF)
313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
314 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOD_RK5
315#endif
316 use pm_kind, only: RKG => RK5
317 real(RKG) , intent(in) :: kappa, invOmega
318 real(RKG) :: logPDFNF
319 end function
320#endif
321
322#if RK4_ENABLED
323 PURE elemental module function getGenGammaLogPDFNFKOD_RK4(kappa, invOmega) result(logPDFNF)
324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
325 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOD_RK4
326#endif
327 use pm_kind, only: RKG => RK4
328 real(RKG) , intent(in) :: kappa, invOmega
329 real(RKG) :: logPDFNF
330 end function
331#endif
332
333#if RK3_ENABLED
334 PURE elemental module function getGenGammaLogPDFNFKOD_RK3(kappa, invOmega) result(logPDFNF)
335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
336 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOD_RK3
337#endif
338 use pm_kind, only: RKG => RK3
339 real(RKG) , intent(in) :: kappa, invOmega
340 real(RKG) :: logPDFNF
341 end function
342#endif
343
344#if RK2_ENABLED
345 PURE elemental module function getGenGammaLogPDFNFKOD_RK2(kappa, invOmega) result(logPDFNF)
346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
347 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOD_RK2
348#endif
349 use pm_kind, only: RKG => RK2
350 real(RKG) , intent(in) :: kappa, invOmega
351 real(RKG) :: logPDFNF
352 end function
353#endif
354
355#if RK1_ENABLED
356 PURE elemental module function getGenGammaLogPDFNFKOD_RK1(kappa, invOmega) result(logPDFNF)
357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
358 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOD_RK1
359#endif
360 use pm_kind, only: RKG => RK1
361 real(RKG) , intent(in) :: kappa, invOmega
362 real(RKG) :: logPDFNF
363 end function
364#endif
365
366 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367
368#if RK5_ENABLED
369 PURE elemental module function getGenGammaLogPDFNFKOS_RK5(kappa, invOmega, invSigma) result(logPDFNF)
370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
371 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOS_RK5
372#endif
373 use pm_kind, only: RKG => RK5
374 real(RKG) , intent(in) :: kappa, invOmega, invSigma
375 real(RKG) :: logPDFNF
376 end function
377#endif
378
379#if RK4_ENABLED
380 PURE elemental module function getGenGammaLogPDFNFKOS_RK4(kappa, invOmega, invSigma) result(logPDFNF)
381#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
382 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOS_RK4
383#endif
384 use pm_kind, only: RKG => RK4
385 real(RKG) , intent(in) :: kappa, invOmega, invSigma
386 real(RKG) :: logPDFNF
387 end function
388#endif
389
390#if RK3_ENABLED
391 PURE elemental module function getGenGammaLogPDFNFKOS_RK3(kappa, invOmega, invSigma) result(logPDFNF)
392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
393 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOS_RK3
394#endif
395 use pm_kind, only: RKG => RK3
396 real(RKG) , intent(in) :: kappa, invOmega, invSigma
397 real(RKG) :: logPDFNF
398 end function
399#endif
400
401#if RK2_ENABLED
402 PURE elemental module function getGenGammaLogPDFNFKOS_RK2(kappa, invOmega, invSigma) result(logPDFNF)
403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
404 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOS_RK2
405#endif
406 use pm_kind, only: RKG => RK2
407 real(RKG) , intent(in) :: kappa, invOmega, invSigma
408 real(RKG) :: logPDFNF
409 end function
410#endif
411
412#if RK1_ENABLED
413 PURE elemental module function getGenGammaLogPDFNFKOS_RK1(kappa, invOmega, invSigma) result(logPDFNF)
414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
415 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDFNFKOS_RK1
416#endif
417 use pm_kind, only: RKG => RK1
418 real(RKG) , intent(in) :: kappa, invOmega, invSigma
419 real(RKG) :: logPDFNF
420 end function
421#endif
422
423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
424
425 end interface
426
427!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428
492
493 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
494
495#if RK5_ENABLED
496 PURE elemental module function getGenGammaLogPDF_RK5(x, kappa, invOmega, invSigma) result(logPDF)
497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
498 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDF_RK5
499#endif
500 use pm_kind, only: RKG => RK5
501 real(RKG) , intent(in) :: x
502 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
503 real(RKG) :: logPDF
504 end function
505#endif
506
507#if RK4_ENABLED
508 PURE elemental module function getGenGammaLogPDF_RK4(x, kappa, invOmega, invSigma) result(logPDF)
509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
510 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDF_RK4
511#endif
512 use pm_kind, only: RKG => RK4
513 real(RKG) , intent(in) :: x
514 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
515 real(RKG) :: logPDF
516 end function
517#endif
518
519#if RK3_ENABLED
520 PURE elemental module function getGenGammaLogPDF_RK3(x, kappa, invOmega, invSigma) result(logPDF)
521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
522 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDF_RK3
523#endif
524 use pm_kind, only: RKG => RK3
525 real(RKG) , intent(in) :: x
526 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
527 real(RKG) :: logPDF
528 end function
529#endif
530
531#if RK2_ENABLED
532 PURE elemental module function getGenGammaLogPDF_RK2(x, kappa, invOmega, invSigma) result(logPDF)
533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
534 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDF_RK2
535#endif
536 use pm_kind, only: RKG => RK2
537 real(RKG) , intent(in) :: x
538 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
539 real(RKG) :: logPDF
540 end function
541#endif
542
543#if RK1_ENABLED
544 PURE elemental module function getGenGammaLogPDF_RK1(x, kappa, invOmega, invSigma) result(logPDF)
545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
546 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaLogPDF_RK1
547#endif
548 use pm_kind, only: RKG => RK1
549 real(RKG) , intent(in) :: x
550 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
551 real(RKG) :: logPDF
552 end function
553#endif
554
555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
556
557 end interface
558
559!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
560
628
629 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
631 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632
633 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634
635#if RK5_ENABLED
636 PURE elemental module subroutine setGenGammaLogPDFDDDD_RK5(logPDF, x)
637#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
638 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFDDDD_RK5
639#endif
640 use pm_kind, only: RKG => RK5
641 real(RKG) , intent(out) :: logPDF
642 real(RKG) , intent(in) :: x
643 end subroutine
644#endif
645
646#if RK4_ENABLED
647 PURE elemental module subroutine setGenGammaLogPDFDDDD_RK4(logPDF, x)
648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
649 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFDDDD_RK4
650#endif
651 use pm_kind, only: RKG => RK4
652 real(RKG) , intent(out) :: logPDF
653 real(RKG) , intent(in) :: x
654 end subroutine
655#endif
656
657#if RK3_ENABLED
658 PURE elemental module subroutine setGenGammaLogPDFDDDD_RK3(logPDF, x)
659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
660 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFDDDD_RK3
661#endif
662 use pm_kind, only: RKG => RK3
663 real(RKG) , intent(out) :: logPDF
664 real(RKG) , intent(in) :: x
665 end subroutine
666#endif
667
668#if RK2_ENABLED
669 PURE elemental module subroutine setGenGammaLogPDFDDDD_RK2(logPDF, x)
670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
671 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFDDDD_RK2
672#endif
673 use pm_kind, only: RKG => RK2
674 real(RKG) , intent(out) :: logPDF
675 real(RKG) , intent(in) :: x
676 end subroutine
677#endif
678
679#if RK1_ENABLED
680 PURE elemental module subroutine setGenGammaLogPDFDDDD_RK1(logPDF, x)
681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
682 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFDDDD_RK1
683#endif
684 use pm_kind, only: RKG => RK1
685 real(RKG) , intent(out) :: logPDF
686 real(RKG) , intent(in) :: x
687 end subroutine
688#endif
689
690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691
692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
693 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
694 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
695
696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697
698#if RK5_ENABLED
699 PURE elemental module subroutine setGenGammaLogPDFNKDD_RK5(logPDF, x, logPDFNF, kappa)
700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
701 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKDD_RK5
702#endif
703 use pm_kind, only: RKG => RK5
704 real(RKG) , intent(out) :: logPDF
705 real(RKG) , intent(in) :: x, logPDFNF, kappa
706 end subroutine
707#endif
708
709#if RK4_ENABLED
710 PURE elemental module subroutine setGenGammaLogPDFNKDD_RK4(logPDF, x, logPDFNF, kappa)
711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
712 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKDD_RK4
713#endif
714 use pm_kind, only: RKG => RK4
715 real(RKG) , intent(out) :: logPDF
716 real(RKG) , intent(in) :: x, logPDFNF, kappa
717 end subroutine
718#endif
719
720#if RK3_ENABLED
721 PURE elemental module subroutine setGenGammaLogPDFNKDD_RK3(logPDF, x, logPDFNF, kappa)
722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
723 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKDD_RK3
724#endif
725 use pm_kind, only: RKG => RK3
726 real(RKG) , intent(out) :: logPDF
727 real(RKG) , intent(in) :: x, logPDFNF, kappa
728 end subroutine
729#endif
730
731#if RK2_ENABLED
732 PURE elemental module subroutine setGenGammaLogPDFNKDD_RK2(logPDF, x, logPDFNF, kappa)
733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
734 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKDD_RK2
735#endif
736 use pm_kind, only: RKG => RK2
737 real(RKG) , intent(out) :: logPDF
738 real(RKG) , intent(in) :: x, logPDFNF, kappa
739 end subroutine
740#endif
741
742#if RK1_ENABLED
743 PURE elemental module subroutine setGenGammaLogPDFNKDD_RK1(logPDF, x, logPDFNF, kappa)
744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
745 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKDD_RK1
746#endif
747 use pm_kind, only: RKG => RK1
748 real(RKG) , intent(out) :: logPDF
749 real(RKG) , intent(in) :: x, logPDFNF, kappa
750 end subroutine
751#endif
752
753 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
754
755 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
758
759 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760
761#if RK5_ENABLED
762 PURE elemental module subroutine setGenGammaLogPDFNKOD_RK5(logPDF, x, logPDFNF, kappa, invOmega)
763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
764 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOD_RK5
765#endif
766 use pm_kind, only: RKG => RK5
767 real(RKG) , intent(out) :: logPDF
768 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega
769 end subroutine
770#endif
771
772#if RK4_ENABLED
773 PURE elemental module subroutine setGenGammaLogPDFNKOD_RK4(logPDF, x, logPDFNF, kappa, invOmega)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOD_RK4
776#endif
777 use pm_kind, only: RKG => RK4
778 real(RKG) , intent(out) :: logPDF
779 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega
780 end subroutine
781#endif
782
783#if RK3_ENABLED
784 PURE elemental module subroutine setGenGammaLogPDFNKOD_RK3(logPDF, x, logPDFNF, kappa, invOmega)
785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
786 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOD_RK3
787#endif
788 use pm_kind, only: RKG => RK3
789 real(RKG) , intent(out) :: logPDF
790 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega
791 end subroutine
792#endif
793
794#if RK2_ENABLED
795 PURE elemental module subroutine setGenGammaLogPDFNKOD_RK2(logPDF, x, logPDFNF, kappa, invOmega)
796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
797 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOD_RK2
798#endif
799 use pm_kind, only: RKG => RK2
800 real(RKG) , intent(out) :: logPDF
801 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega
802 end subroutine
803#endif
804
805#if RK1_ENABLED
806 PURE elemental module subroutine setGenGammaLogPDFNKOD_RK1(logPDF, x, logPDFNF, kappa, invOmega)
807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
808 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOD_RK1
809#endif
810 use pm_kind, only: RKG => RK1
811 real(RKG) , intent(out) :: logPDF
812 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega
813 end subroutine
814#endif
815
816 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
817
818 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
820 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
821
822 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
823
824#if RK5_ENABLED
825 PURE elemental module subroutine setGenGammaLogPDFNKOS_RK5(logPDF, x, logPDFNF, kappa, invOmega, invSigma)
826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
827 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOS_RK5
828#endif
829 use pm_kind, only: RKG => RK5
830 real(RKG) , intent(out) :: logPDF
831 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega, invSigma
832 end subroutine
833#endif
834
835#if RK4_ENABLED
836 PURE elemental module subroutine setGenGammaLogPDFNKOS_RK4(logPDF, x, logPDFNF, kappa, invOmega, invSigma)
837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
838 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOS_RK4
839#endif
840 use pm_kind, only: RKG => RK4
841 real(RKG) , intent(out) :: logPDF
842 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega, invSigma
843 end subroutine
844#endif
845
846#if RK3_ENABLED
847 PURE elemental module subroutine setGenGammaLogPDFNKOS_RK3(logPDF, x, logPDFNF, kappa, invOmega, invSigma)
848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
849 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOS_RK3
850#endif
851 use pm_kind, only: RKG => RK3
852 real(RKG) , intent(out) :: logPDF
853 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega, invSigma
854 end subroutine
855#endif
856
857#if RK2_ENABLED
858 PURE elemental module subroutine setGenGammaLogPDFNKOS_RK2(logPDF, x, logPDFNF, kappa, invOmega, invSigma)
859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
860 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOS_RK2
861#endif
862 use pm_kind, only: RKG => RK2
863 real(RKG) , intent(out) :: logPDF
864 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega, invSigma
865 end subroutine
866#endif
867
868#if RK1_ENABLED
869 PURE elemental module subroutine setGenGammaLogPDFNKOS_RK1(logPDF, x, logPDFNF, kappa, invOmega, invSigma)
870#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
871 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaLogPDFNKOS_RK1
872#endif
873 use pm_kind, only: RKG => RK1
874 real(RKG) , intent(out) :: logPDF
875 real(RKG) , intent(in) :: x, logPDFNF, kappa, invOmega, invSigma
876 end subroutine
877#endif
878
879 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
880
881 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
884
885 end interface
886
887!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
888
953
954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955
956#if RK5_ENABLED
957 PURE elemental module function getGenGammaCDF_RK5(x, kappa, invOmega, invSigma) result(cdf)
958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
959 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaCDF_RK5
960#endif
961 use pm_kind, only: RKG => RK5
962 real(RKG) , intent(in) :: x
963 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
964 real(RKG) :: cdf
965 end function
966#endif
967
968#if RK4_ENABLED
969 PURE elemental module function getGenGammaCDF_RK4(x, kappa, invOmega, invSigma) result(cdf)
970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
971 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaCDF_RK4
972#endif
973 use pm_kind, only: RKG => RK4
974 real(RKG) , intent(in) :: x
975 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
976 real(RKG) :: cdf
977 end function
978#endif
979
980#if RK3_ENABLED
981 PURE elemental module function getGenGammaCDF_RK3(x, kappa, invOmega, invSigma) result(cdf)
982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
983 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaCDF_RK3
984#endif
985 use pm_kind, only: RKG => RK3
986 real(RKG) , intent(in) :: x
987 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
988 real(RKG) :: cdf
989 end function
990#endif
991
992#if RK2_ENABLED
993 PURE elemental module function getGenGammaCDF_RK2(x, kappa, invOmega, invSigma) result(cdf)
994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
995 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaCDF_RK2
996#endif
997 use pm_kind, only: RKG => RK2
998 real(RKG) , intent(in) :: x
999 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
1000 real(RKG) :: cdf
1001 end function
1002#endif
1003
1004#if RK1_ENABLED
1005 PURE elemental module function getGenGammaCDF_RK1(x, kappa, invOmega, invSigma) result(cdf)
1006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1007 !DEC$ ATTRIBUTES DLLEXPORT :: getGenGammaCDF_RK1
1008#endif
1009 use pm_kind, only: RKG => RK1
1010 real(RKG) , intent(in) :: x
1011 real(RKG) , intent(in) , optional :: kappa, invOmega, invSigma
1012 real(RKG) :: cdf
1013 end function
1014#endif
1015
1016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1017
1018 end interface
1019
1020!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1021
1095
1096 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1097
1098#if RK5_ENABLED
1099 PURE elemental module subroutine setGenGammaCDFDDD_RK5(cdf, x, info)
1100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1101 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFDDD_RK5
1102#endif
1103 use pm_kind, only: RKG => RK5
1104 real(RKG) , intent(out) :: cdf
1105 real(RKG) , intent(in) :: x
1106 integer(IK) , intent(out) :: info
1107 end subroutine
1108#endif
1109
1110#if RK4_ENABLED
1111 PURE elemental module subroutine setGenGammaCDFDDD_RK4(cdf, x, info)
1112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1113 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFDDD_RK4
1114#endif
1115 use pm_kind, only: RKG => RK4
1116 real(RKG) , intent(out) :: cdf
1117 real(RKG) , intent(in) :: x
1118 integer(IK) , intent(out) :: info
1119 end subroutine
1120#endif
1121
1122#if RK3_ENABLED
1123 PURE elemental module subroutine setGenGammaCDFDDD_RK3(cdf, x, info)
1124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1125 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFDDD_RK3
1126#endif
1127 use pm_kind, only: RKG => RK3
1128 real(RKG) , intent(out) :: cdf
1129 real(RKG) , intent(in) :: x
1130 integer(IK) , intent(out) :: info
1131 end subroutine
1132#endif
1133
1134#if RK2_ENABLED
1135 PURE elemental module subroutine setGenGammaCDFDDD_RK2(cdf, x, info)
1136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1137 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFDDD_RK2
1138#endif
1139 use pm_kind, only: RKG => RK2
1140 real(RKG) , intent(out) :: cdf
1141 real(RKG) , intent(in) :: x
1142 integer(IK) , intent(out) :: info
1143 end subroutine
1144#endif
1145
1146#if RK1_ENABLED
1147 PURE elemental module subroutine setGenGammaCDFDDD_RK1(cdf, x, info)
1148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1149 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFDDD_RK1
1150#endif
1151 use pm_kind, only: RKG => RK1
1152 real(RKG) , intent(out) :: cdf
1153 real(RKG) , intent(in) :: x
1154 integer(IK) , intent(out) :: info
1155 end subroutine
1156#endif
1157
1158 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1159
1160#if RK5_ENABLED
1161 PURE elemental module subroutine setGenGammaCDFKDD_RK5(cdf, x, kappa, info)
1162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1163 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKDD_RK5
1164#endif
1165 use pm_kind, only: RKG => RK5
1166 real(RKG) , intent(out) :: cdf
1167 real(RKG) , intent(in) :: x, kappa
1168 integer(IK) , intent(out) :: info
1169 end subroutine
1170#endif
1171
1172#if RK4_ENABLED
1173 PURE elemental module subroutine setGenGammaCDFKDD_RK4(cdf, x, kappa, info)
1174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1175 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKDD_RK4
1176#endif
1177 use pm_kind, only: RKG => RK4
1178 real(RKG) , intent(out) :: cdf
1179 real(RKG) , intent(in) :: x, kappa
1180 integer(IK) , intent(out) :: info
1181 end subroutine
1182#endif
1183
1184#if RK3_ENABLED
1185 PURE elemental module subroutine setGenGammaCDFKDD_RK3(cdf, x, kappa, info)
1186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1187 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKDD_RK3
1188#endif
1189 use pm_kind, only: RKG => RK3
1190 real(RKG) , intent(out) :: cdf
1191 real(RKG) , intent(in) :: x, kappa
1192 integer(IK) , intent(out) :: info
1193 end subroutine
1194#endif
1195
1196#if RK2_ENABLED
1197 PURE elemental module subroutine setGenGammaCDFKDD_RK2(cdf, x, kappa, info)
1198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1199 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKDD_RK2
1200#endif
1201 use pm_kind, only: RKG => RK2
1202 real(RKG) , intent(out) :: cdf
1203 real(RKG) , intent(in) :: x, kappa
1204 integer(IK) , intent(out) :: info
1205 end subroutine
1206#endif
1207
1208#if RK1_ENABLED
1209 PURE elemental module subroutine setGenGammaCDFKDD_RK1(cdf, x, kappa, info)
1210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1211 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKDD_RK1
1212#endif
1213 use pm_kind, only: RKG => RK1
1214 real(RKG) , intent(out) :: cdf
1215 real(RKG) , intent(in) :: x, kappa
1216 integer(IK) , intent(out) :: info
1217 end subroutine
1218#endif
1219
1220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1221
1222#if RK5_ENABLED
1223 PURE elemental module subroutine setGenGammaCDFKOD_RK5(cdf, x, kappa, invOmega, info)
1224#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1225 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOD_RK5
1226#endif
1227 use pm_kind, only: RKG => RK5
1228 real(RKG) , intent(out) :: cdf
1229 real(RKG) , intent(in) :: x, kappa, invOmega
1230 integer(IK) , intent(out) :: info
1231 end subroutine
1232#endif
1233
1234#if RK4_ENABLED
1235 PURE elemental module subroutine setGenGammaCDFKOD_RK4(cdf, x, kappa, invOmega, info)
1236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1237 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOD_RK4
1238#endif
1239 use pm_kind, only: RKG => RK4
1240 real(RKG) , intent(out) :: cdf
1241 real(RKG) , intent(in) :: x, kappa, invOmega
1242 integer(IK) , intent(out) :: info
1243 end subroutine
1244#endif
1245
1246#if RK3_ENABLED
1247 PURE elemental module subroutine setGenGammaCDFKOD_RK3(cdf, x, kappa, invOmega, info)
1248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1249 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOD_RK3
1250#endif
1251 use pm_kind, only: RKG => RK3
1252 real(RKG) , intent(out) :: cdf
1253 real(RKG) , intent(in) :: x, kappa, invOmega
1254 integer(IK) , intent(out) :: info
1255 end subroutine
1256#endif
1257
1258#if RK2_ENABLED
1259 PURE elemental module subroutine setGenGammaCDFKOD_RK2(cdf, x, kappa, invOmega, info)
1260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1261 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOD_RK2
1262#endif
1263 use pm_kind, only: RKG => RK2
1264 real(RKG) , intent(out) :: cdf
1265 real(RKG) , intent(in) :: x, kappa, invOmega
1266 integer(IK) , intent(out) :: info
1267 end subroutine
1268#endif
1269
1270#if RK1_ENABLED
1271 PURE elemental module subroutine setGenGammaCDFKOD_RK1(cdf, x, kappa, invOmega, info)
1272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1273 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOD_RK1
1274#endif
1275 use pm_kind, only: RKG => RK1
1276 real(RKG) , intent(out) :: cdf
1277 real(RKG) , intent(in) :: x, kappa, invOmega
1278 integer(IK) , intent(out) :: info
1279 end subroutine
1280#endif
1281
1282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1283
1284#if RK5_ENABLED
1285 PURE elemental module subroutine setGenGammaCDFKOS_RK5(cdf, x, kappa, invOmega, invSigma, info)
1286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1287 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOS_RK5
1288#endif
1289 use pm_kind, only: RKG => RK5
1290 real(RKG) , intent(out) :: cdf
1291 real(RKG) , intent(in) :: x, kappa, invOmega, invSigma
1292 integer(IK) , intent(out) :: info
1293 end subroutine
1294#endif
1295
1296#if RK4_ENABLED
1297 PURE elemental module subroutine setGenGammaCDFKOS_RK4(cdf, x, kappa, invOmega, invSigma, info)
1298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1299 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOS_RK4
1300#endif
1301 use pm_kind, only: RKG => RK4
1302 real(RKG) , intent(out) :: cdf
1303 real(RKG) , intent(in) :: x, kappa, invOmega, invSigma
1304 integer(IK) , intent(out) :: info
1305 end subroutine
1306#endif
1307
1308#if RK3_ENABLED
1309 PURE elemental module subroutine setGenGammaCDFKOS_RK3(cdf, x, kappa, invOmega, invSigma, info)
1310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1311 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOS_RK3
1312#endif
1313 use pm_kind, only: RKG => RK3
1314 real(RKG) , intent(out) :: cdf
1315 real(RKG) , intent(in) :: x, kappa, invOmega, invSigma
1316 integer(IK) , intent(out) :: info
1317 end subroutine
1318#endif
1319
1320#if RK2_ENABLED
1321 PURE elemental module subroutine setGenGammaCDFKOS_RK2(cdf, x, kappa, invOmega, invSigma, info)
1322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1323 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOS_RK2
1324#endif
1325 use pm_kind, only: RKG => RK2
1326 real(RKG) , intent(out) :: cdf
1327 real(RKG) , intent(in) :: x, kappa, invOmega, invSigma
1328 integer(IK) , intent(out) :: info
1329 end subroutine
1330#endif
1331
1332#if RK1_ENABLED
1333 PURE elemental module subroutine setGenGammaCDFKOS_RK1(cdf, x, kappa, invOmega, invSigma, info)
1334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1335 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaCDFKOS_RK1
1336#endif
1337 use pm_kind, only: RKG => RK1
1338 real(RKG) , intent(out) :: cdf
1339 real(RKG) , intent(in) :: x, kappa, invOmega, invSigma
1340 integer(IK) , intent(out) :: info
1341 end subroutine
1342#endif
1343
1344 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1345
1346 end interface
1347
1348!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1349
1436
1437 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1438 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1439 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1440
1441 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1442
1443#if RK5_ENABLED
1444 impure elemental module subroutine setGenGammaRandRNGD_D0_RK5(rand, kappa, omega, sigma)
1445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1446 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D0_RK5
1447#endif
1448 use pm_kind, only: RKG => RK5
1449 real(RKG) , intent(out) :: rand
1450 real(RKG) , intent(in) :: kappa, omega, sigma
1451 end subroutine
1452#endif
1453
1454#if RK4_ENABLED
1455 impure elemental module subroutine setGenGammaRandRNGD_D0_RK4(rand, kappa, omega, sigma)
1456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1457 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D0_RK4
1458#endif
1459 use pm_kind, only: RKG => RK4
1460 real(RKG) , intent(out) :: rand
1461 real(RKG) , intent(in) :: kappa, omega, sigma
1462 end subroutine
1463#endif
1464
1465#if RK3_ENABLED
1466 impure elemental module subroutine setGenGammaRandRNGD_D0_RK3(rand, kappa, omega, sigma)
1467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1468 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D0_RK3
1469#endif
1470 use pm_kind, only: RKG => RK3
1471 real(RKG) , intent(out) :: rand
1472 real(RKG) , intent(in) :: kappa, omega, sigma
1473 end subroutine
1474#endif
1475
1476#if RK2_ENABLED
1477 impure elemental module subroutine setGenGammaRandRNGD_D0_RK2(rand, kappa, omega, sigma)
1478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1479 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D0_RK2
1480#endif
1481 use pm_kind, only: RKG => RK2
1482 real(RKG) , intent(out) :: rand
1483 real(RKG) , intent(in) :: kappa, omega, sigma
1484 end subroutine
1485#endif
1486
1487#if RK1_ENABLED
1488 impure elemental module subroutine setGenGammaRandRNGD_D0_RK1(rand, kappa, omega, sigma)
1489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1490 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D0_RK1
1491#endif
1492 use pm_kind, only: RKG => RK1
1493 real(RKG) , intent(out) :: rand
1494 real(RKG) , intent(in) :: kappa, omega, sigma
1495 end subroutine
1496#endif
1497
1498 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1499
1500#if RK5_ENABLED
1501 impure elemental module subroutine setGenGammaRandRNGF_D0_RK5(rng, rand, kappa, omega, sigma)
1502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1503 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D0_RK5
1504#endif
1505 use pm_kind, only: RKG => RK5
1506 type(rngf_type) , intent(in) :: rng
1507 real(RKG) , intent(out) :: rand
1508 real(RKG) , intent(in) :: kappa, omega, sigma
1509 end subroutine
1510#endif
1511
1512#if RK4_ENABLED
1513 impure elemental module subroutine setGenGammaRandRNGF_D0_RK4(rng, rand, kappa, omega, sigma)
1514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1515 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D0_RK4
1516#endif
1517 use pm_kind, only: RKG => RK4
1518 type(rngf_type) , intent(in) :: rng
1519 real(RKG) , intent(out) :: rand
1520 real(RKG) , intent(in) :: kappa, omega, sigma
1521 end subroutine
1522#endif
1523
1524#if RK3_ENABLED
1525 impure elemental module subroutine setGenGammaRandRNGF_D0_RK3(rng, rand, kappa, omega, sigma)
1526#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1527 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D0_RK3
1528#endif
1529 use pm_kind, only: RKG => RK3
1530 type(rngf_type) , intent(in) :: rng
1531 real(RKG) , intent(out) :: rand
1532 real(RKG) , intent(in) :: kappa, omega, sigma
1533 end subroutine
1534#endif
1535
1536#if RK2_ENABLED
1537 impure elemental module subroutine setGenGammaRandRNGF_D0_RK2(rng, rand, kappa, omega, sigma)
1538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1539 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D0_RK2
1540#endif
1541 use pm_kind, only: RKG => RK2
1542 type(rngf_type) , intent(in) :: rng
1543 real(RKG) , intent(out) :: rand
1544 real(RKG) , intent(in) :: kappa, omega, sigma
1545 end subroutine
1546#endif
1547
1548#if RK1_ENABLED
1549 impure elemental module subroutine setGenGammaRandRNGF_D0_RK1(rng, rand, kappa, omega, sigma)
1550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1551 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D0_RK1
1552#endif
1553 use pm_kind, only: RKG => RK1
1554 type(rngf_type) , intent(in) :: rng
1555 real(RKG) , intent(out) :: rand
1556 real(RKG) , intent(in) :: kappa, omega, sigma
1557 end subroutine
1558#endif
1559
1560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1561
1562#if RK5_ENABLED
1563 PURE module subroutine setGenGammaRandRNGX_D0_RK5(rng, rand, kappa, omega, sigma)
1564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1565 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D0_RK5
1566#endif
1567 use pm_kind, only: RKG => RK5
1568 type(xoshiro256ssw_type), intent(inout) :: rng
1569 real(RKG) , intent(out) :: rand
1570 real(RKG) , intent(in) :: kappa, omega, sigma
1571 end subroutine
1572#endif
1573
1574#if RK4_ENABLED
1575 PURE module subroutine setGenGammaRandRNGX_D0_RK4(rng, rand, kappa, omega, sigma)
1576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1577 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D0_RK4
1578#endif
1579 use pm_kind, only: RKG => RK4
1580 type(xoshiro256ssw_type), intent(inout) :: rng
1581 real(RKG) , intent(out) :: rand
1582 real(RKG) , intent(in) :: kappa, omega, sigma
1583 end subroutine
1584#endif
1585
1586#if RK3_ENABLED
1587 PURE module subroutine setGenGammaRandRNGX_D0_RK3(rng, rand, kappa, omega, sigma)
1588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1589 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D0_RK3
1590#endif
1591 use pm_kind, only: RKG => RK3
1592 type(xoshiro256ssw_type), intent(inout) :: rng
1593 real(RKG) , intent(out) :: rand
1594 real(RKG) , intent(in) :: kappa, omega, sigma
1595 end subroutine
1596#endif
1597
1598#if RK2_ENABLED
1599 PURE module subroutine setGenGammaRandRNGX_D0_RK2(rng, rand, kappa, omega, sigma)
1600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1601 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D0_RK2
1602#endif
1603 use pm_kind, only: RKG => RK2
1604 type(xoshiro256ssw_type), intent(inout) :: rng
1605 real(RKG) , intent(out) :: rand
1606 real(RKG) , intent(in) :: kappa, omega, sigma
1607 end subroutine
1608#endif
1609
1610#if RK1_ENABLED
1611 PURE module subroutine setGenGammaRandRNGX_D0_RK1(rng, rand, kappa, omega, sigma)
1612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1613 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D0_RK1
1614#endif
1615 use pm_kind, only: RKG => RK1
1616 type(xoshiro256ssw_type), intent(inout) :: rng
1617 real(RKG) , intent(out) :: rand
1618 real(RKG) , intent(in) :: kappa, omega, sigma
1619 end subroutine
1620#endif
1621
1622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1623
1624 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1627
1628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1629
1630#if RK5_ENABLED
1631 impure module subroutine setGenGammaRandRNGD_D1_RK5(rand, kappa, omega, sigma)
1632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1633 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D1_RK5
1634#endif
1635 use pm_kind, only: RKG => RK5
1636 real(RKG) , intent(out) :: rand(:)
1637 real(RKG) , intent(in) :: kappa, omega, sigma
1638 end subroutine
1639#endif
1640
1641#if RK4_ENABLED
1642 impure module subroutine setGenGammaRandRNGD_D1_RK4(rand, kappa, omega, sigma)
1643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1644 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D1_RK4
1645#endif
1646 use pm_kind, only: RKG => RK4
1647 real(RKG) , intent(out) :: rand(:)
1648 real(RKG) , intent(in) :: kappa, omega, sigma
1649 end subroutine
1650#endif
1651
1652#if RK3_ENABLED
1653 impure module subroutine setGenGammaRandRNGD_D1_RK3(rand, kappa, omega, sigma)
1654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1655 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D1_RK3
1656#endif
1657 use pm_kind, only: RKG => RK3
1658 real(RKG) , intent(out) :: rand(:)
1659 real(RKG) , intent(in) :: kappa, omega, sigma
1660 end subroutine
1661#endif
1662
1663#if RK2_ENABLED
1664 impure module subroutine setGenGammaRandRNGD_D1_RK2(rand, kappa, omega, sigma)
1665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1666 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D1_RK2
1667#endif
1668 use pm_kind, only: RKG => RK2
1669 real(RKG) , intent(out) :: rand(:)
1670 real(RKG) , intent(in) :: kappa, omega, sigma
1671 end subroutine
1672#endif
1673
1674#if RK1_ENABLED
1675 impure module subroutine setGenGammaRandRNGD_D1_RK1(rand, kappa, omega, sigma)
1676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1677 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGD_D1_RK1
1678#endif
1679 use pm_kind, only: RKG => RK1
1680 real(RKG) , intent(out) :: rand(:)
1681 real(RKG) , intent(in) :: kappa, omega, sigma
1682 end subroutine
1683#endif
1684
1685 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1686
1687#if RK5_ENABLED
1688 impure module subroutine setGenGammaRandRNGF_D1_RK5(rng, rand, kappa, omega, sigma)
1689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1690 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D1_RK5
1691#endif
1692 use pm_kind, only: RKG => RK5
1693 type(rngf_type) , intent(in) :: rng
1694 real(RKG) , intent(out) :: rand(:)
1695 real(RKG) , intent(in) :: kappa, omega, sigma
1696 end subroutine
1697#endif
1698
1699#if RK4_ENABLED
1700 impure module subroutine setGenGammaRandRNGF_D1_RK4(rng, rand, kappa, omega, sigma)
1701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1702 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D1_RK4
1703#endif
1704 use pm_kind, only: RKG => RK4
1705 type(rngf_type) , intent(in) :: rng
1706 real(RKG) , intent(out) :: rand(:)
1707 real(RKG) , intent(in) :: kappa, omega, sigma
1708 end subroutine
1709#endif
1710
1711#if RK3_ENABLED
1712 impure module subroutine setGenGammaRandRNGF_D1_RK3(rng, rand, kappa, omega, sigma)
1713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1714 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D1_RK3
1715#endif
1716 use pm_kind, only: RKG => RK3
1717 type(rngf_type) , intent(in) :: rng
1718 real(RKG) , intent(out) :: rand(:)
1719 real(RKG) , intent(in) :: kappa, omega, sigma
1720 end subroutine
1721#endif
1722
1723#if RK2_ENABLED
1724 impure module subroutine setGenGammaRandRNGF_D1_RK2(rng, rand, kappa, omega, sigma)
1725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1726 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D1_RK2
1727#endif
1728 use pm_kind, only: RKG => RK2
1729 type(rngf_type) , intent(in) :: rng
1730 real(RKG) , intent(out) :: rand(:)
1731 real(RKG) , intent(in) :: kappa, omega, sigma
1732 end subroutine
1733#endif
1734
1735#if RK1_ENABLED
1736 impure module subroutine setGenGammaRandRNGF_D1_RK1(rng, rand, kappa, omega, sigma)
1737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1738 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGF_D1_RK1
1739#endif
1740 use pm_kind, only: RKG => RK1
1741 type(rngf_type) , intent(in) :: rng
1742 real(RKG) , intent(out) :: rand(:)
1743 real(RKG) , intent(in) :: kappa, omega, sigma
1744 end subroutine
1745#endif
1746
1747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1748
1749#if RK5_ENABLED
1750 PURE module subroutine setGenGammaRandRNGX_D1_RK5(rng, rand, kappa, omega, sigma)
1751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1752 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D1_RK5
1753#endif
1754 use pm_kind, only: RKG => RK5
1755 type(xoshiro256ssw_type), intent(inout) :: rng
1756 real(RKG) , intent(out) :: rand(:)
1757 real(RKG) , intent(in) :: kappa, omega, sigma
1758 end subroutine
1759#endif
1760
1761#if RK4_ENABLED
1762 PURE module subroutine setGenGammaRandRNGX_D1_RK4(rng, rand, kappa, omega, sigma)
1763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D1_RK4
1765#endif
1766 use pm_kind, only: RKG => RK4
1767 type(xoshiro256ssw_type), intent(inout) :: rng
1768 real(RKG) , intent(out) :: rand(:)
1769 real(RKG) , intent(in) :: kappa, omega, sigma
1770 end subroutine
1771#endif
1772
1773#if RK3_ENABLED
1774 PURE module subroutine setGenGammaRandRNGX_D1_RK3(rng, rand, kappa, omega, sigma)
1775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1776 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D1_RK3
1777#endif
1778 use pm_kind, only: RKG => RK3
1779 type(xoshiro256ssw_type), intent(inout) :: rng
1780 real(RKG) , intent(out) :: rand(:)
1781 real(RKG) , intent(in) :: kappa, omega, sigma
1782 end subroutine
1783#endif
1784
1785#if RK2_ENABLED
1786 PURE module subroutine setGenGammaRandRNGX_D1_RK2(rng, rand, kappa, omega, sigma)
1787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1788 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D1_RK2
1789#endif
1790 use pm_kind, only: RKG => RK2
1791 type(xoshiro256ssw_type), intent(inout) :: rng
1792 real(RKG) , intent(out) :: rand(:)
1793 real(RKG) , intent(in) :: kappa, omega, sigma
1794 end subroutine
1795#endif
1796
1797#if RK1_ENABLED
1798 PURE module subroutine setGenGammaRandRNGX_D1_RK1(rng, rand, kappa, omega, sigma)
1799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1800 !DEC$ ATTRIBUTES DLLEXPORT :: setGenGammaRandRNGX_D1_RK1
1801#endif
1802 use pm_kind, only: RKG => RK1
1803 type(xoshiro256ssw_type), intent(inout) :: rng
1804 real(RKG) , intent(out) :: rand(:)
1805 real(RKG) , intent(in) :: kappa, omega, sigma
1806 end subroutine
1807#endif
1808
1809 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1810
1811 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1812 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1813 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1814
1815 end interface
1816
1817!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1818
1819end module pm_distGenGamma
Generate and return the Cumulative Distribution Function (CDF) of the Generalized Gamma distribution ...
Generate and return the natural logarithm of the normalization factor of the Probability Density Func...
Generate and return the natural logarithm of the Probability Density Function (PDF) of the GenGamma d...
Return the Cumulative Distribution Function (CDF) of the Generalized Gamma distribution for an input ...
Return the natural logarithm of the Probability Density Function (PDF) of the GenGamma distribution.
Return a scalar or array of arbitrary rank of GenGamma-distributed random values with the specified s...
This module contains classes and procedures for computing various statistical quantities related to t...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for computing various statistical quantities related to t...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This is the derived type for signifying distributions that are of type GenGamma as defined in the des...
This is a concrete derived type whose instances can be used to define/request the default uniform ran...
This is the derived type for declaring and generating objects of type xoshiro256ssw_type containing a...