ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distNorm.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
176
177!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178
180
181 use pm_distUnif, only: rngf_type
183 use pm_kind, only: SK, IK, LK, RKH, RKB
184
185 implicit none
186
187 character(*, SK), parameter :: MODULE_NAME = "@pm_distNorm"
188
189!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190
225 end type
226
227!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228
295
296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297
298#if RK5_ENABLED
299 PURE elemental module function getNormLogPDF_RK5(x, mu, sigma) result(logPDF)
300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
301 !DEC$ ATTRIBUTES DLLEXPORT :: getNormLogPDF_RK5
302#endif
303 use pm_kind, only: RKG => RK5
304 real(RKG) , intent(in) :: x
305 real(RKG) , intent(in) , optional :: mu, sigma
306 real(RKG) :: logPDF
307 end function
308#endif
309
310#if RK4_ENABLED
311 PURE elemental module function getNormLogPDF_RK4(x, mu, sigma) result(logPDF)
312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
313 !DEC$ ATTRIBUTES DLLEXPORT :: getNormLogPDF_RK4
314#endif
315 use pm_kind, only: RKG => RK4
316 real(RKG) , intent(in) :: x
317 real(RKG) , intent(in) , optional :: mu, sigma
318 real(RKG) :: logPDF
319 end function
320#endif
321
322#if RK3_ENABLED
323 PURE elemental module function getNormLogPDF_RK3(x, mu, sigma) result(logPDF)
324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
325 !DEC$ ATTRIBUTES DLLEXPORT :: getNormLogPDF_RK3
326#endif
327 use pm_kind, only: RKG => RK3
328 real(RKG) , intent(in) :: x
329 real(RKG) , intent(in) , optional :: mu, sigma
330 real(RKG) :: logPDF
331 end function
332#endif
333
334#if RK2_ENABLED
335 PURE elemental module function getNormLogPDF_RK2(x, mu, sigma) result(logPDF)
336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
337 !DEC$ ATTRIBUTES DLLEXPORT :: getNormLogPDF_RK2
338#endif
339 use pm_kind, only: RKG => RK2
340 real(RKG) , intent(in) :: x
341 real(RKG) , intent(in) , optional :: mu, sigma
342 real(RKG) :: logPDF
343 end function
344#endif
345
346#if RK1_ENABLED
347 PURE elemental module function getNormLogPDF_RK1(x, mu, sigma) result(logPDF)
348#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
349 !DEC$ ATTRIBUTES DLLEXPORT :: getNormLogPDF_RK1
350#endif
351 use pm_kind, only: RKG => RK1
352 real(RKG) , intent(in) :: x
353 real(RKG) , intent(in) , optional :: mu, sigma
354 real(RKG) :: logPDF
355 end function
356#endif
357
358 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359
360 end interface getNormLogPDF
361
362!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363
438
439 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
440
441#if RK5_ENABLED
442 PURE elemental module subroutine setNormLogPDFDD_RK5(logPDF, x)
443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
444 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDD_RK5
445#endif
446 use pm_kind, only: RKG => RK5
447 real(RKG) , intent(out) :: logPDF
448 real(RKG) , intent(in) :: x
449 end subroutine
450#endif
451
452#if RK4_ENABLED
453 PURE elemental module subroutine setNormLogPDFDD_RK4(logPDF, x)
454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
455 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDD_RK4
456#endif
457 use pm_kind, only: RKG => RK4
458 real(RKG) , intent(out) :: logPDF
459 real(RKG) , intent(in) :: x
460 end subroutine
461#endif
462
463#if RK3_ENABLED
464 PURE elemental module subroutine setNormLogPDFDD_RK3(logPDF, x)
465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
466 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDD_RK3
467#endif
468 use pm_kind, only: RKG => RK3
469 real(RKG) , intent(out) :: logPDF
470 real(RKG) , intent(in) :: x
471 end subroutine
472#endif
473
474#if RK2_ENABLED
475 PURE elemental module subroutine setNormLogPDFDD_RK2(logPDF, x)
476#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
477 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDD_RK2
478#endif
479 use pm_kind, only: RKG => RK2
480 real(RKG) , intent(out) :: logPDF
481 real(RKG) , intent(in) :: x
482 end subroutine
483#endif
484
485#if RK1_ENABLED
486 PURE elemental module subroutine setNormLogPDFDD_RK1(logPDF, x)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDD_RK1
489#endif
490 use pm_kind, only: RKG => RK1
491 real(RKG) , intent(out) :: logPDF
492 real(RKG) , intent(in) :: x
493 end subroutine
494#endif
495
496 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497
498#if RK5_ENABLED
499 PURE elemental module subroutine setNormLogPDFMD_RK5(logPDF, x, mu)
500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
501 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMD_RK5
502#endif
503 use pm_kind, only: RKG => RK5
504 real(RKG) , intent(out) :: logPDF
505 real(RKG) , intent(in) :: x
506 real(RKG) , intent(in) :: mu
507 end subroutine
508#endif
509
510#if RK4_ENABLED
511 PURE elemental module subroutine setNormLogPDFMD_RK4(logPDF, x, mu)
512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
513 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMD_RK4
514#endif
515 use pm_kind, only: RKG => RK4
516 real(RKG) , intent(out) :: logPDF
517 real(RKG) , intent(in) :: x
518 real(RKG) , intent(in) :: mu
519 end subroutine
520#endif
521
522#if RK3_ENABLED
523 PURE elemental module subroutine setNormLogPDFMD_RK3(logPDF, x, mu)
524#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
525 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMD_RK3
526#endif
527 use pm_kind, only: RKG => RK3
528 real(RKG) , intent(out) :: logPDF
529 real(RKG) , intent(in) :: x
530 real(RKG) , intent(in) :: mu
531 end subroutine
532#endif
533
534#if RK2_ENABLED
535 PURE elemental module subroutine setNormLogPDFMD_RK2(logPDF, x, mu)
536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
537 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMD_RK2
538#endif
539 use pm_kind, only: RKG => RK2
540 real(RKG) , intent(out) :: logPDF
541 real(RKG) , intent(in) :: x
542 real(RKG) , intent(in) :: mu
543 end subroutine
544#endif
545
546#if RK1_ENABLED
547 PURE elemental module subroutine setNormLogPDFMD_RK1(logPDF, x, mu)
548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
549 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMD_RK1
550#endif
551 use pm_kind, only: RKG => RK1
552 real(RKG) , intent(out) :: logPDF
553 real(RKG) , intent(in) :: x
554 real(RKG) , intent(in) :: mu
555 end subroutine
556#endif
557
558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559
560#if RK5_ENABLED
561 PURE elemental module subroutine setNormLogPDFDS_RK5(logPDF, x, invSigma, logInvSigma)
562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
563 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDS_RK5
564#endif
565 use pm_kind, only: RKG => RK5
566 real(RKG) , intent(out) :: logPDF
567 real(RKG) , intent(in) :: x
568 real(RKG) , intent(in) :: invSigma, logInvSigma
569 end subroutine
570#endif
571
572#if RK4_ENABLED
573 PURE elemental module subroutine setNormLogPDFDS_RK4(logPDF, x, invSigma, logInvSigma)
574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
575 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDS_RK4
576#endif
577 use pm_kind, only: RKG => RK4
578 real(RKG) , intent(out) :: logPDF
579 real(RKG) , intent(in) :: x
580 real(RKG) , intent(in) :: invSigma, logInvSigma
581 end subroutine
582#endif
583
584#if RK3_ENABLED
585 PURE elemental module subroutine setNormLogPDFDS_RK3(logPDF, x, invSigma, logInvSigma)
586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
587 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDS_RK3
588#endif
589 use pm_kind, only: RKG => RK3
590 real(RKG) , intent(out) :: logPDF
591 real(RKG) , intent(in) :: x
592 real(RKG) , intent(in) :: invSigma, logInvSigma
593 end subroutine
594#endif
595
596#if RK2_ENABLED
597 PURE elemental module subroutine setNormLogPDFDS_RK2(logPDF, x, invSigma, logInvSigma)
598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
599 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDS_RK2
600#endif
601 use pm_kind, only: RKG => RK2
602 real(RKG) , intent(out) :: logPDF
603 real(RKG) , intent(in) :: x
604 real(RKG) , intent(in) :: invSigma, logInvSigma
605 end subroutine
606#endif
607
608#if RK1_ENABLED
609 PURE elemental module subroutine setNormLogPDFDS_RK1(logPDF, x, invSigma, logInvSigma)
610#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
611 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFDS_RK1
612#endif
613 use pm_kind, only: RKG => RK1
614 real(RKG) , intent(out) :: logPDF
615 real(RKG) , intent(in) :: x
616 real(RKG) , intent(in) :: invSigma, logInvSigma
617 end subroutine
618#endif
619
620 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621
622#if RK5_ENABLED
623 PURE elemental module subroutine setNormLogPDFMS_RK5(logPDF, x, mu, invSigma, logInvSigma)
624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
625 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMS_RK5
626#endif
627 use pm_kind, only: RKG => RK5
628 real(RKG) , intent(out) :: logPDF
629 real(RKG) , intent(in) :: x
630 real(RKG) , intent(in) :: mu
631 real(RKG) , intent(in) :: invSigma
632 real(RKG) , intent(in) :: logInvSigma
633 end subroutine
634#endif
635
636#if RK4_ENABLED
637 PURE elemental module subroutine setNormLogPDFMS_RK4(logPDF, x, mu, invSigma, logInvSigma)
638#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
639 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMS_RK4
640#endif
641 use pm_kind, only: RKG => RK4
642 real(RKG) , intent(out) :: logPDF
643 real(RKG) , intent(in) :: x
644 real(RKG) , intent(in) :: mu
645 real(RKG) , intent(in) :: invSigma
646 real(RKG) , intent(in) :: logInvSigma
647 end subroutine
648#endif
649
650#if RK3_ENABLED
651 PURE elemental module subroutine setNormLogPDFMS_RK3(logPDF, x, mu, invSigma, logInvSigma)
652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
653 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMS_RK3
654#endif
655 use pm_kind, only: RKG => RK3
656 real(RKG) , intent(out) :: logPDF
657 real(RKG) , intent(in) :: x
658 real(RKG) , intent(in) :: mu
659 real(RKG) , intent(in) :: invSigma
660 real(RKG) , intent(in) :: logInvSigma
661 end subroutine
662#endif
663
664#if RK2_ENABLED
665 PURE elemental module subroutine setNormLogPDFMS_RK2(logPDF, x, mu, invSigma, logInvSigma)
666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
667 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMS_RK2
668#endif
669 use pm_kind, only: RKG => RK2
670 real(RKG) , intent(out) :: logPDF
671 real(RKG) , intent(in) :: x
672 real(RKG) , intent(in) :: mu
673 real(RKG) , intent(in) :: invSigma
674 real(RKG) , intent(in) :: logInvSigma
675 end subroutine
676#endif
677
678#if RK1_ENABLED
679 PURE elemental module subroutine setNormLogPDFMS_RK1(logPDF, x, mu, invSigma, logInvSigma)
680#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
681 !DEC$ ATTRIBUTES DLLEXPORT :: setNormLogPDFMS_RK1
682#endif
683 use pm_kind, only: RKG => RK1
684 real(RKG) , intent(out) :: logPDF
685 real(RKG) , intent(in) :: x
686 real(RKG) , intent(in) :: mu
687 real(RKG) , intent(in) :: invSigma
688 real(RKG) , intent(in) :: logInvSigma
689 end subroutine
690#endif
691
692 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
693
694 end interface setNormLogPDF
695
696!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697
754 interface getNormCDF
755
756 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757
758#if RK5_ENABLED
759 PURE elemental module function getNormCDF_RK5(x, mu, sigma) result(cdf)
760#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
761 !DEC$ ATTRIBUTES DLLEXPORT :: getNormCDF_RK5
762#endif
763 use pm_kind, only: RKG => RK5
764 real(RKG) , intent(in) :: x
765 real(RKG) , intent(in) , optional :: mu
766 real(RKG) , intent(in) , optional :: sigma
767 real(RKG) :: cdf
768 end function
769#endif
770
771#if RK4_ENABLED
772 PURE elemental module function getNormCDF_RK4(x, mu, sigma) result(cdf)
773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
774 !DEC$ ATTRIBUTES DLLEXPORT :: getNormCDF_RK4
775#endif
776 use pm_kind, only: RKG => RK4
777 real(RKG) , intent(in) :: x
778 real(RKG) , intent(in) , optional :: mu
779 real(RKG) , intent(in) , optional :: sigma
780 real(RKG) :: cdf
781 end function
782#endif
783
784#if RK3_ENABLED
785 PURE elemental module function getNormCDF_RK3(x, mu, sigma) result(cdf)
786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
787 !DEC$ ATTRIBUTES DLLEXPORT :: getNormCDF_RK3
788#endif
789 use pm_kind, only: RKG => RK3
790 real(RKG) , intent(in) :: x
791 real(RKG) , intent(in) , optional :: mu
792 real(RKG) , intent(in) , optional :: sigma
793 real(RKG) :: cdf
794 end function
795#endif
796
797#if RK2_ENABLED
798 PURE elemental module function getNormCDF_RK2(x, mu, sigma) result(cdf)
799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
800 !DEC$ ATTRIBUTES DLLEXPORT :: getNormCDF_RK2
801#endif
802 use pm_kind, only: RKG => RK2
803 real(RKG) , intent(in) :: x
804 real(RKG) , intent(in) , optional :: mu
805 real(RKG) , intent(in) , optional :: sigma
806 real(RKG) :: cdf
807 end function
808#endif
809
810#if RK1_ENABLED
811 PURE elemental module function getNormCDF_RK1(x, mu, sigma) result(cdf)
812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
813 !DEC$ ATTRIBUTES DLLEXPORT :: getNormCDF_RK1
814#endif
815 use pm_kind, only: RKG => RK1
816 real(RKG) , intent(in) :: x
817 real(RKG) , intent(in) , optional :: mu
818 real(RKG) , intent(in) , optional :: sigma
819 real(RKG) :: cdf
820 end function
821#endif
822
823 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
824
825 end interface getNormCDF
826
827!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
828
886 interface setNormCDF
887
888 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
889
890#if RK5_ENABLED
891 PURE elemental module subroutine setNormCDFDD_RK5(cdf, x)
892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
893 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFDD_RK5
894#endif
895 use pm_kind, only: RKG => RK5
896 real(RKG) , intent(out) :: cdf
897 real(RKG) , intent(in) :: x
898 end subroutine
899#endif
900
901#if RK4_ENABLED
902 PURE elemental module subroutine setNormCDFDD_RK4(cdf, x)
903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
904 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFDD_RK4
905#endif
906 use pm_kind, only: RKG => RK4
907 real(RKG) , intent(out) :: cdf
908 real(RKG) , intent(in) :: x
909 end subroutine
910#endif
911
912#if RK3_ENABLED
913 PURE elemental module subroutine setNormCDFDD_RK3(cdf, x)
914#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
915 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFDD_RK3
916#endif
917 use pm_kind, only: RKG => RK3
918 real(RKG) , intent(out) :: cdf
919 real(RKG) , intent(in) :: x
920 end subroutine
921#endif
922
923#if RK2_ENABLED
924 PURE elemental module subroutine setNormCDFDD_RK2(cdf, x)
925#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
926 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFDD_RK2
927#endif
928 use pm_kind, only: RKG => RK2
929 real(RKG) , intent(in) :: x
930 real(RKG) , intent(out) :: cdf
931 end subroutine
932#endif
933
934#if RK1_ENABLED
935 PURE elemental module subroutine setNormCDFDD_RK1(cdf, x)
936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
937 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFDD_RK1
938#endif
939 use pm_kind, only: RKG => RK1
940 real(RKG) , intent(out) :: cdf
941 real(RKG) , intent(in) :: x
942 end subroutine
943#endif
944
945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
946
947#if RK5_ENABLED
948 PURE elemental module subroutine setNormCDFMD_RK5(cdf, x, mu)
949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
950 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMD_RK5
951#endif
952 use pm_kind, only: RKG => RK5
953 real(RKG) , intent(out) :: cdf
954 real(RKG) , intent(in) :: x
955 real(RKG) , intent(in) :: mu
956 end subroutine
957#endif
958
959#if RK4_ENABLED
960 PURE elemental module subroutine setNormCDFMD_RK4(cdf, x, mu)
961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
962 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMD_RK4
963#endif
964 use pm_kind, only: RKG => RK4
965 real(RKG) , intent(out) :: cdf
966 real(RKG) , intent(in) :: x
967 real(RKG) , intent(in) :: mu
968 end subroutine
969#endif
970
971#if RK3_ENABLED
972 PURE elemental module subroutine setNormCDFMD_RK3(cdf, x, mu)
973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
974 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMD_RK3
975#endif
976 use pm_kind, only: RKG => RK3
977 real(RKG) , intent(out) :: cdf
978 real(RKG) , intent(in) :: x
979 real(RKG) , intent(in) :: mu
980 end subroutine
981#endif
982
983#if RK2_ENABLED
984 PURE elemental module subroutine setNormCDFMD_RK2(cdf, x, mu)
985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
986 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMD_RK2
987#endif
988 use pm_kind, only: RKG => RK2
989 real(RKG) , intent(out) :: cdf
990 real(RKG) , intent(in) :: x
991 real(RKG) , intent(in) :: mu
992 end subroutine
993#endif
994
995#if RK1_ENABLED
996 PURE elemental module subroutine setNormCDFMD_RK1(cdf, x, mu)
997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
998 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMD_RK1
999#endif
1000 use pm_kind, only: RKG => RK1
1001 real(RKG) , intent(out) :: cdf
1002 real(RKG) , intent(in) :: x
1003 real(RKG) , intent(in) :: mu
1004 end subroutine
1005#endif
1006
1007 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1008
1009#if RK5_ENABLED
1010 PURE elemental module subroutine setNormCDFMS_RK5(cdf, x, mu, invSigma)
1011#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1012 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMS_RK5
1013#endif
1014 use pm_kind, only: RKG => RK5
1015 real(RKG) , intent(out) :: cdf
1016 real(RKG) , intent(in) :: x
1017 real(RKG) , intent(in) :: mu
1018 real(RKG) , intent(in) :: invSigma
1019 end subroutine
1020#endif
1021
1022#if RK4_ENABLED
1023 PURE elemental module subroutine setNormCDFMS_RK4(cdf, x, mu, invSigma)
1024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1025 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMS_RK4
1026#endif
1027 use pm_kind, only: RKG => RK4
1028 real(RKG) , intent(out) :: cdf
1029 real(RKG) , intent(in) :: x
1030 real(RKG) , intent(in) :: mu
1031 real(RKG) , intent(in) :: invSigma
1032 end subroutine
1033#endif
1034
1035#if RK3_ENABLED
1036 PURE elemental module subroutine setNormCDFMS_RK3(cdf, x, mu, invSigma)
1037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1038 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMS_RK3
1039#endif
1040 use pm_kind, only: RKG => RK3
1041 real(RKG) , intent(out) :: cdf
1042 real(RKG) , intent(in) :: x
1043 real(RKG) , intent(in) :: mu
1044 real(RKG) , intent(in) :: invSigma
1045 end subroutine
1046#endif
1047
1048#if RK2_ENABLED
1049 PURE elemental module subroutine setNormCDFMS_RK2(cdf, x, mu, invSigma)
1050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1051 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMS_RK2
1052#endif
1053 use pm_kind, only: RKG => RK2
1054 real(RKG) , intent(out) :: cdf
1055 real(RKG) , intent(in) :: x
1056 real(RKG) , intent(in) :: mu
1057 real(RKG) , intent(in) :: invSigma
1058 end subroutine
1059#endif
1060
1061#if RK1_ENABLED
1062 PURE elemental module subroutine setNormCDFMS_RK1(cdf, x, mu, invSigma)
1063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1064 !DEC$ ATTRIBUTES DLLEXPORT :: setNormCDFMS_RK1
1065#endif
1066 use pm_kind, only: RKG => RK1
1067 real(RKG) , intent(out) :: cdf
1068 real(RKG) , intent(in) :: x
1069 real(RKG) , intent(in) :: mu
1070 real(RKG) , intent(in) :: invSigma
1071 end subroutine
1072#endif
1073
1074 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1075
1076 end interface setNormCDF
1077
1078!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1079
1138 interface getNormQuan
1139
1140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1141
1142#if RK5_ENABLED
1143 PURE elemental module function getNormQuan_RK5(cdf, mu, sigma) result(quantile)
1144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1145 !DEC$ ATTRIBUTES DLLEXPORT :: getNormQuan_RK5
1146#endif
1147 use pm_kind, only: RKG => RK5
1148 real(RKG) , intent(in) :: cdf
1149 real(RKG) , intent(in) , optional :: mu
1150 real(RKG) , intent(in) , optional :: sigma
1151 real(RKG) :: quantile
1152 end function
1153#endif
1154
1155#if RK4_ENABLED
1156 PURE elemental module function getNormQuan_RK4(cdf, mu, sigma) result(quantile)
1157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1158 !DEC$ ATTRIBUTES DLLEXPORT :: getNormQuan_RK4
1159#endif
1160 use pm_kind, only: RKG => RK4
1161 real(RKG) , intent(in) :: cdf
1162 real(RKG) , intent(in) , optional :: mu
1163 real(RKG) , intent(in) , optional :: sigma
1164 real(RKG) :: quantile
1165 end function
1166#endif
1167
1168#if RK3_ENABLED
1169 PURE elemental module function getNormQuan_RK3(cdf, mu, sigma) result(quantile)
1170#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1171 !DEC$ ATTRIBUTES DLLEXPORT :: getNormQuan_RK3
1172#endif
1173 use pm_kind, only: RKG => RK3
1174 real(RKG) , intent(in) :: cdf
1175 real(RKG) , intent(in) , optional :: mu
1176 real(RKG) , intent(in) , optional :: sigma
1177 real(RKG) :: quantile
1178 end function
1179#endif
1180
1181#if RK2_ENABLED
1182 PURE elemental module function getNormQuan_RK2(cdf, mu, sigma) result(quantile)
1183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1184 !DEC$ ATTRIBUTES DLLEXPORT :: getNormQuan_RK2
1185#endif
1186 use pm_kind, only: RKG => RK2
1187 real(RKG) , intent(in) :: cdf
1188 real(RKG) , intent(in) , optional :: mu
1189 real(RKG) , intent(in) , optional :: sigma
1190 real(RKG) :: quantile
1191 end function
1192#endif
1193
1194#if RK1_ENABLED
1195 PURE elemental module function getNormQuan_RK1(cdf, mu, sigma) result(quantile)
1196#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1197 !DEC$ ATTRIBUTES DLLEXPORT :: getNormQuan_RK1
1198#endif
1199 use pm_kind, only: RKG => RK1
1200 real(RKG) , intent(in) :: cdf
1201 real(RKG) , intent(in) , optional :: mu
1202 real(RKG) , intent(in) , optional :: sigma
1203 real(RKG) :: quantile
1204 end function
1205#endif
1206
1207 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1208
1209 end interface getNormQuan
1210
1211!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1212
1276 interface setNormQuan
1277
1278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1279
1280#if RK5_ENABLED
1281 PURE elemental module subroutine setNormQuanDD_RK5(quantile, cdf)
1282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1283 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanDD_RK5
1284#endif
1285 use pm_kind, only: RKG => RK5
1286 real(RKG) , intent(out) :: quantile
1287 real(RKG) , intent(in) :: cdf
1288 end subroutine
1289#endif
1290
1291#if RK4_ENABLED
1292 PURE elemental module subroutine setNormQuanDD_RK4(quantile, cdf)
1293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1294 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanDD_RK4
1295#endif
1296 use pm_kind, only: RKG => RK4
1297 real(RKG) , intent(out) :: quantile
1298 real(RKG) , intent(in) :: cdf
1299 end subroutine
1300#endif
1301
1302#if RK3_ENABLED
1303 PURE elemental module subroutine setNormQuanDD_RK3(quantile, cdf)
1304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1305 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanDD_RK3
1306#endif
1307 use pm_kind, only: RKG => RK3
1308 real(RKG) , intent(out) :: quantile
1309 real(RKG) , intent(in) :: cdf
1310 end subroutine
1311#endif
1312
1313#if RK2_ENABLED
1314 PURE elemental module subroutine setNormQuanDD_RK2(quantile, cdf)
1315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1316 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanDD_RK2
1317#endif
1318 use pm_kind, only: RKG => RK2
1319 real(RKG) , intent(in) :: cdf
1320 real(RKG) , intent(out) :: quantile
1321 end subroutine
1322#endif
1323
1324#if RK1_ENABLED
1325 PURE elemental module subroutine setNormQuanDD_RK1(quantile, cdf)
1326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1327 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanDD_RK1
1328#endif
1329 use pm_kind, only: RKG => RK1
1330 real(RKG) , intent(out) :: quantile
1331 real(RKG) , intent(in) :: cdf
1332 end subroutine
1333#endif
1334
1335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1336
1337#if RK5_ENABLED
1338 PURE elemental module subroutine setNormQuanMD_RK5(quantile, cdf, mu)
1339#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1340 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMD_RK5
1341#endif
1342 use pm_kind, only: RKG => RK5
1343 real(RKG) , intent(out) :: quantile
1344 real(RKG) , intent(in) :: cdf
1345 real(RKG) , intent(in) :: mu
1346 end subroutine
1347#endif
1348
1349#if RK4_ENABLED
1350 PURE elemental module subroutine setNormQuanMD_RK4(quantile, cdf, mu)
1351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1352 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMD_RK4
1353#endif
1354 use pm_kind, only: RKG => RK4
1355 real(RKG) , intent(out) :: quantile
1356 real(RKG) , intent(in) :: cdf
1357 real(RKG) , intent(in) :: mu
1358 end subroutine
1359#endif
1360
1361#if RK3_ENABLED
1362 PURE elemental module subroutine setNormQuanMD_RK3(quantile, cdf, mu)
1363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1364 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMD_RK3
1365#endif
1366 use pm_kind, only: RKG => RK3
1367 real(RKG) , intent(out) :: quantile
1368 real(RKG) , intent(in) :: cdf
1369 real(RKG) , intent(in) :: mu
1370 end subroutine
1371#endif
1372
1373#if RK2_ENABLED
1374 PURE elemental module subroutine setNormQuanMD_RK2(quantile, cdf, mu)
1375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1376 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMD_RK2
1377#endif
1378 use pm_kind, only: RKG => RK2
1379 real(RKG) , intent(out) :: quantile
1380 real(RKG) , intent(in) :: cdf
1381 real(RKG) , intent(in) :: mu
1382 end subroutine
1383#endif
1384
1385#if RK1_ENABLED
1386 PURE elemental module subroutine setNormQuanMD_RK1(quantile, cdf, mu)
1387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1388 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMD_RK1
1389#endif
1390 use pm_kind, only: RKG => RK1
1391 real(RKG) , intent(out) :: quantile
1392 real(RKG) , intent(in) :: cdf
1393 real(RKG) , intent(in) :: mu
1394 end subroutine
1395#endif
1396
1397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1398
1399#if RK5_ENABLED
1400 PURE elemental module subroutine setNormQuanMS_RK5(quantile, cdf, mu, sigma)
1401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1402 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMS_RK5
1403#endif
1404 use pm_kind, only: RKG => RK5
1405 real(RKG) , intent(out) :: quantile
1406 real(RKG) , intent(in) :: cdf
1407 real(RKG) , intent(in) :: mu
1408 real(RKG) , intent(in) :: sigma
1409 end subroutine
1410#endif
1411
1412#if RK4_ENABLED
1413 PURE elemental module subroutine setNormQuanMS_RK4(quantile, cdf, mu, sigma)
1414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1415 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMS_RK4
1416#endif
1417 use pm_kind, only: RKG => RK4
1418 real(RKG) , intent(out) :: quantile
1419 real(RKG) , intent(in) :: cdf
1420 real(RKG) , intent(in) :: mu
1421 real(RKG) , intent(in) :: sigma
1422 end subroutine
1423#endif
1424
1425#if RK3_ENABLED
1426 PURE elemental module subroutine setNormQuanMS_RK3(quantile, cdf, mu, sigma)
1427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1428 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMS_RK3
1429#endif
1430 use pm_kind, only: RKG => RK3
1431 real(RKG) , intent(out) :: quantile
1432 real(RKG) , intent(in) :: cdf
1433 real(RKG) , intent(in) :: mu
1434 real(RKG) , intent(in) :: sigma
1435 end subroutine
1436#endif
1437
1438#if RK2_ENABLED
1439 PURE elemental module subroutine setNormQuanMS_RK2(quantile, cdf, mu, sigma)
1440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1441 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMS_RK2
1442#endif
1443 use pm_kind, only: RKG => RK2
1444 real(RKG) , intent(out) :: quantile
1445 real(RKG) , intent(in) :: cdf
1446 real(RKG) , intent(in) :: mu
1447 real(RKG) , intent(in) :: sigma
1448 end subroutine
1449#endif
1450
1451#if RK1_ENABLED
1452 PURE elemental module subroutine setNormQuanMS_RK1(quantile, cdf, mu, sigma)
1453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1454 !DEC$ ATTRIBUTES DLLEXPORT :: setNormQuanMS_RK1
1455#endif
1456 use pm_kind, only: RKG => RK1
1457 real(RKG) , intent(out) :: quantile
1458 real(RKG) , intent(in) :: cdf
1459 real(RKG) , intent(in) :: mu
1460 real(RKG) , intent(in) :: sigma
1461 end subroutine
1462#endif
1463
1464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465
1466 end interface setNormQuan
1467
1468!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1469
1487 integer(IK) , parameter :: ZIG_PRECISION = 33_IK
1488
1489 real(RKB), parameter, private :: ZIGSET1(2, 0:128) = reshape([ +3.910757959524915869549621434510571640_RKB, +0.000000000000000000000000000000000000E+0_RKB &
1490 , +3.654152885361008771645429720399515670_RKB, +0.502781343070952005087938400241541891E-3_RKB &
1491 , +3.449278298561431270627228213833611250_RKB, +0.104086943106322506013635915064907845E-2_RKB &
1492 , +3.320244733839825517532232984442230700_RKB, +0.161091799459473453538408742342021986E-2_RKB &
1493 , +3.224575052047801587144019828764775500_RKB, +0.220312016549958827311372671027399889E-2_RKB &
1494 , +3.147889289518000685451855194084413580_RKB, +0.281289233937616172611348633870502865E-2_RKB &
1495 , +3.083526132002143251877768947617198840_RKB, +0.343751917929162224416229759239016324E-2_RKB &
1496 , +3.027837791769593524571714584215607150_RKB, +0.407518400039001087464038448139061472E-2_RKB &
1497 , +2.978603279881843165536974212294808030_RKB, +0.472457682607575925888895096351016103E-2_RKB &
1498 , +2.934366867208887589959928979567677640_RKB, +0.538470372266379748395288853907771468E-2_RKB &
1499 , +2.894121053613412181388100356210103800_RKB, +0.605478221942164063991037466747021604E-2_RKB &
1500 , +2.857138730873224588561645268053226920_RKB, +0.673417886624137640800598237565554838E-2_RKB &
1501 , +2.822877396826442907534115515646593530_RKB, +0.742236950888280249329920345563351449E-2_RKB &
1502 , +2.790921174001927318997779045468293070_RKB, +0.811891273868296054077142626445965006E-2_RKB &
1503 , +2.760944005279986201244382392492695240_RKB, +0.882343143223528339445647449425005264E-2_RKB &
1504 , +2.732685359044011420043182513046678140_RKB, +0.953559949343287212693559957627379651E-2_RKB &
1505 , +2.705933656123062221333700225998574460_RKB, +0.102551320707227866483396053794922990E-1_RKB &
1506 , +2.680514643285745101098374611431323380_RKB, +0.109817781711791129427823736030159900E-1_RKB &
1507 , +2.656283037576743296802124304559512000_RKB, +0.117153149732408013682731286377880085E-1_RKB &
1508 , +2.633116393631582759976309292516893140_RKB, +0.124555433719091587849084452906815838E-1_RKB &
1509 , +2.610910518488823671930263694478955450_RKB, +0.132022844366303809959357880408105012E-1_RKB &
1510 , +2.589575986708286649808805574507900700_RKB, +0.139553765573260408177619288977468218E-1_RKB &
1511 , +2.569035452681843781314262921528081910_RKB, +0.147146731176153334234423656007745630E-1_RKB &
1512 , +2.549221550324783104422671371241746650_RKB, +0.154800405777112059806768992081788185E-1_RKB &
1513 , +2.530075232159854187716539084126876370_RKB, +0.162513568797661774124156785927309438E-1_RKB &
1514 , +2.511544441626694343254607344580084390_RKB, +0.170285101099635321775373808069033731E-1_RKB &
1515 , +2.493583041271046768170053296506813290_RKB, +0.178113973671931254109163549358583312E-1_RKB &
1516 , +2.476149939670523163756216268162166500_RKB, +0.185999237995485118944697972790344771E-1_RKB &
1517 , +2.459208374334705035673859596487019180_RKB, +0.193940017783549904963609637793049119E-1_RKB &
1518 , +2.442725318200364223794234919225453500_RKB, +0.201935501858165129428739457647187713E-1_RKB &
1519 , +2.426670984937146719863529851633726960_RKB, +0.209984937972267218821328887239805004E-1_RKB &
1520 , +2.411018413901119491690349211725038630_RKB, +0.218087627424279111659346610629834973E-1_RKB &
1521 , +2.395743119781927356168686681412574760_RKB, +0.226242920341075527766680294896069533E-1_RKB &
1522 , +2.380822795172085556506619691319380400_RKB, +0.234450211528013514383037474818822027E-1_RKB &
1523 , +2.366237056717290911362148128140186000_RKB, +0.242708936802748765008871090362921378E-1_RKB &
1524 , +2.351967227379144761902530751453964640_RKB, +0.251018569743934986305835005740321359E-1_RKB &
1525 , +2.337996148796528635433480327093713940_RKB, +0.259378618797451777000075273655017443E-1_RKB &
1526 , +2.324308018871132508266119157050790040_RKB, +0.267788624692146997471273278024758566E-1_RKB &
1527 , +2.310888250601371758550614355860895420_RKB, +0.276248158124683715174543699462393572E-1_RKB &
1528 , +2.297723348902863520079790814230529130_RKB, +0.284756817679310236840265332909329685E-1_RKB &
1529 , +2.284800802724492127387834486937223350_RKB, +0.293314227953502809501556980682789090E-1_RKB &
1530 , +2.272108990228381861937683717373910900_RKB, +0.301920037864680654091842729977054983E-1_RKB &
1531 , +2.259637095173787624597566531167311770_RKB, +0.310573919116731481152577086508924965E-1_RKB &
1532 , +2.247375032947389262297952392515659590_RKB, +0.319275564808046037696524061552362067E-1_RKB &
1533 , +2.235313384929921110748362199673550240_RKB, +0.328024688165248443463852626030938600E-1_RKB &
1534 , +2.223443340092510611365346409716922540_RKB, +0.336821021388909593274737975695380343E-1_RKB &
1535 , +2.211756642884160997470500709266731210_RKB, +0.345664314599311541791934500133628777E-1_RKB &
1536 , +2.200245546611276427712165173291835590_RKB, +0.354554334871846263278378901217329216E-1_RKB &
1537 , +2.188902771626360742839576505604305880_RKB, +0.363490865352926868627480678085691155E-1_RKB &
1538 , +2.177721467740293002579164079152503390_RKB, +0.372473704448399433976210004282028638E-1_RKB &
1539 , +2.166695180354308542353137142121026540_RKB, +0.381502665077398667348211240367435477E-1_RKB &
1540 , +2.155817819876737469119503677197502650_RKB, +0.390577573985415074098963321878992358E-1_RKB &
1541 , +2.145083634047888982767999729572053870_RKB, +0.399698271111055203479683284323823695E-1_RKB &
1542 , +2.134487182846016909178836604796243250_RKB, +0.408864609001596660576863760104051322E-1_RKB &
1543 , +2.124023315689523545420714787478384860_RKB, +0.418076452272979751244992871255722388E-1_RKB &
1544 , +2.113687150686653177781935198589005610_RKB, +0.427333677110349512002228670090424488E-1_RKB &
1545 , +2.103474055714877305933714304045440450_RKB, +0.436636170805675209921984193602696278E-1_RKB &
1546 , +2.093379631138791930166361585961667970_RKB, +0.445983831329337385181389634688869380E-1_RKB &
1547 , +2.083399693998304613670792088175897210_RKB, +0.455376566932892082093887264381438529E-1_RKB &
1548 , +2.073530263518743034646393248416971800_RKB, +0.464814295780503946152953311870656232E-1_RKB &
1549 , +2.063767547811732114341853749078149630_RKB, +0.474296945606789346776298063351001244E-1_RKB &
1550 , +2.054107931650652130219475666313816510_RKB, +0.483824453399031873773625284851490337E-1_RKB &
1551 , +2.044547965217531455282628792749082960_RKB, +0.493396765101929088581344120097015200E-1_RKB &
1552 , +2.035084353729618971413871948694988270_RKB, +0.503013835343204408492863489427518069E-1_RKB &
1553 , +2.025713947863854245252399025955272060_RKB, +0.512675627178574145127079248497036520E-1_RKB &
1554 , +2.016433734906204123873988577023278720_RKB, +0.522382111854699318500836298767666937E-1_RKB &
1555 , +2.007240830560528758913239738198299090_RKB, +0.532133268588876922360496499106520185E-1_RKB &
1556 , +1.998132471358419680392214769162858870_RKB, +0.541929084364337554633405727268610055E-1_RKB &
1557 , +1.989106007617438123201023091217180910_RKB, +0.551769553740117250736639942272910314E-1_RKB &
1558 , +1.980158896900476605540416694815765850_RKB, +0.561654678674562273820736142229565223E-1_RKB &
1559 , +1.971288697933659294606356474434686550_RKB, +0.571584468361607664497222499802473837E-1_RKB &
1560 , +1.962493064944363052826024381256974850_RKB, +0.581558939079044529261453899150298019E-1_RKB &
1561 , +1.953769742384646776692572811817963060_RKB, +0.591578114048058224055549195846209505E-1_RKB &
1562 , +1.945116560008678301234686281875394240_RKB, +0.601642023303380532839147151743642514E-1_RKB &
1563 , +1.936531428275694700380702197135648770_RKB, +0.611750703573454323914419246868044098E-1_RKB &
1564 , +1.928012334052665710328808957510011910_RKB, +0.621904198170059582295143354352838012E-1_RKB &
1565 , +1.919557336593188113064282063465457130_RKB, +0.632102556886895688287062083850491706E-1_RKB &
1566 , +1.911164563771253338349016119398665420_RKB, +0.642345835906656803805852580678544053E-1_RKB &
1567 , +1.902832208550429269452784399230803680_RKB, +0.652634097716175649174146849378032930E-1_RKB &
1568 , +1.894558525670704732040885690575958130_RKB, +0.662967411029246168483446165075442866E-1_RKB &
1569 , +1.886341828536782820037856553309563160_RKB, +0.673345850716767915010299444811729445E-1_RKB &
1570 , +1.878180486292995844684467996043645020_RKB, +0.683769497743884728203642791575539760E-1_RKB &
1571 , +1.870072921071266778496337776290841830_RKB, +0.694238439113817677925134633773045847E-1_RKB &
1572 , +1.862017605399674118665348784397922740_RKB, +0.704752767818117550133248257276187773E-1_RKB &
1573 , +1.854013059760201906750898441184461490_RKB, +0.715312582793085547211649297744966411E-1_RKB &
1574 , +1.846057850285185505570580952991448920_RKB, +0.725917988882132560598516526262197654E-1_RKB &
1575 , +1.838150586582806633764931304898561700_RKB, +0.736569096803867509488343563799016629E-1_RKB &
1576 , +1.830289919682756933756055676984081970_RKB, +0.747266023125723976798301015314803279E-1_RKB &
1577 , +1.822474540093885838871898571617810260_RKB, +0.758008890242951847298446370142010715E-1_RKB &
1578 , +1.814703175966282671680772343522476780_RKB, +0.768797826362816984781690401687711081E-1_RKB &
1579 , +1.806974591350820938703420428388107530_RKB, +0.779632965493867285846698800079747914E-1_RKB &
1580 , +1.799287584549720199341728680984235510_RKB, +0.790514447440137817496961412302243116E-1_RKB &
1581 , +1.791640986552162594624382322132709310_RKB, +0.801442417800181275436054931177368005E-1_RKB &
1582 , +1.784033659549441512971864077807943680_RKB, +0.812417027970822772687529532474258376E-1_RKB &
1583 , +1.776464495524522868996124119276484200_RKB, +0.823438435155550059817881401744955979E-1_RKB &
1584 , +1.768932414911268589029665159840958690_RKB, +0.834506802377461758021915029242417507E-1_RKB &
1585 , +1.761436365318910280539794251593908460_RKB, +0.845622298496707118376316534786168010E-1_RKB &
1586 , +1.753975320317671535176286495650271100_RKB, +0.856785098232361263350014624915617177E-1_RKB &
1587 , +1.746548278281722412853610819915111290_RKB, +0.867995382188689874348253633476266673E-1_RKB &
1588 , +1.739154261285911657262420055628115450_RKB, +0.879253336885766911833903717911534395E-1_RKB &
1589 , +1.731792314052963154137933505808925000_RKB, +0.890559154794418239043567001488716945E-1_RKB &
1590 , +1.724461502948044912052862397775662270_RKB, +0.901913034375473009991491331657262247E-1_RKB &
1591 , +1.717160915017823089741659119609676780_RKB, +0.913315180123313418058911041645338441E-1_RKB &
1592 , +1.709889657071301820241745482016102880_RKB, +0.924765802613721921296195811766027943E-1_RKB &
1593 , +1.702646854799923151653900407051805770_RKB, +0.936265118556033400788781021199070560E-1_RKB &
1594 , +1.695431651934561568299588089192625460_RKB, +0.947813350849607903374772538857282822E-1_RKB &
1595 , +1.688243209437195389093695018261921410_RKB, +0.959410728644647702377950152378611650E-1_RKB &
1596 , +1.681080704725173871909617303396002540_RKB, +0.971057487407390411201725488177809241E-1_RKB &
1597 , +1.673943330926124999231911729230294350_RKB, +0.982753868989717834844303967803275557E-1_RKB &
1598 , +1.666830296161665512280717200364773540_RKB, +0.994500121703228172933039137854161328E-1_RKB &
1599 , +1.659740822858182552384789747414556960_RKB, +0.100629650039782712328127609576129162E+0_RKB &
1600 , +1.652674147083055944977076666279072050_RKB, +0.101814326654490140522320621972065562E+0_RKB &
1601 , +1.645629517904782346099997435068184430_RKB, +0.103004068832514625466733060901486566E+0_RKB &
1602 , +1.638606196775547730191205373889528150_RKB, +0.104198904072112656528428960098709859E+0_RKB &
1603 , +1.631603456934873546471532683464361160_RKB, +0.105398860561465958979782511482284346E+0_RKB &
1604 , +1.624620582833034778354059455865975410_RKB, +0.106603967188911549935198869215607602E+0_RKB &
1605 , +1.617656869573015532637880619762087450_RKB, +0.107814253553674065499513686193278908E+0_RKB &
1606 , +1.610711622369830051160545249046193620_RKB, +0.109029749977111720145296612324748632E+0_RKB &
1607 , +1.603784156026094530393066805218239570_RKB, +0.110250487514488157810061008578271138E+0_RKB &
1608 , +1.596873794422788175563087978818873180_RKB, +0.111476497967283378462230486935475436E+0_RKB &
1609 , +1.589979870024190797461111747861209560_RKB, +0.112707813896057876934855393386708534E+0_RKB &
1610 , +1.583101723396029247521107058058590910_RKB, +0.113944468633885115777321981289805190E+0_RKB &
1611 , +1.576238702735906320876658002975291310_RKB, +0.115186496300368473953376646626857215E+0_RKB &
1612 , +1.569390163415123656042832370955675890_RKB, +0.116433931816259871778263682344311485E+0_RKB &
1613 , +1.562555467531044820930627254229273630_RKB, +0.117686810918698373049736317381864947E+0_RKB &
1614 , +1.555733983469176375991038619565492320_RKB, +0.118945170177088211568318678970235501E+0_RKB &
1615 , +1.548925085474173406375274133330557850_RKB, +0.120209047009636885032310150781360772E+0_RKB &
1616 , +1.542128153229001959318075945656599760_RKB, +0.121478479700575208713903649777558606E+0_RKB &
1617 , +1.535342571441514138082707130216935300_RKB, +0.122753507418082528688239173356532507E+0_RKB ], shape = [2, 129])
1618 real(RKB), parameter, private :: ZIGSET2(2, 1:128) = reshape([ +1.528567729437712402628199461442167180_RKB, +0.124034170232941664267186768442998377E+0_RKB &
1619 , +1.521803020760998008679228498636570410_RKB, +0.125320509137949586535569901372920916E+0_RKB &
1620 , +1.515047842776714566947194255734634790_RKB, +0.126612566068111349659514010876108850E+0_RKB &
1621 , +1.508301596281311496171425183785073880_RKB, +0.127910383921646379432792471520964754E+0_RKB &
1622 , +1.501563685115463738688173273682448190_RKB, +0.129214006581837895215365859576747957E+0_RKB &
1623 , +1.494833515780493555035890159317754310_RKB, +0.130523478939758003270817270840923056E+0_RKB &
1624 , +1.488110497057447553013103271226758760_RKB, +0.131838846917902858239534927650542548E+0_RKB &
1625 , +1.481394039628187363902263028944763970_RKB, +0.133160157494774252287691074366070633E+0_RKB &
1626 , +1.474683555697855570628865196528769660_RKB, +0.134487458730446066069814161355648980E+0_RKB &
1627 , +1.467978458618079624962505551018572310_RKB, +0.135820799793156210330787895235534157E+0_RKB &
1628 , +1.461278162510275558141634572902431380_RKB, +0.137160230986967010673991854114446593E+0_RKB &
1629 , +1.454582081888410275202473614895370850_RKB, +0.138505803780539450342898439610712141E+0_RKB &
1630 , +1.447889631280576100338960603208179050_RKB, +0.139857570837069297157912765350925466E+0_RKB &
1631 , +1.441200224848723969896483905460819290_RKB, +0.141215586045435912189035654183361969E+0_RKB &
1632 , +1.434513276005892200373197821347744230_RKB, +0.142579904552617481390538701477587025E+0_RKB &
1633 , +1.427828197030256028046923580264626420_RKB, +0.143950582797429540314021584008091148E+0_RKB &
1634 , +1.421144398675309048678328840045534000_RKB, +0.145327678545646990255525094264574683E+0_RKB &
1635 , +1.414461289775471190729091975769526810_RKB, +0.146711250926573347052911625905291106E+0_RKB &
1636 , +1.407778276846398829890729544114189010_RKB, +0.148101360471124737782233265331001140E+0_RKB &
1637 , +1.401094763679250977372468027391928780_RKB, +0.149498069151500183758164830605819877E+0_RKB &
1638 , +1.394410150928141013910818209046742880_RKB, +0.150901440422514000012107606564276651E+0_RKB &
1639 , +1.387723835689976042816457610158740000_RKB, +0.152311539264670722976597120096621794E+0_RKB &
1640 , +1.381035211075855426557023886048995030_RKB, +0.153728432229067872471998597962422358E+0_RKB &
1641 , +1.374343665773166259809330405021183000_RKB, +0.155152187484217086331763054685730862E+0_RKB &
1642 , +1.367648583597476202662733878746826080_RKB, +0.156582874864879763414378129073938725E+0_RKB &
1643 , +1.360949343033283011396528844287145660_RKB, +0.158020565923019343095774015163019653E+0_RKB &
1644 , +1.354245316762634995007843766072061330_RKB, +0.159465333980978769091659649295558937E+0_RKB &
1645 , +1.347535871180587198226303191916842980_RKB, +0.160917254186998568094181273666041719E+0_RKB &
1646 , +1.340820365896404038797740514363138740_RKB, +0.162376403573198357993539454690214112E+0_RKB &
1647 , +1.334098153219360045667959181721837720_RKB, +0.163842861116152528813630294472766962E+0_RKB &
1648 , +1.327368577627925853644432080219569470_RKB, +0.165316707800199358376684187822216740E+0_RKB &
1649 , +1.320630975221056264316363281880977050_RKB, +0.166798026683631985045755192821871952E+0_RKB &
1650 , +1.313884673150220489854736808952840970_RKB, +0.168286902967929517543098016930008494E+0_RKB &
1651 , +1.307128989030731110178131195502915220_RKB, +0.169783424070197178160245257400787177E+0_RKB &
1652 , +1.300363230330837190351929439655934200_RKB, +0.171287679698995818105358886788417999E+0_RKB &
1653 , +1.293586693736947753945601406359300470_RKB, +0.172799761933753486486498659023686530E+0_RKB &
1654 , +1.286798664493243646316660896517199420_RKB, +0.174319765307965059246455246546117697E+0_RKB &
1655 , +1.279998415713817924797308907917922830_RKB, +0.175847786896400331371952020571991623E+0_RKB &
1656 , +1.273185207665356364764060323720764170_RKB, +0.177383926406556544373322976411406151E+0_RKB &
1657 , +1.266358287018229453775313848849852450_RKB, +0.178928286274608171283092549748417432E+0_RKB &
1658 , +1.259516886063714228190559472001646690_RKB, +0.180480971766125034830178787412733260E+0_RKB &
1659 , +1.252660221894897227354473865616388090_RKB, +0.182042091081849625639024292847696263E+0_RKB &
1660 , +1.245787495548627294596662055366290760_RKB, +0.183611755468845965529740751119222664E+0_RKB &
1661 , +1.238897891105687374493975672708951630_RKB, +0.185190079337355691907687938603429913E+0_RKB &
1662 , +1.231990574746136091354596183983300960_RKB, +0.186777180383722406901836668848789685E+0_RKB &
1663 , +1.225064693756530787096859391988721310_RKB, +0.188373179719772944131913560975705614E+0_RKB &
1664 , +1.218119375485481656036492926236470550_RKB, +0.189978202009074284878057268848586717E+0_RKB &
1665 , +1.211153726243699183035927701680494030_RKB, +0.191592375610517658429468812562799404E+0_RKB &
1666 , +1.204166830144381512972585409228431810_RKB, +0.193215832729717172651871738633649002E+0_RKB &
1667 , +1.197157747879441555149951169947666830_RKB, +0.194848709578749458096518050299059063E+0_RKB &
1668 , +1.190125515426692069320479795685490130_RKB, +0.196491146544803628100426175257282935E+0_RKB &
1669 , +1.183069142682686761029921497512774320_RKB, +0.198143288368357757303338740744073695E+0_RKB &
1670 , +1.175987612015452098437940687032687740_RKB, +0.199805284331549509895377775340098004E+0_RKB &
1671 , +1.168879876730833138384076802216189500_RKB, +0.201477288457465010601480272621186237E+0_RKB &
1672 , +1.161744859445611442407678658730303350_RKB, +0.203159459721132113428367115004471988E+0_RKB &
1673 , +1.154581450359927740740669252500180290_RKB, +0.204851962273072525723359017960643915E+0_RKB &
1674 , +1.147388505420849058458757243582079270_RKB, +0.206554965676342511391397805599266881E+0_RKB &
1675 , +1.140164844368151242664448937938463130_RKB, +0.208268645158074945659692042041697417E+0_RKB &
1676 , +1.132909248652533753115898715892141530_RKB, +0.209993181876627252316799052585710853E+0_RKB &
1677 , +1.125620459215533391227475593856507500_RKB, +0.211728763205541276296151308493989896E+0_RKB &
1678 , +1.118297174119344981546693309349106980_RKB, +0.213475583035633628019879947303927958E+0_RKB &
1679 , +1.110938046013575721417560779257849040_RKB, +0.215233842096659846410648766825208954E+0_RKB &
1680 , +1.103541679424639718350709546845052450_RKB, +0.217003748300134423613077654918982009E+0_RKB &
1681 , +1.096106627852021437094938365415991340_RKB, +0.218785517105043099072370007214575357E+0_RKB &
1682 , +1.088631390653979821403993213445028160_RKB, +0.220579371908355906900178024260990122E+0_RKB &
1683 , +1.081114409703403838077538136757234410_RKB, +0.222385544462441594762945169415386684E+0_RKB &
1684 , +1.073554065792436288292686500464555760_RKB, +0.224204275321698924941276382479365999E+0_RKB &
1685 , +1.065948674762122501754284026538321330_RKB, +0.226035814320961132564753113117134625E+0_RKB &
1686 , +1.058296483330675084513966896229645790_RKB, +0.227880421088500051269826182271994471E+0_RKB &
1687 , +1.050595664590929901514279329073961990_RKB, +0.229738365596760291802256320937473869E+0_RKB &
1688 , +1.042844313144148970939980229020163640_RKB, +0.231609928754296215469589885980076311E+0_RKB &
1689 , +1.035040439833440875887862746039381010_RKB, +0.233495403042770916853974440099008843E+0_RKB &
1690 , +1.027181966035645772350639887939364020_RKB, +0.235395093203313594481836509609421923E+0_RKB &
1691 , +1.019266717465484244962537467525869270_RKB, +0.237309316977027237519675921574483765E+0_RKB &
1692 , +1.011292417439995739530489041191619980_RKB, +0.239238405905001516168070540916910782E+0_RKB &
1693 , +1.003256679544672977063838476902952280_RKB, +0.241182706193826750302150947619295807E+0_RKB &
1694 , +0.995156999635090923837912834290083799_RKB, +0.243142579653336370820347935962210089E+0_RKB &
1695 , +0.986990747099062472368807733566367723_RKB, +0.245118404714142202924320107980890993E+0_RKB &
1696 , +0.978755155294224603880824209605885949_RKB, +0.247110577533486783260721039414118216E+0_RKB &
1697 , +0.970447311064224450680967868251783851_RKB, +0.249119513199040723215271175059742679E+0_RKB &
1698 , +0.962064143223040583869351754884239000_RKB, +0.251145647041545878684196026994747375E+0_RKB &
1699 , +0.953602409881086036147944393710646946_RKB, +0.253189436068676791163884011564958290E+0_RKB &
1700 , +0.945058684468165463037907528952905452_RKB, +0.255251360534199633721355034811644515E+0_RKB &
1701 , +0.936429340286575141234349646203595494_RKB, +0.257331925658493337610224432667231202E+0_RKB &
1702 , +0.927710533402000123870677193352685174_RKB, +0.259431663518814566212074318832185428E+0_RKB &
1703 , +0.918898183649590612180034442455129809_RKB, +0.261551135130401113878336401593219032E+0_RKB &
1704 , +0.909987953496718494483529567690366580_RKB, +0.263690932742695838070411741690697980E+0_RKB &
1705 , +0.900975224461221833746547856386022859_RKB, +0.265851682378732029260877257163356597E+0_RKB &
1706 , +0.891855070732941566850586789359498648_RKB, +0.268034046650170417793435080776528378E+0_RKB &
1707 , +0.882622229585165554772936671621819385_RKB, +0.270238727885765625479222906930855857E+0_RKB &
1708 , +0.873271068088860754125762716220304264_RKB, +0.272466471617349972495381721975295691E+0_RKB &
1709 , +0.863795545553308854813178505394360638_RKB, +0.274718070474985863152207934163143218E+0_RKB &
1710 , +0.854189171008163807454180162989399104_RKB, +0.276994368552045124993231875042116081E+0_RKB &
1711 , +0.844444954909153918889582440732428571_RKB, +0.279296266311992916126496729438627603E+0_RKB &
1712 , +0.834555354086382178924726895193815695_RKB, +0.281624726122054644081592741705012005E+0_RKB &
1713 , +0.824512208752292130518310689451625822_RKB, +0.283980778515329245279710753274268026E+0_RKB &
1714 , +0.814306670135215230392694899997583155_RKB, +0.286365529303059635938328101021065686E+0_RKB &
1715 , +0.803929116989971220407539518038181495_RKB, +0.288780167683694362995818015176624321E+0_RKB &
1716 , +0.79336905884062329621109424