ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distExpGamma.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
88
89!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90
92
93 use pm_kind, only: SK, IK, LK
94
95 implicit none
96
97 character(*, SK), parameter :: MODULE_NAME = "@pm_distExpGamma"
98
99!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100
135 end type
136
137!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138
199
200 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201
202#if RK5_ENABLED
203 PURE elemental module function getExpGammaLogPDFNF_RK5(kappa) result(logPDFNF)
204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
205 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDFNF_RK5
206#endif
207 use pm_kind, only: RKG => RK5
208 real(RKG) , intent(in) :: kappa
209 real(RKG) :: logPDFNF
210 end function
211#endif
212
213#if RK4_ENABLED
214 PURE elemental module function getExpGammaLogPDFNF_RK4(kappa) result(logPDFNF)
215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
216 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDFNF_RK4
217#endif
218 use pm_kind, only: RKG => RK4
219 real(RKG) , intent(in) :: kappa
220 real(RKG) :: logPDFNF
221 end function
222#endif
223
224#if RK3_ENABLED
225 PURE elemental module function getExpGammaLogPDFNF_RK3(kappa) result(logPDFNF)
226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
227 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDFNF_RK3
228#endif
229 use pm_kind, only: RKG => RK3
230 real(RKG) , intent(in) :: kappa
231 real(RKG) :: logPDFNF
232 end function
233#endif
234
235#if RK2_ENABLED
236 PURE elemental module function getExpGammaLogPDFNF_RK2(kappa) result(logPDFNF)
237#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
238 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDFNF_RK2
239#endif
240 use pm_kind, only: RKG => RK2
241 real(RKG) , intent(in) :: kappa
242 real(RKG) :: logPDFNF
243 end function
244#endif
245
246#if RK1_ENABLED
247 PURE elemental module function getExpGammaLogPDFNF_RK1(kappa) result(logPDFNF)
248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
249 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDFNF_RK1
250#endif
251 use pm_kind, only: RKG => RK1
252 real(RKG) , intent(in) :: kappa
253 real(RKG) :: logPDFNF
254 end function
255#endif
256
257 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
258
259 end interface
260
261!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262
323
324 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
325
326#if RK5_ENABLED
327 PURE elemental module function getExpGammaLogPDF_RK5(x, kappa, logSigma) result(logPDF)
328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
329 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDF_RK5
330#endif
331 use pm_kind, only: RKG => RK5
332 real(RKG) , intent(in) :: x
333 real(RKG) , intent(in) , optional :: kappa, logSigma
334 real(RKG) :: logPDF
335 end function
336#endif
337
338#if RK4_ENABLED
339 PURE elemental module function getExpGammaLogPDF_RK4(x, kappa, logSigma) result(logPDF)
340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
341 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDF_RK4
342#endif
343 use pm_kind, only: RKG => RK4
344 real(RKG) , intent(in) :: x
345 real(RKG) , intent(in) , optional :: kappa, logSigma
346 real(RKG) :: logPDF
347 end function
348#endif
349
350#if RK3_ENABLED
351 PURE elemental module function getExpGammaLogPDF_RK3(x, kappa, logSigma) result(logPDF)
352#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
353 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDF_RK3
354#endif
355 use pm_kind, only: RKG => RK3
356 real(RKG) , intent(in) :: x
357 real(RKG) , intent(in) , optional :: kappa, logSigma
358 real(RKG) :: logPDF
359 end function
360#endif
361
362#if RK2_ENABLED
363 PURE elemental module function getExpGammaLogPDF_RK2(x, kappa, logSigma) result(logPDF)
364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
365 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDF_RK2
366#endif
367 use pm_kind, only: RKG => RK2
368 real(RKG) , intent(in) :: x
369 real(RKG) , intent(in) , optional :: kappa, logSigma
370 real(RKG) :: logPDF
371 end function
372#endif
373
374#if RK1_ENABLED
375 PURE elemental module function getExpGammaLogPDF_RK1(x, kappa, logSigma) result(logPDF)
376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
377 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaLogPDF_RK1
378#endif
379 use pm_kind, only: RKG => RK1
380 real(RKG) , intent(in) :: x
381 real(RKG) , intent(in) , optional :: kappa, logSigma
382 real(RKG) :: logPDF
383 end function
384#endif
385
386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
387
388 end interface
389
390!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391
455
456 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
457 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
458 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
459
460 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
461
462#if RK5_ENABLED
463 PURE elemental module subroutine setExpGammaLogPDFDDD_RK5(logPDF, x)
464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
465 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFDDD_RK5
466#endif
467 use pm_kind, only: RKG => RK5
468 real(RKG) , intent(out) :: logPDF
469 real(RKG) , intent(in) :: x
470 end subroutine
471#endif
472
473#if RK4_ENABLED
474 PURE elemental module subroutine setExpGammaLogPDFDDD_RK4(logPDF, x)
475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
476 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFDDD_RK4
477#endif
478 use pm_kind, only: RKG => RK4
479 real(RKG) , intent(out) :: logPDF
480 real(RKG) , intent(in) :: x
481 end subroutine
482#endif
483
484#if RK3_ENABLED
485 PURE elemental module subroutine setExpGammaLogPDFDDD_RK3(logPDF, x)
486#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
487 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFDDD_RK3
488#endif
489 use pm_kind, only: RKG => RK3
490 real(RKG) , intent(out) :: logPDF
491 real(RKG) , intent(in) :: x
492 end subroutine
493#endif
494
495#if RK2_ENABLED
496 PURE elemental module subroutine setExpGammaLogPDFDDD_RK2(logPDF, x)
497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
498 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFDDD_RK2
499#endif
500 use pm_kind, only: RKG => RK2
501 real(RKG) , intent(out) :: logPDF
502 real(RKG) , intent(in) :: x
503 end subroutine
504#endif
505
506#if RK1_ENABLED
507 PURE elemental module subroutine setExpGammaLogPDFDDD_RK1(logPDF, x)
508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
509 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFDDD_RK1
510#endif
511 use pm_kind, only: RKG => RK1
512 real(RKG) , intent(out) :: logPDF
513 real(RKG) , intent(in) :: x
514 end subroutine
515#endif
516
517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518
519 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
522
523 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524
525#if RK5_ENABLED
526 PURE elemental module subroutine setExpGammaLogPDFNKD_RK5(logPDF, x, logPDFNF, kappa)
527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
528 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKD_RK5
529#endif
530 use pm_kind, only: RKG => RK5
531 real(RKG) , intent(out) :: logPDF
532 real(RKG) , intent(in) :: x, logPDFNF, kappa
533 end subroutine
534#endif
535
536#if RK4_ENABLED
537 PURE elemental module subroutine setExpGammaLogPDFNKD_RK4(logPDF, x, logPDFNF, kappa)
538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
539 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKD_RK4
540#endif
541 use pm_kind, only: RKG => RK4
542 real(RKG) , intent(out) :: logPDF
543 real(RKG) , intent(in) :: x, logPDFNF, kappa
544 end subroutine
545#endif
546
547#if RK3_ENABLED
548 PURE elemental module subroutine setExpGammaLogPDFNKD_RK3(logPDF, x, logPDFNF, kappa)
549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
550 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKD_RK3
551#endif
552 use pm_kind, only: RKG => RK3
553 real(RKG) , intent(out) :: logPDF
554 real(RKG) , intent(in) :: x, logPDFNF, kappa
555 end subroutine
556#endif
557
558#if RK2_ENABLED
559 PURE elemental module subroutine setExpGammaLogPDFNKD_RK2(logPDF, x, logPDFNF, kappa)
560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
561 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKD_RK2
562#endif
563 use pm_kind, only: RKG => RK2
564 real(RKG) , intent(out) :: logPDF
565 real(RKG) , intent(in) :: x, logPDFNF, kappa
566 end subroutine
567#endif
568
569#if RK1_ENABLED
570 PURE elemental module subroutine setExpGammaLogPDFNKD_RK1(logPDF, x, logPDFNF, kappa)
571#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
572 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKD_RK1
573#endif
574 use pm_kind, only: RKG => RK1
575 real(RKG) , intent(out) :: logPDF
576 real(RKG) , intent(in) :: x, logPDFNF, kappa
577 end subroutine
578#endif
579
580 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581
582 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
583 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585
586 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
587
588#if RK5_ENABLED
589 PURE elemental module subroutine setExpGammaLogPDFNKS_RK5(logPDF, x, logPDFNF, kappa, logSigma)
590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
591 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKS_RK5
592#endif
593 use pm_kind, only: RKG => RK5
594 real(RKG) , intent(out) :: logPDF
595 real(RKG) , intent(in) :: x, logPDFNF, kappa, logSigma
596 end subroutine
597#endif
598
599#if RK4_ENABLED
600 PURE elemental module subroutine setExpGammaLogPDFNKS_RK4(logPDF, x, logPDFNF, kappa, logSigma)
601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
602 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKS_RK4
603#endif
604 use pm_kind, only: RKG => RK4
605 real(RKG) , intent(out) :: logPDF
606 real(RKG) , intent(in) :: x, logPDFNF, kappa, logSigma
607 end subroutine
608#endif
609
610#if RK3_ENABLED
611 PURE elemental module subroutine setExpGammaLogPDFNKS_RK3(logPDF, x, logPDFNF, kappa, logSigma)
612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
613 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKS_RK3
614#endif
615 use pm_kind, only: RKG => RK3
616 real(RKG) , intent(out) :: logPDF
617 real(RKG) , intent(in) :: x, logPDFNF, kappa, logSigma
618 end subroutine
619#endif
620
621#if RK2_ENABLED
622 PURE elemental module subroutine setExpGammaLogPDFNKS_RK2(logPDF, x, logPDFNF, kappa, logSigma)
623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
624 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKS_RK2
625#endif
626 use pm_kind, only: RKG => RK2
627 real(RKG) , intent(out) :: logPDF
628 real(RKG) , intent(in) :: x, logPDFNF, kappa, logSigma
629 end subroutine
630#endif
631
632#if RK1_ENABLED
633 PURE elemental module subroutine setExpGammaLogPDFNKS_RK1(logPDF, x, logPDFNF, kappa, logSigma)
634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
635 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaLogPDFNKS_RK1
636#endif
637 use pm_kind, only: RKG => RK1
638 real(RKG) , intent(out) :: logPDF
639 real(RKG) , intent(in) :: x, logPDFNF, kappa, logSigma
640 end subroutine
641#endif
642
643 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
644
645 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648
649 end interface
650
651!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652
721
722 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
723
724#if RK5_ENABLED
725 PURE elemental module function getExpGammaCDF_RK5(x, kappa, logSigma) result(cdf)
726#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
727 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaCDF_RK5
728#endif
729 use pm_kind, only: RKG => RK5
730 real(RKG) , intent(in) :: x
731 real(RKG) , intent(in) , optional :: kappa, logSigma
732 real(RKG) :: cdf
733 end function
734#endif
735
736#if RK4_ENABLED
737 PURE elemental module function getExpGammaCDF_RK4(x, kappa, logSigma) result(cdf)
738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
739 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaCDF_RK4
740#endif
741 use pm_kind, only: RKG => RK4
742 real(RKG) , intent(in) :: x
743 real(RKG) , intent(in) , optional :: kappa, logSigma
744 real(RKG) :: cdf
745 end function
746#endif
747
748#if RK3_ENABLED
749 PURE elemental module function getExpGammaCDF_RK3(x, kappa, logSigma) result(cdf)
750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
751 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaCDF_RK3
752#endif
753 use pm_kind, only: RKG => RK3
754 real(RKG) , intent(in) :: x
755 real(RKG) , intent(in) , optional :: kappa, logSigma
756 real(RKG) :: cdf
757 end function
758#endif
759
760#if RK2_ENABLED
761 PURE elemental module function getExpGammaCDF_RK2(x, kappa, logSigma) result(cdf)
762#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
763 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaCDF_RK2
764#endif
765 use pm_kind, only: RKG => RK2
766 real(RKG) , intent(in) :: x
767 real(RKG) , intent(in) , optional :: kappa, logSigma
768 real(RKG) :: cdf
769 end function
770#endif
771
772#if RK1_ENABLED
773 PURE elemental module function getExpGammaCDF_RK1(x, kappa, logSigma) result(cdf)
774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
775 !DEC$ ATTRIBUTES DLLEXPORT :: getExpGammaCDF_RK1
776#endif
777 use pm_kind, only: RKG => RK1
778 real(RKG) , intent(in) :: x
779 real(RKG) , intent(in) , optional :: kappa, logSigma
780 real(RKG) :: cdf
781 end function
782#endif
783
784 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
785
786 end interface
787
788!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
789
856
857 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
858
859#if RK5_ENABLED
860 PURE elemental module subroutine setExpGammaCDFDD_RK5(cdf, x, info)
861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
862 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFDD_RK5
863#endif
864 use pm_kind, only: RKG => RK5
865 real(RKG) , intent(out) :: cdf
866 real(RKG) , intent(in) :: x
867 integer(IK) , intent(out) :: info
868 end subroutine
869#endif
870
871#if RK4_ENABLED
872 PURE elemental module subroutine setExpGammaCDFDD_RK4(cdf, x, info)
873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
874 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFDD_RK4
875#endif
876 use pm_kind, only: RKG => RK4
877 real(RKG) , intent(out) :: cdf
878 real(RKG) , intent(in) :: x
879 integer(IK) , intent(out) :: info
880 end subroutine
881#endif
882
883#if RK3_ENABLED
884 PURE elemental module subroutine setExpGammaCDFDD_RK3(cdf, x, info)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFDD_RK3
887#endif
888 use pm_kind, only: RKG => RK3
889 real(RKG) , intent(out) :: cdf
890 real(RKG) , intent(in) :: x
891 integer(IK) , intent(out) :: info
892 end subroutine
893#endif
894
895#if RK2_ENABLED
896 PURE elemental module subroutine setExpGammaCDFDD_RK2(cdf, x, info)
897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
898 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFDD_RK2
899#endif
900 use pm_kind, only: RKG => RK2
901 real(RKG) , intent(out) :: cdf
902 real(RKG) , intent(in) :: x
903 integer(IK) , intent(out) :: info
904 end subroutine
905#endif
906
907#if RK1_ENABLED
908 PURE elemental module subroutine setExpGammaCDFDD_RK1(cdf, x, info)
909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
910 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFDD_RK1
911#endif
912 use pm_kind, only: RKG => RK1
913 real(RKG) , intent(out) :: cdf
914 real(RKG) , intent(in) :: x
915 integer(IK) , intent(out) :: info
916 end subroutine
917#endif
918
919 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
920
921#if RK5_ENABLED
922 PURE elemental module subroutine setExpGammaCDFKD_RK5(cdf, x, kappa, info)
923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
924 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKD_RK5
925#endif
926 use pm_kind, only: RKG => RK5
927 real(RKG) , intent(out) :: cdf
928 real(RKG) , intent(in) :: x, kappa
929 integer(IK) , intent(out) :: info
930 end subroutine
931#endif
932
933#if RK4_ENABLED
934 PURE elemental module subroutine setExpGammaCDFKD_RK4(cdf, x, kappa, info)
935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
936 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKD_RK4
937#endif
938 use pm_kind, only: RKG => RK4
939 real(RKG) , intent(out) :: cdf
940 real(RKG) , intent(in) :: x, kappa
941 integer(IK) , intent(out) :: info
942 end subroutine
943#endif
944
945#if RK3_ENABLED
946 PURE elemental module subroutine setExpGammaCDFKD_RK3(cdf, x, kappa, info)
947#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
948 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKD_RK3
949#endif
950 use pm_kind, only: RKG => RK3
951 real(RKG) , intent(out) :: cdf
952 real(RKG) , intent(in) :: x, kappa
953 integer(IK) , intent(out) :: info
954 end subroutine
955#endif
956
957#if RK2_ENABLED
958 PURE elemental module subroutine setExpGammaCDFKD_RK2(cdf, x, kappa, info)
959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
960 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKD_RK2
961#endif
962 use pm_kind, only: RKG => RK2
963 real(RKG) , intent(out) :: cdf
964 real(RKG) , intent(in) :: x, kappa
965 integer(IK) , intent(out) :: info
966 end subroutine
967#endif
968
969#if RK1_ENABLED
970 PURE elemental module subroutine setExpGammaCDFKD_RK1(cdf, x, kappa, info)
971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
972 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKD_RK1
973#endif
974 use pm_kind, only: RKG => RK1
975 real(RKG) , intent(out) :: cdf
976 real(RKG) , intent(in) :: x, kappa
977 integer(IK) , intent(out) :: info
978 end subroutine
979#endif
980
981 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
982
983#if RK5_ENABLED
984 PURE elemental module subroutine setExpGammaCDFKS_RK5(cdf, x, kappa, logSigma, info)
985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
986 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKS_RK5
987#endif
988 use pm_kind, only: RKG => RK5
989 real(RKG) , intent(out) :: cdf
990 real(RKG) , intent(in) :: x, kappa, logSigma
991 integer(IK) , intent(out) :: info
992 end subroutine
993#endif
994
995#if RK4_ENABLED
996 PURE elemental module subroutine setExpGammaCDFKS_RK4(cdf, x, kappa, logSigma, info)
997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
998 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKS_RK4
999#endif
1000 use pm_kind, only: RKG => RK4
1001 real(RKG) , intent(out) :: cdf
1002 real(RKG) , intent(in) :: x, kappa, logSigma
1003 integer(IK) , intent(out) :: info
1004 end subroutine
1005#endif
1006
1007#if RK3_ENABLED
1008 PURE elemental module subroutine setExpGammaCDFKS_RK3(cdf, x, kappa, logSigma, info)
1009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1010 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKS_RK3
1011#endif
1012 use pm_kind, only: RKG => RK3
1013 real(RKG) , intent(out) :: cdf
1014 real(RKG) , intent(in) :: x, kappa, logSigma
1015 integer(IK) , intent(out) :: info
1016 end subroutine
1017#endif
1018
1019#if RK2_ENABLED
1020 PURE elemental module subroutine setExpGammaCDFKS_RK2(cdf, x, kappa, logSigma, info)
1021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1022 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKS_RK2
1023#endif
1024 use pm_kind, only: RKG => RK2
1025 real(RKG) , intent(out) :: cdf
1026 real(RKG) , intent(in) :: x, kappa, logSigma
1027 integer(IK) , intent(out) :: info
1028 end subroutine
1029#endif
1030
1031#if RK1_ENABLED
1032 PURE elemental module subroutine setExpGammaCDFKS_RK1(cdf, x, kappa, logSigma, info)
1033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1034 !DEC$ ATTRIBUTES DLLEXPORT :: setExpGammaCDFKS_RK1
1035#endif
1036 use pm_kind, only: RKG => RK1
1037 real(RKG) , intent(out) :: cdf
1038 real(RKG) , intent(in) :: x, kappa, logSigma
1039 integer(IK) , intent(out) :: info
1040 end subroutine
1041#endif
1042
1043 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1044
1045 end interface
1046
1047!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1048
1049end module pm_distExpGamma
Generate and return the Cumulative Distribution Function (CDF) of the ExpGamma distribution for an in...
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 ExpGamma d...
Return the Cumulative Distribution Function (CDF) of the ExpGamma distribution for an input x within ...
Return the natural logarithm of the Probability Density Function (PDF) of the ExpGamma distribution.
This module contains classes and procedures for computing various statistical quantities related to t...
character(*, SK), parameter MODULE_NAME
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 ExpGamma as defined in the des...