ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleCor.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
275
276!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277
279
280 use pm_kind, only: SK, IK, LK, RK
283 use pm_matrixSubset, only: upp_type, upp
284 use pm_matrixSubset, only: low_type, low
285 use pm_container, only: css_type
286#if PDT_ENABLED
287 use pm_container, only: css_pdt
288#endif
289
290 implicit none
291
292 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleCor"
293
294!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
295
317 type, abstract :: corcoef_type
318 end type
319
320!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
321
349 type, extends(corcoef_type) :: kendall_type
350 end type
351
372 type(kendall_type), parameter :: kendall = kendall_type()
373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
374 !DIR$ ATTRIBUTES DLLEXPORT :: kendall
375#endif
376
377!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
378
410 type, extends(kendall_type) :: kendallA_type
411 end type
412
437 type(kendallA_type), parameter :: kendallA = kendallA_type()
438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
439 !DIR$ ATTRIBUTES DLLEXPORT :: kendallA
440#endif
441
442!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
443
475 type, extends(kendall_type) :: kendallB_type
476 end type
477
502 type(kendallB_type), parameter :: kendallB = kendallB_type()
503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
504 !DIR$ ATTRIBUTES DLLEXPORT :: kendallB
505#endif
506
507!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
508
537 type, extends(corcoef_type) :: pearson_type
538 end type
539
560 type(pearson_type), parameter :: pearson = pearson_type()
561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
562 !DIR$ ATTRIBUTES DLLEXPORT :: pearson
563#endif
564
565!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
566
594 type, extends(corcoef_type) :: spearman_type
595 end type
596
617 type(spearman_type), parameter :: spearman = spearman_type()
618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
619 !DIR$ ATTRIBUTES DLLEXPORT :: spearman
620#endif
621
622!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623
762
763 ! cov2cor.
764
765 interface getCor
766
767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
770
771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
772
773#if CK5_ENABLED
774 PURE module function getCFC_RULD_VUXD_CK5(cov, subsetv) result(cor)
775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
776 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_CK5
777#endif
778 use pm_kind, only: TKG => CK5
779 type(uppDia_type) , intent(in) :: subsetv
780 complex(TKG) , intent(in) , contiguous :: cov(:,:)
781 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
782 end function
783#endif
784
785#if CK4_ENABLED
786 PURE module function getCFC_RULD_VUXD_CK4(cov, subsetv) result(cor)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_CK4
789#endif
790 use pm_kind, only: TKG => CK4
791 type(uppDia_type) , intent(in) :: subsetv
792 complex(TKG) , intent(in) , contiguous :: cov(:,:)
793 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
794 end function
795#endif
796
797#if CK3_ENABLED
798 PURE module function getCFC_RULD_VUXD_CK3(cov, subsetv) result(cor)
799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
800 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_CK3
801#endif
802 use pm_kind, only: TKG => CK3
803 type(uppDia_type) , intent(in) :: subsetv
804 complex(TKG) , intent(in) , contiguous :: cov(:,:)
805 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
806 end function
807#endif
808
809#if CK2_ENABLED
810 PURE module function getCFC_RULD_VUXD_CK2(cov, subsetv) result(cor)
811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
812 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_CK2
813#endif
814 use pm_kind, only: TKG => CK2
815 type(uppDia_type) , intent(in) :: subsetv
816 complex(TKG) , intent(in) , contiguous :: cov(:,:)
817 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
818 end function
819#endif
820
821#if CK1_ENABLED
822 PURE module function getCFC_RULD_VUXD_CK1(cov, subsetv) result(cor)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_CK1
825#endif
826 use pm_kind, only: TKG => CK1
827 type(uppDia_type) , intent(in) :: subsetv
828 complex(TKG) , intent(in) , contiguous :: cov(:,:)
829 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
830 end function
831#endif
832
833 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
834
835#if RK5_ENABLED
836 PURE module function getCFC_RULD_VUXD_RK5(cov, subsetv) result(cor)
837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
838 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_RK5
839#endif
840 use pm_kind, only: TKG => RK5
841 type(uppDia_type) , intent(in) :: subsetv
842 real(TKG) , intent(in) , contiguous :: cov(:,:)
843 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
844 end function
845#endif
846
847#if RK4_ENABLED
848 PURE module function getCFC_RULD_VUXD_RK4(cov, subsetv) result(cor)
849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
850 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_RK4
851#endif
852 use pm_kind, only: TKG => RK4
853 type(uppDia_type) , intent(in) :: subsetv
854 real(TKG) , intent(in) , contiguous :: cov(:,:)
855 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
856 end function
857#endif
858
859#if RK3_ENABLED
860 PURE module function getCFC_RULD_VUXD_RK3(cov, subsetv) result(cor)
861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
862 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_RK3
863#endif
864 use pm_kind, only: TKG => RK3
865 type(uppDia_type) , intent(in) :: subsetv
866 real(TKG) , intent(in) , contiguous :: cov(:,:)
867 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
868 end function
869#endif
870
871#if RK2_ENABLED
872 PURE module function getCFC_RULD_VUXD_RK2(cov, subsetv) result(cor)
873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
874 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_RK2
875#endif
876 use pm_kind, only: TKG => RK2
877 type(uppDia_type) , intent(in) :: subsetv
878 real(TKG) , intent(in) , contiguous :: cov(:,:)
879 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
880 end function
881#endif
882
883#if RK1_ENABLED
884 PURE module function getCFC_RULD_VUXD_RK1(cov, subsetv) result(cor)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXD_RK1
887#endif
888 use pm_kind, only: TKG => RK1
889 type(uppDia_type) , intent(in) :: subsetv
890 real(TKG) , intent(in) , contiguous :: cov(:,:)
891 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
892 end function
893#endif
894
895 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
896
897 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
899 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900
901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
902
903#if CK5_ENABLED
904 PURE module function getCFC_RULD_VXLD_CK5(cov, subsetv) result(cor)
905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
906 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_CK5
907#endif
908 use pm_kind, only: TKG => CK5
909 type(lowDia_type) , intent(in) :: subsetv
910 complex(TKG) , intent(in) , contiguous :: cov(:,:)
911 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
912 end function
913#endif
914
915#if CK4_ENABLED
916 PURE module function getCFC_RULD_VXLD_CK4(cov, subsetv) result(cor)
917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
918 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_CK4
919#endif
920 use pm_kind, only: TKG => CK4
921 type(lowDia_type) , intent(in) :: subsetv
922 complex(TKG) , intent(in) , contiguous :: cov(:,:)
923 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
924 end function
925#endif
926
927#if CK3_ENABLED
928 PURE module function getCFC_RULD_VXLD_CK3(cov, subsetv) result(cor)
929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
930 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_CK3
931#endif
932 use pm_kind, only: TKG => CK3
933 type(lowDia_type) , intent(in) :: subsetv
934 complex(TKG) , intent(in) , contiguous :: cov(:,:)
935 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
936 end function
937#endif
938
939#if CK2_ENABLED
940 PURE module function getCFC_RULD_VXLD_CK2(cov, subsetv) result(cor)
941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
942 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_CK2
943#endif
944 use pm_kind, only: TKG => CK2
945 type(lowDia_type) , intent(in) :: subsetv
946 complex(TKG) , intent(in) , contiguous :: cov(:,:)
947 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
948 end function
949#endif
950
951#if CK1_ENABLED
952 PURE module function getCFC_RULD_VXLD_CK1(cov, subsetv) result(cor)
953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
954 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_CK1
955#endif
956 use pm_kind, only: TKG => CK1
957 type(lowDia_type) , intent(in) :: subsetv
958 complex(TKG) , intent(in) , contiguous :: cov(:,:)
959 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
960 end function
961#endif
962
963 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
964
965#if RK5_ENABLED
966 PURE module function getCFC_RULD_VXLD_RK5(cov, subsetv) result(cor)
967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
968 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_RK5
969#endif
970 use pm_kind, only: TKG => RK5
971 type(lowDia_type) , intent(in) :: subsetv
972 real(TKG) , intent(in) , contiguous :: cov(:,:)
973 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
974 end function
975#endif
976
977#if RK4_ENABLED
978 PURE module function getCFC_RULD_VXLD_RK4(cov, subsetv) result(cor)
979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
980 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_RK4
981#endif
982 use pm_kind, only: TKG => RK4
983 type(lowDia_type) , intent(in) :: subsetv
984 real(TKG) , intent(in) , contiguous :: cov(:,:)
985 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
986 end function
987#endif
988
989#if RK3_ENABLED
990 PURE module function getCFC_RULD_VXLD_RK3(cov, subsetv) result(cor)
991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
992 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_RK3
993#endif
994 use pm_kind, only: TKG => RK3
995 type(lowDia_type) , intent(in) :: subsetv
996 real(TKG) , intent(in) , contiguous :: cov(:,:)
997 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
998 end function
999#endif
1000
1001#if RK2_ENABLED
1002 PURE module function getCFC_RULD_VXLD_RK2(cov, subsetv) result(cor)
1003#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1004 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_RK2
1005#endif
1006 use pm_kind, only: TKG => RK2
1007 type(lowDia_type) , intent(in) :: subsetv
1008 real(TKG) , intent(in) , contiguous :: cov(:,:)
1009 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1010 end function
1011#endif
1012
1013#if RK1_ENABLED
1014 PURE module function getCFC_RULD_VXLD_RK1(cov, subsetv) result(cor)
1015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1016 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLD_RK1
1017#endif
1018 use pm_kind, only: TKG => RK1
1019 type(lowDia_type) , intent(in) :: subsetv
1020 real(TKG) , intent(in) , contiguous :: cov(:,:)
1021 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1022 end function
1023#endif
1024
1025 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1026
1027 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1028 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1029 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1030
1031 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1032
1033#if CK5_ENABLED
1034 PURE module function getCFC_RULD_VUXX_CK5(cov, subsetv, stdinv) result(cor)
1035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1036 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_CK5
1037#endif
1038 use pm_kind, only: TKG => CK5
1039 type(upp_type) , intent(in) :: subsetv
1040 real(TKG) , intent(in) , contiguous :: stdinv(:)
1041 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1042 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1043 end function
1044#endif
1045
1046#if CK4_ENABLED
1047 PURE module function getCFC_RULD_VUXX_CK4(cov, subsetv, stdinv) result(cor)
1048#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1049 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_CK4
1050#endif
1051 use pm_kind, only: TKG => CK4
1052 type(upp_type) , intent(in) :: subsetv
1053 real(TKG) , intent(in) , contiguous :: stdinv(:)
1054 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1055 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1056 end function
1057#endif
1058
1059#if CK3_ENABLED
1060 PURE module function getCFC_RULD_VUXX_CK3(cov, subsetv, stdinv) result(cor)
1061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1062 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_CK3
1063#endif
1064 use pm_kind, only: TKG => CK3
1065 type(upp_type) , intent(in) :: subsetv
1066 real(TKG) , intent(in) , contiguous :: stdinv(:)
1067 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1068 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1069 end function
1070#endif
1071
1072#if CK2_ENABLED
1073 PURE module function getCFC_RULD_VUXX_CK2(cov, subsetv, stdinv) result(cor)
1074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1075 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_CK2
1076#endif
1077 use pm_kind, only: TKG => CK2
1078 type(upp_type) , intent(in) :: subsetv
1079 real(TKG) , intent(in) , contiguous :: stdinv(:)
1080 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1081 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1082 end function
1083#endif
1084
1085#if CK1_ENABLED
1086 PURE module function getCFC_RULD_VUXX_CK1(cov, subsetv, stdinv) result(cor)
1087#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1088 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_CK1
1089#endif
1090 use pm_kind, only: TKG => CK1
1091 type(upp_type) , intent(in) :: subsetv
1092 real(TKG) , intent(in) , contiguous :: stdinv(:)
1093 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1094 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1095 end function
1096#endif
1097
1098 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1099
1100#if RK5_ENABLED
1101 PURE module function getCFC_RULD_VUXX_RK5(cov, subsetv, stdinv) result(cor)
1102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1103 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_RK5
1104#endif
1105 use pm_kind, only: TKG => RK5
1106 type(upp_type) , intent(in) :: subsetv
1107 real(TKG) , intent(in) , contiguous :: stdinv(:)
1108 real(TKG) , intent(in) , contiguous :: cov(:,:)
1109 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1110 end function
1111#endif
1112
1113#if RK4_ENABLED
1114 PURE module function getCFC_RULD_VUXX_RK4(cov, subsetv, stdinv) result(cor)
1115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1116 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_RK4
1117#endif
1118 use pm_kind, only: TKG => RK4
1119 type(upp_type) , intent(in) :: subsetv
1120 real(TKG) , intent(in) , contiguous :: stdinv(:)
1121 real(TKG) , intent(in) , contiguous :: cov(:,:)
1122 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1123 end function
1124#endif
1125
1126#if RK3_ENABLED
1127 PURE module function getCFC_RULD_VUXX_RK3(cov, subsetv, stdinv) result(cor)
1128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1129 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_RK3
1130#endif
1131 use pm_kind, only: TKG => RK3
1132 type(upp_type) , intent(in) :: subsetv
1133 real(TKG) , intent(in) , contiguous :: stdinv(:)
1134 real(TKG) , intent(in) , contiguous :: cov(:,:)
1135 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1136 end function
1137#endif
1138
1139#if RK2_ENABLED
1140 PURE module function getCFC_RULD_VUXX_RK2(cov, subsetv, stdinv) result(cor)
1141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1142 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_RK2
1143#endif
1144 use pm_kind, only: TKG => RK2
1145 type(upp_type) , intent(in) :: subsetv
1146 real(TKG) , intent(in) , contiguous :: stdinv(:)
1147 real(TKG) , intent(in) , contiguous :: cov(:,:)
1148 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1149 end function
1150#endif
1151
1152#if RK1_ENABLED
1153 PURE module function getCFC_RULD_VUXX_RK1(cov, subsetv, stdinv) result(cor)
1154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1155 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VUXX_RK1
1156#endif
1157 use pm_kind, only: TKG => RK1
1158 type(upp_type) , intent(in) :: subsetv
1159 real(TKG) , intent(in) , contiguous :: stdinv(:)
1160 real(TKG) , intent(in) , contiguous :: cov(:,:)
1161 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1162 end function
1163#endif
1164
1165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1166
1167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1168 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1169 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1170
1171 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172
1173#if CK5_ENABLED
1174 PURE module function getCFC_RULD_VXLX_CK5(cov, subsetv, stdinv) result(cor)
1175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1176 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_CK5
1177#endif
1178 use pm_kind, only: TKG => CK5
1179 type(low_type) , intent(in) :: subsetv
1180 real(TKG) , intent(in) , contiguous :: stdinv(:)
1181 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1182 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1183 end function
1184#endif
1185
1186#if CK4_ENABLED
1187 PURE module function getCFC_RULD_VXLX_CK4(cov, subsetv, stdinv) result(cor)
1188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1189 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_CK4
1190#endif
1191 use pm_kind, only: TKG => CK4
1192 type(low_type) , intent(in) :: subsetv
1193 real(TKG) , intent(in) , contiguous :: stdinv(:)
1194 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1195 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1196 end function
1197#endif
1198
1199#if CK3_ENABLED
1200 PURE module function getCFC_RULD_VXLX_CK3(cov, subsetv, stdinv) result(cor)
1201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1202 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_CK3
1203#endif
1204 use pm_kind, only: TKG => CK3
1205 type(low_type) , intent(in) :: subsetv
1206 real(TKG) , intent(in) , contiguous :: stdinv(:)
1207 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1208 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1209 end function
1210#endif
1211
1212#if CK2_ENABLED
1213 PURE module function getCFC_RULD_VXLX_CK2(cov, subsetv, stdinv) result(cor)
1214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1215 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_CK2
1216#endif
1217 use pm_kind, only: TKG => CK2
1218 type(low_type) , intent(in) :: subsetv
1219 real(TKG) , intent(in) , contiguous :: stdinv(:)
1220 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1221 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1222 end function
1223#endif
1224
1225#if CK1_ENABLED
1226 PURE module function getCFC_RULD_VXLX_CK1(cov, subsetv, stdinv) result(cor)
1227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1228 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_CK1
1229#endif
1230 use pm_kind, only: TKG => CK1
1231 type(low_type) , intent(in) :: subsetv
1232 real(TKG) , intent(in) , contiguous :: stdinv(:)
1233 complex(TKG) , intent(in) , contiguous :: cov(:,:)
1234 complex(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1235 end function
1236#endif
1237
1238 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239
1240#if RK5_ENABLED
1241 PURE module function getCFC_RULD_VXLX_RK5(cov, subsetv, stdinv) result(cor)
1242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1243 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_RK5
1244#endif
1245 use pm_kind, only: TKG => RK5
1246 type(low_type) , intent(in) :: subsetv
1247 real(TKG) , intent(in) , contiguous :: stdinv(:)
1248 real(TKG) , intent(in) , contiguous :: cov(:,:)
1249 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1250 end function
1251#endif
1252
1253#if RK4_ENABLED
1254 PURE module function getCFC_RULD_VXLX_RK4(cov, subsetv, stdinv) result(cor)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_RK4
1257#endif
1258 use pm_kind, only: TKG => RK4
1259 type(low_type) , intent(in) :: subsetv
1260 real(TKG) , intent(in) , contiguous :: stdinv(:)
1261 real(TKG) , intent(in) , contiguous :: cov(:,:)
1262 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1263 end function
1264#endif
1265
1266#if RK3_ENABLED
1267 PURE module function getCFC_RULD_VXLX_RK3(cov, subsetv, stdinv) result(cor)
1268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1269 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_RK3
1270#endif
1271 use pm_kind, only: TKG => RK3
1272 type(low_type) , intent(in) :: subsetv
1273 real(TKG) , intent(in) , contiguous :: stdinv(:)
1274 real(TKG) , intent(in) , contiguous :: cov(:,:)
1275 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1276 end function
1277#endif
1278
1279#if RK2_ENABLED
1280 PURE module function getCFC_RULD_VXLX_RK2(cov, subsetv, stdinv) result(cor)
1281#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1282 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_RK2
1283#endif
1284 use pm_kind, only: TKG => RK2
1285 type(low_type) , intent(in) :: subsetv
1286 real(TKG) , intent(in) , contiguous :: stdinv(:)
1287 real(TKG) , intent(in) , contiguous :: cov(:,:)
1288 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1289 end function
1290#endif
1291
1292#if RK1_ENABLED
1293 PURE module function getCFC_RULD_VXLX_RK1(cov, subsetv, stdinv) result(cor)
1294#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1295 !DEC$ ATTRIBUTES DLLEXPORT :: getCFC_RULD_VXLX_RK1
1296#endif
1297 use pm_kind, only: TKG => RK1
1298 type(low_type) , intent(in) :: subsetv
1299 real(TKG) , intent(in) , contiguous :: stdinv(:)
1300 real(TKG) , intent(in) , contiguous :: cov(:,:)
1301 real(TKG) :: cor(size(cov, 1, IK), size(cov, 2, IK))
1302 end function
1303#endif
1304
1305 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1306
1307 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1309 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1310
1311 end interface
1312
1313 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1314
1315 ! no weight: XY.
1316
1317 interface getCor
1318
1319 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1320
1321#if CK5_ENABLED
1322 PURE module function getPrsWNO_XY_CK5(x, y) result(cor)
1323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1324 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_CK5
1325#endif
1326 use pm_kind, only: TKG => CK5
1327 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1328 complex(TKG) :: cor
1329 end function
1330#endif
1331
1332#if CK4_ENABLED
1333 PURE module function getPrsWNO_XY_CK4(x, y) result(cor)
1334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1335 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_CK4
1336#endif
1337 use pm_kind, only: TKG => CK4
1338 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1339 complex(TKG) :: cor
1340 end function
1341#endif
1342
1343#if CK3_ENABLED
1344 PURE module function getPrsWNO_XY_CK3(x, y) result(cor)
1345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1346 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_CK3
1347#endif
1348 use pm_kind, only: TKG => CK3
1349 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1350 complex(TKG) :: cor
1351 end function
1352#endif
1353
1354#if CK2_ENABLED
1355 PURE module function getPrsWNO_XY_CK2(x, y) result(cor)
1356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1357 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_CK2
1358#endif
1359 use pm_kind, only: TKG => CK2
1360 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1361 complex(TKG) :: cor
1362 end function
1363#endif
1364
1365#if CK1_ENABLED
1366 PURE module function getPrsWNO_XY_CK1(x, y) result(cor)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_CK1
1369#endif
1370 use pm_kind, only: TKG => CK1
1371 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1372 complex(TKG) :: cor
1373 end function
1374#endif
1375
1376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1377
1378#if RK5_ENABLED
1379 PURE module function getPrsWNO_XY_RK5(x, y) result(cor)
1380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1381 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_RK5
1382#endif
1383 use pm_kind, only: TKG => RK5
1384 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1385 real(TKG) :: cor
1386 end function
1387#endif
1388
1389#if RK4_ENABLED
1390 PURE module function getPrsWNO_XY_RK4(x, y) result(cor)
1391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1392 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_RK4
1393#endif
1394 use pm_kind, only: TKG => RK4
1395 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1396 real(TKG) :: cor
1397 end function
1398#endif
1399
1400#if RK3_ENABLED
1401 PURE module function getPrsWNO_XY_RK3(x, y) result(cor)
1402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1403 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_RK3
1404#endif
1405 use pm_kind, only: TKG => RK3
1406 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1407 real(TKG) :: cor
1408 end function
1409#endif
1410
1411#if RK2_ENABLED
1412 PURE module function getPrsWNO_XY_RK2(x, y) result(cor)
1413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1414 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_RK2
1415#endif
1416 use pm_kind, only: TKG => RK2
1417 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1418 real(TKG) :: cor
1419 end function
1420#endif
1421
1422#if RK1_ENABLED
1423 PURE module function getPrsWNO_XY_RK1(x, y) result(cor)
1424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1425 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_XY_RK1
1426#endif
1427 use pm_kind, only: TKG => RK1
1428 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1429 real(TKG) :: cor
1430 end function
1431#endif
1432
1433 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1434
1435 end interface getCor
1436
1437 ! integer weight: XY.
1438
1439 interface getCor
1440
1441 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1442
1443#if CK5_ENABLED
1444 PURE module function getPrsWTI_XY_CK5(x, y, weight) result(cor)
1445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1446 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_CK5
1447#endif
1448 use pm_kind, only: TKG => CK5
1449 integer(IK) , intent(in) , contiguous :: weight(:)
1450 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1451 complex(TKG) :: cor
1452 end function
1453#endif
1454
1455#if CK4_ENABLED
1456 PURE module function getPrsWTI_XY_CK4(x, y, weight) result(cor)
1457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1458 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_CK4
1459#endif
1460 use pm_kind, only: TKG => CK4
1461 integer(IK) , intent(in) , contiguous :: weight(:)
1462 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1463 complex(TKG) :: cor
1464 end function
1465#endif
1466
1467#if CK3_ENABLED
1468 PURE module function getPrsWTI_XY_CK3(x, y, weight) result(cor)
1469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1470 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_CK3
1471#endif
1472 use pm_kind, only: TKG => CK3
1473 integer(IK) , intent(in) , contiguous :: weight(:)
1474 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1475 complex(TKG) :: cor
1476 end function
1477#endif
1478
1479#if CK2_ENABLED
1480 PURE module function getPrsWTI_XY_CK2(x, y, weight) result(cor)
1481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1482 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_CK2
1483#endif
1484 use pm_kind, only: TKG => CK2
1485 integer(IK) , intent(in) , contiguous :: weight(:)
1486 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1487 complex(TKG) :: cor
1488 end function
1489#endif
1490
1491#if CK1_ENABLED
1492 PURE module function getPrsWTI_XY_CK1(x, y, weight) result(cor)
1493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1494 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_CK1
1495#endif
1496 use pm_kind, only: TKG => CK1
1497 integer(IK) , intent(in) , contiguous :: weight(:)
1498 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1499 complex(TKG) :: cor
1500 end function
1501#endif
1502
1503 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1504
1505#if RK5_ENABLED
1506 PURE module function getPrsWTI_XY_RK5(x, y, weight) result(cor)
1507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1508 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_RK5
1509#endif
1510 use pm_kind, only: TKG => RK5
1511 integer(IK) , intent(in) , contiguous :: weight(:)
1512 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1513 real(TKG) :: cor
1514 end function
1515#endif
1516
1517#if RK4_ENABLED
1518 PURE module function getPrsWTI_XY_RK4(x, y, weight) result(cor)
1519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1520 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_RK4
1521#endif
1522 use pm_kind, only: TKG => RK4
1523 integer(IK) , intent(in) , contiguous :: weight(:)
1524 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1525 real(TKG) :: cor
1526 end function
1527#endif
1528
1529#if RK3_ENABLED
1530 PURE module function getPrsWTI_XY_RK3(x, y, weight) result(cor)
1531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1532 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_RK3
1533#endif
1534 use pm_kind, only: TKG => RK3
1535 integer(IK) , intent(in) , contiguous :: weight(:)
1536 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1537 real(TKG) :: cor
1538 end function
1539#endif
1540
1541#if RK2_ENABLED
1542 PURE module function getPrsWTI_XY_RK2(x, y, weight) result(cor)
1543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1544 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_RK2
1545#endif
1546 use pm_kind, only: TKG => RK2
1547 integer(IK) , intent(in) , contiguous :: weight(:)
1548 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1549 real(TKG) :: cor
1550 end function
1551#endif
1552
1553#if RK1_ENABLED
1554 PURE module function getPrsWTI_XY_RK1(x, y, weight) result(cor)
1555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1556 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_XY_RK1
1557#endif
1558 use pm_kind, only: TKG => RK1
1559 integer(IK) , intent(in) , contiguous :: weight(:)
1560 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1561 real(TKG) :: cor
1562 end function
1563#endif
1564
1565 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1566
1567 end interface getCor
1568
1569 ! real weight: XY.
1570
1571 interface getCor
1572
1573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1574
1575#if CK5_ENABLED
1576 PURE module function getPrsWTR_XY_CK5(x, y, weight) result(cor)
1577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1578 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_CK5
1579#endif
1580 use pm_kind, only: TKG => CK5
1581 real(TKG) , intent(in) , contiguous :: weight(:)
1582 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1583 complex(TKG) :: cor
1584 end function
1585#endif
1586
1587#if CK4_ENABLED
1588 PURE module function getPrsWTR_XY_CK4(x, y, weight) result(cor)
1589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1590 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_CK4
1591#endif
1592 use pm_kind, only: TKG => CK4
1593 real(TKG) , intent(in) , contiguous :: weight(:)
1594 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1595 complex(TKG) :: cor
1596 end function
1597#endif
1598
1599#if CK3_ENABLED
1600 PURE module function getPrsWTR_XY_CK3(x, y, weight) result(cor)
1601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1602 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_CK3
1603#endif
1604 use pm_kind, only: TKG => CK3
1605 real(TKG) , intent(in) , contiguous :: weight(:)
1606 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1607 complex(TKG) :: cor
1608 end function
1609#endif
1610
1611#if CK2_ENABLED
1612 PURE module function getPrsWTR_XY_CK2(x, y, weight) result(cor)
1613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1614 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_CK2
1615#endif
1616 use pm_kind, only: TKG => CK2
1617 real(TKG) , intent(in) , contiguous :: weight(:)
1618 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1619 complex(TKG) :: cor
1620 end function
1621#endif
1622
1623#if CK1_ENABLED
1624 PURE module function getPrsWTR_XY_CK1(x, y, weight) result(cor)
1625#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1626 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_CK1
1627#endif
1628 use pm_kind, only: TKG => CK1
1629 real(TKG) , intent(in) , contiguous :: weight(:)
1630 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
1631 complex(TKG) :: cor
1632 end function
1633#endif
1634
1635 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1636
1637#if RK5_ENABLED
1638 PURE module function getPrsWTR_XY_RK5(x, y, weight) result(cor)
1639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1640 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_RK5
1641#endif
1642 use pm_kind, only: TKG => RK5
1643 real(TKG) , intent(in) , contiguous :: weight(:)
1644 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1645 real(TKG) :: cor
1646 end function
1647#endif
1648
1649#if RK4_ENABLED
1650 PURE module function getPrsWTR_XY_RK4(x, y, weight) result(cor)
1651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1652 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_RK4
1653#endif
1654 use pm_kind, only: TKG => RK4
1655 real(TKG) , intent(in) , contiguous :: weight(:)
1656 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1657 real(TKG) :: cor
1658 end function
1659#endif
1660
1661#if RK3_ENABLED
1662 PURE module function getPrsWTR_XY_RK3(x, y, weight) result(cor)
1663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1664 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_RK3
1665#endif
1666 use pm_kind, only: TKG => RK3
1667 real(TKG) , intent(in) , contiguous :: weight(:)
1668 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1669 real(TKG) :: cor
1670 end function
1671#endif
1672
1673#if RK2_ENABLED
1674 PURE module function getPrsWTR_XY_RK2(x, y, weight) result(cor)
1675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1676 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_RK2
1677#endif
1678 use pm_kind, only: TKG => RK2
1679 real(TKG) , intent(in) , contiguous :: weight(:)
1680 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1681 real(TKG) :: cor
1682 end function
1683#endif
1684
1685#if RK1_ENABLED
1686 PURE module function getPrsWTR_XY_RK1(x, y, weight) result(cor)
1687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1688 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_XY_RK1
1689#endif
1690 use pm_kind, only: TKG => RK1
1691 real(TKG) , intent(in) , contiguous :: weight(:)
1692 real(TKG) , intent(in) , contiguous :: x(:), y(:)
1693 real(TKG) :: cor
1694 end function
1695#endif
1696
1697 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1698
1699 end interface getCor
1700
1701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1702
1703 ! no weight: ULD.
1704
1705 interface getCor
1706
1707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1708
1709#if CK5_ENABLED
1710 PURE module function getPrsWNO_ULD_CK5(sample, dim) result(cor)
1711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1712 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_CK5
1713#endif
1714 use pm_kind, only: TKG => CK5
1715 integer(IK) , intent(in) :: dim
1716 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1717 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1718 end function
1719#endif
1720
1721#if CK4_ENABLED
1722 PURE module function getPrsWNO_ULD_CK4(sample, dim) result(cor)
1723#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1724 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_CK4
1725#endif
1726 use pm_kind, only: TKG => CK4
1727 integer(IK) , intent(in) :: dim
1728 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1729 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1730 end function
1731#endif
1732
1733#if CK3_ENABLED
1734 PURE module function getPrsWNO_ULD_CK3(sample, dim) result(cor)
1735#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1736 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_CK3
1737#endif
1738 use pm_kind, only: TKG => CK3
1739 integer(IK) , intent(in) :: dim
1740 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1741 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1742 end function
1743#endif
1744
1745#if CK2_ENABLED
1746 PURE module function getPrsWNO_ULD_CK2(sample, dim) result(cor)
1747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1748 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_CK2
1749#endif
1750 use pm_kind, only: TKG => CK2
1751 integer(IK) , intent(in) :: dim
1752 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1753 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1754 end function
1755#endif
1756
1757#if CK1_ENABLED
1758 PURE module function getPrsWNO_ULD_CK1(sample, dim) result(cor)
1759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1760 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_CK1
1761#endif
1762 use pm_kind, only: TKG => CK1
1763 integer(IK) , intent(in) :: dim
1764 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1765 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1766 end function
1767#endif
1768
1769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1770
1771#if RK5_ENABLED
1772 PURE module function getPrsWNO_ULD_RK5(sample, dim) result(cor)
1773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1774 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_RK5
1775#endif
1776 use pm_kind, only: TKG => RK5
1777 integer(IK) , intent(in) :: dim
1778 real(TKG) , intent(in) , contiguous :: sample(:,:)
1779 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1780 end function
1781#endif
1782
1783#if RK4_ENABLED
1784 PURE module function getPrsWNO_ULD_RK4(sample, dim) result(cor)
1785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1786 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_RK4
1787#endif
1788 use pm_kind, only: TKG => RK4
1789 integer(IK) , intent(in) :: dim
1790 real(TKG) , intent(in) , contiguous :: sample(:,:)
1791 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1792 end function
1793#endif
1794
1795#if RK3_ENABLED
1796 PURE module function getPrsWNO_ULD_RK3(sample, dim) result(cor)
1797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1798 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_RK3
1799#endif
1800 use pm_kind, only: TKG => RK3
1801 integer(IK) , intent(in) :: dim
1802 real(TKG) , intent(in) , contiguous :: sample(:,:)
1803 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1804 end function
1805#endif
1806
1807#if RK2_ENABLED
1808 PURE module function getPrsWNO_ULD_RK2(sample, dim) result(cor)
1809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1810 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_RK2
1811#endif
1812 use pm_kind, only: TKG => RK2
1813 integer(IK) , intent(in) :: dim
1814 real(TKG) , intent(in) , contiguous :: sample(:,:)
1815 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1816 end function
1817#endif
1818
1819#if RK1_ENABLED
1820 PURE module function getPrsWNO_ULD_RK1(sample, dim) result(cor)
1821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1822 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWNO_ULD_RK1
1823#endif
1824 use pm_kind, only: TKG => RK1
1825 integer(IK) , intent(in) :: dim
1826 real(TKG) , intent(in) , contiguous :: sample(:,:)
1827 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1828 end function
1829#endif
1830
1831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1832
1833 end interface getCor
1834
1835 ! integer weight: ULD.
1836
1837 interface getCor
1838
1839 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1840
1841#if CK5_ENABLED
1842 PURE module function getPrsWTI_ULD_CK5(sample, dim, weight) result(cor)
1843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1844 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_CK5
1845#endif
1846 use pm_kind, only: TKG => CK5
1847 integer(IK) , intent(in) :: dim
1848 integer(IK) , intent(in) , contiguous :: weight(:)
1849 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1850 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1851 end function
1852#endif
1853
1854#if CK4_ENABLED
1855 PURE module function getPrsWTI_ULD_CK4(sample, dim, weight) result(cor)
1856#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1857 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_CK4
1858#endif
1859 use pm_kind, only: TKG => CK4
1860 integer(IK) , intent(in) :: dim
1861 integer(IK) , intent(in) , contiguous :: weight(:)
1862 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1863 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1864 end function
1865#endif
1866
1867#if CK3_ENABLED
1868 PURE module function getPrsWTI_ULD_CK3(sample, dim, weight) result(cor)
1869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1870 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_CK3
1871#endif
1872 use pm_kind, only: TKG => CK3
1873 integer(IK) , intent(in) :: dim
1874 integer(IK) , intent(in) , contiguous :: weight(:)
1875 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1876 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1877 end function
1878#endif
1879
1880#if CK2_ENABLED
1881 PURE module function getPrsWTI_ULD_CK2(sample, dim, weight) result(cor)
1882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1883 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_CK2
1884#endif
1885 use pm_kind, only: TKG => CK2
1886 integer(IK) , intent(in) :: dim
1887 integer(IK) , intent(in) , contiguous :: weight(:)
1888 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1889 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1890 end function
1891#endif
1892
1893#if CK1_ENABLED
1894 PURE module function getPrsWTI_ULD_CK1(sample, dim, weight) result(cor)
1895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1896 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_CK1
1897#endif
1898 use pm_kind, only: TKG => CK1
1899 integer(IK) , intent(in) :: dim
1900 integer(IK) , intent(in) , contiguous :: weight(:)
1901 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1902 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1903 end function
1904#endif
1905
1906 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1907
1908#if RK5_ENABLED
1909 PURE module function getPrsWTI_ULD_RK5(sample, dim, weight) result(cor)
1910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1911 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_RK5
1912#endif
1913 use pm_kind, only: TKG => RK5
1914 integer(IK) , intent(in) :: dim
1915 integer(IK) , intent(in) , contiguous :: weight(:)
1916 real(TKG) , intent(in) , contiguous :: sample(:,:)
1917 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1918 end function
1919#endif
1920
1921#if RK4_ENABLED
1922 PURE module function getPrsWTI_ULD_RK4(sample, dim, weight) result(cor)
1923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_RK4
1925#endif
1926 use pm_kind, only: TKG => RK4
1927 integer(IK) , intent(in) :: dim
1928 integer(IK) , intent(in) , contiguous :: weight(:)
1929 real(TKG) , intent(in) , contiguous :: sample(:,:)
1930 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1931 end function
1932#endif
1933
1934#if RK3_ENABLED
1935 PURE module function getPrsWTI_ULD_RK3(sample, dim, weight) result(cor)
1936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1937 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_RK3
1938#endif
1939 use pm_kind, only: TKG => RK3
1940 integer(IK) , intent(in) :: dim
1941 integer(IK) , intent(in) , contiguous :: weight(:)
1942 real(TKG) , intent(in) , contiguous :: sample(:,:)
1943 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1944 end function
1945#endif
1946
1947#if RK2_ENABLED
1948 PURE module function getPrsWTI_ULD_RK2(sample, dim, weight) result(cor)
1949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1950 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_RK2
1951#endif
1952 use pm_kind, only: TKG => RK2
1953 integer(IK) , intent(in) :: dim
1954 integer(IK) , intent(in) , contiguous :: weight(:)
1955 real(TKG) , intent(in) , contiguous :: sample(:,:)
1956 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1957 end function
1958#endif
1959
1960#if RK1_ENABLED
1961 PURE module function getPrsWTI_ULD_RK1(sample, dim, weight) result(cor)
1962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1963 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTI_ULD_RK1
1964#endif
1965 use pm_kind, only: TKG => RK1
1966 integer(IK) , intent(in) :: dim
1967 integer(IK) , intent(in) , contiguous :: weight(:)
1968 real(TKG) , intent(in) , contiguous :: sample(:,:)
1969 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1970 end function
1971#endif
1972
1973 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1974
1975 end interface getCor
1976
1977 ! real weight: ULD.
1978
1979 interface getCor
1980
1981 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1982
1983#if CK5_ENABLED
1984 PURE module function getPrsWTR_ULD_CK5(sample, dim, weight) result(cor)
1985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1986 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_CK5
1987#endif
1988 use pm_kind, only: TKG => CK5
1989 integer(IK) , intent(in) :: dim
1990 real(TKG) , intent(in) , contiguous :: weight(:)
1991 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1992 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
1993 end function
1994#endif
1995
1996#if CK4_ENABLED
1997 PURE module function getPrsWTR_ULD_CK4(sample, dim, weight) result(cor)
1998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1999 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_CK4
2000#endif
2001 use pm_kind, only: TKG => CK4
2002 integer(IK) , intent(in) :: dim
2003 real(TKG) , intent(in) , contiguous :: weight(:)
2004 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2005 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2006 end function
2007#endif
2008
2009#if CK3_ENABLED
2010 PURE module function getPrsWTR_ULD_CK3(sample, dim, weight) result(cor)
2011#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2012 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_CK3
2013#endif
2014 use pm_kind, only: TKG => CK3
2015 integer(IK) , intent(in) :: dim
2016 real(TKG) , intent(in) , contiguous :: weight(:)
2017 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2018 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2019 end function
2020#endif
2021
2022#if CK2_ENABLED
2023 PURE module function getPrsWTR_ULD_CK2(sample, dim, weight) result(cor)
2024#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2025 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_CK2
2026#endif
2027 use pm_kind, only: TKG => CK2
2028 integer(IK) , intent(in) :: dim
2029 real(TKG) , intent(in) , contiguous :: weight(:)
2030 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2031 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2032 end function
2033#endif
2034
2035#if CK1_ENABLED
2036 PURE module function getPrsWTR_ULD_CK1(sample, dim, weight) result(cor)
2037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2038 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_CK1
2039#endif
2040 use pm_kind, only: TKG => CK1
2041 integer(IK) , intent(in) :: dim
2042 real(TKG) , intent(in) , contiguous :: weight(:)
2043 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2044 complex(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2045 end function
2046#endif
2047
2048 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2049
2050#if RK5_ENABLED
2051 PURE module function getPrsWTR_ULD_RK5(sample, dim, weight) result(cor)
2052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2053 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_RK5
2054#endif
2055 use pm_kind, only: TKG => RK5
2056 integer(IK) , intent(in) :: dim
2057 real(TKG) , intent(in) , contiguous :: weight(:)
2058 real(TKG) , intent(in) , contiguous :: sample(:,:)
2059 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2060 end function
2061#endif
2062
2063#if RK4_ENABLED
2064 PURE module function getPrsWTR_ULD_RK4(sample, dim, weight) result(cor)
2065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2066 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_RK4
2067#endif
2068 use pm_kind, only: TKG => RK4
2069 integer(IK) , intent(in) :: dim
2070 real(TKG) , intent(in) , contiguous :: weight(:)
2071 real(TKG) , intent(in) , contiguous :: sample(:,:)
2072 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2073 end function
2074#endif
2075
2076#if RK3_ENABLED
2077 PURE module function getPrsWTR_ULD_RK3(sample, dim, weight) result(cor)
2078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2079 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_RK3
2080#endif
2081 use pm_kind, only: TKG => RK3
2082 integer(IK) , intent(in) :: dim
2083 real(TKG) , intent(in) , contiguous :: weight(:)
2084 real(TKG) , intent(in) , contiguous :: sample(:,:)
2085 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2086 end function
2087#endif
2088
2089#if RK2_ENABLED
2090 PURE module function getPrsWTR_ULD_RK2(sample, dim, weight) result(cor)
2091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2092 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_RK2
2093#endif
2094 use pm_kind, only: TKG => RK2
2095 integer(IK) , intent(in) :: dim
2096 real(TKG) , intent(in) , contiguous :: weight(:)
2097 real(TKG) , intent(in) , contiguous :: sample(:,:)
2098 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2099 end function
2100#endif
2101
2102#if RK1_ENABLED
2103 PURE module function getPrsWTR_ULD_RK1(sample, dim, weight) result(cor)
2104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2105 !DEC$ ATTRIBUTES DLLEXPORT :: getPrsWTR_ULD_RK1
2106#endif
2107 use pm_kind, only: TKG => RK1
2108 integer(IK) , intent(in) :: dim
2109 real(TKG) , intent(in) , contiguous :: weight(:)
2110 real(TKG) , intent(in) , contiguous :: sample(:,:)
2111 real(TKG) :: cor(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
2112 end function
2113#endif
2114
2115 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2116
2117 end interface getCor
2118
2119!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2120
2316
2317 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2318 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2319 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2320
2321 ! RK CFC: upp/low from upp/low.
2322
2323 interface setCor
2324
2325 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2328
2329 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2330
2331#if RK5_ENABLED
2332 PURE module subroutine setCFC_RUXX_VUXX_RK5(cor, subset, cov, subsetv, stdinv)
2333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2334 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_RK5
2335#endif
2336 use pm_kind, only: TKG => RK5
2337 type(upp_type) , intent(in) :: subset
2338 type(upp_type) , intent(in) :: subsetv
2339 real(TKG) , intent(in) , contiguous :: stdinv(:)
2340 real(TKG) , intent(in) , contiguous :: cov(:,:)
2341 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2342 end subroutine
2343#endif
2344
2345#if RK4_ENABLED
2346 PURE module subroutine setCFC_RUXX_VUXX_RK4(cor, subset, cov, subsetv, stdinv)
2347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2348 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_RK4
2349#endif
2350 use pm_kind, only: TKG => RK4
2351 type(upp_type) , intent(in) :: subset
2352 type(upp_type) , intent(in) :: subsetv
2353 real(TKG) , intent(in) , contiguous :: stdinv(:)
2354 real(TKG) , intent(in) , contiguous :: cov(:,:)
2355 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2356 end subroutine
2357#endif
2358
2359#if RK3_ENABLED
2360 PURE module subroutine setCFC_RUXX_VUXX_RK3(cor, subset, cov, subsetv, stdinv)
2361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2362 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_RK3
2363#endif
2364 use pm_kind, only: TKG => RK3
2365 type(upp_type) , intent(in) :: subset
2366 type(upp_type) , intent(in) :: subsetv
2367 real(TKG) , intent(in) , contiguous :: stdinv(:)
2368 real(TKG) , intent(in) , contiguous :: cov(:,:)
2369 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2370 end subroutine
2371#endif
2372
2373#if RK2_ENABLED
2374 PURE module subroutine setCFC_RUXX_VUXX_RK2(cor, subset, cov, subsetv, stdinv)
2375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2376 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_RK2
2377#endif
2378 use pm_kind, only: TKG => RK2
2379 type(upp_type) , intent(in) :: subset
2380 type(upp_type) , intent(in) :: subsetv
2381 real(TKG) , intent(in) , contiguous :: stdinv(:)
2382 real(TKG) , intent(in) , contiguous :: cov(:,:)
2383 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2384 end subroutine
2385#endif
2386
2387#if RK1_ENABLED
2388 PURE module subroutine setCFC_RUXX_VUXX_RK1(cor, subset, cov, subsetv, stdinv)
2389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2390 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_RK1
2391#endif
2392 use pm_kind, only: TKG => RK1
2393 type(upp_type) , intent(in) :: subset
2394 type(upp_type) , intent(in) :: subsetv
2395 real(TKG) , intent(in) , contiguous :: stdinv(:)
2396 real(TKG) , intent(in) , contiguous :: cov(:,:)
2397 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2398 end subroutine
2399#endif
2400
2401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2402
2403#if RK5_ENABLED
2404 PURE module subroutine setCFC_RUXX_VXLX_RK5(cor, subset, cov, subsetv, stdinv)
2405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2406 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_RK5
2407#endif
2408 use pm_kind, only: TKG => RK5
2409 type(upp_type) , intent(in) :: subset
2410 type(low_type) , intent(in) :: subsetv
2411 real(TKG) , intent(in) , contiguous :: stdinv(:)
2412 real(TKG) , intent(in) , contiguous :: cov(:,:)
2413 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2414 end subroutine
2415#endif
2416
2417#if RK4_ENABLED
2418 PURE module subroutine setCFC_RUXX_VXLX_RK4(cor, subset, cov, subsetv, stdinv)
2419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2420 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_RK4
2421#endif
2422 use pm_kind, only: TKG => RK4
2423 type(upp_type) , intent(in) :: subset
2424 type(low_type) , intent(in) :: subsetv
2425 real(TKG) , intent(in) , contiguous :: stdinv(:)
2426 real(TKG) , intent(in) , contiguous :: cov(:,:)
2427 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2428 end subroutine
2429#endif
2430
2431#if RK3_ENABLED
2432 PURE module subroutine setCFC_RUXX_VXLX_RK3(cor, subset, cov, subsetv, stdinv)
2433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2434 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_RK3
2435#endif
2436 use pm_kind, only: TKG => RK3
2437 type(upp_type) , intent(in) :: subset
2438 type(low_type) , intent(in) :: subsetv
2439 real(TKG) , intent(in) , contiguous :: stdinv(:)
2440 real(TKG) , intent(in) , contiguous :: cov(:,:)
2441 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2442 end subroutine
2443#endif
2444
2445#if RK2_ENABLED
2446 PURE module subroutine setCFC_RUXX_VXLX_RK2(cor, subset, cov, subsetv, stdinv)
2447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2448 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_RK2
2449#endif
2450 use pm_kind, only: TKG => RK2
2451 type(upp_type) , intent(in) :: subset
2452 type(low_type) , intent(in) :: subsetv
2453 real(TKG) , intent(in) , contiguous :: stdinv(:)
2454 real(TKG) , intent(in) , contiguous :: cov(:,:)
2455 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2456 end subroutine
2457#endif
2458
2459#if RK1_ENABLED
2460 PURE module subroutine setCFC_RUXX_VXLX_RK1(cor, subset, cov, subsetv, stdinv)
2461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2462 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_RK1
2463#endif
2464 use pm_kind, only: TKG => RK1
2465 type(upp_type) , intent(in) :: subset
2466 type(low_type) , intent(in) :: subsetv
2467 real(TKG) , intent(in) , contiguous :: stdinv(:)
2468 real(TKG) , intent(in) , contiguous :: cov(:,:)
2469 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2470 end subroutine
2471#endif
2472
2473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2474
2475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2476 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2478
2479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2480
2481#if RK5_ENABLED
2482 PURE module subroutine setCFC_RXLX_VUXX_RK5(cor, subset, cov, subsetv, stdinv)
2483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2484 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_RK5
2485#endif
2486 use pm_kind, only: TKG => RK5
2487 type(low_type) , intent(in) :: subset
2488 type(upp_type) , intent(in) :: subsetv
2489 real(TKG) , intent(in) , contiguous :: stdinv(:)
2490 real(TKG) , intent(in) , contiguous :: cov(:,:)
2491 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2492 end subroutine
2493#endif
2494
2495#if RK4_ENABLED
2496 PURE module subroutine setCFC_RXLX_VUXX_RK4(cor, subset, cov, subsetv, stdinv)
2497#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2498 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_RK4
2499#endif
2500 use pm_kind, only: TKG => RK4
2501 type(low_type) , intent(in) :: subset
2502 type(upp_type) , intent(in) :: subsetv
2503 real(TKG) , intent(in) , contiguous :: stdinv(:)
2504 real(TKG) , intent(in) , contiguous :: cov(:,:)
2505 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2506 end subroutine
2507#endif
2508
2509#if RK3_ENABLED
2510 PURE module subroutine setCFC_RXLX_VUXX_RK3(cor, subset, cov, subsetv, stdinv)
2511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2512 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_RK3
2513#endif
2514 use pm_kind, only: TKG => RK3
2515 type(low_type) , intent(in) :: subset
2516 type(upp_type) , intent(in) :: subsetv
2517 real(TKG) , intent(in) , contiguous :: stdinv(:)
2518 real(TKG) , intent(in) , contiguous :: cov(:,:)
2519 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2520 end subroutine
2521#endif
2522
2523#if RK2_ENABLED
2524 PURE module subroutine setCFC_RXLX_VUXX_RK2(cor, subset, cov, subsetv, stdinv)
2525#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2526 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_RK2
2527#endif
2528 use pm_kind, only: TKG => RK2
2529 type(low_type) , intent(in) :: subset
2530 type(upp_type) , intent(in) :: subsetv
2531 real(TKG) , intent(in) , contiguous :: stdinv(:)
2532 real(TKG) , intent(in) , contiguous :: cov(:,:)
2533 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2534 end subroutine
2535#endif
2536
2537#if RK1_ENABLED
2538 PURE module subroutine setCFC_RXLX_VUXX_RK1(cor, subset, cov, subsetv, stdinv)
2539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2540 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_RK1
2541#endif
2542 use pm_kind, only: TKG => RK1
2543 type(low_type) , intent(in) :: subset
2544 type(upp_type) , intent(in) :: subsetv
2545 real(TKG) , intent(in) , contiguous :: stdinv(:)
2546 real(TKG) , intent(in) , contiguous :: cov(:,:)
2547 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2548 end subroutine
2549#endif
2550
2551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2552
2553#if RK5_ENABLED
2554 PURE module subroutine setCFC_RXLX_VXLX_RK5(cor, subset, cov, subsetv, stdinv)
2555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2556 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_RK5
2557#endif
2558 use pm_kind, only: TKG => RK5
2559 type(low_type) , intent(in) :: subset
2560 type(low_type) , intent(in) :: subsetv
2561 real(TKG) , intent(in) , contiguous :: stdinv(:)
2562 real(TKG) , intent(in) , contiguous :: cov(:,:)
2563 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2564 end subroutine
2565#endif
2566
2567#if RK4_ENABLED
2568 PURE module subroutine setCFC_RXLX_VXLX_RK4(cor, subset, cov, subsetv, stdinv)
2569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2570 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_RK4
2571#endif
2572 use pm_kind, only: TKG => RK4
2573 type(low_type) , intent(in) :: subset
2574 type(low_type) , intent(in) :: subsetv
2575 real(TKG) , intent(in) , contiguous :: stdinv(:)
2576 real(TKG) , intent(in) , contiguous :: cov(:,:)
2577 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2578 end subroutine
2579#endif
2580
2581#if RK3_ENABLED
2582 PURE module subroutine setCFC_RXLX_VXLX_RK3(cor, subset, cov, subsetv, stdinv)
2583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2584 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_RK3
2585#endif
2586 use pm_kind, only: TKG => RK3
2587 type(low_type) , intent(in) :: subset
2588 type(low_type) , intent(in) :: subsetv
2589 real(TKG) , intent(in) , contiguous :: stdinv(:)
2590 real(TKG) , intent(in) , contiguous :: cov(:,:)
2591 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2592 end subroutine
2593#endif
2594
2595#if RK2_ENABLED
2596 PURE module subroutine setCFC_RXLX_VXLX_RK2(cor, subset, cov, subsetv, stdinv)
2597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2598 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_RK2
2599#endif
2600 use pm_kind, only: TKG => RK2
2601 type(low_type) , intent(in) :: subset
2602 type(low_type) , intent(in) :: subsetv
2603 real(TKG) , intent(in) , contiguous :: stdinv(:)
2604 real(TKG) , intent(in) , contiguous :: cov(:,:)
2605 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2606 end subroutine
2607#endif
2608
2609#if RK1_ENABLED
2610 PURE module subroutine setCFC_RXLX_VXLX_RK1(cor, subset, cov, subsetv, stdinv)
2611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2612 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_RK1
2613#endif
2614 use pm_kind, only: TKG => RK1
2615 type(low_type) , intent(in) :: subset
2616 type(low_type) , intent(in) :: subsetv
2617 real(TKG) , intent(in) , contiguous :: stdinv(:)
2618 real(TKG) , intent(in) , contiguous :: cov(:,:)
2619 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2620 end subroutine
2621#endif
2622
2623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2624
2625 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2627 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2628
2629 end interface
2630
2631 ! RK CFC: uppDia/lowDia from upp/low.
2632
2633 interface setCor
2634
2635 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2636 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2637 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2638
2639 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2640
2641#if RK5_ENABLED
2642 PURE module subroutine setCFC_RUXD_VUXX_RK5(cor, subset, cov, subsetv, stdinv)
2643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2644 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_RK5
2645#endif
2646 use pm_kind, only: TKG => RK5
2647 type(uppDia_type) , intent(in) :: subset
2648 type(upp_type) , intent(in) :: subsetv
2649 real(TKG) , intent(in) , contiguous :: stdinv(:)
2650 real(TKG) , intent(in) , contiguous :: cov(:,:)
2651 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2652 end subroutine
2653#endif
2654
2655#if RK4_ENABLED
2656 PURE module subroutine setCFC_RUXD_VUXX_RK4(cor, subset, cov, subsetv, stdinv)
2657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2658 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_RK4
2659#endif
2660 use pm_kind, only: TKG => RK4
2661 type(uppDia_type) , intent(in) :: subset
2662 type(upp_type) , intent(in) :: subsetv
2663 real(TKG) , intent(in) , contiguous :: stdinv(:)
2664 real(TKG) , intent(in) , contiguous :: cov(:,:)
2665 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2666 end subroutine
2667#endif
2668
2669#if RK3_ENABLED
2670 PURE module subroutine setCFC_RUXD_VUXX_RK3(cor, subset, cov, subsetv, stdinv)
2671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2672 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_RK3
2673#endif
2674 use pm_kind, only: TKG => RK3
2675 type(uppDia_type) , intent(in) :: subset
2676 type(upp_type) , intent(in) :: subsetv
2677 real(TKG) , intent(in) , contiguous :: stdinv(:)
2678 real(TKG) , intent(in) , contiguous :: cov(:,:)
2679 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2680 end subroutine
2681#endif
2682
2683#if RK2_ENABLED
2684 PURE module subroutine setCFC_RUXD_VUXX_RK2(cor, subset, cov, subsetv, stdinv)
2685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2686 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_RK2
2687#endif
2688 use pm_kind, only: TKG => RK2
2689 type(uppDia_type) , intent(in) :: subset
2690 type(upp_type) , intent(in) :: subsetv
2691 real(TKG) , intent(in) , contiguous :: stdinv(:)
2692 real(TKG) , intent(in) , contiguous :: cov(:,:)
2693 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2694 end subroutine
2695#endif
2696
2697#if RK1_ENABLED
2698 PURE module subroutine setCFC_RUXD_VUXX_RK1(cor, subset, cov, subsetv, stdinv)
2699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2700 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_RK1
2701#endif
2702 use pm_kind, only: TKG => RK1
2703 type(uppDia_type) , intent(in) :: subset
2704 type(upp_type) , intent(in) :: subsetv
2705 real(TKG) , intent(in) , contiguous :: stdinv(:)
2706 real(TKG) , intent(in) , contiguous :: cov(:,:)
2707 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2708 end subroutine
2709#endif
2710
2711 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2712
2713#if RK5_ENABLED
2714 PURE module subroutine setCFC_RUXD_VXLX_RK5(cor, subset, cov, subsetv, stdinv)
2715#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2716 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_RK5
2717#endif
2718 use pm_kind, only: TKG => RK5
2719 type(uppDia_type) , intent(in) :: subset
2720 type(low_type) , intent(in) :: subsetv
2721 real(TKG) , intent(in) , contiguous :: stdinv(:)
2722 real(TKG) , intent(in) , contiguous :: cov(:,:)
2723 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2724 end subroutine
2725#endif
2726
2727#if RK4_ENABLED
2728 PURE module subroutine setCFC_RUXD_VXLX_RK4(cor, subset, cov, subsetv, stdinv)
2729#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2730 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_RK4
2731#endif
2732 use pm_kind, only: TKG => RK4
2733 type(uppDia_type) , intent(in) :: subset
2734 type(low_type) , intent(in) :: subsetv
2735 real(TKG) , intent(in) , contiguous :: stdinv(:)
2736 real(TKG) , intent(in) , contiguous :: cov(:,:)
2737 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2738 end subroutine
2739#endif
2740
2741#if RK3_ENABLED
2742 PURE module subroutine setCFC_RUXD_VXLX_RK3(cor, subset, cov, subsetv, stdinv)
2743#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2744 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_RK3
2745#endif
2746 use pm_kind, only: TKG => RK3
2747 type(uppDia_type) , intent(in) :: subset
2748 type(low_type) , intent(in) :: subsetv
2749 real(TKG) , intent(in) , contiguous :: stdinv(:)
2750 real(TKG) , intent(in) , contiguous :: cov(:,:)
2751 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2752 end subroutine
2753#endif
2754
2755#if RK2_ENABLED
2756 PURE module subroutine setCFC_RUXD_VXLX_RK2(cor, subset, cov, subsetv, stdinv)
2757#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2758 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_RK2
2759#endif
2760 use pm_kind, only: TKG => RK2
2761 type(uppDia_type) , intent(in) :: subset
2762 type(low_type) , intent(in) :: subsetv
2763 real(TKG) , intent(in) , contiguous :: stdinv(:)
2764 real(TKG) , intent(in) , contiguous :: cov(:,:)
2765 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2766 end subroutine
2767#endif
2768
2769#if RK1_ENABLED
2770 PURE module subroutine setCFC_RUXD_VXLX_RK1(cor, subset, cov, subsetv, stdinv)
2771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2772 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_RK1
2773#endif
2774 use pm_kind, only: TKG => RK1
2775 type(uppDia_type) , intent(in) :: subset
2776 type(low_type) , intent(in) :: subsetv
2777 real(TKG) , intent(in) , contiguous :: stdinv(:)
2778 real(TKG) , intent(in) , contiguous :: cov(:,:)
2779 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2780 end subroutine
2781#endif
2782
2783 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2784
2785 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2786 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2787 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2788
2789 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2790
2791#if RK5_ENABLED
2792 PURE module subroutine setCFC_RXLD_VUXX_RK5(cor, subset, cov, subsetv, stdinv)
2793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2794 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_RK5
2795#endif
2796 use pm_kind, only: TKG => RK5
2797 type(lowDia_type) , intent(in) :: subset
2798 type(upp_type) , intent(in) :: subsetv
2799 real(TKG) , intent(in) , contiguous :: stdinv(:)
2800 real(TKG) , intent(in) , contiguous :: cov(:,:)
2801 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2802 end subroutine
2803#endif
2804
2805#if RK4_ENABLED
2806 PURE module subroutine setCFC_RXLD_VUXX_RK4(cor, subset, cov, subsetv, stdinv)
2807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2808 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_RK4
2809#endif
2810 use pm_kind, only: TKG => RK4
2811 type(lowDia_type) , intent(in) :: subset
2812 type(upp_type) , intent(in) :: subsetv
2813 real(TKG) , intent(in) , contiguous :: stdinv(:)
2814 real(TKG) , intent(in) , contiguous :: cov(:,:)
2815 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2816 end subroutine
2817#endif
2818
2819#if RK3_ENABLED
2820 PURE module subroutine setCFC_RXLD_VUXX_RK3(cor, subset, cov, subsetv, stdinv)
2821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2822 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_RK3
2823#endif
2824 use pm_kind, only: TKG => RK3
2825 type(lowDia_type) , intent(in) :: subset
2826 type(upp_type) , intent(in) :: subsetv
2827 real(TKG) , intent(in) , contiguous :: stdinv(:)
2828 real(TKG) , intent(in) , contiguous :: cov(:,:)
2829 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2830 end subroutine
2831#endif
2832
2833#if RK2_ENABLED
2834 PURE module subroutine setCFC_RXLD_VUXX_RK2(cor, subset, cov, subsetv, stdinv)
2835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2836 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_RK2
2837#endif
2838 use pm_kind, only: TKG => RK2
2839 type(lowDia_type) , intent(in) :: subset
2840 type(upp_type) , intent(in) :: subsetv
2841 real(TKG) , intent(in) , contiguous :: stdinv(:)
2842 real(TKG) , intent(in) , contiguous :: cov(:,:)
2843 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2844 end subroutine
2845#endif
2846
2847#if RK1_ENABLED
2848 PURE module subroutine setCFC_RXLD_VUXX_RK1(cor, subset, cov, subsetv, stdinv)
2849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2850 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_RK1
2851#endif
2852 use pm_kind, only: TKG => RK1
2853 type(lowDia_type) , intent(in) :: subset
2854 type(upp_type) , intent(in) :: subsetv
2855 real(TKG) , intent(in) , contiguous :: stdinv(:)
2856 real(TKG) , intent(in) , contiguous :: cov(:,:)
2857 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2858 end subroutine
2859#endif
2860
2861 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2862
2863#if RK5_ENABLED
2864 PURE module subroutine setCFC_RXLD_VXLX_RK5(cor, subset, cov, subsetv, stdinv)
2865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2866 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_RK5
2867#endif
2868 use pm_kind, only: TKG => RK5
2869 type(lowDia_type) , intent(in) :: subset
2870 type(low_type) , intent(in) :: subsetv
2871 real(TKG) , intent(in) , contiguous :: stdinv(:)
2872 real(TKG) , intent(in) , contiguous :: cov(:,:)
2873 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2874 end subroutine
2875#endif
2876
2877#if RK4_ENABLED
2878 PURE module subroutine setCFC_RXLD_VXLX_RK4(cor, subset, cov, subsetv, stdinv)
2879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2880 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_RK4
2881#endif
2882 use pm_kind, only: TKG => RK4
2883 type(lowDia_type) , intent(in) :: subset
2884 type(low_type) , intent(in) :: subsetv
2885 real(TKG) , intent(in) , contiguous :: stdinv(:)
2886 real(TKG) , intent(in) , contiguous :: cov(:,:)
2887 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2888 end subroutine
2889#endif
2890
2891#if RK3_ENABLED
2892 PURE module subroutine setCFC_RXLD_VXLX_RK3(cor, subset, cov, subsetv, stdinv)
2893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2894 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_RK3
2895#endif
2896 use pm_kind, only: TKG => RK3
2897 type(lowDia_type) , intent(in) :: subset
2898 type(low_type) , intent(in) :: subsetv
2899 real(TKG) , intent(in) , contiguous :: stdinv(:)
2900 real(TKG) , intent(in) , contiguous :: cov(:,:)
2901 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2902 end subroutine
2903#endif
2904
2905#if RK2_ENABLED
2906 PURE module subroutine setCFC_RXLD_VXLX_RK2(cor, subset, cov, subsetv, stdinv)
2907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2908 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_RK2
2909#endif
2910 use pm_kind, only: TKG => RK2
2911 type(lowDia_type) , intent(in) :: subset
2912 type(low_type) , intent(in) :: subsetv
2913 real(TKG) , intent(in) , contiguous :: stdinv(:)
2914 real(TKG) , intent(in) , contiguous :: cov(:,:)
2915 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2916 end subroutine
2917#endif
2918
2919#if RK1_ENABLED
2920 PURE module subroutine setCFC_RXLD_VXLX_RK1(cor, subset, cov, subsetv, stdinv)
2921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2922 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_RK1
2923#endif
2924 use pm_kind, only: TKG => RK1
2925 type(lowDia_type) , intent(in) :: subset
2926 type(low_type) , intent(in) :: subsetv
2927 real(TKG) , intent(in) , contiguous :: stdinv(:)
2928 real(TKG) , intent(in) , contiguous :: cov(:,:)
2929 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2930 end subroutine
2931#endif
2932
2933 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2934
2935 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2936 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2937 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2938
2939 end interface
2940
2941 ! RK CFC: upp/low from uppDia/lowDia.
2942
2943 interface setCor
2944
2945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2947 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2948
2949 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2950
2951#if RK5_ENABLED
2952 PURE module subroutine setCFC_RUXX_VUXD_RK5(cor, subset, cov, subsetv)
2953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2954 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_RK5
2955#endif
2956 use pm_kind, only: TKG => RK5
2957 type(upp_type) , intent(in) :: subset
2958 type(uppDia_type) , intent(in) :: subsetv
2959 real(TKG) , intent(in) , contiguous :: cov(:,:)
2960 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2961 end subroutine
2962#endif
2963
2964#if RK4_ENABLED
2965 PURE module subroutine setCFC_RUXX_VUXD_RK4(cor, subset, cov, subsetv)
2966#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2967 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_RK4
2968#endif
2969 use pm_kind, only: TKG => RK4
2970 type(upp_type) , intent(in) :: subset
2971 type(uppDia_type) , intent(in) :: subsetv
2972 real(TKG) , intent(in) , contiguous :: cov(:,:)
2973 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2974 end subroutine
2975#endif
2976
2977#if RK3_ENABLED
2978 PURE module subroutine setCFC_RUXX_VUXD_RK3(cor, subset, cov, subsetv)
2979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2980 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_RK3
2981#endif
2982 use pm_kind, only: TKG => RK3
2983 type(upp_type) , intent(in) :: subset
2984 type(uppDia_type) , intent(in) :: subsetv
2985 real(TKG) , intent(in) , contiguous :: cov(:,:)
2986 real(TKG) , intent(inout) , contiguous :: cor(:,:)
2987 end subroutine
2988#endif
2989
2990#if RK2_ENABLED
2991 PURE module subroutine setCFC_RUXX_VUXD_RK2(cor, subset, cov, subsetv)
2992#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2993 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_RK2
2994#endif
2995 use pm_kind, only: TKG => RK2
2996 type(upp_type) , intent(in) :: subset
2997 type(uppDia_type) , intent(in) :: subsetv
2998 real(TKG) , intent(in) , contiguous :: cov(:,:)
2999 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3000 end subroutine
3001#endif
3002
3003#if RK1_ENABLED
3004 PURE module subroutine setCFC_RUXX_VUXD_RK1(cor, subset, cov, subsetv)
3005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3006 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_RK1
3007#endif
3008 use pm_kind, only: TKG => RK1
3009 type(upp_type) , intent(in) :: subset
3010 type(uppDia_type) , intent(in) :: subsetv
3011 real(TKG) , intent(in) , contiguous :: cov(:,:)
3012 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3013 end subroutine
3014#endif
3015
3016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3017
3018#if RK5_ENABLED
3019 PURE module subroutine setCFC_RUXX_VXLD_RK5(cor, subset, cov, subsetv)
3020#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3021 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_RK5
3022#endif
3023 use pm_kind, only: TKG => RK5
3024 type(upp_type) , intent(in) :: subset
3025 type(lowDia_type) , intent(in) :: subsetv
3026 real(TKG) , intent(in) , contiguous :: cov(:,:)
3027 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3028 end subroutine
3029#endif
3030
3031#if RK4_ENABLED
3032 PURE module subroutine setCFC_RUXX_VXLD_RK4(cor, subset, cov, subsetv)
3033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3034 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_RK4
3035#endif
3036 use pm_kind, only: TKG => RK4
3037 type(upp_type) , intent(in) :: subset
3038 type(lowDia_type) , intent(in) :: subsetv
3039 real(TKG) , intent(in) , contiguous :: cov(:,:)
3040 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3041 end subroutine
3042#endif
3043
3044#if RK3_ENABLED
3045 PURE module subroutine setCFC_RUXX_VXLD_RK3(cor, subset, cov, subsetv)
3046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3047 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_RK3
3048#endif
3049 use pm_kind, only: TKG => RK3
3050 type(upp_type) , intent(in) :: subset
3051 type(lowDia_type) , intent(in) :: subsetv
3052 real(TKG) , intent(in) , contiguous :: cov(:,:)
3053 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3054 end subroutine
3055#endif
3056
3057#if RK2_ENABLED
3058 PURE module subroutine setCFC_RUXX_VXLD_RK2(cor, subset, cov, subsetv)
3059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3060 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_RK2
3061#endif
3062 use pm_kind, only: TKG => RK2
3063 type(upp_type) , intent(in) :: subset
3064 type(lowDia_type) , intent(in) :: subsetv
3065 real(TKG) , intent(in) , contiguous :: cov(:,:)
3066 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3067 end subroutine
3068#endif
3069
3070#if RK1_ENABLED
3071 PURE module subroutine setCFC_RUXX_VXLD_RK1(cor, subset, cov, subsetv)
3072#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3073 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_RK1
3074#endif
3075 use pm_kind, only: TKG => RK1
3076 type(upp_type) , intent(in) :: subset
3077 type(lowDia_type) , intent(in) :: subsetv
3078 real(TKG) , intent(in) , contiguous :: cov(:,:)
3079 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3080 end subroutine
3081#endif
3082
3083 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3084
3085 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3086 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3087 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3088
3089 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3090
3091#if RK5_ENABLED
3092 PURE module subroutine setCFC_RXLX_VUXD_RK5(cor, subset, cov, subsetv)
3093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3094 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_RK5
3095#endif
3096 use pm_kind, only: TKG => RK5
3097 type(low_type) , intent(in) :: subset
3098 type(uppDia_type) , intent(in) :: subsetv
3099 real(TKG) , intent(in) , contiguous :: cov(:,:)
3100 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3101 end subroutine
3102#endif
3103
3104#if RK4_ENABLED
3105 PURE module subroutine setCFC_RXLX_VUXD_RK4(cor, subset, cov, subsetv)
3106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3107 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_RK4
3108#endif
3109 use pm_kind, only: TKG => RK4
3110 type(low_type) , intent(in) :: subset
3111 type(uppDia_type) , intent(in) :: subsetv
3112 real(TKG) , intent(in) , contiguous :: cov(:,:)
3113 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3114 end subroutine
3115#endif
3116
3117#if RK3_ENABLED
3118 PURE module subroutine setCFC_RXLX_VUXD_RK3(cor, subset, cov, subsetv)
3119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3120 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_RK3
3121#endif
3122 use pm_kind, only: TKG => RK3
3123 type(low_type) , intent(in) :: subset
3124 type(uppDia_type) , intent(in) :: subsetv
3125 real(TKG) , intent(in) , contiguous :: cov(:,:)
3126 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3127 end subroutine
3128#endif
3129
3130#if RK2_ENABLED
3131 PURE module subroutine setCFC_RXLX_VUXD_RK2(cor, subset, cov, subsetv)
3132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3133 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_RK2
3134#endif
3135 use pm_kind, only: TKG => RK2
3136 type(low_type) , intent(in) :: subset
3137 type(uppDia_type) , intent(in) :: subsetv
3138 real(TKG) , intent(in) , contiguous :: cov(:,:)
3139 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3140 end subroutine
3141#endif
3142
3143#if RK1_ENABLED
3144 PURE module subroutine setCFC_RXLX_VUXD_RK1(cor, subset, cov, subsetv)
3145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3146 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_RK1
3147#endif
3148 use pm_kind, only: TKG => RK1
3149 type(low_type) , intent(in) :: subset
3150 type(uppDia_type) , intent(in) :: subsetv
3151 real(TKG) , intent(in) , contiguous :: cov(:,:)
3152 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3153 end subroutine
3154#endif
3155
3156 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3157
3158#if RK5_ENABLED
3159 PURE module subroutine setCFC_RXLX_VXLD_RK5(cor, subset, cov, subsetv)
3160#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3161 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_RK5
3162#endif
3163 use pm_kind, only: TKG => RK5
3164 type(low_type) , intent(in) :: subset
3165 type(lowDia_type) , intent(in) :: subsetv
3166 real(TKG) , intent(in) , contiguous :: cov(:,:)
3167 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3168 end subroutine
3169#endif
3170
3171#if RK4_ENABLED
3172 PURE module subroutine setCFC_RXLX_VXLD_RK4(cor, subset, cov, subsetv)
3173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3174 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_RK4
3175#endif
3176 use pm_kind, only: TKG => RK4
3177 type(low_type) , intent(in) :: subset
3178 type(lowDia_type) , intent(in) :: subsetv
3179 real(TKG) , intent(in) , contiguous :: cov(:,:)
3180 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3181 end subroutine
3182#endif
3183
3184#if RK3_ENABLED
3185 PURE module subroutine setCFC_RXLX_VXLD_RK3(cor, subset, cov, subsetv)
3186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3187 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_RK3
3188#endif
3189 use pm_kind, only: TKG => RK3
3190 type(low_type) , intent(in) :: subset
3191 type(lowDia_type) , intent(in) :: subsetv
3192 real(TKG) , intent(in) , contiguous :: cov(:,:)
3193 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3194 end subroutine
3195#endif
3196
3197#if RK2_ENABLED
3198 PURE module subroutine setCFC_RXLX_VXLD_RK2(cor, subset, cov, subsetv)
3199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3200 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_RK2
3201#endif
3202 use pm_kind, only: TKG => RK2
3203 type(low_type) , intent(in) :: subset
3204 type(lowDia_type) , intent(in) :: subsetv
3205 real(TKG) , intent(in) , contiguous :: cov(:,:)
3206 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3207 end subroutine
3208#endif
3209
3210#if RK1_ENABLED
3211 PURE module subroutine setCFC_RXLX_VXLD_RK1(cor, subset, cov, subsetv)
3212#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3213 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_RK1
3214#endif
3215 use pm_kind, only: TKG => RK1
3216 type(low_type) , intent(in) :: subset
3217 type(lowDia_type) , intent(in) :: subsetv
3218 real(TKG) , intent(in) , contiguous :: cov(:,:)
3219 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3220 end subroutine
3221#endif
3222
3223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3224
3225 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3227 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3228
3229 end interface
3230
3231 ! RK CFC: uppDia/lowDia from uppDia/lowDia.
3232
3233 interface setCor
3234
3235 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3236 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3237 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3238
3239 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3240
3241#if RK5_ENABLED
3242 PURE module subroutine setCFC_RUXD_VUXD_RK5(cor, subset, cov, subsetv)
3243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3244 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_RK5
3245#endif
3246 use pm_kind, only: TKG => RK5
3247 type(uppDia_type) , intent(in) :: subset
3248 type(uppDia_type) , intent(in) :: subsetv
3249 real(TKG) , intent(in) , contiguous :: cov(:,:)
3250 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3251 end subroutine
3252#endif
3253
3254#if RK4_ENABLED
3255 PURE module subroutine setCFC_RUXD_VUXD_RK4(cor, subset, cov, subsetv)
3256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3257 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_RK4
3258#endif
3259 use pm_kind, only: TKG => RK4
3260 type(uppDia_type) , intent(in) :: subset
3261 type(uppDia_type) , intent(in) :: subsetv
3262 real(TKG) , intent(in) , contiguous :: cov(:,:)
3263 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3264 end subroutine
3265#endif
3266
3267#if RK3_ENABLED
3268 PURE module subroutine setCFC_RUXD_VUXD_RK3(cor, subset, cov, subsetv)
3269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3270 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_RK3
3271#endif
3272 use pm_kind, only: TKG => RK3
3273 type(uppDia_type) , intent(in) :: subset
3274 type(uppDia_type) , intent(in) :: subsetv
3275 real(TKG) , intent(in) , contiguous :: cov(:,:)
3276 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3277 end subroutine
3278#endif
3279
3280#if RK2_ENABLED
3281 PURE module subroutine setCFC_RUXD_VUXD_RK2(cor, subset, cov, subsetv)
3282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3283 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_RK2
3284#endif
3285 use pm_kind, only: TKG => RK2
3286 type(uppDia_type) , intent(in) :: subset
3287 type(uppDia_type) , intent(in) :: subsetv
3288 real(TKG) , intent(in) , contiguous :: cov(:,:)
3289 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3290 end subroutine
3291#endif
3292
3293#if RK1_ENABLED
3294 PURE module subroutine setCFC_RUXD_VUXD_RK1(cor, subset, cov, subsetv)
3295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3296 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_RK1
3297#endif
3298 use pm_kind, only: TKG => RK1
3299 type(uppDia_type) , intent(in) :: subset
3300 type(uppDia_type) , intent(in) :: subsetv
3301 real(TKG) , intent(in) , contiguous :: cov(:,:)
3302 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3303 end subroutine
3304#endif
3305
3306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3307
3308#if RK5_ENABLED
3309 PURE module subroutine setCFC_RUXD_VXLD_RK5(cor, subset, cov, subsetv)
3310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3311 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_RK5
3312#endif
3313 use pm_kind, only: TKG => RK5
3314 type(uppDia_type) , intent(in) :: subset
3315 type(lowDia_type) , intent(in) :: subsetv
3316 real(TKG) , intent(in) , contiguous :: cov(:,:)
3317 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3318 end subroutine
3319#endif
3320
3321#if RK4_ENABLED
3322 PURE module subroutine setCFC_RUXD_VXLD_RK4(cor, subset, cov, subsetv)
3323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3324 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_RK4
3325#endif
3326 use pm_kind, only: TKG => RK4
3327 type(uppDia_type) , intent(in) :: subset
3328 type(lowDia_type) , intent(in) :: subsetv
3329 real(TKG) , intent(in) , contiguous :: cov(:,:)
3330 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3331 end subroutine
3332#endif
3333
3334#if RK3_ENABLED
3335 PURE module subroutine setCFC_RUXD_VXLD_RK3(cor, subset, cov, subsetv)
3336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3337 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_RK3
3338#endif
3339 use pm_kind, only: TKG => RK3
3340 type(uppDia_type) , intent(in) :: subset
3341 type(lowDia_type) , intent(in) :: subsetv
3342 real(TKG) , intent(in) , contiguous :: cov(:,:)
3343 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3344 end subroutine
3345#endif
3346
3347#if RK2_ENABLED
3348 PURE module subroutine setCFC_RUXD_VXLD_RK2(cor, subset, cov, subsetv)
3349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3350 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_RK2
3351#endif
3352 use pm_kind, only: TKG => RK2
3353 type(uppDia_type) , intent(in) :: subset
3354 type(lowDia_type) , intent(in) :: subsetv
3355 real(TKG) , intent(in) , contiguous :: cov(:,:)
3356 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3357 end subroutine
3358#endif
3359
3360#if RK1_ENABLED
3361 PURE module subroutine setCFC_RUXD_VXLD_RK1(cor, subset, cov, subsetv)
3362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3363 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_RK1
3364#endif
3365 use pm_kind, only: TKG => RK1
3366 type(uppDia_type) , intent(in) :: subset
3367 type(lowDia_type) , intent(in) :: subsetv
3368 real(TKG) , intent(in) , contiguous :: cov(:,:)
3369 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3370 end subroutine
3371#endif
3372
3373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3374
3375 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3377 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3378
3379 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3380
3381#if RK5_ENABLED
3382 PURE module subroutine setCFC_RXLD_VUXD_RK5(cor, subset, cov, subsetv)
3383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3384 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_RK5
3385#endif
3386 use pm_kind, only: TKG => RK5
3387 type(lowDia_type) , intent(in) :: subset
3388 type(uppDia_type) , intent(in) :: subsetv
3389 real(TKG) , intent(in) , contiguous :: cov(:,:)
3390 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3391 end subroutine
3392#endif
3393
3394#if RK4_ENABLED
3395 PURE module subroutine setCFC_RXLD_VUXD_RK4(cor, subset, cov, subsetv)
3396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3397 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_RK4
3398#endif
3399 use pm_kind, only: TKG => RK4
3400 type(lowDia_type) , intent(in) :: subset
3401 type(uppDia_type) , intent(in) :: subsetv
3402 real(TKG) , intent(in) , contiguous :: cov(:,:)
3403 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3404 end subroutine
3405#endif
3406
3407#if RK3_ENABLED
3408 PURE module subroutine setCFC_RXLD_VUXD_RK3(cor, subset, cov, subsetv)
3409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3410 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_RK3
3411#endif
3412 use pm_kind, only: TKG => RK3
3413 type(lowDia_type) , intent(in) :: subset
3414 type(uppDia_type) , intent(in) :: subsetv
3415 real(TKG) , intent(in) , contiguous :: cov(:,:)
3416 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3417 end subroutine
3418#endif
3419
3420#if RK2_ENABLED
3421 PURE module subroutine setCFC_RXLD_VUXD_RK2(cor, subset, cov, subsetv)
3422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3423 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_RK2
3424#endif
3425 use pm_kind, only: TKG => RK2
3426 type(lowDia_type) , intent(in) :: subset
3427 type(uppDia_type) , intent(in) :: subsetv
3428 real(TKG) , intent(in) , contiguous :: cov(:,:)
3429 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3430 end subroutine
3431#endif
3432
3433#if RK1_ENABLED
3434 PURE module subroutine setCFC_RXLD_VUXD_RK1(cor, subset, cov, subsetv)
3435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3436 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_RK1
3437#endif
3438 use pm_kind, only: TKG => RK1
3439 type(lowDia_type) , intent(in) :: subset
3440 type(uppDia_type) , intent(in) :: subsetv
3441 real(TKG) , intent(in) , contiguous :: cov(:,:)
3442 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3443 end subroutine
3444#endif
3445
3446 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3447
3448#if RK5_ENABLED
3449 PURE module subroutine setCFC_RXLD_VXLD_RK5(cor, subset, cov, subsetv)
3450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3451 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_RK5
3452#endif
3453 use pm_kind, only: TKG => RK5
3454 type(lowDia_type) , intent(in) :: subset
3455 type(lowDia_type) , intent(in) :: subsetv
3456 real(TKG) , intent(in) , contiguous :: cov(:,:)
3457 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3458 end subroutine
3459#endif
3460
3461#if RK4_ENABLED
3462 PURE module subroutine setCFC_RXLD_VXLD_RK4(cor, subset, cov, subsetv)
3463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3464 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_RK4
3465#endif
3466 use pm_kind, only: TKG => RK4
3467 type(lowDia_type) , intent(in) :: subset
3468 type(lowDia_type) , intent(in) :: subsetv
3469 real(TKG) , intent(in) , contiguous :: cov(:,:)
3470 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3471 end subroutine
3472#endif
3473
3474#if RK3_ENABLED
3475 PURE module subroutine setCFC_RXLD_VXLD_RK3(cor, subset, cov, subsetv)
3476#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3477 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_RK3
3478#endif
3479 use pm_kind, only: TKG => RK3
3480 type(lowDia_type) , intent(in) :: subset
3481 type(lowDia_type) , intent(in) :: subsetv
3482 real(TKG) , intent(in) , contiguous :: cov(:,:)
3483 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3484 end subroutine
3485#endif
3486
3487#if RK2_ENABLED
3488 PURE module subroutine setCFC_RXLD_VXLD_RK2(cor, subset, cov, subsetv)
3489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3490 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_RK2
3491#endif
3492 use pm_kind, only: TKG => RK2
3493 type(lowDia_type) , intent(in) :: subset
3494 type(lowDia_type) , intent(in) :: subsetv
3495 real(TKG) , intent(in) , contiguous :: cov(:,:)
3496 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3497 end subroutine
3498#endif
3499
3500#if RK1_ENABLED
3501 PURE module subroutine setCFC_RXLD_VXLD_RK1(cor, subset, cov, subsetv)
3502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3503 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_RK1
3504#endif
3505 use pm_kind, only: TKG => RK1
3506 type(lowDia_type) , intent(in) :: subset
3507 type(lowDia_type) , intent(in) :: subsetv
3508 real(TKG) , intent(in) , contiguous :: cov(:,:)
3509 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3510 end subroutine
3511#endif
3512
3513 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3514
3515 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3516 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3518
3519 end interface
3520
3521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3522
3523 ! RK XY - Prs - WNO
3524
3525 interface setCor
3526
3527 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3528
3529#if RK5_ENABLED
3530 PURE module subroutine setPrsOrgWNO_XY_RK5(cor, x, y)
3531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3532 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_RK5
3533#endif
3534 use pm_kind, only: TKG => RK5
3535 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3536 real(TKG) , intent(out) :: cor
3537 end subroutine
3538#endif
3539
3540#if RK4_ENABLED
3541 PURE module subroutine setPrsOrgWNO_XY_RK4(cor, x, y)
3542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3543 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_RK4
3544#endif
3545 use pm_kind, only: TKG => RK4
3546 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3547 real(TKG) , intent(out) :: cor
3548 end subroutine
3549#endif
3550
3551#if RK3_ENABLED
3552 PURE module subroutine setPrsOrgWNO_XY_RK3(cor, x, y)
3553#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3554 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_RK3
3555#endif
3556 use pm_kind, only: TKG => RK3
3557 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3558 real(TKG) , intent(out) :: cor
3559 end subroutine
3560#endif
3561
3562#if RK2_ENABLED
3563 PURE module subroutine setPrsOrgWNO_XY_RK2(cor, x, y)
3564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3565 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_RK2
3566#endif
3567 use pm_kind, only: TKG => RK2
3568 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3569 real(TKG) , intent(out) :: cor
3570 end subroutine
3571#endif
3572
3573#if RK1_ENABLED
3574 PURE module subroutine setPrsOrgWNO_XY_RK1(cor, x, y)
3575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3576 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_RK1
3577#endif
3578 use pm_kind, only: TKG => RK1
3579 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3580 real(TKG) , intent(out) :: cor
3581 end subroutine
3582#endif
3583
3584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3585
3586#if RK5_ENABLED
3587 PURE module subroutine setPrsAvgWNO_XY_RK5(cor, mean, x, y)
3588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3589 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_RK5
3590#endif
3591 use pm_kind, only: TKG => RK5
3592 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3593 real(TKG) , intent(in) , contiguous :: mean(:)
3594 real(TKG) , intent(out) :: cor
3595 end subroutine
3596#endif
3597
3598#if RK4_ENABLED
3599 PURE module subroutine setPrsAvgWNO_XY_RK4(cor, mean, x, y)
3600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3601 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_RK4
3602#endif
3603 use pm_kind, only: TKG => RK4
3604 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3605 real(TKG) , intent(in) , contiguous :: mean(:)
3606 real(TKG) , intent(out) :: cor
3607 end subroutine
3608#endif
3609
3610#if RK3_ENABLED
3611 PURE module subroutine setPrsAvgWNO_XY_RK3(cor, mean, x, y)
3612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3613 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_RK3
3614#endif
3615 use pm_kind, only: TKG => RK3
3616 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3617 real(TKG) , intent(in) , contiguous :: mean(:)
3618 real(TKG) , intent(out) :: cor
3619 end subroutine
3620#endif
3621
3622#if RK2_ENABLED
3623 PURE module subroutine setPrsAvgWNO_XY_RK2(cor, mean, x, y)
3624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3625 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_RK2
3626#endif
3627 use pm_kind, only: TKG => RK2
3628 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3629 real(TKG) , intent(in) , contiguous :: mean(:)
3630 real(TKG) , intent(out) :: cor
3631 end subroutine
3632#endif
3633
3634#if RK1_ENABLED
3635 PURE module subroutine setPrsAvgWNO_XY_RK1(cor, mean, x, y)
3636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3637 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_RK1
3638#endif
3639 use pm_kind, only: TKG => RK1
3640 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3641 real(TKG) , intent(in) , contiguous :: mean(:)
3642 real(TKG) , intent(out) :: cor
3643 end subroutine
3644#endif
3645
3646 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3647
3648 end interface setCor
3649
3650 ! RK XY - Prs - WTI
3651
3652 interface setCor
3653
3654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3655
3656#if RK5_ENABLED
3657 PURE module subroutine setPrsOrgWTI_XY_RK5(cor, x, y, weight, weisum)
3658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3659 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_RK5
3660#endif
3661 use pm_kind, only: TKG => RK5
3662 integer(IK) , intent(in) :: weisum
3663 integer(IK) , intent(in) , contiguous :: weight(:)
3664 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3665 real(TKG) , intent(out) :: cor
3666 end subroutine
3667#endif
3668
3669#if RK4_ENABLED
3670 PURE module subroutine setPrsOrgWTI_XY_RK4(cor, x, y, weight, weisum)
3671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3672 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_RK4
3673#endif
3674 use pm_kind, only: TKG => RK4
3675 integer(IK) , intent(in) :: weisum
3676 integer(IK) , intent(in) , contiguous :: weight(:)
3677 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3678 real(TKG) , intent(out) :: cor
3679 end subroutine
3680#endif
3681
3682#if RK3_ENABLED
3683 PURE module subroutine setPrsOrgWTI_XY_RK3(cor, x, y, weight, weisum)
3684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3685 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_RK3
3686#endif
3687 use pm_kind, only: TKG => RK3
3688 integer(IK) , intent(in) :: weisum
3689 integer(IK) , intent(in) , contiguous :: weight(:)
3690 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3691 real(TKG) , intent(out) :: cor
3692 end subroutine
3693#endif
3694
3695#if RK2_ENABLED
3696 PURE module subroutine setPrsOrgWTI_XY_RK2(cor, x, y, weight, weisum)
3697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3698 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_RK2
3699#endif
3700 use pm_kind, only: TKG => RK2
3701 integer(IK) , intent(in) :: weisum
3702 integer(IK) , intent(in) , contiguous :: weight(:)
3703 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3704 real(TKG) , intent(out) :: cor
3705 end subroutine
3706#endif
3707
3708#if RK1_ENABLED
3709 PURE module subroutine setPrsOrgWTI_XY_RK1(cor, x, y, weight, weisum)
3710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3711 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_RK1
3712#endif
3713 use pm_kind, only: TKG => RK1
3714 integer(IK) , intent(in) :: weisum
3715 integer(IK) , intent(in) , contiguous :: weight(:)
3716 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3717 real(TKG) , intent(out) :: cor
3718 end subroutine
3719#endif
3720
3721 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3722
3723#if RK5_ENABLED
3724 PURE module subroutine setPrsAvgWTI_XY_RK5(cor, mean, x, y, weight, weisum)
3725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3726 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_RK5
3727#endif
3728 use pm_kind, only: TKG => RK5
3729 integer(IK) , intent(in) :: weisum
3730 integer(IK) , intent(in) , contiguous :: weight(:)
3731 real(TKG) , intent(in) , contiguous :: mean(:)
3732 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3733 real(TKG) , intent(out) :: cor
3734 end subroutine
3735#endif
3736
3737#if RK4_ENABLED
3738 PURE module subroutine setPrsAvgWTI_XY_RK4(cor, mean, x, y, weight, weisum)
3739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3740 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_RK4
3741#endif
3742 use pm_kind, only: TKG => RK4
3743 integer(IK) , intent(in) :: weisum
3744 integer(IK) , intent(in) , contiguous :: weight(:)
3745 real(TKG) , intent(in) , contiguous :: mean(:)
3746 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3747 real(TKG) , intent(out) :: cor
3748 end subroutine
3749#endif
3750
3751#if RK3_ENABLED
3752 PURE module subroutine setPrsAvgWTI_XY_RK3(cor, mean, x, y, weight, weisum)
3753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3754 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_RK3
3755#endif
3756 use pm_kind, only: TKG => RK3
3757 integer(IK) , intent(in) :: weisum
3758 integer(IK) , intent(in) , contiguous :: weight(:)
3759 real(TKG) , intent(in) , contiguous :: mean(:)
3760 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3761 real(TKG) , intent(out) :: cor
3762 end subroutine
3763#endif
3764
3765#if RK2_ENABLED
3766 PURE module subroutine setPrsAvgWTI_XY_RK2(cor, mean, x, y, weight, weisum)
3767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3768 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_RK2
3769#endif
3770 use pm_kind, only: TKG => RK2
3771 integer(IK) , intent(in) :: weisum
3772 integer(IK) , intent(in) , contiguous :: weight(:)
3773 real(TKG) , intent(in) , contiguous :: mean(:)
3774 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3775 real(TKG) , intent(out) :: cor
3776 end subroutine
3777#endif
3778
3779#if RK1_ENABLED
3780 PURE module subroutine setPrsAvgWTI_XY_RK1(cor, mean, x, y, weight, weisum)
3781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3782 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_RK1
3783#endif
3784 use pm_kind, only: TKG => RK1
3785 integer(IK) , intent(in) :: weisum
3786 integer(IK) , intent(in) , contiguous :: weight(:)
3787 real(TKG) , intent(in) , contiguous :: mean(:)
3788 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3789 real(TKG) , intent(out) :: cor
3790 end subroutine
3791#endif
3792
3793 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3794
3795 end interface setCor
3796
3797 ! RK XY - Prs - WTR
3798
3799 interface setCor
3800
3801 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3802
3803#if RK5_ENABLED
3804 PURE module subroutine setPrsOrgWTR_XY_RK5(cor, x, y, weight, weisum)
3805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3806 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_RK5
3807#endif
3808 use pm_kind, only: TKG => RK5
3809 real(TKG) , intent(in) :: weisum
3810 real(TKG) , intent(in) , contiguous :: weight(:)
3811 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3812 real(TKG) , intent(out) :: cor
3813 end subroutine
3814#endif
3815
3816#if RK4_ENABLED
3817 PURE module subroutine setPrsOrgWTR_XY_RK4(cor, x, y, weight, weisum)
3818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3819 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_RK4
3820#endif
3821 use pm_kind, only: TKG => RK4
3822 real(TKG) , intent(in) :: weisum
3823 real(TKG) , intent(in) , contiguous :: weight(:)
3824 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3825 real(TKG) , intent(out) :: cor
3826 end subroutine
3827#endif
3828
3829#if RK3_ENABLED
3830 PURE module subroutine setPrsOrgWTR_XY_RK3(cor, x, y, weight, weisum)
3831#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3832 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_RK3
3833#endif
3834 use pm_kind, only: TKG => RK3
3835 real(TKG) , intent(in) :: weisum
3836 real(TKG) , intent(in) , contiguous :: weight(:)
3837 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3838 real(TKG) , intent(out) :: cor
3839 end subroutine
3840#endif
3841
3842#if RK2_ENABLED
3843 PURE module subroutine setPrsOrgWTR_XY_RK2(cor, x, y, weight, weisum)
3844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3845 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_RK2
3846#endif
3847 use pm_kind, only: TKG => RK2
3848 real(TKG) , intent(in) :: weisum
3849 real(TKG) , intent(in) , contiguous :: weight(:)
3850 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3851 real(TKG) , intent(out) :: cor
3852 end subroutine
3853#endif
3854
3855#if RK1_ENABLED
3856 PURE module subroutine setPrsOrgWTR_XY_RK1(cor, x, y, weight, weisum)
3857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3858 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_RK1
3859#endif
3860 use pm_kind, only: TKG => RK1
3861 real(TKG) , intent(in) :: weisum
3862 real(TKG) , intent(in) , contiguous :: weight(:)
3863 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3864 real(TKG) , intent(out) :: cor
3865 end subroutine
3866#endif
3867
3868 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3869
3870#if RK5_ENABLED
3871 PURE module subroutine setPrsAvgWTR_XY_RK5(cor, mean, x, y, weight, weisum)
3872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3873 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_RK5
3874#endif
3875 use pm_kind, only: TKG => RK5
3876 real(TKG) , intent(in) :: weisum
3877 real(TKG) , intent(in) , contiguous :: mean(:)
3878 real(TKG) , intent(in) , contiguous :: weight(:)
3879 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3880 real(TKG) , intent(out) :: cor
3881 end subroutine
3882#endif
3883
3884#if RK4_ENABLED
3885 PURE module subroutine setPrsAvgWTR_XY_RK4(cor, mean, x, y, weight, weisum)
3886#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3887 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_RK4
3888#endif
3889 use pm_kind, only: TKG => RK4
3890 real(TKG) , intent(in) :: weisum
3891 real(TKG) , intent(in) , contiguous :: mean(:)
3892 real(TKG) , intent(in) , contiguous :: weight(:)
3893 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3894 real(TKG) , intent(out) :: cor
3895 end subroutine
3896#endif
3897
3898#if RK3_ENABLED
3899 PURE module subroutine setPrsAvgWTR_XY_RK3(cor, mean, x, y, weight, weisum)
3900#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3901 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_RK3
3902#endif
3903 use pm_kind, only: TKG => RK3
3904 real(TKG) , intent(in) :: weisum
3905 real(TKG) , intent(in) , contiguous :: mean(:)
3906 real(TKG) , intent(in) , contiguous :: weight(:)
3907 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3908 real(TKG) , intent(out) :: cor
3909 end subroutine
3910#endif
3911
3912#if RK2_ENABLED
3913 PURE module subroutine setPrsAvgWTR_XY_RK2(cor, mean, x, y, weight, weisum)
3914#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3915 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_RK2
3916#endif
3917 use pm_kind, only: TKG => RK2
3918 real(TKG) , intent(in) :: weisum
3919 real(TKG) , intent(in) , contiguous :: mean(:)
3920 real(TKG) , intent(in) , contiguous :: weight(:)
3921 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3922 real(TKG) , intent(out) :: cor
3923 end subroutine
3924#endif
3925
3926#if RK1_ENABLED
3927 PURE module subroutine setPrsAvgWTR_XY_RK1(cor, mean, x, y, weight, weisum)
3928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3929 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_RK1
3930#endif
3931 use pm_kind, only: TKG => RK1
3932 real(TKG) , intent(in) :: weisum
3933 real(TKG) , intent(in) , contiguous :: mean(:)
3934 real(TKG) , intent(in) , contiguous :: weight(:)
3935 real(TKG) , intent(in) , contiguous :: x(:), y(:)
3936 real(TKG) , intent(out) :: cor
3937 end subroutine
3938#endif
3939
3940 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3941
3942 end interface setCor
3943
3944 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3945
3946 ! RK UXD - Prs - WNO
3947
3948 interface setCor
3949
3950 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3951
3952#if RK5_ENABLED
3953 PURE module subroutine setPrsOrgWNO_UXD_RK5(cor, subset, sample, dim)
3954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3955 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_RK5
3956#endif
3957 use pm_kind, only: TKG => RK5
3958 integer(IK) , intent(in) :: dim
3959 real(TKG) , intent(in) , contiguous :: sample(:,:)
3960 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3961 type(uppDia_type) , intent(in) :: subset
3962 end subroutine
3963#endif
3964
3965#if RK4_ENABLED
3966 PURE module subroutine setPrsOrgWNO_UXD_RK4(cor, subset, sample, dim)
3967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3968 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_RK4
3969#endif
3970 use pm_kind, only: TKG => RK4
3971 integer(IK) , intent(in) :: dim
3972 real(TKG) , intent(in) , contiguous :: sample(:,:)
3973 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3974 type(uppDia_type) , intent(in) :: subset
3975 end subroutine
3976#endif
3977
3978#if RK3_ENABLED
3979 PURE module subroutine setPrsOrgWNO_UXD_RK3(cor, subset, sample, dim)
3980#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3981 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_RK3
3982#endif
3983 use pm_kind, only: TKG => RK3
3984 integer(IK) , intent(in) :: dim
3985 real(TKG) , intent(in) , contiguous :: sample(:,:)
3986 real(TKG) , intent(inout) , contiguous :: cor(:,:)
3987 type(uppDia_type) , intent(in) :: subset
3988 end subroutine
3989#endif
3990
3991#if RK2_ENABLED
3992 PURE module subroutine setPrsOrgWNO_UXD_RK2(cor, subset, sample, dim)
3993#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3994 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_RK2
3995#endif
3996 use pm_kind, only: TKG => RK2
3997 integer(IK) , intent(in) :: dim
3998 real(TKG) , intent(in) , contiguous :: sample(:,:)
3999 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4000 type(uppDia_type) , intent(in) :: subset
4001 end subroutine
4002#endif
4003
4004#if RK1_ENABLED
4005 PURE module subroutine setPrsOrgWNO_UXD_RK1(cor, subset, sample, dim)
4006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4007 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_RK1
4008#endif
4009 use pm_kind, only: TKG => RK1
4010 integer(IK) , intent(in) :: dim
4011 real(TKG) , intent(in) , contiguous :: sample(:,:)
4012 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4013 type(uppDia_type) , intent(in) :: subset
4014 end subroutine
4015#endif
4016
4017 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4018
4019#if RK5_ENABLED
4020 PURE module subroutine setPrsAvgWNO_UXD_RK5(cor, subset, mean, sample, dim)
4021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4022 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_RK5
4023#endif
4024 use pm_kind, only: TKG => RK5
4025 integer(IK) , intent(in) :: dim
4026 real(TKG) , intent(in) , contiguous :: sample(:,:)
4027 real(TKG) , intent(in) , contiguous :: mean(:)
4028 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4029 type(uppDia_type) , intent(in) :: subset
4030 end subroutine
4031#endif
4032
4033#if RK4_ENABLED
4034 PURE module subroutine setPrsAvgWNO_UXD_RK4(cor, subset, mean, sample, dim)
4035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4036 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_RK4
4037#endif
4038 use pm_kind, only: TKG => RK4
4039 integer(IK) , intent(in) :: dim
4040 real(TKG) , intent(in) , contiguous :: sample(:,:)
4041 real(TKG) , intent(in) , contiguous :: mean(:)
4042 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4043 type(uppDia_type) , intent(in) :: subset
4044 end subroutine
4045#endif
4046
4047#if RK3_ENABLED
4048 PURE module subroutine setPrsAvgWNO_UXD_RK3(cor, subset, mean, sample, dim)
4049#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4050 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_RK3
4051#endif
4052 use pm_kind, only: TKG => RK3
4053 integer(IK) , intent(in) :: dim
4054 real(TKG) , intent(in) , contiguous :: sample(:,:)
4055 real(TKG) , intent(in) , contiguous :: mean(:)
4056 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4057 type(uppDia_type) , intent(in) :: subset
4058 end subroutine
4059#endif
4060
4061#if RK2_ENABLED
4062 PURE module subroutine setPrsAvgWNO_UXD_RK2(cor, subset, mean, sample, dim)
4063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4064 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_RK2
4065#endif
4066 use pm_kind, only: TKG => RK2
4067 integer(IK) , intent(in) :: dim
4068 real(TKG) , intent(in) , contiguous :: sample(:,:)
4069 real(TKG) , intent(in) , contiguous :: mean(:)
4070 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4071 type(uppDia_type) , intent(in) :: subset
4072 end subroutine
4073#endif
4074
4075#if RK1_ENABLED
4076 PURE module subroutine setPrsAvgWNO_UXD_RK1(cor, subset, mean, sample, dim)
4077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4078 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_RK1
4079#endif
4080 use pm_kind, only: TKG => RK1
4081 integer(IK) , intent(in) :: dim
4082 real(TKG) , intent(in) , contiguous :: sample(:,:)
4083 real(TKG) , intent(in) , contiguous :: mean(:)
4084 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4085 type(uppDia_type) , intent(in) :: subset
4086 end subroutine
4087#endif
4088
4089 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4090
4091 end interface setCor
4092
4093 ! RK UXD - Prs - WTI
4094
4095 interface setCor
4096
4097 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4098
4099#if RK5_ENABLED
4100 PURE module subroutine setPrsOrgWTI_UXD_RK5(cor, subset, sample, dim, weight, weisum)
4101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4102 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_RK5
4103#endif
4104 use pm_kind, only: TKG => RK5
4105 integer(IK) , intent(in) :: dim
4106 integer(IK) , intent(in) :: weisum
4107 integer(IK) , intent(in) , contiguous :: weight(:)
4108 real(TKG) , intent(in) , contiguous :: sample(:,:)
4109 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4110 type(uppDia_type) , intent(in) :: subset
4111 end subroutine
4112#endif
4113
4114#if RK4_ENABLED
4115 PURE module subroutine setPrsOrgWTI_UXD_RK4(cor, subset, sample, dim, weight, weisum)
4116#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4117 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_RK4
4118#endif
4119 use pm_kind, only: TKG => RK4
4120 integer(IK) , intent(in) :: dim
4121 integer(IK) , intent(in) :: weisum
4122 integer(IK) , intent(in) , contiguous :: weight(:)
4123 real(TKG) , intent(in) , contiguous :: sample(:,:)
4124 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4125 type(uppDia_type) , intent(in) :: subset
4126 end subroutine
4127#endif
4128
4129#if RK3_ENABLED
4130 PURE module subroutine setPrsOrgWTI_UXD_RK3(cor, subset, sample, dim, weight, weisum)
4131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4132 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_RK3
4133#endif
4134 use pm_kind, only: TKG => RK3
4135 integer(IK) , intent(in) :: dim
4136 integer(IK) , intent(in) :: weisum
4137 integer(IK) , intent(in) , contiguous :: weight(:)
4138 real(TKG) , intent(in) , contiguous :: sample(:,:)
4139 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4140 type(uppDia_type) , intent(in) :: subset
4141 end subroutine
4142#endif
4143
4144#if RK2_ENABLED
4145 PURE module subroutine setPrsOrgWTI_UXD_RK2(cor, subset, sample, dim, weight, weisum)
4146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4147 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_RK2
4148#endif
4149 use pm_kind, only: TKG => RK2
4150 integer(IK) , intent(in) :: dim
4151 integer(IK) , intent(in) :: weisum
4152 integer(IK) , intent(in) , contiguous :: weight(:)
4153 real(TKG) , intent(in) , contiguous :: sample(:,:)
4154 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4155 type(uppDia_type) , intent(in) :: subset
4156 end subroutine
4157#endif
4158
4159#if RK1_ENABLED
4160 PURE module subroutine setPrsOrgWTI_UXD_RK1(cor, subset, sample, dim, weight, weisum)
4161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4162 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_RK1
4163#endif
4164 use pm_kind, only: TKG => RK1
4165 integer(IK) , intent(in) :: dim
4166 integer(IK) , intent(in) :: weisum
4167 integer(IK) , intent(in) , contiguous :: weight(:)
4168 real(TKG) , intent(in) , contiguous :: sample(:,:)
4169 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4170 type(uppDia_type) , intent(in) :: subset
4171 end subroutine
4172#endif
4173
4174 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4175
4176#if RK5_ENABLED
4177 PURE module subroutine setPrsAvgWTI_UXD_RK5(cor, subset, mean, sample, dim, weight, weisum)
4178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4179 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_RK5
4180#endif
4181 use pm_kind, only: TKG => RK5
4182 integer(IK) , intent(in) :: dim
4183 integer(IK) , intent(in) :: weisum
4184 integer(IK) , intent(in) , contiguous :: weight(:)
4185 real(TKG) , intent(in) , contiguous :: mean(:)
4186 real(TKG) , intent(in) , contiguous :: sample(:,:)
4187 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4188 type(uppDia_type) , intent(in) :: subset
4189 end subroutine
4190#endif
4191
4192#if RK4_ENABLED
4193 PURE module subroutine setPrsAvgWTI_UXD_RK4(cor, subset, mean, sample, dim, weight, weisum)
4194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4195 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_RK4
4196#endif
4197 use pm_kind, only: TKG => RK4
4198 integer(IK) , intent(in) :: dim
4199 integer(IK) , intent(in) :: weisum
4200 integer(IK) , intent(in) , contiguous :: weight(:)
4201 real(TKG) , intent(in) , contiguous :: mean(:)
4202 real(TKG) , intent(in) , contiguous :: sample(:,:)
4203 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4204 type(uppDia_type) , intent(in) :: subset
4205 end subroutine
4206#endif
4207
4208#if RK3_ENABLED
4209 PURE module subroutine setPrsAvgWTI_UXD_RK3(cor, subset, mean, sample, dim, weight, weisum)
4210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4211 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_RK3
4212#endif
4213 use pm_kind, only: TKG => RK3
4214 integer(IK) , intent(in) :: dim
4215 integer(IK) , intent(in) :: weisum
4216 integer(IK) , intent(in) , contiguous :: weight(:)
4217 real(TKG) , intent(in) , contiguous :: mean(:)
4218 real(TKG) , intent(in) , contiguous :: sample(:,:)
4219 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4220 type(uppDia_type) , intent(in) :: subset
4221 end subroutine
4222#endif
4223
4224#if RK2_ENABLED
4225 PURE module subroutine setPrsAvgWTI_UXD_RK2(cor, subset, mean, sample, dim, weight, weisum)
4226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4227 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_RK2
4228#endif
4229 use pm_kind, only: TKG => RK2
4230 integer(IK) , intent(in) :: dim
4231 integer(IK) , intent(in) :: weisum
4232 integer(IK) , intent(in) , contiguous :: weight(:)
4233 real(TKG) , intent(in) , contiguous :: mean(:)
4234 real(TKG) , intent(in) , contiguous :: sample(:,:)
4235 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4236 type(uppDia_type) , intent(in) :: subset
4237 end subroutine
4238#endif
4239
4240#if RK1_ENABLED
4241 PURE module subroutine setPrsAvgWTI_UXD_RK1(cor, subset, mean, sample, dim, weight, weisum)
4242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4243 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_RK1
4244#endif
4245 use pm_kind, only: TKG => RK1
4246 integer(IK) , intent(in) :: dim
4247 integer(IK) , intent(in) :: weisum
4248 integer(IK) , intent(in) , contiguous :: weight(:)
4249 real(TKG) , intent(in) , contiguous :: mean(:)
4250 real(TKG) , intent(in) , contiguous :: sample(:,:)
4251 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4252 type(uppDia_type) , intent(in) :: subset
4253 end subroutine
4254#endif
4255
4256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4257
4258 end interface setCor
4259
4260 ! RK UXD - Prs - WTI real
4261
4262 interface setCor
4263
4264 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4265
4266#if RK5_ENABLED
4267 PURE module subroutine setPrsOrgWTR_UXD_RK5(cor, subset, sample, dim, weight, weisum)
4268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4269 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_RK5
4270#endif
4271 use pm_kind, only: TKG => RK5
4272 integer(IK) , intent(in) :: dim
4273 real(TKG) , intent(in) :: weisum
4274 real(TKG) , intent(in) , contiguous :: weight(:)
4275 real(TKG) , intent(in) , contiguous :: sample(:,:)
4276 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4277 type(uppDia_type) , intent(in) :: subset
4278 end subroutine
4279#endif
4280
4281#if RK4_ENABLED
4282 PURE module subroutine setPrsOrgWTR_UXD_RK4(cor, subset, sample, dim, weight, weisum)
4283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4284 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_RK4
4285#endif
4286 use pm_kind, only: TKG => RK4
4287 integer(IK) , intent(in) :: dim
4288 real(TKG) , intent(in) :: weisum
4289 real(TKG) , intent(in) , contiguous :: weight(:)
4290 real(TKG) , intent(in) , contiguous :: sample(:,:)
4291 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4292 type(uppDia_type) , intent(in) :: subset
4293 end subroutine
4294#endif
4295
4296#if RK3_ENABLED
4297 PURE module subroutine setPrsOrgWTR_UXD_RK3(cor, subset, sample, dim, weight, weisum)
4298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4299 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_RK3
4300#endif
4301 use pm_kind, only: TKG => RK3
4302 integer(IK) , intent(in) :: dim
4303 real(TKG) , intent(in) :: weisum
4304 real(TKG) , intent(in) , contiguous :: weight(:)
4305 real(TKG) , intent(in) , contiguous :: sample(:,:)
4306 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4307 type(uppDia_type) , intent(in) :: subset
4308 end subroutine
4309#endif
4310
4311#if RK2_ENABLED
4312 PURE module subroutine setPrsOrgWTR_UXD_RK2(cor, subset, sample, dim, weight, weisum)
4313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4314 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_RK2
4315#endif
4316 use pm_kind, only: TKG => RK2
4317 integer(IK) , intent(in) :: dim
4318 real(TKG) , intent(in) :: weisum
4319 real(TKG) , intent(in) , contiguous :: weight(:)
4320 real(TKG) , intent(in) , contiguous :: sample(:,:)
4321 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4322 type(uppDia_type) , intent(in) :: subset
4323 end subroutine
4324#endif
4325
4326#if RK1_ENABLED
4327 PURE module subroutine setPrsOrgWTR_UXD_RK1(cor, subset, sample, dim, weight, weisum)
4328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4329 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_RK1
4330#endif
4331 use pm_kind, only: TKG => RK1
4332 integer(IK) , intent(in) :: dim
4333 real(TKG) , intent(in) :: weisum
4334 real(TKG) , intent(in) , contiguous :: weight(:)
4335 real(TKG) , intent(in) , contiguous :: sample(:,:)
4336 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4337 type(uppDia_type) , intent(in) :: subset
4338 end subroutine
4339#endif
4340
4341 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4342
4343#if RK5_ENABLED
4344 PURE module subroutine setPrsAvgWTR_UXD_RK5(cor, subset, mean, sample, dim, weight, weisum)
4345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4346 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_RK5
4347#endif
4348 use pm_kind, only: TKG => RK5
4349 integer(IK) , intent(in) :: dim
4350 real(TKG) , intent(in) :: weisum
4351 real(TKG) , intent(in) , contiguous :: mean(:)
4352 real(TKG) , intent(in) , contiguous :: weight(:)
4353 real(TKG) , intent(in) , contiguous :: sample(:,:)
4354 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4355 type(uppDia_type) , intent(in) :: subset
4356 end subroutine
4357#endif
4358
4359#if RK4_ENABLED
4360 PURE module subroutine setPrsAvgWTR_UXD_RK4(cor, subset, mean, sample, dim, weight, weisum)
4361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4362 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_RK4
4363#endif
4364 use pm_kind, only: TKG => RK4
4365 integer(IK) , intent(in) :: dim
4366 real(TKG) , intent(in) :: weisum
4367 real(TKG) , intent(in) , contiguous :: mean(:)
4368 real(TKG) , intent(in) , contiguous :: weight(:)
4369 real(TKG) , intent(in) , contiguous :: sample(:,:)
4370 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4371 type(uppDia_type) , intent(in) :: subset
4372 end subroutine
4373#endif
4374
4375#if RK3_ENABLED
4376 PURE module subroutine setPrsAvgWTR_UXD_RK3(cor, subset, mean, sample, dim, weight, weisum)
4377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4378 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_RK3
4379#endif
4380 use pm_kind, only: TKG => RK3
4381 integer(IK) , intent(in) :: dim
4382 real(TKG) , intent(in) :: weisum
4383 real(TKG) , intent(in) , contiguous :: mean(:)
4384 real(TKG) , intent(in) , contiguous :: weight(:)
4385 real(TKG) , intent(in) , contiguous :: sample(:,:)
4386 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4387 type(uppDia_type) , intent(in) :: subset
4388 end subroutine
4389#endif
4390
4391#if RK2_ENABLED
4392 PURE module subroutine setPrsAvgWTR_UXD_RK2(cor, subset, mean, sample, dim, weight, weisum)
4393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4394 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_RK2
4395#endif
4396 use pm_kind, only: TKG => RK2
4397 integer(IK) , intent(in) :: dim
4398 real(TKG) , intent(in) :: weisum
4399 real(TKG) , intent(in) , contiguous :: mean(:)
4400 real(TKG) , intent(in) , contiguous :: weight(:)
4401 real(TKG) , intent(in) , contiguous :: sample(:,:)
4402 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4403 type(uppDia_type) , intent(in) :: subset
4404 end subroutine
4405#endif
4406
4407#if RK1_ENABLED
4408 PURE module subroutine setPrsAvgWTR_UXD_RK1(cor, subset, mean, sample, dim, weight, weisum)
4409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4410 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_RK1
4411#endif
4412 use pm_kind, only: TKG => RK1
4413 integer(IK) , intent(in) :: dim
4414 real(TKG) , intent(in) :: weisum
4415 real(TKG) , intent(in) , contiguous :: mean(:)
4416 real(TKG) , intent(in) , contiguous :: weight(:)
4417 real(TKG) , intent(in) , contiguous :: sample(:,:)
4418 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4419 type(uppDia_type) , intent(in) :: subset
4420 end subroutine
4421#endif
4422
4423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4424
4425 end interface setCor
4426
4427 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4428
4429 ! RK XLD - Prs - WNO
4430
4431 interface setCor
4432
4433 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4434
4435#if RK5_ENABLED
4436 PURE module subroutine setPrsOrgWNO_XLD_RK5(cor, subset, sample, dim)
4437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4438 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_RK5
4439#endif
4440 use pm_kind, only: TKG => RK5
4441 integer(IK) , intent(in) :: dim
4442 real(TKG) , intent(in) , contiguous :: sample(:,:)
4443 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4444 type(lowDia_type) , intent(in) :: subset
4445 end subroutine
4446#endif
4447
4448#if RK4_ENABLED
4449 PURE module subroutine setPrsOrgWNO_XLD_RK4(cor, subset, sample, dim)
4450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4451 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_RK4
4452#endif
4453 use pm_kind, only: TKG => RK4
4454 integer(IK) , intent(in) :: dim
4455 real(TKG) , intent(in) , contiguous :: sample(:,:)
4456 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4457 type(lowDia_type) , intent(in) :: subset
4458 end subroutine
4459#endif
4460
4461#if RK3_ENABLED
4462 PURE module subroutine setPrsOrgWNO_XLD_RK3(cor, subset, sample, dim)
4463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4464 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_RK3
4465#endif
4466 use pm_kind, only: TKG => RK3
4467 integer(IK) , intent(in) :: dim
4468 real(TKG) , intent(in) , contiguous :: sample(:,:)
4469 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4470 type(lowDia_type) , intent(in) :: subset
4471 end subroutine
4472#endif
4473
4474#if RK2_ENABLED
4475 PURE module subroutine setPrsOrgWNO_XLD_RK2(cor, subset, sample, dim)
4476#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4477 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_RK2
4478#endif
4479 use pm_kind, only: TKG => RK2
4480 integer(IK) , intent(in) :: dim
4481 real(TKG) , intent(in) , contiguous :: sample(:,:)
4482 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4483 type(lowDia_type) , intent(in) :: subset
4484 end subroutine
4485#endif
4486
4487#if RK1_ENABLED
4488 PURE module subroutine setPrsOrgWNO_XLD_RK1(cor, subset, sample, dim)
4489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4490 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_RK1
4491#endif
4492 use pm_kind, only: TKG => RK1
4493 integer(IK) , intent(in) :: dim
4494 real(TKG) , intent(in) , contiguous :: sample(:,:)
4495 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4496 type(lowDia_type) , intent(in) :: subset
4497 end subroutine
4498#endif
4499
4500 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4501
4502#if RK5_ENABLED
4503 PURE module subroutine setPrsAvgWNO_XLD_RK5(cor, subset, mean, sample, dim)
4504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4505 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_RK5
4506#endif
4507 use pm_kind, only: TKG => RK5
4508 integer(IK) , intent(in) :: dim
4509 real(TKG) , intent(in) , contiguous :: sample(:,:)
4510 real(TKG) , intent(in) , contiguous :: mean(:)
4511 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4512 type(lowDia_type) , intent(in) :: subset
4513 end subroutine
4514#endif
4515
4516#if RK4_ENABLED
4517 PURE module subroutine setPrsAvgWNO_XLD_RK4(cor, subset, mean, sample, dim)
4518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4519 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_RK4
4520#endif
4521 use pm_kind, only: TKG => RK4
4522 integer(IK) , intent(in) :: dim
4523 real(TKG) , intent(in) , contiguous :: sample(:,:)
4524 real(TKG) , intent(in) , contiguous :: mean(:)
4525 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4526 type(lowDia_type) , intent(in) :: subset
4527 end subroutine
4528#endif
4529
4530#if RK3_ENABLED
4531 PURE module subroutine setPrsAvgWNO_XLD_RK3(cor, subset, mean, sample, dim)
4532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4533 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_RK3
4534#endif
4535 use pm_kind, only: TKG => RK3
4536 integer(IK) , intent(in) :: dim
4537 real(TKG) , intent(in) , contiguous :: sample(:,:)
4538 real(TKG) , intent(in) , contiguous :: mean(:)
4539 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4540 type(lowDia_type) , intent(in) :: subset
4541 end subroutine
4542#endif
4543
4544#if RK2_ENABLED
4545 PURE module subroutine setPrsAvgWNO_XLD_RK2(cor, subset, mean, sample, dim)
4546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4547 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_RK2
4548#endif
4549 use pm_kind, only: TKG => RK2
4550 integer(IK) , intent(in) :: dim
4551 real(TKG) , intent(in) , contiguous :: sample(:,:)
4552 real(TKG) , intent(in) , contiguous :: mean(:)
4553 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4554 type(lowDia_type) , intent(in) :: subset
4555 end subroutine
4556#endif
4557
4558#if RK1_ENABLED
4559 PURE module subroutine setPrsAvgWNO_XLD_RK1(cor, subset, mean, sample, dim)
4560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4561 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_RK1
4562#endif
4563 use pm_kind, only: TKG => RK1
4564 integer(IK) , intent(in) :: dim
4565 real(TKG) , intent(in) , contiguous :: sample(:,:)
4566 real(TKG) , intent(in) , contiguous :: mean(:)
4567 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4568 type(lowDia_type) , intent(in) :: subset
4569 end subroutine
4570#endif
4571
4572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4573
4574 end interface setCor
4575
4576 ! RK XLD - Prs - WTI
4577
4578 interface setCor
4579
4580 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4581
4582#if RK5_ENABLED
4583 PURE module subroutine setPrsOrgWTI_XLD_RK5(cor, subset, sample, dim, weight, weisum)
4584#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4585 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_RK5
4586#endif
4587 use pm_kind, only: TKG => RK5
4588 integer(IK) , intent(in) :: dim
4589 integer(IK) , intent(in) :: weisum
4590 integer(IK) , intent(in) , contiguous :: weight(:)
4591 real(TKG) , intent(in) , contiguous :: sample(:,:)
4592 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4593 type(lowDia_type) , intent(in) :: subset
4594 end subroutine
4595#endif
4596
4597#if RK4_ENABLED
4598 PURE module subroutine setPrsOrgWTI_XLD_RK4(cor, subset, sample, dim, weight, weisum)
4599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4600 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_RK4
4601#endif
4602 use pm_kind, only: TKG => RK4
4603 integer(IK) , intent(in) :: dim
4604 integer(IK) , intent(in) :: weisum
4605 integer(IK) , intent(in) , contiguous :: weight(:)
4606 real(TKG) , intent(in) , contiguous :: sample(:,:)
4607 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4608 type(lowDia_type) , intent(in) :: subset
4609 end subroutine
4610#endif
4611
4612#if RK3_ENABLED
4613 PURE module subroutine setPrsOrgWTI_XLD_RK3(cor, subset, sample, dim, weight, weisum)
4614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4615 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_RK3
4616#endif
4617 use pm_kind, only: TKG => RK3
4618 integer(IK) , intent(in) :: dim
4619 integer(IK) , intent(in) :: weisum
4620 integer(IK) , intent(in) , contiguous :: weight(:)
4621 real(TKG) , intent(in) , contiguous :: sample(:,:)
4622 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4623 type(lowDia_type) , intent(in) :: subset
4624 end subroutine
4625#endif
4626
4627#if RK2_ENABLED
4628 PURE module subroutine setPrsOrgWTI_XLD_RK2(cor, subset, sample, dim, weight, weisum)
4629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4630 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_RK2
4631#endif
4632 use pm_kind, only: TKG => RK2
4633 integer(IK) , intent(in) :: dim
4634 integer(IK) , intent(in) :: weisum
4635 integer(IK) , intent(in) , contiguous :: weight(:)
4636 real(TKG) , intent(in) , contiguous :: sample(:,:)
4637 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4638 type(lowDia_type) , intent(in) :: subset
4639 end subroutine
4640#endif
4641
4642#if RK1_ENABLED
4643 PURE module subroutine setPrsOrgWTI_XLD_RK1(cor, subset, sample, dim, weight, weisum)
4644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4645 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_RK1
4646#endif
4647 use pm_kind, only: TKG => RK1
4648 integer(IK) , intent(in) :: dim
4649 integer(IK) , intent(in) :: weisum
4650 integer(IK) , intent(in) , contiguous :: weight(:)
4651 real(TKG) , intent(in) , contiguous :: sample(:,:)
4652 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4653 type(lowDia_type) , intent(in) :: subset
4654 end subroutine
4655#endif
4656
4657 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4658
4659#if RK5_ENABLED
4660 PURE module subroutine setPrsAvgWTI_XLD_RK5(cor, subset, mean, sample, dim, weight, weisum)
4661#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4662 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_RK5
4663#endif
4664 use pm_kind, only: TKG => RK5
4665 integer(IK) , intent(in) :: dim
4666 integer(IK) , intent(in) :: weisum
4667 integer(IK) , intent(in) , contiguous :: weight(:)
4668 real(TKG) , intent(in) , contiguous :: mean(:)
4669 real(TKG) , intent(in) , contiguous :: sample(:,:)
4670 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4671 type(lowDia_type) , intent(in) :: subset
4672 end subroutine
4673#endif
4674
4675#if RK4_ENABLED
4676 PURE module subroutine setPrsAvgWTI_XLD_RK4(cor, subset, mean, sample, dim, weight, weisum)
4677#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4678 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_RK4
4679#endif
4680 use pm_kind, only: TKG => RK4
4681 integer(IK) , intent(in) :: dim
4682 integer(IK) , intent(in) :: weisum
4683 integer(IK) , intent(in) , contiguous :: weight(:)
4684 real(TKG) , intent(in) , contiguous :: mean(:)
4685 real(TKG) , intent(in) , contiguous :: sample(:,:)
4686 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4687 type(lowDia_type) , intent(in) :: subset
4688 end subroutine
4689#endif
4690
4691#if RK3_ENABLED
4692 PURE module subroutine setPrsAvgWTI_XLD_RK3(cor, subset, mean, sample, dim, weight, weisum)
4693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4694 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_RK3
4695#endif
4696 use pm_kind, only: TKG => RK3
4697 integer(IK) , intent(in) :: dim
4698 integer(IK) , intent(in) :: weisum
4699 integer(IK) , intent(in) , contiguous :: weight(:)
4700 real(TKG) , intent(in) , contiguous :: mean(:)
4701 real(TKG) , intent(in) , contiguous :: sample(:,:)
4702 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4703 type(lowDia_type) , intent(in) :: subset
4704 end subroutine
4705#endif
4706
4707#if RK2_ENABLED
4708 PURE module subroutine setPrsAvgWTI_XLD_RK2(cor, subset, mean, sample, dim, weight, weisum)
4709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4710 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_RK2
4711#endif
4712 use pm_kind, only: TKG => RK2
4713 integer(IK) , intent(in) :: dim
4714 integer(IK) , intent(in) :: weisum
4715 integer(IK) , intent(in) , contiguous :: weight(:)
4716 real(TKG) , intent(in) , contiguous :: mean(:)
4717 real(TKG) , intent(in) , contiguous :: sample(:,:)
4718 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4719 type(lowDia_type) , intent(in) :: subset
4720 end subroutine
4721#endif
4722
4723#if RK1_ENABLED
4724 PURE module subroutine setPrsAvgWTI_XLD_RK1(cor, subset, mean, sample, dim, weight, weisum)
4725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4726 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_RK1
4727#endif
4728 use pm_kind, only: TKG => RK1
4729 integer(IK) , intent(in) :: dim
4730 integer(IK) , intent(in) :: weisum
4731 integer(IK) , intent(in) , contiguous :: weight(:)
4732 real(TKG) , intent(in) , contiguous :: mean(:)
4733 real(TKG) , intent(in) , contiguous :: sample(:,:)
4734 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4735 type(lowDia_type) , intent(in) :: subset
4736 end subroutine
4737#endif
4738
4739 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4740
4741 end interface setCor
4742
4743 ! RK XLD - Prs - WTI real
4744
4745 interface setCor
4746
4747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4748
4749#if RK5_ENABLED
4750 PURE module subroutine setPrsOrgWTR_XLD_RK5(cor, subset, sample, dim, weight, weisum)
4751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4752 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_RK5
4753#endif
4754 use pm_kind, only: TKG => RK5
4755 integer(IK) , intent(in) :: dim
4756 real(TKG) , intent(in) :: weisum
4757 real(TKG) , intent(in) , contiguous :: weight(:)
4758 real(TKG) , intent(in) , contiguous :: sample(:,:)
4759 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4760 type(lowDia_type) , intent(in) :: subset
4761 end subroutine
4762#endif
4763
4764#if RK4_ENABLED
4765 PURE module subroutine setPrsOrgWTR_XLD_RK4(cor, subset, sample, dim, weight, weisum)
4766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4767 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_RK4
4768#endif
4769 use pm_kind, only: TKG => RK4
4770 integer(IK) , intent(in) :: dim
4771 real(TKG) , intent(in) :: weisum
4772 real(TKG) , intent(in) , contiguous :: weight(:)
4773 real(TKG) , intent(in) , contiguous :: sample(:,:)
4774 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4775 type(lowDia_type) , intent(in) :: subset
4776 end subroutine
4777#endif
4778
4779#if RK3_ENABLED
4780 PURE module subroutine setPrsOrgWTR_XLD_RK3(cor, subset, sample, dim, weight, weisum)
4781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4782 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_RK3
4783#endif
4784 use pm_kind, only: TKG => RK3
4785 integer(IK) , intent(in) :: dim
4786 real(TKG) , intent(in) :: weisum
4787 real(TKG) , intent(in) , contiguous :: weight(:)
4788 real(TKG) , intent(in) , contiguous :: sample(:,:)
4789 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4790 type(lowDia_type) , intent(in) :: subset
4791 end subroutine
4792#endif
4793
4794#if RK2_ENABLED
4795 PURE module subroutine setPrsOrgWTR_XLD_RK2(cor, subset, sample, dim, weight, weisum)
4796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4797 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_RK2
4798#endif
4799 use pm_kind, only: TKG => RK2
4800 integer(IK) , intent(in) :: dim
4801 real(TKG) , intent(in) :: weisum
4802 real(TKG) , intent(in) , contiguous :: weight(:)
4803 real(TKG) , intent(in) , contiguous :: sample(:,:)
4804 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4805 type(lowDia_type) , intent(in) :: subset
4806 end subroutine
4807#endif
4808
4809#if RK1_ENABLED
4810 PURE module subroutine setPrsOrgWTR_XLD_RK1(cor, subset, sample, dim, weight, weisum)
4811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4812 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_RK1
4813#endif
4814 use pm_kind, only: TKG => RK1
4815 integer(IK) , intent(in) :: dim
4816 real(TKG) , intent(in) :: weisum
4817 real(TKG) , intent(in) , contiguous :: weight(:)
4818 real(TKG) , intent(in) , contiguous :: sample(:,:)
4819 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4820 type(lowDia_type) , intent(in) :: subset
4821 end subroutine
4822#endif
4823
4824 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4825
4826#if RK5_ENABLED
4827 PURE module subroutine setPrsAvgWTR_XLD_RK5(cor, subset, mean, sample, dim, weight, weisum)
4828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4829 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_RK5
4830#endif
4831 use pm_kind, only: TKG => RK5
4832 integer(IK) , intent(in) :: dim
4833 real(TKG) , intent(in) :: weisum
4834 real(TKG) , intent(in) , contiguous :: mean(:)
4835 real(TKG) , intent(in) , contiguous :: weight(:)
4836 real(TKG) , intent(in) , contiguous :: sample(:,:)
4837 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4838 type(lowDia_type) , intent(in) :: subset
4839 end subroutine
4840#endif
4841
4842#if RK4_ENABLED
4843 PURE module subroutine setPrsAvgWTR_XLD_RK4(cor, subset, mean, sample, dim, weight, weisum)
4844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4845 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_RK4
4846#endif
4847 use pm_kind, only: TKG => RK4
4848 integer(IK) , intent(in) :: dim
4849 real(TKG) , intent(in) :: weisum
4850 real(TKG) , intent(in) , contiguous :: mean(:)
4851 real(TKG) , intent(in) , contiguous :: weight(:)
4852 real(TKG) , intent(in) , contiguous :: sample(:,:)
4853 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4854 type(lowDia_type) , intent(in) :: subset
4855 end subroutine
4856#endif
4857
4858#if RK3_ENABLED
4859 PURE module subroutine setPrsAvgWTR_XLD_RK3(cor, subset, mean, sample, dim, weight, weisum)
4860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4861 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_RK3
4862#endif
4863 use pm_kind, only: TKG => RK3
4864 integer(IK) , intent(in) :: dim
4865 real(TKG) , intent(in) :: weisum
4866 real(TKG) , intent(in) , contiguous :: mean(:)
4867 real(TKG) , intent(in) , contiguous :: weight(:)
4868 real(TKG) , intent(in) , contiguous :: sample(:,:)
4869 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4870 type(lowDia_type) , intent(in) :: subset
4871 end subroutine
4872#endif
4873
4874#if RK2_ENABLED
4875 PURE module subroutine setPrsAvgWTR_XLD_RK2(cor, subset, mean, sample, dim, weight, weisum)
4876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4877 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_RK2
4878#endif
4879 use pm_kind, only: TKG => RK2
4880 integer(IK) , intent(in) :: dim
4881 real(TKG) , intent(in) :: weisum
4882 real(TKG) , intent(in) , contiguous :: mean(:)
4883 real(TKG) , intent(in) , contiguous :: weight(:)
4884 real(TKG) , intent(in) , contiguous :: sample(:,:)
4885 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4886 type(lowDia_type) , intent(in) :: subset
4887 end subroutine
4888#endif
4889
4890#if RK1_ENABLED
4891 PURE module subroutine setPrsAvgWTR_XLD_RK1(cor, subset, mean, sample, dim, weight, weisum)
4892#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4893 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_RK1
4894#endif
4895 use pm_kind, only: TKG => RK1
4896 integer(IK) , intent(in) :: dim
4897 real(TKG) , intent(in) :: weisum
4898 real(TKG) , intent(in) , contiguous :: mean(:)
4899 real(TKG) , intent(in) , contiguous :: weight(:)
4900 real(TKG) , intent(in) , contiguous :: sample(:,:)
4901 real(TKG) , intent(inout) , contiguous :: cor(:,:)
4902 type(lowDia_type) , intent(in) :: subset
4903 end subroutine
4904#endif
4905
4906 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4907
4908 end interface setCor
4909
4910 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4913
4914 ! CK CFC: upp/low from upp/low.
4915
4916 interface setCor
4917
4918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4919 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4920 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4921
4922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4923
4924#if CK5_ENABLED
4925 PURE module subroutine setCFC_RUXX_VUXX_CK5(cor, subset, cov, subsetv, stdinv)
4926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4927 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_CK5
4928#endif
4929 use pm_kind, only: TKG => CK5
4930 type(upp_type) , intent(in) :: subset
4931 type(upp_type) , intent(in) :: subsetv
4932 real(TKG) , intent(in) , contiguous :: stdinv(:)
4933 complex(TKG) , intent(in) , contiguous :: cov(:,:)
4934 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
4935 end subroutine
4936#endif
4937
4938#if CK4_ENABLED
4939 PURE module subroutine setCFC_RUXX_VUXX_CK4(cor, subset, cov, subsetv, stdinv)
4940#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4941 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_CK4
4942#endif
4943 use pm_kind, only: TKG => CK4
4944 type(upp_type) , intent(in) :: subset
4945 type(upp_type) , intent(in) :: subsetv
4946 real(TKG) , intent(in) , contiguous :: stdinv(:)
4947 complex(TKG) , intent(in) , contiguous :: cov(:,:)
4948 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
4949 end subroutine
4950#endif
4951
4952#if CK3_ENABLED
4953 PURE module subroutine setCFC_RUXX_VUXX_CK3(cor, subset, cov, subsetv, stdinv)
4954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4955 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_CK3
4956#endif
4957 use pm_kind, only: TKG => CK3
4958 type(upp_type) , intent(in) :: subset
4959 type(upp_type) , intent(in) :: subsetv
4960 real(TKG) , intent(in) , contiguous :: stdinv(:)
4961 complex(TKG) , intent(in) , contiguous :: cov(:,:)
4962 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
4963 end subroutine
4964#endif
4965
4966#if CK2_ENABLED
4967 PURE module subroutine setCFC_RUXX_VUXX_CK2(cor, subset, cov, subsetv, stdinv)
4968#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4969 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_CK2
4970#endif
4971 use pm_kind, only: TKG => CK2
4972 type(upp_type) , intent(in) :: subset
4973 type(upp_type) , intent(in) :: subsetv
4974 real(TKG) , intent(in) , contiguous :: stdinv(:)
4975 complex(TKG) , intent(in) , contiguous :: cov(:,:)
4976 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
4977 end subroutine
4978#endif
4979
4980#if CK1_ENABLED
4981 PURE module subroutine setCFC_RUXX_VUXX_CK1(cor, subset, cov, subsetv, stdinv)
4982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4983 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXX_CK1
4984#endif
4985 use pm_kind, only: TKG => CK1
4986 type(upp_type) , intent(in) :: subset
4987 type(upp_type) , intent(in) :: subsetv
4988 real(TKG) , intent(in) , contiguous :: stdinv(:)
4989 complex(TKG) , intent(in) , contiguous :: cov(:,:)
4990 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
4991 end subroutine
4992#endif
4993
4994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4995
4996#if CK5_ENABLED
4997 PURE module subroutine setCFC_RUXX_VXLX_CK5(cor, subset, cov, subsetv, stdinv)
4998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4999 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_CK5
5000#endif
5001 use pm_kind, only: TKG => CK5
5002 type(upp_type) , intent(in) :: subset
5003 type(low_type) , intent(in) :: subsetv
5004 real(TKG) , intent(in) , contiguous :: stdinv(:)
5005 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5006 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5007 end subroutine
5008#endif
5009
5010#if CK4_ENABLED
5011 PURE module subroutine setCFC_RUXX_VXLX_CK4(cor, subset, cov, subsetv, stdinv)
5012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5013 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_CK4
5014#endif
5015 use pm_kind, only: TKG => CK4
5016 type(upp_type) , intent(in) :: subset
5017 type(low_type) , intent(in) :: subsetv
5018 real(TKG) , intent(in) , contiguous :: stdinv(:)
5019 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5020 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5021 end subroutine
5022#endif
5023
5024#if CK3_ENABLED
5025 PURE module subroutine setCFC_RUXX_VXLX_CK3(cor, subset, cov, subsetv, stdinv)
5026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5027 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_CK3
5028#endif
5029 use pm_kind, only: TKG => CK3
5030 type(upp_type) , intent(in) :: subset
5031 type(low_type) , intent(in) :: subsetv
5032 real(TKG) , intent(in) , contiguous :: stdinv(:)
5033 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5034 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5035 end subroutine
5036#endif
5037
5038#if CK2_ENABLED
5039 PURE module subroutine setCFC_RUXX_VXLX_CK2(cor, subset, cov, subsetv, stdinv)
5040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5041 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_CK2
5042#endif
5043 use pm_kind, only: TKG => CK2
5044 type(upp_type) , intent(in) :: subset
5045 type(low_type) , intent(in) :: subsetv
5046 real(TKG) , intent(in) , contiguous :: stdinv(:)
5047 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5048 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5049 end subroutine
5050#endif
5051
5052#if CK1_ENABLED
5053 PURE module subroutine setCFC_RUXX_VXLX_CK1(cor, subset, cov, subsetv, stdinv)
5054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5055 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLX_CK1
5056#endif
5057 use pm_kind, only: TKG => CK1
5058 type(upp_type) , intent(in) :: subset
5059 type(low_type) , intent(in) :: subsetv
5060 real(TKG) , intent(in) , contiguous :: stdinv(:)
5061 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5062 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5063 end subroutine
5064#endif
5065
5066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5067
5068 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5069 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5070 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5071
5072 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5073
5074#if CK5_ENABLED
5075 PURE module subroutine setCFC_RXLX_VUXX_CK5(cor, subset, cov, subsetv, stdinv)
5076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5077 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_CK5
5078#endif
5079 use pm_kind, only: TKG => CK5
5080 type(low_type) , intent(in) :: subset
5081 type(upp_type) , intent(in) :: subsetv
5082 real(TKG) , intent(in) , contiguous :: stdinv(:)
5083 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5084 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5085 end subroutine
5086#endif
5087
5088#if CK4_ENABLED
5089 PURE module subroutine setCFC_RXLX_VUXX_CK4(cor, subset, cov, subsetv, stdinv)
5090#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5091 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_CK4
5092#endif
5093 use pm_kind, only: TKG => CK4
5094 type(low_type) , intent(in) :: subset
5095 type(upp_type) , intent(in) :: subsetv
5096 real(TKG) , intent(in) , contiguous :: stdinv(:)
5097 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5098 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5099 end subroutine
5100#endif
5101
5102#if CK3_ENABLED
5103 PURE module subroutine setCFC_RXLX_VUXX_CK3(cor, subset, cov, subsetv, stdinv)
5104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5105 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_CK3
5106#endif
5107 use pm_kind, only: TKG => CK3
5108 type(low_type) , intent(in) :: subset
5109 type(upp_type) , intent(in) :: subsetv
5110 real(TKG) , intent(in) , contiguous :: stdinv(:)
5111 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5112 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5113 end subroutine
5114#endif
5115
5116#if CK2_ENABLED
5117 PURE module subroutine setCFC_RXLX_VUXX_CK2(cor, subset, cov, subsetv, stdinv)
5118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5119 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_CK2
5120#endif
5121 use pm_kind, only: TKG => CK2
5122 type(low_type) , intent(in) :: subset
5123 type(upp_type) , intent(in) :: subsetv
5124 real(TKG) , intent(in) , contiguous :: stdinv(:)
5125 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5126 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5127 end subroutine
5128#endif
5129
5130#if CK1_ENABLED
5131 PURE module subroutine setCFC_RXLX_VUXX_CK1(cor, subset, cov, subsetv, stdinv)
5132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5133 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXX_CK1
5134#endif
5135 use pm_kind, only: TKG => CK1
5136 type(low_type) , intent(in) :: subset
5137 type(upp_type) , intent(in) :: subsetv
5138 real(TKG) , intent(in) , contiguous :: stdinv(:)
5139 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5140 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5141 end subroutine
5142#endif
5143
5144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5145
5146#if CK5_ENABLED
5147 PURE module subroutine setCFC_RXLX_VXLX_CK5(cor, subset, cov, subsetv, stdinv)
5148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5149 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_CK5
5150#endif
5151 use pm_kind, only: TKG => CK5
5152 type(low_type) , intent(in) :: subset
5153 type(low_type) , intent(in) :: subsetv
5154 real(TKG) , intent(in) , contiguous :: stdinv(:)
5155 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5156 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5157 end subroutine
5158#endif
5159
5160#if CK4_ENABLED
5161 PURE module subroutine setCFC_RXLX_VXLX_CK4(cor, subset, cov, subsetv, stdinv)
5162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5163 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_CK4
5164#endif
5165 use pm_kind, only: TKG => CK4
5166 type(low_type) , intent(in) :: subset
5167 type(low_type) , intent(in) :: subsetv
5168 real(TKG) , intent(in) , contiguous :: stdinv(:)
5169 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5170 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5171 end subroutine
5172#endif
5173
5174#if CK3_ENABLED
5175 PURE module subroutine setCFC_RXLX_VXLX_CK3(cor, subset, cov, subsetv, stdinv)
5176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5177 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_CK3
5178#endif
5179 use pm_kind, only: TKG => CK3
5180 type(low_type) , intent(in) :: subset
5181 type(low_type) , intent(in) :: subsetv
5182 real(TKG) , intent(in) , contiguous :: stdinv(:)
5183 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5184 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5185 end subroutine
5186#endif
5187
5188#if CK2_ENABLED
5189 PURE module subroutine setCFC_RXLX_VXLX_CK2(cor, subset, cov, subsetv, stdinv)
5190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5191 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_CK2
5192#endif
5193 use pm_kind, only: TKG => CK2
5194 type(low_type) , intent(in) :: subset
5195 type(low_type) , intent(in) :: subsetv
5196 real(TKG) , intent(in) , contiguous :: stdinv(:)
5197 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5198 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5199 end subroutine
5200#endif
5201
5202#if CK1_ENABLED
5203 PURE module subroutine setCFC_RXLX_VXLX_CK1(cor, subset, cov, subsetv, stdinv)
5204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5205 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLX_CK1
5206#endif
5207 use pm_kind, only: TKG => CK1
5208 type(low_type) , intent(in) :: subset
5209 type(low_type) , intent(in) :: subsetv
5210 real(TKG) , intent(in) , contiguous :: stdinv(:)
5211 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5212 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5213 end subroutine
5214#endif
5215
5216 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5217
5218 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5221
5222 end interface
5223
5224 ! CK CFC: uppDia/lowDia from upp/low.
5225
5226 interface setCor
5227
5228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5229 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5230 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5231
5232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5233
5234#if CK5_ENABLED
5235 PURE module subroutine setCFC_RUXD_VUXX_CK5(cor, subset, cov, subsetv, stdinv)
5236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5237 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_CK5
5238#endif
5239 use pm_kind, only: TKG => CK5
5240 type(uppDia_type) , intent(in) :: subset
5241 type(upp_type) , intent(in) :: subsetv
5242 real(TKG) , intent(in) , contiguous :: stdinv(:)
5243 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5244 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5245 end subroutine
5246#endif
5247
5248#if CK4_ENABLED
5249 PURE module subroutine setCFC_RUXD_VUXX_CK4(cor, subset, cov, subsetv, stdinv)
5250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5251 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_CK4
5252#endif
5253 use pm_kind, only: TKG => CK4
5254 type(uppDia_type) , intent(in) :: subset
5255 type(upp_type) , intent(in) :: subsetv
5256 real(TKG) , intent(in) , contiguous :: stdinv(:)
5257 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5258 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5259 end subroutine
5260#endif
5261
5262#if CK3_ENABLED
5263 PURE module subroutine setCFC_RUXD_VUXX_CK3(cor, subset, cov, subsetv, stdinv)
5264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5265 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_CK3
5266#endif
5267 use pm_kind, only: TKG => CK3
5268 type(uppDia_type) , intent(in) :: subset
5269 type(upp_type) , intent(in) :: subsetv
5270 real(TKG) , intent(in) , contiguous :: stdinv(:)
5271 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5272 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5273 end subroutine
5274#endif
5275
5276#if CK2_ENABLED
5277 PURE module subroutine setCFC_RUXD_VUXX_CK2(cor, subset, cov, subsetv, stdinv)
5278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5279 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_CK2
5280#endif
5281 use pm_kind, only: TKG => CK2
5282 type(uppDia_type) , intent(in) :: subset
5283 type(upp_type) , intent(in) :: subsetv
5284 real(TKG) , intent(in) , contiguous :: stdinv(:)
5285 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5286 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5287 end subroutine
5288#endif
5289
5290#if CK1_ENABLED
5291 PURE module subroutine setCFC_RUXD_VUXX_CK1(cor, subset, cov, subsetv, stdinv)
5292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5293 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXX_CK1
5294#endif
5295 use pm_kind, only: TKG => CK1
5296 type(uppDia_type) , intent(in) :: subset
5297 type(upp_type) , intent(in) :: subsetv
5298 real(TKG) , intent(in) , contiguous :: stdinv(:)
5299 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5300 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5301 end subroutine
5302#endif
5303
5304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5305
5306#if CK5_ENABLED
5307 PURE module subroutine setCFC_RUXD_VXLX_CK5(cor, subset, cov, subsetv, stdinv)
5308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5309 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_CK5
5310#endif
5311 use pm_kind, only: TKG => CK5
5312 type(uppDia_type) , intent(in) :: subset
5313 type(low_type) , intent(in) :: subsetv
5314 real(TKG) , intent(in) , contiguous :: stdinv(:)
5315 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5316 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5317 end subroutine
5318#endif
5319
5320#if CK4_ENABLED
5321 PURE module subroutine setCFC_RUXD_VXLX_CK4(cor, subset, cov, subsetv, stdinv)
5322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5323 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_CK4
5324#endif
5325 use pm_kind, only: TKG => CK4
5326 type(uppDia_type) , intent(in) :: subset
5327 type(low_type) , intent(in) :: subsetv
5328 real(TKG) , intent(in) , contiguous :: stdinv(:)
5329 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5330 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5331 end subroutine
5332#endif
5333
5334#if CK3_ENABLED
5335 PURE module subroutine setCFC_RUXD_VXLX_CK3(cor, subset, cov, subsetv, stdinv)
5336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5337 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_CK3
5338#endif
5339 use pm_kind, only: TKG => CK3
5340 type(uppDia_type) , intent(in) :: subset
5341 type(low_type) , intent(in) :: subsetv
5342 real(TKG) , intent(in) , contiguous :: stdinv(:)
5343 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5344 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5345 end subroutine
5346#endif
5347
5348#if CK2_ENABLED
5349 PURE module subroutine setCFC_RUXD_VXLX_CK2(cor, subset, cov, subsetv, stdinv)
5350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5351 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_CK2
5352#endif
5353 use pm_kind, only: TKG => CK2
5354 type(uppDia_type) , intent(in) :: subset
5355 type(low_type) , intent(in) :: subsetv
5356 real(TKG) , intent(in) , contiguous :: stdinv(:)
5357 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5358 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5359 end subroutine
5360#endif
5361
5362#if CK1_ENABLED
5363 PURE module subroutine setCFC_RUXD_VXLX_CK1(cor, subset, cov, subsetv, stdinv)
5364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5365 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLX_CK1
5366#endif
5367 use pm_kind, only: TKG => CK1
5368 type(uppDia_type) , intent(in) :: subset
5369 type(low_type) , intent(in) :: subsetv
5370 real(TKG) , intent(in) , contiguous :: stdinv(:)
5371 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5372 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5373 end subroutine
5374#endif
5375
5376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5377
5378 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5379 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5380 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5381
5382 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5383
5384#if CK5_ENABLED
5385 PURE module subroutine setCFC_RXLD_VUXX_CK5(cor, subset, cov, subsetv, stdinv)
5386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5387 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_CK5
5388#endif
5389 use pm_kind, only: TKG => CK5
5390 type(lowDia_type) , intent(in) :: subset
5391 type(upp_type) , intent(in) :: subsetv
5392 real(TKG) , intent(in) , contiguous :: stdinv(:)
5393 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5394 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5395 end subroutine
5396#endif
5397
5398#if CK4_ENABLED
5399 PURE module subroutine setCFC_RXLD_VUXX_CK4(cor, subset, cov, subsetv, stdinv)
5400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5401 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_CK4
5402#endif
5403 use pm_kind, only: TKG => CK4
5404 type(lowDia_type) , intent(in) :: subset
5405 type(upp_type) , intent(in) :: subsetv
5406 real(TKG) , intent(in) , contiguous :: stdinv(:)
5407 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5408 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5409 end subroutine
5410#endif
5411
5412#if CK3_ENABLED
5413 PURE module subroutine setCFC_RXLD_VUXX_CK3(cor, subset, cov, subsetv, stdinv)
5414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5415 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_CK3
5416#endif
5417 use pm_kind, only: TKG => CK3
5418 type(lowDia_type) , intent(in) :: subset
5419 type(upp_type) , intent(in) :: subsetv
5420 real(TKG) , intent(in) , contiguous :: stdinv(:)
5421 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5422 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5423 end subroutine
5424#endif
5425
5426#if CK2_ENABLED
5427 PURE module subroutine setCFC_RXLD_VUXX_CK2(cor, subset, cov, subsetv, stdinv)
5428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5429 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_CK2
5430#endif
5431 use pm_kind, only: TKG => CK2
5432 type(lowDia_type) , intent(in) :: subset
5433 type(upp_type) , intent(in) :: subsetv
5434 real(TKG) , intent(in) , contiguous :: stdinv(:)
5435 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5436 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5437 end subroutine
5438#endif
5439
5440#if CK1_ENABLED
5441 PURE module subroutine setCFC_RXLD_VUXX_CK1(cor, subset, cov, subsetv, stdinv)
5442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5443 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXX_CK1
5444#endif
5445 use pm_kind, only: TKG => CK1
5446 type(lowDia_type) , intent(in) :: subset
5447 type(upp_type) , intent(in) :: subsetv
5448 real(TKG) , intent(in) , contiguous :: stdinv(:)
5449 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5450 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5451 end subroutine
5452#endif
5453
5454 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5455
5456#if CK5_ENABLED
5457 PURE module subroutine setCFC_RXLD_VXLX_CK5(cor, subset, cov, subsetv, stdinv)
5458#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5459 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_CK5
5460#endif
5461 use pm_kind, only: TKG => CK5
5462 type(lowDia_type) , intent(in) :: subset
5463 type(low_type) , intent(in) :: subsetv
5464 real(TKG) , intent(in) , contiguous :: stdinv(:)
5465 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5466 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5467 end subroutine
5468#endif
5469
5470#if CK4_ENABLED
5471 PURE module subroutine setCFC_RXLD_VXLX_CK4(cor, subset, cov, subsetv, stdinv)
5472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5473 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_CK4
5474#endif
5475 use pm_kind, only: TKG => CK4
5476 type(lowDia_type) , intent(in) :: subset
5477 type(low_type) , intent(in) :: subsetv
5478 real(TKG) , intent(in) , contiguous :: stdinv(:)
5479 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5480 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5481 end subroutine
5482#endif
5483
5484#if CK3_ENABLED
5485 PURE module subroutine setCFC_RXLD_VXLX_CK3(cor, subset, cov, subsetv, stdinv)
5486#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5487 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_CK3
5488#endif
5489 use pm_kind, only: TKG => CK3
5490 type(lowDia_type) , intent(in) :: subset
5491 type(low_type) , intent(in) :: subsetv
5492 real(TKG) , intent(in) , contiguous :: stdinv(:)
5493 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5494 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5495 end subroutine
5496#endif
5497
5498#if CK2_ENABLED
5499 PURE module subroutine setCFC_RXLD_VXLX_CK2(cor, subset, cov, subsetv, stdinv)
5500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5501 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_CK2
5502#endif
5503 use pm_kind, only: TKG => CK2
5504 type(lowDia_type) , intent(in) :: subset
5505 type(low_type) , intent(in) :: subsetv
5506 real(TKG) , intent(in) , contiguous :: stdinv(:)
5507 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5508 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5509 end subroutine
5510#endif
5511
5512#if CK1_ENABLED
5513 PURE module subroutine setCFC_RXLD_VXLX_CK1(cor, subset, cov, subsetv, stdinv)
5514#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5515 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLX_CK1
5516#endif
5517 use pm_kind, only: TKG => CK1
5518 type(lowDia_type) , intent(in) :: subset
5519 type(low_type) , intent(in) :: subsetv
5520 real(TKG) , intent(in) , contiguous :: stdinv(:)
5521 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5522 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5523 end subroutine
5524#endif
5525
5526 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5527
5528 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5529 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5530 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5531
5532 end interface
5533
5534 ! CK CFC: upp/low from uppDia/lowDia.
5535
5536 interface setCor
5537
5538 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5539 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5541
5542 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5543
5544#if CK5_ENABLED
5545 PURE module subroutine setCFC_RUXX_VUXD_CK5(cor, subset, cov, subsetv)
5546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5547 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_CK5
5548#endif
5549 use pm_kind, only: TKG => CK5
5550 type(upp_type) , intent(in) :: subset
5551 type(uppDia_type) , intent(in) :: subsetv
5552 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5553 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5554 end subroutine
5555#endif
5556
5557#if CK4_ENABLED
5558 PURE module subroutine setCFC_RUXX_VUXD_CK4(cor, subset, cov, subsetv)
5559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5560 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_CK4
5561#endif
5562 use pm_kind, only: TKG => CK4
5563 type(upp_type) , intent(in) :: subset
5564 type(uppDia_type) , intent(in) :: subsetv
5565 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5566 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5567 end subroutine
5568#endif
5569
5570#if CK3_ENABLED
5571 PURE module subroutine setCFC_RUXX_VUXD_CK3(cor, subset, cov, subsetv)
5572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5573 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_CK3
5574#endif
5575 use pm_kind, only: TKG => CK3
5576 type(upp_type) , intent(in) :: subset
5577 type(uppDia_type) , intent(in) :: subsetv
5578 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5579 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5580 end subroutine
5581#endif
5582
5583#if CK2_ENABLED
5584 PURE module subroutine setCFC_RUXX_VUXD_CK2(cor, subset, cov, subsetv)
5585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5586 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_CK2
5587#endif
5588 use pm_kind, only: TKG => CK2
5589 type(upp_type) , intent(in) :: subset
5590 type(uppDia_type) , intent(in) :: subsetv
5591 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5592 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5593 end subroutine
5594#endif
5595
5596#if CK1_ENABLED
5597 PURE module subroutine setCFC_RUXX_VUXD_CK1(cor, subset, cov, subsetv)
5598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5599 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VUXD_CK1
5600#endif
5601 use pm_kind, only: TKG => CK1
5602 type(upp_type) , intent(in) :: subset
5603 type(uppDia_type) , intent(in) :: subsetv
5604 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5605 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5606 end subroutine
5607#endif
5608
5609 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5610
5611#if CK5_ENABLED
5612 PURE module subroutine setCFC_RUXX_VXLD_CK5(cor, subset, cov, subsetv)
5613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5614 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_CK5
5615#endif
5616 use pm_kind, only: TKG => CK5
5617 type(upp_type) , intent(in) :: subset
5618 type(lowDia_type) , intent(in) :: subsetv
5619 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5620 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5621 end subroutine
5622#endif
5623
5624#if CK4_ENABLED
5625 PURE module subroutine setCFC_RUXX_VXLD_CK4(cor, subset, cov, subsetv)
5626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5627 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_CK4
5628#endif
5629 use pm_kind, only: TKG => CK4
5630 type(upp_type) , intent(in) :: subset
5631 type(lowDia_type) , intent(in) :: subsetv
5632 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5633 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5634 end subroutine
5635#endif
5636
5637#if CK3_ENABLED
5638 PURE module subroutine setCFC_RUXX_VXLD_CK3(cor, subset, cov, subsetv)
5639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5640 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_CK3
5641#endif
5642 use pm_kind, only: TKG => CK3
5643 type(upp_type) , intent(in) :: subset
5644 type(lowDia_type) , intent(in) :: subsetv
5645 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5646 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5647 end subroutine
5648#endif
5649
5650#if CK2_ENABLED
5651 PURE module subroutine setCFC_RUXX_VXLD_CK2(cor, subset, cov, subsetv)
5652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5653 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_CK2
5654#endif
5655 use pm_kind, only: TKG => CK2
5656 type(upp_type) , intent(in) :: subset
5657 type(lowDia_type) , intent(in) :: subsetv
5658 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5659 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5660 end subroutine
5661#endif
5662
5663#if CK1_ENABLED
5664 PURE module subroutine setCFC_RUXX_VXLD_CK1(cor, subset, cov, subsetv)
5665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5666 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXX_VXLD_CK1
5667#endif
5668 use pm_kind, only: TKG => CK1
5669 type(upp_type) , intent(in) :: subset
5670 type(lowDia_type) , intent(in) :: subsetv
5671 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5672 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5673 end subroutine
5674#endif
5675
5676 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5677
5678 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5679 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5680 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5681
5682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5683
5684#if CK5_ENABLED
5685 PURE module subroutine setCFC_RXLX_VUXD_CK5(cor, subset, cov, subsetv)
5686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5687 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_CK5
5688#endif
5689 use pm_kind, only: TKG => CK5
5690 type(low_type) , intent(in) :: subset
5691 type(uppDia_type) , intent(in) :: subsetv
5692 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5693 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5694 end subroutine
5695#endif
5696
5697#if CK4_ENABLED
5698 PURE module subroutine setCFC_RXLX_VUXD_CK4(cor, subset, cov, subsetv)
5699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5700 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_CK4
5701#endif
5702 use pm_kind, only: TKG => CK4
5703 type(low_type) , intent(in) :: subset
5704 type(uppDia_type) , intent(in) :: subsetv
5705 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5706 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5707 end subroutine
5708#endif
5709
5710#if CK3_ENABLED
5711 PURE module subroutine setCFC_RXLX_VUXD_CK3(cor, subset, cov, subsetv)
5712#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5713 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_CK3
5714#endif
5715 use pm_kind, only: TKG => CK3
5716 type(low_type) , intent(in) :: subset
5717 type(uppDia_type) , intent(in) :: subsetv
5718 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5719 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5720 end subroutine
5721#endif
5722
5723#if CK2_ENABLED
5724 PURE module subroutine setCFC_RXLX_VUXD_CK2(cor, subset, cov, subsetv)
5725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5726 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_CK2
5727#endif
5728 use pm_kind, only: TKG => CK2
5729 type(low_type) , intent(in) :: subset
5730 type(uppDia_type) , intent(in) :: subsetv
5731 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5732 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5733 end subroutine
5734#endif
5735
5736#if CK1_ENABLED
5737 PURE module subroutine setCFC_RXLX_VUXD_CK1(cor, subset, cov, subsetv)
5738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5739 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VUXD_CK1
5740#endif
5741 use pm_kind, only: TKG => CK1
5742 type(low_type) , intent(in) :: subset
5743 type(uppDia_type) , intent(in) :: subsetv
5744 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5745 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5746 end subroutine
5747#endif
5748
5749 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5750
5751#if CK5_ENABLED
5752 PURE module subroutine setCFC_RXLX_VXLD_CK5(cor, subset, cov, subsetv)
5753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5754 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_CK5
5755#endif
5756 use pm_kind, only: TKG => CK5
5757 type(low_type) , intent(in) :: subset
5758 type(lowDia_type) , intent(in) :: subsetv
5759 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5760 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5761 end subroutine
5762#endif
5763
5764#if CK4_ENABLED
5765 PURE module subroutine setCFC_RXLX_VXLD_CK4(cor, subset, cov, subsetv)
5766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5767 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_CK4
5768#endif
5769 use pm_kind, only: TKG => CK4
5770 type(low_type) , intent(in) :: subset
5771 type(lowDia_type) , intent(in) :: subsetv
5772 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5773 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5774 end subroutine
5775#endif
5776
5777#if CK3_ENABLED
5778 PURE module subroutine setCFC_RXLX_VXLD_CK3(cor, subset, cov, subsetv)
5779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5780 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_CK3
5781#endif
5782 use pm_kind, only: TKG => CK3
5783 type(low_type) , intent(in) :: subset
5784 type(lowDia_type) , intent(in) :: subsetv
5785 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5786 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5787 end subroutine
5788#endif
5789
5790#if CK2_ENABLED
5791 PURE module subroutine setCFC_RXLX_VXLD_CK2(cor, subset, cov, subsetv)
5792#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5793 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_CK2
5794#endif
5795 use pm_kind, only: TKG => CK2
5796 type(low_type) , intent(in) :: subset
5797 type(lowDia_type) , intent(in) :: subsetv
5798 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5799 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5800 end subroutine
5801#endif
5802
5803#if CK1_ENABLED
5804 PURE module subroutine setCFC_RXLX_VXLD_CK1(cor, subset, cov, subsetv)
5805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5806 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLX_VXLD_CK1
5807#endif
5808 use pm_kind, only: TKG => CK1
5809 type(low_type) , intent(in) :: subset
5810 type(lowDia_type) , intent(in) :: subsetv
5811 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5812 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5813 end subroutine
5814#endif
5815
5816 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5817
5818 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5819 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5820 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5821
5822 end interface
5823
5824 ! CK CFC: uppDia/lowDia from uppDia/lowDia.
5825
5826 interface setCor
5827
5828 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5829 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5831
5832 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5833
5834#if CK5_ENABLED
5835 PURE module subroutine setCFC_RUXD_VUXD_CK5(cor, subset, cov, subsetv)
5836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5837 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_CK5
5838#endif
5839 use pm_kind, only: TKG => CK5
5840 type(uppDia_type) , intent(in) :: subset
5841 type(uppDia_type) , intent(in) :: subsetv
5842 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5843 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5844 end subroutine
5845#endif
5846
5847#if CK4_ENABLED
5848 PURE module subroutine setCFC_RUXD_VUXD_CK4(cor, subset, cov, subsetv)
5849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5850 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_CK4
5851#endif
5852 use pm_kind, only: TKG => CK4
5853 type(uppDia_type) , intent(in) :: subset
5854 type(uppDia_type) , intent(in) :: subsetv
5855 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5856 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5857 end subroutine
5858#endif
5859
5860#if CK3_ENABLED
5861 PURE module subroutine setCFC_RUXD_VUXD_CK3(cor, subset, cov, subsetv)
5862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5863 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_CK3
5864#endif
5865 use pm_kind, only: TKG => CK3
5866 type(uppDia_type) , intent(in) :: subset
5867 type(uppDia_type) , intent(in) :: subsetv
5868 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5869 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5870 end subroutine
5871#endif
5872
5873#if CK2_ENABLED
5874 PURE module subroutine setCFC_RUXD_VUXD_CK2(cor, subset, cov, subsetv)
5875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5876 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_CK2
5877#endif
5878 use pm_kind, only: TKG => CK2
5879 type(uppDia_type) , intent(in) :: subset
5880 type(uppDia_type) , intent(in) :: subsetv
5881 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5882 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5883 end subroutine
5884#endif
5885
5886#if CK1_ENABLED
5887 PURE module subroutine setCFC_RUXD_VUXD_CK1(cor, subset, cov, subsetv)
5888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5889 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VUXD_CK1
5890#endif
5891 use pm_kind, only: TKG => CK1
5892 type(uppDia_type) , intent(in) :: subset
5893 type(uppDia_type) , intent(in) :: subsetv
5894 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5895 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5896 end subroutine
5897#endif
5898
5899 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5900
5901#if CK5_ENABLED
5902 PURE module subroutine setCFC_RUXD_VXLD_CK5(cor, subset, cov, subsetv)
5903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5904 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_CK5
5905#endif
5906 use pm_kind, only: TKG => CK5
5907 type(uppDia_type) , intent(in) :: subset
5908 type(lowDia_type) , intent(in) :: subsetv
5909 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5910 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5911 end subroutine
5912#endif
5913
5914#if CK4_ENABLED
5915 PURE module subroutine setCFC_RUXD_VXLD_CK4(cor, subset, cov, subsetv)
5916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5917 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_CK4
5918#endif
5919 use pm_kind, only: TKG => CK4
5920 type(uppDia_type) , intent(in) :: subset
5921 type(lowDia_type) , intent(in) :: subsetv
5922 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5923 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5924 end subroutine
5925#endif
5926
5927#if CK3_ENABLED
5928 PURE module subroutine setCFC_RUXD_VXLD_CK3(cor, subset, cov, subsetv)
5929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5930 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_CK3
5931#endif
5932 use pm_kind, only: TKG => CK3
5933 type(uppDia_type) , intent(in) :: subset
5934 type(lowDia_type) , intent(in) :: subsetv
5935 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5936 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5937 end subroutine
5938#endif
5939
5940#if CK2_ENABLED
5941 PURE module subroutine setCFC_RUXD_VXLD_CK2(cor, subset, cov, subsetv)
5942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5943 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_CK2
5944#endif
5945 use pm_kind, only: TKG => CK2
5946 type(uppDia_type) , intent(in) :: subset
5947 type(lowDia_type) , intent(in) :: subsetv
5948 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5949 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5950 end subroutine
5951#endif
5952
5953#if CK1_ENABLED
5954 PURE module subroutine setCFC_RUXD_VXLD_CK1(cor, subset, cov, subsetv)
5955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5956 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RUXD_VXLD_CK1
5957#endif
5958 use pm_kind, only: TKG => CK1
5959 type(uppDia_type) , intent(in) :: subset
5960 type(lowDia_type) , intent(in) :: subsetv
5961 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5962 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5963 end subroutine
5964#endif
5965
5966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5967
5968 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5969 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5970 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5971
5972 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5973
5974#if CK5_ENABLED
5975 PURE module subroutine setCFC_RXLD_VUXD_CK5(cor, subset, cov, subsetv)
5976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5977 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_CK5
5978#endif
5979 use pm_kind, only: TKG => CK5
5980 type(lowDia_type) , intent(in) :: subset
5981 type(uppDia_type) , intent(in) :: subsetv
5982 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5983 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5984 end subroutine
5985#endif
5986
5987#if CK4_ENABLED
5988 PURE module subroutine setCFC_RXLD_VUXD_CK4(cor, subset, cov, subsetv)
5989#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5990 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_CK4
5991#endif
5992 use pm_kind, only: TKG => CK4
5993 type(lowDia_type) , intent(in) :: subset
5994 type(uppDia_type) , intent(in) :: subsetv
5995 complex(TKG) , intent(in) , contiguous :: cov(:,:)
5996 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
5997 end subroutine
5998#endif
5999
6000#if CK3_ENABLED
6001 PURE module subroutine setCFC_RXLD_VUXD_CK3(cor, subset, cov, subsetv)
6002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6003 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_CK3
6004#endif
6005 use pm_kind, only: TKG => CK3
6006 type(lowDia_type) , intent(in) :: subset
6007 type(uppDia_type) , intent(in) :: subsetv
6008 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6009 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6010 end subroutine
6011#endif
6012
6013#if CK2_ENABLED
6014 PURE module subroutine setCFC_RXLD_VUXD_CK2(cor, subset, cov, subsetv)
6015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6016 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_CK2
6017#endif
6018 use pm_kind, only: TKG => CK2
6019 type(lowDia_type) , intent(in) :: subset
6020 type(uppDia_type) , intent(in) :: subsetv
6021 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6022 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6023 end subroutine
6024#endif
6025
6026#if CK1_ENABLED
6027 PURE module subroutine setCFC_RXLD_VUXD_CK1(cor, subset, cov, subsetv)
6028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6029 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VUXD_CK1
6030#endif
6031 use pm_kind, only: TKG => CK1
6032 type(lowDia_type) , intent(in) :: subset
6033 type(uppDia_type) , intent(in) :: subsetv
6034 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6035 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6036 end subroutine
6037#endif
6038
6039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6040
6041#if CK5_ENABLED
6042 PURE module subroutine setCFC_RXLD_VXLD_CK5(cor, subset, cov, subsetv)
6043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6044 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_CK5
6045#endif
6046 use pm_kind, only: TKG => CK5
6047 type(lowDia_type) , intent(in) :: subset
6048 type(lowDia_type) , intent(in) :: subsetv
6049 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6050 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6051 end subroutine
6052#endif
6053
6054#if CK4_ENABLED
6055 PURE module subroutine setCFC_RXLD_VXLD_CK4(cor, subset, cov, subsetv)
6056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6057 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_CK4
6058#endif
6059 use pm_kind, only: TKG => CK4
6060 type(lowDia_type) , intent(in) :: subset
6061 type(lowDia_type) , intent(in) :: subsetv
6062 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6063 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6064 end subroutine
6065#endif
6066
6067#if CK3_ENABLED
6068 PURE module subroutine setCFC_RXLD_VXLD_CK3(cor, subset, cov, subsetv)
6069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6070 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_CK3
6071#endif
6072 use pm_kind, only: TKG => CK3
6073 type(lowDia_type) , intent(in) :: subset
6074 type(lowDia_type) , intent(in) :: subsetv
6075 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6076 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6077 end subroutine
6078#endif
6079
6080#if CK2_ENABLED
6081 PURE module subroutine setCFC_RXLD_VXLD_CK2(cor, subset, cov, subsetv)
6082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6083 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_CK2
6084#endif
6085 use pm_kind, only: TKG => CK2
6086 type(lowDia_type) , intent(in) :: subset
6087 type(lowDia_type) , intent(in) :: subsetv
6088 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6089 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6090 end subroutine
6091#endif
6092
6093#if CK1_ENABLED
6094 PURE module subroutine setCFC_RXLD_VXLD_CK1(cor, subset, cov, subsetv)
6095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6096 !DEC$ ATTRIBUTES DLLEXPORT :: setCFC_RXLD_VXLD_CK1
6097#endif
6098 use pm_kind, only: TKG => CK1
6099 type(lowDia_type) , intent(in) :: subset
6100 type(lowDia_type) , intent(in) :: subsetv
6101 complex(TKG) , intent(in) , contiguous :: cov(:,:)
6102 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6103 end subroutine
6104#endif
6105
6106 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6107
6108 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6109 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6110 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6111
6112 end interface
6113
6114 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6115
6116 ! CK XY - Prs - WNO
6117
6118 interface setCor
6119
6120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6121
6122#if CK5_ENABLED
6123 PURE module subroutine setPrsOrgWNO_XY_CK5(cor, x, y)
6124#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6125 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_CK5
6126#endif
6127 use pm_kind, only: TKG => CK5
6128 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6129 complex(TKG) , intent(out) :: cor
6130 end subroutine
6131#endif
6132
6133#if CK4_ENABLED
6134 PURE module subroutine setPrsOrgWNO_XY_CK4(cor, x, y)
6135#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6136 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_CK4
6137#endif
6138 use pm_kind, only: TKG => CK4
6139 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6140 complex(TKG) , intent(out) :: cor
6141 end subroutine
6142#endif
6143
6144#if CK3_ENABLED
6145 PURE module subroutine setPrsOrgWNO_XY_CK3(cor, x, y)
6146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6147 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_CK3
6148#endif
6149 use pm_kind, only: TKG => CK3
6150 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6151 complex(TKG) , intent(out) :: cor
6152 end subroutine
6153#endif
6154
6155#if CK2_ENABLED
6156 PURE module subroutine setPrsOrgWNO_XY_CK2(cor, x, y)
6157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6158 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_CK2
6159#endif
6160 use pm_kind, only: TKG => CK2
6161 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6162 complex(TKG) , intent(out) :: cor
6163 end subroutine
6164#endif
6165
6166#if CK1_ENABLED
6167 PURE module subroutine setPrsOrgWNO_XY_CK1(cor, x, y)
6168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6169 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XY_CK1
6170#endif
6171 use pm_kind, only: TKG => CK1
6172 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6173 complex(TKG) , intent(out) :: cor
6174 end subroutine
6175#endif
6176
6177 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6178
6179#if CK5_ENABLED
6180 PURE module subroutine setPrsAvgWNO_XY_CK5(cor, mean, x, y)
6181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6182 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_CK5
6183#endif
6184 use pm_kind, only: TKG => CK5
6185 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6186 complex(TKG) , intent(in) , contiguous :: mean(:)
6187 complex(TKG) , intent(out) :: cor
6188 end subroutine
6189#endif
6190
6191#if CK4_ENABLED
6192 PURE module subroutine setPrsAvgWNO_XY_CK4(cor, mean, x, y)
6193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6194 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_CK4
6195#endif
6196 use pm_kind, only: TKG => CK4
6197 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6198 complex(TKG) , intent(in) , contiguous :: mean(:)
6199 complex(TKG) , intent(out) :: cor
6200 end subroutine
6201#endif
6202
6203#if CK3_ENABLED
6204 PURE module subroutine setPrsAvgWNO_XY_CK3(cor, mean, x, y)
6205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6206 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_CK3
6207#endif
6208 use pm_kind, only: TKG => CK3
6209 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6210 complex(TKG) , intent(in) , contiguous :: mean(:)
6211 complex(TKG) , intent(out) :: cor
6212 end subroutine
6213#endif
6214
6215#if CK2_ENABLED
6216 PURE module subroutine setPrsAvgWNO_XY_CK2(cor, mean, x, y)
6217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6218 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_CK2
6219#endif
6220 use pm_kind, only: TKG => CK2
6221 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6222 complex(TKG) , intent(in) , contiguous :: mean(:)
6223 complex(TKG) , intent(out) :: cor
6224 end subroutine
6225#endif
6226
6227#if CK1_ENABLED
6228 PURE module subroutine setPrsAvgWNO_XY_CK1(cor, mean, x, y)
6229#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6230 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XY_CK1
6231#endif
6232 use pm_kind, only: TKG => CK1
6233 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6234 complex(TKG) , intent(in) , contiguous :: mean(:)
6235 complex(TKG) , intent(out) :: cor
6236 end subroutine
6237#endif
6238
6239 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6240
6241 end interface setCor
6242
6243 ! CK XY - Prs - WTI
6244
6245 interface setCor
6246
6247 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6248
6249#if CK5_ENABLED
6250 PURE module subroutine setPrsOrgWTI_XY_CK5(cor, x, y, weight, weisum)
6251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6252 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_CK5
6253#endif
6254 use pm_kind, only: TKG => CK5
6255 integer(IK) , intent(in) :: weisum
6256 integer(IK) , intent(in) , contiguous :: weight(:)
6257 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6258 complex(TKG) , intent(out) :: cor
6259 end subroutine
6260#endif
6261
6262#if CK4_ENABLED
6263 PURE module subroutine setPrsOrgWTI_XY_CK4(cor, x, y, weight, weisum)
6264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6265 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_CK4
6266#endif
6267 use pm_kind, only: TKG => CK4
6268 integer(IK) , intent(in) :: weisum
6269 integer(IK) , intent(in) , contiguous :: weight(:)
6270 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6271 complex(TKG) , intent(out) :: cor
6272 end subroutine
6273#endif
6274
6275#if CK3_ENABLED
6276 PURE module subroutine setPrsOrgWTI_XY_CK3(cor, x, y, weight, weisum)
6277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6278 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_CK3
6279#endif
6280 use pm_kind, only: TKG => CK3
6281 integer(IK) , intent(in) :: weisum
6282 integer(IK) , intent(in) , contiguous :: weight(:)
6283 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6284 complex(TKG) , intent(out) :: cor
6285 end subroutine
6286#endif
6287
6288#if CK2_ENABLED
6289 PURE module subroutine setPrsOrgWTI_XY_CK2(cor, x, y, weight, weisum)
6290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6291 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_CK2
6292#endif
6293 use pm_kind, only: TKG => CK2
6294 integer(IK) , intent(in) :: weisum
6295 integer(IK) , intent(in) , contiguous :: weight(:)
6296 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6297 complex(TKG) , intent(out) :: cor
6298 end subroutine
6299#endif
6300
6301#if CK1_ENABLED
6302 PURE module subroutine setPrsOrgWTI_XY_CK1(cor, x, y, weight, weisum)
6303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6304 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XY_CK1
6305#endif
6306 use pm_kind, only: TKG => CK1
6307 integer(IK) , intent(in) :: weisum
6308 integer(IK) , intent(in) , contiguous :: weight(:)
6309 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6310 complex(TKG) , intent(out) :: cor
6311 end subroutine
6312#endif
6313
6314 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6315
6316#if CK5_ENABLED
6317 PURE module subroutine setPrsAvgWTI_XY_CK5(cor, mean, x, y, weight, weisum)
6318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6319 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_CK5
6320#endif
6321 use pm_kind, only: TKG => CK5
6322 integer(IK) , intent(in) :: weisum
6323 integer(IK) , intent(in) , contiguous :: weight(:)
6324 complex(TKG) , intent(in) , contiguous :: mean(:)
6325 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6326 complex(TKG) , intent(out) :: cor
6327 end subroutine
6328#endif
6329
6330#if CK4_ENABLED
6331 PURE module subroutine setPrsAvgWTI_XY_CK4(cor, mean, x, y, weight, weisum)
6332#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6333 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_CK4
6334#endif
6335 use pm_kind, only: TKG => CK4
6336 integer(IK) , intent(in) :: weisum
6337 integer(IK) , intent(in) , contiguous :: weight(:)
6338 complex(TKG) , intent(in) , contiguous :: mean(:)
6339 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6340 complex(TKG) , intent(out) :: cor
6341 end subroutine
6342#endif
6343
6344#if CK3_ENABLED
6345 PURE module subroutine setPrsAvgWTI_XY_CK3(cor, mean, x, y, weight, weisum)
6346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6347 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_CK3
6348#endif
6349 use pm_kind, only: TKG => CK3
6350 integer(IK) , intent(in) :: weisum
6351 integer(IK) , intent(in) , contiguous :: weight(:)
6352 complex(TKG) , intent(in) , contiguous :: mean(:)
6353 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6354 complex(TKG) , intent(out) :: cor
6355 end subroutine
6356#endif
6357
6358#if CK2_ENABLED
6359 PURE module subroutine setPrsAvgWTI_XY_CK2(cor, mean, x, y, weight, weisum)
6360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6361 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_CK2
6362#endif
6363 use pm_kind, only: TKG => CK2
6364 integer(IK) , intent(in) :: weisum
6365 integer(IK) , intent(in) , contiguous :: weight(:)
6366 complex(TKG) , intent(in) , contiguous :: mean(:)
6367 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6368 complex(TKG) , intent(out) :: cor
6369 end subroutine
6370#endif
6371
6372#if CK1_ENABLED
6373 PURE module subroutine setPrsAvgWTI_XY_CK1(cor, mean, x, y, weight, weisum)
6374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6375 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XY_CK1
6376#endif
6377 use pm_kind, only: TKG => CK1
6378 integer(IK) , intent(in) :: weisum
6379 integer(IK) , intent(in) , contiguous :: weight(:)
6380 complex(TKG) , intent(in) , contiguous :: mean(:)
6381 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6382 complex(TKG) , intent(out) :: cor
6383 end subroutine
6384#endif
6385
6386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6387
6388 end interface setCor
6389
6390 ! CK XY - Prs - WTR
6391
6392 interface setCor
6393
6394 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6395
6396#if CK5_ENABLED
6397 PURE module subroutine setPrsOrgWTR_XY_CK5(cor, x, y, weight, weisum)
6398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6399 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_CK5
6400#endif
6401 use pm_kind, only: TKG => CK5
6402 real(TKG) , intent(in) :: weisum
6403 real(TKG) , intent(in) , contiguous :: weight(:)
6404 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6405 complex(TKG) , intent(out) :: cor
6406 end subroutine
6407#endif
6408
6409#if CK4_ENABLED
6410 PURE module subroutine setPrsOrgWTR_XY_CK4(cor, x, y, weight, weisum)
6411#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6412 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_CK4
6413#endif
6414 use pm_kind, only: TKG => CK4
6415 real(TKG) , intent(in) :: weisum
6416 real(TKG) , intent(in) , contiguous :: weight(:)
6417 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6418 complex(TKG) , intent(out) :: cor
6419 end subroutine
6420#endif
6421
6422#if CK3_ENABLED
6423 PURE module subroutine setPrsOrgWTR_XY_CK3(cor, x, y, weight, weisum)
6424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6425 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_CK3
6426#endif
6427 use pm_kind, only: TKG => CK3
6428 real(TKG) , intent(in) :: weisum
6429 real(TKG) , intent(in) , contiguous :: weight(:)
6430 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6431 complex(TKG) , intent(out) :: cor
6432 end subroutine
6433#endif
6434
6435#if CK2_ENABLED
6436 PURE module subroutine setPrsOrgWTR_XY_CK2(cor, x, y, weight, weisum)
6437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6438 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_CK2
6439#endif
6440 use pm_kind, only: TKG => CK2
6441 real(TKG) , intent(in) :: weisum
6442 real(TKG) , intent(in) , contiguous :: weight(:)
6443 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6444 complex(TKG) , intent(out) :: cor
6445 end subroutine
6446#endif
6447
6448#if CK1_ENABLED
6449 PURE module subroutine setPrsOrgWTR_XY_CK1(cor, x, y, weight, weisum)
6450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6451 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XY_CK1
6452#endif
6453 use pm_kind, only: TKG => CK1
6454 real(TKG) , intent(in) :: weisum
6455 real(TKG) , intent(in) , contiguous :: weight(:)
6456 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6457 complex(TKG) , intent(out) :: cor
6458 end subroutine
6459#endif
6460
6461 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6462
6463#if CK5_ENABLED
6464 PURE module subroutine setPrsAvgWTR_XY_CK5(cor, mean, x, y, weight, weisum)
6465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6466 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_CK5
6467#endif
6468 use pm_kind, only: TKG => CK5
6469 real(TKG) , intent(in) :: weisum
6470 complex(TKG) , intent(in) , contiguous :: mean(:)
6471 real(TKG) , intent(in) , contiguous :: weight(:)
6472 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6473 complex(TKG) , intent(out) :: cor
6474 end subroutine
6475#endif
6476
6477#if CK4_ENABLED
6478 PURE module subroutine setPrsAvgWTR_XY_CK4(cor, mean, x, y, weight, weisum)
6479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6480 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_CK4
6481#endif
6482 use pm_kind, only: TKG => CK4
6483 real(TKG) , intent(in) :: weisum
6484 complex(TKG) , intent(in) , contiguous :: mean(:)
6485 real(TKG) , intent(in) , contiguous :: weight(:)
6486 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6487 complex(TKG) , intent(out) :: cor
6488 end subroutine
6489#endif
6490
6491#if CK3_ENABLED
6492 PURE module subroutine setPrsAvgWTR_XY_CK3(cor, mean, x, y, weight, weisum)
6493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6494 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_CK3
6495#endif
6496 use pm_kind, only: TKG => CK3
6497 real(TKG) , intent(in) :: weisum
6498 complex(TKG) , intent(in) , contiguous :: mean(:)
6499 real(TKG) , intent(in) , contiguous :: weight(:)
6500 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6501 complex(TKG) , intent(out) :: cor
6502 end subroutine
6503#endif
6504
6505#if CK2_ENABLED
6506 PURE module subroutine setPrsAvgWTR_XY_CK2(cor, mean, x, y, weight, weisum)
6507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6508 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_CK2
6509#endif
6510 use pm_kind, only: TKG => CK2
6511 real(TKG) , intent(in) :: weisum
6512 complex(TKG) , intent(in) , contiguous :: mean(:)
6513 real(TKG) , intent(in) , contiguous :: weight(:)
6514 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6515 complex(TKG) , intent(out) :: cor
6516 end subroutine
6517#endif
6518
6519#if CK1_ENABLED
6520 PURE module subroutine setPrsAvgWTR_XY_CK1(cor, mean, x, y, weight, weisum)
6521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6522 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XY_CK1
6523#endif
6524 use pm_kind, only: TKG => CK1
6525 real(TKG) , intent(in) :: weisum
6526 complex(TKG) , intent(in) , contiguous :: mean(:)
6527 real(TKG) , intent(in) , contiguous :: weight(:)
6528 complex(TKG) , intent(in) , contiguous :: x(:), y(:)
6529 complex(TKG) , intent(out) :: cor
6530 end subroutine
6531#endif
6532
6533 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6534
6535 end interface setCor
6536
6537 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6538
6539 ! CK UXD - Prs - WNO
6540
6541 interface setCor
6542
6543 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6544
6545#if CK5_ENABLED
6546 PURE module subroutine setPrsOrgWNO_UXD_CK5(cor, subset, sample, dim)
6547#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6548 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_CK5
6549#endif
6550 use pm_kind, only: TKG => CK5
6551 integer(IK) , intent(in) :: dim
6552 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6553 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6554 type(uppDia_type) , intent(in) :: subset
6555 end subroutine
6556#endif
6557
6558#if CK4_ENABLED
6559 PURE module subroutine setPrsOrgWNO_UXD_CK4(cor, subset, sample, dim)
6560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6561 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_CK4
6562#endif
6563 use pm_kind, only: TKG => CK4
6564 integer(IK) , intent(in) :: dim
6565 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6566 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6567 type(uppDia_type) , intent(in) :: subset
6568 end subroutine
6569#endif
6570
6571#if CK3_ENABLED
6572 PURE module subroutine setPrsOrgWNO_UXD_CK3(cor, subset, sample, dim)
6573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6574 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_CK3
6575#endif
6576 use pm_kind, only: TKG => CK3
6577 integer(IK) , intent(in) :: dim
6578 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6579 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6580 type(uppDia_type) , intent(in) :: subset
6581 end subroutine
6582#endif
6583
6584#if CK2_ENABLED
6585 PURE module subroutine setPrsOrgWNO_UXD_CK2(cor, subset, sample, dim)
6586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6587 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_CK2
6588#endif
6589 use pm_kind, only: TKG => CK2
6590 integer(IK) , intent(in) :: dim
6591 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6592 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6593 type(uppDia_type) , intent(in) :: subset
6594 end subroutine
6595#endif
6596
6597#if CK1_ENABLED
6598 PURE module subroutine setPrsOrgWNO_UXD_CK1(cor, subset, sample, dim)
6599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6600 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_UXD_CK1
6601#endif
6602 use pm_kind, only: TKG => CK1
6603 integer(IK) , intent(in) :: dim
6604 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6605 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6606 type(uppDia_type) , intent(in) :: subset
6607 end subroutine
6608#endif
6609
6610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6611
6612#if CK5_ENABLED
6613 PURE module subroutine setPrsAvgWNO_UXD_CK5(cor, subset, mean, sample, dim)
6614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6615 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_CK5
6616#endif
6617 use pm_kind, only: TKG => CK5
6618 integer(IK) , intent(in) :: dim
6619 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6620 complex(TKG) , intent(in) , contiguous :: mean(:)
6621 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6622 type(uppDia_type) , intent(in) :: subset
6623 end subroutine
6624#endif
6625
6626#if CK4_ENABLED
6627 PURE module subroutine setPrsAvgWNO_UXD_CK4(cor, subset, mean, sample, dim)
6628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6629 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_CK4
6630#endif
6631 use pm_kind, only: TKG => CK4
6632 integer(IK) , intent(in) :: dim
6633 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6634 complex(TKG) , intent(in) , contiguous :: mean(:)
6635 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6636 type(uppDia_type) , intent(in) :: subset
6637 end subroutine
6638#endif
6639
6640#if CK3_ENABLED
6641 PURE module subroutine setPrsAvgWNO_UXD_CK3(cor, subset, mean, sample, dim)
6642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6643 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_CK3
6644#endif
6645 use pm_kind, only: TKG => CK3
6646 integer(IK) , intent(in) :: dim
6647 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6648 complex(TKG) , intent(in) , contiguous :: mean(:)
6649 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6650 type(uppDia_type) , intent(in) :: subset
6651 end subroutine
6652#endif
6653
6654#if CK2_ENABLED
6655 PURE module subroutine setPrsAvgWNO_UXD_CK2(cor, subset, mean, sample, dim)
6656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6657 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_CK2
6658#endif
6659 use pm_kind, only: TKG => CK2
6660 integer(IK) , intent(in) :: dim
6661 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6662 complex(TKG) , intent(in) , contiguous :: mean(:)
6663 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6664 type(uppDia_type) , intent(in) :: subset
6665 end subroutine
6666#endif
6667
6668#if CK1_ENABLED
6669 PURE module subroutine setPrsAvgWNO_UXD_CK1(cor, subset, mean, sample, dim)
6670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6671 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_UXD_CK1
6672#endif
6673 use pm_kind, only: TKG => CK1
6674 integer(IK) , intent(in) :: dim
6675 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6676 complex(TKG) , intent(in) , contiguous :: mean(:)
6677 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6678 type(uppDia_type) , intent(in) :: subset
6679 end subroutine
6680#endif
6681
6682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6683
6684 end interface setCor
6685
6686 ! CK UXD - Prs - WTI
6687
6688 interface setCor
6689
6690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6691
6692#if CK5_ENABLED
6693 PURE module subroutine setPrsOrgWTI_UXD_CK5(cor, subset, sample, dim, weight, weisum)
6694#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6695 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_CK5
6696#endif
6697 use pm_kind, only: TKG => CK5
6698 integer(IK) , intent(in) :: dim
6699 integer(IK) , intent(in) :: weisum
6700 integer(IK) , intent(in) , contiguous :: weight(:)
6701 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6702 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6703 type(uppDia_type) , intent(in) :: subset
6704 end subroutine
6705#endif
6706
6707#if CK4_ENABLED
6708 PURE module subroutine setPrsOrgWTI_UXD_CK4(cor, subset, sample, dim, weight, weisum)
6709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6710 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_CK4
6711#endif
6712 use pm_kind, only: TKG => CK4
6713 integer(IK) , intent(in) :: dim
6714 integer(IK) , intent(in) :: weisum
6715 integer(IK) , intent(in) , contiguous :: weight(:)
6716 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6717 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6718 type(uppDia_type) , intent(in) :: subset
6719 end subroutine
6720#endif
6721
6722#if CK3_ENABLED
6723 PURE module subroutine setPrsOrgWTI_UXD_CK3(cor, subset, sample, dim, weight, weisum)
6724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6725 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_CK3
6726#endif
6727 use pm_kind, only: TKG => CK3
6728 integer(IK) , intent(in) :: dim
6729 integer(IK) , intent(in) :: weisum
6730 integer(IK) , intent(in) , contiguous :: weight(:)
6731 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6732 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6733 type(uppDia_type) , intent(in) :: subset
6734 end subroutine
6735#endif
6736
6737#if CK2_ENABLED
6738 PURE module subroutine setPrsOrgWTI_UXD_CK2(cor, subset, sample, dim, weight, weisum)
6739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6740 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_CK2
6741#endif
6742 use pm_kind, only: TKG => CK2
6743 integer(IK) , intent(in) :: dim
6744 integer(IK) , intent(in) :: weisum
6745 integer(IK) , intent(in) , contiguous :: weight(:)
6746 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6747 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6748 type(uppDia_type) , intent(in) :: subset
6749 end subroutine
6750#endif
6751
6752#if CK1_ENABLED
6753 PURE module subroutine setPrsOrgWTI_UXD_CK1(cor, subset, sample, dim, weight, weisum)
6754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6755 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_UXD_CK1
6756#endif
6757 use pm_kind, only: TKG => CK1
6758 integer(IK) , intent(in) :: dim
6759 integer(IK) , intent(in) :: weisum
6760 integer(IK) , intent(in) , contiguous :: weight(:)
6761 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6762 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6763 type(uppDia_type) , intent(in) :: subset
6764 end subroutine
6765#endif
6766
6767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6768
6769#if CK5_ENABLED
6770 PURE module subroutine setPrsAvgWTI_UXD_CK5(cor, subset, mean, sample, dim, weight, weisum)
6771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6772 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_CK5
6773#endif
6774 use pm_kind, only: TKG => CK5
6775 integer(IK) , intent(in) :: dim
6776 integer(IK) , intent(in) :: weisum
6777 integer(IK) , intent(in) , contiguous :: weight(:)
6778 complex(TKG) , intent(in) , contiguous :: mean(:)
6779 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6780 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6781 type(uppDia_type) , intent(in) :: subset
6782 end subroutine
6783#endif
6784
6785#if CK4_ENABLED
6786 PURE module subroutine setPrsAvgWTI_UXD_CK4(cor, subset, mean, sample, dim, weight, weisum)
6787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6788 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_CK4
6789#endif
6790 use pm_kind, only: TKG => CK4
6791 integer(IK) , intent(in) :: dim
6792 integer(IK) , intent(in) :: weisum
6793 integer(IK) , intent(in) , contiguous :: weight(:)
6794 complex(TKG) , intent(in) , contiguous :: mean(:)
6795 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6796 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6797 type(uppDia_type) , intent(in) :: subset
6798 end subroutine
6799#endif
6800
6801#if CK3_ENABLED
6802 PURE module subroutine setPrsAvgWTI_UXD_CK3(cor, subset, mean, sample, dim, weight, weisum)
6803#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6804 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_CK3
6805#endif
6806 use pm_kind, only: TKG => CK3
6807 integer(IK) , intent(in) :: dim
6808 integer(IK) , intent(in) :: weisum
6809 integer(IK) , intent(in) , contiguous :: weight(:)
6810 complex(TKG) , intent(in) , contiguous :: mean(:)
6811 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6812 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6813 type(uppDia_type) , intent(in) :: subset
6814 end subroutine
6815#endif
6816
6817#if CK2_ENABLED
6818 PURE module subroutine setPrsAvgWTI_UXD_CK2(cor, subset, mean, sample, dim, weight, weisum)
6819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6820 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_CK2
6821#endif
6822 use pm_kind, only: TKG => CK2
6823 integer(IK) , intent(in) :: dim
6824 integer(IK) , intent(in) :: weisum
6825 integer(IK) , intent(in) , contiguous :: weight(:)
6826 complex(TKG) , intent(in) , contiguous :: mean(:)
6827 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6828 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6829 type(uppDia_type) , intent(in) :: subset
6830 end subroutine
6831#endif
6832
6833#if CK1_ENABLED
6834 PURE module subroutine setPrsAvgWTI_UXD_CK1(cor, subset, mean, sample, dim, weight, weisum)
6835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6836 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_UXD_CK1
6837#endif
6838 use pm_kind, only: TKG => CK1
6839 integer(IK) , intent(in) :: dim
6840 integer(IK) , intent(in) :: weisum
6841 integer(IK) , intent(in) , contiguous :: weight(:)
6842 complex(TKG) , intent(in) , contiguous :: mean(:)
6843 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6844 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6845 type(uppDia_type) , intent(in) :: subset
6846 end subroutine
6847#endif
6848
6849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6850
6851 end interface setCor
6852
6853 ! CK UXD - Prs - WTI real
6854
6855 interface setCor
6856
6857 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6858
6859#if CK5_ENABLED
6860 PURE module subroutine setPrsOrgWTR_UXD_CK5(cor, subset, sample, dim, weight, weisum)
6861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6862 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_CK5
6863#endif
6864 use pm_kind, only: TKG => CK5
6865 integer(IK) , intent(in) :: dim
6866 real(TKG) , intent(in) :: weisum
6867 real(TKG) , intent(in) , contiguous :: weight(:)
6868 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6869 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6870 type(uppDia_type) , intent(in) :: subset
6871 end subroutine
6872#endif
6873
6874#if CK4_ENABLED
6875 PURE module subroutine setPrsOrgWTR_UXD_CK4(cor, subset, sample, dim, weight, weisum)
6876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6877 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_CK4
6878#endif
6879 use pm_kind, only: TKG => CK4
6880 integer(IK) , intent(in) :: dim
6881 real(TKG) , intent(in) :: weisum
6882 real(TKG) , intent(in) , contiguous :: weight(:)
6883 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6884 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6885 type(uppDia_type) , intent(in) :: subset
6886 end subroutine
6887#endif
6888
6889#if CK3_ENABLED
6890 PURE module subroutine setPrsOrgWTR_UXD_CK3(cor, subset, sample, dim, weight, weisum)
6891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6892 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_CK3
6893#endif
6894 use pm_kind, only: TKG => CK3
6895 integer(IK) , intent(in) :: dim
6896 real(TKG) , intent(in) :: weisum
6897 real(TKG) , intent(in) , contiguous :: weight(:)
6898 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6899 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6900 type(uppDia_type) , intent(in) :: subset
6901 end subroutine
6902#endif
6903
6904#if CK2_ENABLED
6905 PURE module subroutine setPrsOrgWTR_UXD_CK2(cor, subset, sample, dim, weight, weisum)
6906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6907 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_CK2
6908#endif
6909 use pm_kind, only: TKG => CK2
6910 integer(IK) , intent(in) :: dim
6911 real(TKG) , intent(in) :: weisum
6912 real(TKG) , intent(in) , contiguous :: weight(:)
6913 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6914 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6915 type(uppDia_type) , intent(in) :: subset
6916 end subroutine
6917#endif
6918
6919#if CK1_ENABLED
6920 PURE module subroutine setPrsOrgWTR_UXD_CK1(cor, subset, sample, dim, weight, weisum)
6921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6922 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_UXD_CK1
6923#endif
6924 use pm_kind, only: TKG => CK1
6925 integer(IK) , intent(in) :: dim
6926 real(TKG) , intent(in) :: weisum
6927 real(TKG) , intent(in) , contiguous :: weight(:)
6928 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6929 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6930 type(uppDia_type) , intent(in) :: subset
6931 end subroutine
6932#endif
6933
6934 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6935
6936#if CK5_ENABLED
6937 PURE module subroutine setPrsAvgWTR_UXD_CK5(cor, subset, mean, sample, dim, weight, weisum)
6938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6939 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_CK5
6940#endif
6941 use pm_kind, only: TKG => CK5
6942 integer(IK) , intent(in) :: dim
6943 real(TKG) , intent(in) :: weisum
6944 complex(TKG) , intent(in) , contiguous :: mean(:)
6945 real(TKG) , intent(in) , contiguous :: weight(:)
6946 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6947 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6948 type(uppDia_type) , intent(in) :: subset
6949 end subroutine
6950#endif
6951
6952#if CK4_ENABLED
6953 PURE module subroutine setPrsAvgWTR_UXD_CK4(cor, subset, mean, sample, dim, weight, weisum)
6954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6955 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_CK4
6956#endif
6957 use pm_kind, only: TKG => CK4
6958 integer(IK) , intent(in) :: dim
6959 real(TKG) , intent(in) :: weisum
6960 complex(TKG) , intent(in) , contiguous :: mean(:)
6961 real(TKG) , intent(in) , contiguous :: weight(:)
6962 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6963 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6964 type(uppDia_type) , intent(in) :: subset
6965 end subroutine
6966#endif
6967
6968#if CK3_ENABLED
6969 PURE module subroutine setPrsAvgWTR_UXD_CK3(cor, subset, mean, sample, dim, weight, weisum)
6970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6971 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_CK3
6972#endif
6973 use pm_kind, only: TKG => CK3
6974 integer(IK) , intent(in) :: dim
6975 real(TKG) , intent(in) :: weisum
6976 complex(TKG) , intent(in) , contiguous :: mean(:)
6977 real(TKG) , intent(in) , contiguous :: weight(:)
6978 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6979 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6980 type(uppDia_type) , intent(in) :: subset
6981 end subroutine
6982#endif
6983
6984#if CK2_ENABLED
6985 PURE module subroutine setPrsAvgWTR_UXD_CK2(cor, subset, mean, sample, dim, weight, weisum)
6986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6987 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_CK2
6988#endif
6989 use pm_kind, only: TKG => CK2
6990 integer(IK) , intent(in) :: dim
6991 real(TKG) , intent(in) :: weisum
6992 complex(TKG) , intent(in) , contiguous :: mean(:)
6993 real(TKG) , intent(in) , contiguous :: weight(:)
6994 complex(TKG) , intent(in) , contiguous :: sample(:,:)
6995 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
6996 type(uppDia_type) , intent(in) :: subset
6997 end subroutine
6998#endif
6999
7000#if CK1_ENABLED
7001 PURE module subroutine setPrsAvgWTR_UXD_CK1(cor, subset, mean, sample, dim, weight, weisum)
7002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7003 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_UXD_CK1
7004#endif
7005 use pm_kind, only: TKG => CK1
7006 integer(IK) , intent(in) :: dim
7007 real(TKG) , intent(in) :: weisum
7008 complex(TKG) , intent(in) , contiguous :: mean(:)
7009 real(TKG) , intent(in) , contiguous :: weight(:)
7010 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7011 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7012 type(uppDia_type) , intent(in) :: subset
7013 end subroutine
7014#endif
7015
7016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7017
7018 end interface setCor
7019
7020 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7021
7022 ! CK XLD - Prs - WNO
7023
7024 interface setCor
7025
7026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7027
7028#if CK5_ENABLED
7029 PURE module subroutine setPrsOrgWNO_XLD_CK5(cor, subset, sample, dim)
7030#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7031 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_CK5
7032#endif
7033 use pm_kind, only: TKG => CK5
7034 integer(IK) , intent(in) :: dim
7035 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7036 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7037 type(lowDia_type) , intent(in) :: subset
7038 end subroutine
7039#endif
7040
7041#if CK4_ENABLED
7042 PURE module subroutine setPrsOrgWNO_XLD_CK4(cor, subset, sample, dim)
7043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7044 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_CK4
7045#endif
7046 use pm_kind, only: TKG => CK4
7047 integer(IK) , intent(in) :: dim
7048 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7049 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7050 type(lowDia_type) , intent(in) :: subset
7051 end subroutine
7052#endif
7053
7054#if CK3_ENABLED
7055 PURE module subroutine setPrsOrgWNO_XLD_CK3(cor, subset, sample, dim)
7056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7057 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_CK3
7058#endif
7059 use pm_kind, only: TKG => CK3
7060 integer(IK) , intent(in) :: dim
7061 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7062 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7063 type(lowDia_type) , intent(in) :: subset
7064 end subroutine
7065#endif
7066
7067#if CK2_ENABLED
7068 PURE module subroutine setPrsOrgWNO_XLD_CK2(cor, subset, sample, dim)
7069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7070 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_CK2
7071#endif
7072 use pm_kind, only: TKG => CK2
7073 integer(IK) , intent(in) :: dim
7074 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7075 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7076 type(lowDia_type) , intent(in) :: subset
7077 end subroutine
7078#endif
7079
7080#if CK1_ENABLED
7081 PURE module subroutine setPrsOrgWNO_XLD_CK1(cor, subset, sample, dim)
7082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7083 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWNO_XLD_CK1
7084#endif
7085 use pm_kind, only: TKG => CK1
7086 integer(IK) , intent(in) :: dim
7087 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7088 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7089 type(lowDia_type) , intent(in) :: subset
7090 end subroutine
7091#endif
7092
7093 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7094
7095#if CK5_ENABLED
7096 PURE module subroutine setPrsAvgWNO_XLD_CK5(cor, subset, mean, sample, dim)
7097#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7098 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_CK5
7099#endif
7100 use pm_kind, only: TKG => CK5
7101 integer(IK) , intent(in) :: dim
7102 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7103 complex(TKG) , intent(in) , contiguous :: mean(:)
7104 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7105 type(lowDia_type) , intent(in) :: subset
7106 end subroutine
7107#endif
7108
7109#if CK4_ENABLED
7110 PURE module subroutine setPrsAvgWNO_XLD_CK4(cor, subset, mean, sample, dim)
7111#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7112 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_CK4
7113#endif
7114 use pm_kind, only: TKG => CK4
7115 integer(IK) , intent(in) :: dim
7116 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7117 complex(TKG) , intent(in) , contiguous :: mean(:)
7118 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7119 type(lowDia_type) , intent(in) :: subset
7120 end subroutine
7121#endif
7122
7123#if CK3_ENABLED
7124 PURE module subroutine setPrsAvgWNO_XLD_CK3(cor, subset, mean, sample, dim)
7125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7126 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_CK3
7127#endif
7128 use pm_kind, only: TKG => CK3
7129 integer(IK) , intent(in) :: dim
7130 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7131 complex(TKG) , intent(in) , contiguous :: mean(:)
7132 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7133 type(lowDia_type) , intent(in) :: subset
7134 end subroutine
7135#endif
7136
7137#if CK2_ENABLED
7138 PURE module subroutine setPrsAvgWNO_XLD_CK2(cor, subset, mean, sample, dim)
7139#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7140 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_CK2
7141#endif
7142 use pm_kind, only: TKG => CK2
7143 integer(IK) , intent(in) :: dim
7144 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7145 complex(TKG) , intent(in) , contiguous :: mean(:)
7146 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7147 type(lowDia_type) , intent(in) :: subset
7148 end subroutine
7149#endif
7150
7151#if CK1_ENABLED
7152 PURE module subroutine setPrsAvgWNO_XLD_CK1(cor, subset, mean, sample, dim)
7153#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7154 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWNO_XLD_CK1
7155#endif
7156 use pm_kind, only: TKG => CK1
7157 integer(IK) , intent(in) :: dim
7158 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7159 complex(TKG) , intent(in) , contiguous :: mean(:)
7160 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7161 type(lowDia_type) , intent(in) :: subset
7162 end subroutine
7163#endif
7164
7165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7166
7167 end interface setCor
7168
7169 ! CK XLD - Prs - WTI
7170
7171 interface setCor
7172
7173 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7174
7175#if CK5_ENABLED
7176 PURE module subroutine setPrsOrgWTI_XLD_CK5(cor, subset, sample, dim, weight, weisum)
7177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7178 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_CK5
7179#endif
7180 use pm_kind, only: TKG => CK5
7181 integer(IK) , intent(in) :: dim
7182 integer(IK) , intent(in) :: weisum
7183 integer(IK) , intent(in) , contiguous :: weight(:)
7184 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7185 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7186 type(lowDia_type) , intent(in) :: subset
7187 end subroutine
7188#endif
7189
7190#if CK4_ENABLED
7191 PURE module subroutine setPrsOrgWTI_XLD_CK4(cor, subset, sample, dim, weight, weisum)
7192#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7193 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_CK4
7194#endif
7195 use pm_kind, only: TKG => CK4
7196 integer(IK) , intent(in) :: dim
7197 integer(IK) , intent(in) :: weisum
7198 integer(IK) , intent(in) , contiguous :: weight(:)
7199 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7200 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7201 type(lowDia_type) , intent(in) :: subset
7202 end subroutine
7203#endif
7204
7205#if CK3_ENABLED
7206 PURE module subroutine setPrsOrgWTI_XLD_CK3(cor, subset, sample, dim, weight, weisum)
7207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7208 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_CK3
7209#endif
7210 use pm_kind, only: TKG => CK3
7211 integer(IK) , intent(in) :: dim
7212 integer(IK) , intent(in) :: weisum
7213 integer(IK) , intent(in) , contiguous :: weight(:)
7214 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7215 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7216 type(lowDia_type) , intent(in) :: subset
7217 end subroutine
7218#endif
7219
7220#if CK2_ENABLED
7221 PURE module subroutine setPrsOrgWTI_XLD_CK2(cor, subset, sample, dim, weight, weisum)
7222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7223 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_CK2
7224#endif
7225 use pm_kind, only: TKG => CK2
7226 integer(IK) , intent(in) :: dim
7227 integer(IK) , intent(in) :: weisum
7228 integer(IK) , intent(in) , contiguous :: weight(:)
7229 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7230 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7231 type(lowDia_type) , intent(in) :: subset
7232 end subroutine
7233#endif
7234
7235#if CK1_ENABLED
7236 PURE module subroutine setPrsOrgWTI_XLD_CK1(cor, subset, sample, dim, weight, weisum)
7237#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7238 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTI_XLD_CK1
7239#endif
7240 use pm_kind, only: TKG => CK1
7241 integer(IK) , intent(in) :: dim
7242 integer(IK) , intent(in) :: weisum
7243 integer(IK) , intent(in) , contiguous :: weight(:)
7244 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7245 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7246 type(lowDia_type) , intent(in) :: subset
7247 end subroutine
7248#endif
7249
7250 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7251
7252#if CK5_ENABLED
7253 PURE module subroutine setPrsAvgWTI_XLD_CK5(cor, subset, mean, sample, dim, weight, weisum)
7254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7255 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_CK5
7256#endif
7257 use pm_kind, only: TKG => CK5
7258 integer(IK) , intent(in) :: dim
7259 integer(IK) , intent(in) :: weisum
7260 integer(IK) , intent(in) , contiguous :: weight(:)
7261 complex(TKG) , intent(in) , contiguous :: mean(:)
7262 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7263 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7264 type(lowDia_type) , intent(in) :: subset
7265 end subroutine
7266#endif
7267
7268#if CK4_ENABLED
7269 PURE module subroutine setPrsAvgWTI_XLD_CK4(cor, subset, mean, sample, dim, weight, weisum)
7270#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7271 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_CK4
7272#endif
7273 use pm_kind, only: TKG => CK4
7274 integer(IK) , intent(in) :: dim
7275 integer(IK) , intent(in) :: weisum
7276 integer(IK) , intent(in) , contiguous :: weight(:)
7277 complex(TKG) , intent(in) , contiguous :: mean(:)
7278 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7279 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7280 type(lowDia_type) , intent(in) :: subset
7281 end subroutine
7282#endif
7283
7284#if CK3_ENABLED
7285 PURE module subroutine setPrsAvgWTI_XLD_CK3(cor, subset, mean, sample, dim, weight, weisum)
7286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7287 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_CK3
7288#endif
7289 use pm_kind, only: TKG => CK3
7290 integer(IK) , intent(in) :: dim
7291 integer(IK) , intent(in) :: weisum
7292 integer(IK) , intent(in) , contiguous :: weight(:)
7293 complex(TKG) , intent(in) , contiguous :: mean(:)
7294 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7295 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7296 type(lowDia_type) , intent(in) :: subset
7297 end subroutine
7298#endif
7299
7300#if CK2_ENABLED
7301 PURE module subroutine setPrsAvgWTI_XLD_CK2(cor, subset, mean, sample, dim, weight, weisum)
7302#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7303 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_CK2
7304#endif
7305 use pm_kind, only: TKG => CK2
7306 integer(IK) , intent(in) :: dim
7307 integer(IK) , intent(in) :: weisum
7308 integer(IK) , intent(in) , contiguous :: weight(:)
7309 complex(TKG) , intent(in) , contiguous :: mean(:)
7310 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7311 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7312 type(lowDia_type) , intent(in) :: subset
7313 end subroutine
7314#endif
7315
7316#if CK1_ENABLED
7317 PURE module subroutine setPrsAvgWTI_XLD_CK1(cor, subset, mean, sample, dim, weight, weisum)
7318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7319 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTI_XLD_CK1
7320#endif
7321 use pm_kind, only: TKG => CK1
7322 integer(IK) , intent(in) :: dim
7323 integer(IK) , intent(in) :: weisum
7324 integer(IK) , intent(in) , contiguous :: weight(:)
7325 complex(TKG) , intent(in) , contiguous :: mean(:)
7326 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7327 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7328 type(lowDia_type) , intent(in) :: subset
7329 end subroutine
7330#endif
7331
7332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7333
7334 end interface setCor
7335
7336 ! CK XLD - Prs - WTI real
7337
7338 interface setCor
7339
7340 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7341
7342#if CK5_ENABLED
7343 PURE module subroutine setPrsOrgWTR_XLD_CK5(cor, subset, sample, dim, weight, weisum)
7344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7345 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_CK5
7346#endif
7347 use pm_kind, only: TKG => CK5
7348 integer(IK) , intent(in) :: dim
7349 real(TKG) , intent(in) :: weisum
7350 real(TKG) , intent(in) , contiguous :: weight(:)
7351 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7352 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7353 type(lowDia_type) , intent(in) :: subset
7354 end subroutine
7355#endif
7356
7357#if CK4_ENABLED
7358 PURE module subroutine setPrsOrgWTR_XLD_CK4(cor, subset, sample, dim, weight, weisum)
7359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7360 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_CK4
7361#endif
7362 use pm_kind, only: TKG => CK4
7363 integer(IK) , intent(in) :: dim
7364 real(TKG) , intent(in) :: weisum
7365 real(TKG) , intent(in) , contiguous :: weight(:)
7366 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7367 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7368 type(lowDia_type) , intent(in) :: subset
7369 end subroutine
7370#endif
7371
7372#if CK3_ENABLED
7373 PURE module subroutine setPrsOrgWTR_XLD_CK3(cor, subset, sample, dim, weight, weisum)
7374#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7375 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_CK3
7376#endif
7377 use pm_kind, only: TKG => CK3
7378 integer(IK) , intent(in) :: dim
7379 real(TKG) , intent(in) :: weisum
7380 real(TKG) , intent(in) , contiguous :: weight(:)
7381 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7382 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7383 type(lowDia_type) , intent(in) :: subset
7384 end subroutine
7385#endif
7386
7387#if CK2_ENABLED
7388 PURE module subroutine setPrsOrgWTR_XLD_CK2(cor, subset, sample, dim, weight, weisum)
7389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7390 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_CK2
7391#endif
7392 use pm_kind, only: TKG => CK2
7393 integer(IK) , intent(in) :: dim
7394 real(TKG) , intent(in) :: weisum
7395 real(TKG) , intent(in) , contiguous :: weight(:)
7396 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7397 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7398 type(lowDia_type) , intent(in) :: subset
7399 end subroutine
7400#endif
7401
7402#if CK1_ENABLED
7403 PURE module subroutine setPrsOrgWTR_XLD_CK1(cor, subset, sample, dim, weight, weisum)
7404#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7405 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsOrgWTR_XLD_CK1
7406#endif
7407 use pm_kind, only: TKG => CK1
7408 integer(IK) , intent(in) :: dim
7409 real(TKG) , intent(in) :: weisum
7410 real(TKG) , intent(in) , contiguous :: weight(:)
7411 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7412 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7413 type(lowDia_type) , intent(in) :: subset
7414 end subroutine
7415#endif
7416
7417 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7418
7419#if CK5_ENABLED
7420 PURE module subroutine setPrsAvgWTR_XLD_CK5(cor, subset, mean, sample, dim, weight, weisum)
7421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7422 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_CK5
7423#endif
7424 use pm_kind, only: TKG => CK5
7425 integer(IK) , intent(in) :: dim
7426 real(TKG) , intent(in) :: weisum
7427 complex(TKG) , intent(in) , contiguous :: mean(:)
7428 real(TKG) , intent(in) , contiguous :: weight(:)
7429 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7430 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7431 type(lowDia_type) , intent(in) :: subset
7432 end subroutine
7433#endif
7434
7435#if CK4_ENABLED
7436 PURE module subroutine setPrsAvgWTR_XLD_CK4(cor, subset, mean, sample, dim, weight, weisum)
7437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7438 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_CK4
7439#endif
7440 use pm_kind, only: TKG => CK4
7441 integer(IK) , intent(in) :: dim
7442 real(TKG) , intent(in) :: weisum
7443 complex(TKG) , intent(in) , contiguous :: mean(:)
7444 real(TKG) , intent(in) , contiguous :: weight(:)
7445 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7446 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7447 type(lowDia_type) , intent(in) :: subset
7448 end subroutine
7449#endif
7450
7451#if CK3_ENABLED
7452 PURE module subroutine setPrsAvgWTR_XLD_CK3(cor, subset, mean, sample, dim, weight, weisum)
7453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7454 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_CK3
7455#endif
7456 use pm_kind, only: TKG => CK3
7457 integer(IK) , intent(in) :: dim
7458 real(TKG) , intent(in) :: weisum
7459 complex(TKG) , intent(in) , contiguous :: mean(:)
7460 real(TKG) , intent(in) , contiguous :: weight(:)
7461 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7462 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7463 type(lowDia_type) , intent(in) :: subset
7464 end subroutine
7465#endif
7466
7467#if CK2_ENABLED
7468 PURE module subroutine setPrsAvgWTR_XLD_CK2(cor, subset, mean, sample, dim, weight, weisum)
7469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7470 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_CK2
7471#endif
7472 use pm_kind, only: TKG => CK2
7473 integer(IK) , intent(in) :: dim
7474 real(TKG) , intent(in) :: weisum
7475 complex(TKG) , intent(in) , contiguous :: mean(:)
7476 real(TKG) , intent(in) , contiguous :: weight(:)
7477 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7478 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7479 type(lowDia_type) , intent(in) :: subset
7480 end subroutine
7481#endif
7482
7483#if CK1_ENABLED
7484 PURE module subroutine setPrsAvgWTR_XLD_CK1(cor, subset, mean, sample, dim, weight, weisum)
7485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7486 !DEC$ ATTRIBUTES DLLEXPORT :: setPrsAvgWTR_XLD_CK1
7487#endif
7488 use pm_kind, only: TKG => CK1
7489 integer(IK) , intent(in) :: dim
7490 real(TKG) , intent(in) :: weisum
7491 complex(TKG) , intent(in) , contiguous :: mean(:)
7492 real(TKG) , intent(in) , contiguous :: weight(:)
7493 complex(TKG) , intent(in) , contiguous :: sample(:,:)
7494 complex(TKG) , intent(inout) , contiguous :: cor(:,:)
7495 type(lowDia_type) , intent(in) :: subset
7496 end subroutine
7497#endif
7498
7499 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7500
7501 end interface setCor
7502
7503 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7504 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7505 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7506
7507!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7508
7640
7641 ! XY - Rho - WNO
7642
7643 interface getRho
7644
7645 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7646
7647#if SK5_ENABLED
7648 PURE module function getRhoWNO_XY_D0_SK5(x, y) result(rho)
7649#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7650 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D0_SK5
7651#endif
7652 use pm_kind, only: TKR => RK, SKG => SK5
7653 character(*,SKG) , intent(in) :: x, y
7654 real(TKR) :: rho
7655 end function
7656#endif
7657
7658#if SK4_ENABLED
7659 PURE module function getRhoWNO_XY_D0_SK4(x, y) result(rho)
7660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7661 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D0_SK4
7662#endif
7663 use pm_kind, only: TKR => RK, SKG => SK4
7664 character(*,SKG) , intent(in) :: x, y
7665 real(TKR) :: rho
7666 end function
7667#endif
7668
7669#if SK3_ENABLED
7670 PURE module function getRhoWNO_XY_D0_SK3(x, y) result(rho)
7671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7672 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D0_SK3
7673#endif
7674 use pm_kind, only: TKR => RK, SKG => SK3
7675 character(*,SKG) , intent(in) :: x, y
7676 real(TKR) :: rho
7677 end function
7678#endif
7679
7680#if SK2_ENABLED
7681 PURE module function getRhoWNO_XY_D0_SK2(x, y) result(rho)
7682#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7683 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D0_SK2
7684#endif
7685 use pm_kind, only: TKR => RK, SKG => SK2
7686 character(*,SKG) , intent(in) :: x, y
7687 real(TKR) :: rho
7688 end function
7689#endif
7690
7691#if SK1_ENABLED
7692 PURE module function getRhoWNO_XY_D0_SK1(x, y) result(rho)
7693#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7694 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D0_SK1
7695#endif
7696 use pm_kind, only: TKR => RK, SKG => SK1
7697 character(*,SKG) , intent(in) :: x, y
7698 real(TKR) :: rho
7699 end function
7700#endif
7701
7702 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7703
7704#if SK5_ENABLED
7705 PURE module function getRhoWNO_XY_D1_SK5(x, y) result(rho)
7706#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7707 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_SK5
7708#endif
7709 use pm_kind, only: TKR => RK, SKG => SK5
7710 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
7711 real(TKR) :: rho
7712 end function
7713#endif
7714
7715#if SK4_ENABLED
7716 PURE module function getRhoWNO_XY_D1_SK4(x, y) result(rho)
7717#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7718 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_SK4
7719#endif
7720 use pm_kind, only: TKR => RK, SKG => SK4
7721 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
7722 real(TKR) :: rho
7723 end function
7724#endif
7725
7726#if SK3_ENABLED
7727 PURE module function getRhoWNO_XY_D1_SK3(x, y) result(rho)
7728#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7729 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_SK3
7730#endif
7731 use pm_kind, only: TKR => RK, SKG => SK3
7732 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
7733 real(TKR) :: rho
7734 end function
7735#endif
7736
7737#if SK2_ENABLED
7738 PURE module function getRhoWNO_XY_D1_SK2(x, y) result(rho)
7739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7740 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_SK2
7741#endif
7742 use pm_kind, only: TKR => RK, SKG => SK2
7743 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
7744 real(TKR) :: rho
7745 end function
7746#endif
7747
7748#if SK1_ENABLED
7749 PURE module function getRhoWNO_XY_D1_SK1(x, y) result(rho)
7750#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7751 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_SK1
7752#endif
7753 use pm_kind, only: TKR => RK, SKG => SK1
7754 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
7755 real(TKR) :: rho
7756 end function
7757#endif
7758
7759 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7760
7761#if IK5_ENABLED
7762 PURE module function getRhoWNO_XY_D1_IK5(x, y) result(rho)
7763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7764 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_IK5
7765#endif
7766 use pm_kind, only: TKR => RK, IKG => IK5
7767 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
7768 real(TKR) :: rho
7769 end function
7770#endif
7771
7772#if IK4_ENABLED
7773 PURE module function getRhoWNO_XY_D1_IK4(x, y) result(rho)
7774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7775 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_IK4
7776#endif
7777 use pm_kind, only: TKR => RK, IKG => IK4
7778 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
7779 real(TKR) :: rho
7780 end function
7781#endif
7782
7783#if IK3_ENABLED
7784 PURE module function getRhoWNO_XY_D1_IK3(x, y) result(rho)
7785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7786 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_IK3
7787#endif
7788 use pm_kind, only: TKR => RK, IKG => IK3
7789 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
7790 real(TKR) :: rho
7791 end function
7792#endif
7793
7794#if IK2_ENABLED
7795 PURE module function getRhoWNO_XY_D1_IK2(x, y) result(rho)
7796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7797 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_IK2
7798#endif
7799 use pm_kind, only: TKR => RK, IKG => IK2
7800 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
7801 real(TKR) :: rho
7802 end function
7803#endif
7804
7805#if IK1_ENABLED
7806 PURE module function getRhoWNO_XY_D1_IK1(x, y) result(rho)
7807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7808 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_IK1
7809#endif
7810 use pm_kind, only: TKR => RK, IKG => IK1
7811 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
7812 real(TKR) :: rho
7813 end function
7814#endif
7815
7816 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7817
7818#if RK5_ENABLED
7819 PURE module function getRhoWNO_XY_D1_RK5(x, y) result(rho)
7820#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7821 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_RK5
7822#endif
7823 use pm_kind, only: TKR => RK, TKG => RK5
7824 real(TKG) , intent(in) , contiguous :: x(:), y(:)
7825 real(TKR) :: rho
7826 end function
7827#endif
7828
7829#if RK4_ENABLED
7830 PURE module function getRhoWNO_XY_D1_RK4(x, y) result(rho)
7831#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7832 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_RK4
7833#endif
7834 use pm_kind, only: TKR => RK, TKG => RK4
7835 real(TKG) , intent(in) , contiguous :: x(:), y(:)
7836 real(TKR) :: rho
7837 end function
7838#endif
7839
7840#if RK3_ENABLED
7841 PURE module function getRhoWNO_XY_D1_RK3(x, y) result(rho)
7842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7843 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_RK3
7844#endif
7845 use pm_kind, only: TKR => RK, TKG => RK3
7846 real(TKG) , intent(in) , contiguous :: x(:), y(:)
7847 real(TKR) :: rho
7848 end function
7849#endif
7850
7851#if RK2_ENABLED
7852 PURE module function getRhoWNO_XY_D1_RK2(x, y) result(rho)
7853#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7854 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_RK2
7855#endif
7856 use pm_kind, only: TKR => RK, TKG => RK2
7857 real(TKG) , intent(in) , contiguous :: x(:), y(:)
7858 real(TKR) :: rho
7859 end function
7860#endif
7861
7862#if RK1_ENABLED
7863 PURE module function getRhoWNO_XY_D1_RK1(x, y) result(rho)
7864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7865 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_RK1
7866#endif
7867 use pm_kind, only: TKR => RK, TKG => RK1
7868 real(TKG) , intent(in) , contiguous :: x(:), y(:)
7869 real(TKR) :: rho
7870 end function
7871#endif
7872
7873 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7874
7875#if PDT_ENABLED
7876
7877#if SK5_ENABLED
7878 PURE module function getRhoWNO_XY_D1_PSSK5(x, y) result(rho)
7879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7880 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_PSSK5
7881#endif
7882 use pm_kind, only: TKR => RK, SKG => SK5
7883 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
7884 real(TKR) :: rho
7885 end function
7886#endif
7887
7888#if SK4_ENABLED
7889 PURE module function getRhoWNO_XY_D1_PSSK4(x, y) result(rho)
7890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7891 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_PSSK4
7892#endif
7893 use pm_kind, only: TKR => RK, SKG => SK4
7894 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
7895 real(TKR) :: rho
7896 end function
7897#endif
7898
7899#if SK3_ENABLED
7900 PURE module function getRhoWNO_XY_D1_PSSK3(x, y) result(rho)
7901#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7902 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_PSSK3
7903#endif
7904 use pm_kind, only: TKR => RK, SKG => SK3
7905 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
7906 real(TKR) :: rho
7907 end function
7908#endif
7909
7910#if SK2_ENABLED
7911 PURE module function getRhoWNO_XY_D1_PSSK2(x, y) result(rho)
7912#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7913 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_PSSK2
7914#endif
7915 use pm_kind, only: TKR => RK, SKG => SK2
7916 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
7917 real(TKR) :: rho
7918 end function
7919#endif
7920
7921#if SK1_ENABLED
7922 PURE module function getRhoWNO_XY_D1_PSSK1(x, y) result(rho)
7923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7924 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_PSSK1
7925#endif
7926 use pm_kind, only: TKR => RK, SKG => SK1
7927 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
7928 real(TKR) :: rho
7929 end function
7930#endif
7931
7932#endif
7933!PDT_ENABLED
7934
7935 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7936
7937 PURE module function getRhoWNO_XY_D1_BSSK(x, y) result(rho)
7938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7939 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_XY_D1_BSSK
7940#endif
7941 use pm_kind, only: TKR => RK, SKG => SK
7942 type(css_type) , intent(in) , contiguous :: x(:), y(:)
7943 real(TKR) :: rho
7944 end function
7945
7946 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7947
7948 end interface getRho
7949
7950 ! XY - Rho - WTI
7951
7952 interface getRho
7953
7954 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7955
7956#if SK5_ENABLED
7957 PURE module function getRhoWTI_XY_D0_SK5(x, y, weight) result(rho)
7958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7959 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D0_SK5
7960#endif
7961 use pm_kind, only: TKR => RK, SKG => SK5
7962 integer(IK) , intent(in) , contiguous :: weight(:)
7963 character(*,SKG) , intent(in) :: x, y
7964 real(TKR) :: rho
7965 end function
7966#endif
7967
7968#if SK4_ENABLED
7969 PURE module function getRhoWTI_XY_D0_SK4(x, y, weight) result(rho)
7970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7971 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D0_SK4
7972#endif
7973 use pm_kind, only: TKR => RK, SKG => SK4
7974 integer(IK) , intent(in) , contiguous :: weight(:)
7975 character(*,SKG) , intent(in) :: x, y
7976 real(TKR) :: rho
7977 end function
7978#endif
7979
7980#if SK3_ENABLED
7981 PURE module function getRhoWTI_XY_D0_SK3(x, y, weight) result(rho)
7982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7983 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D0_SK3
7984#endif
7985 use pm_kind, only: TKR => RK, SKG => SK3
7986 integer(IK) , intent(in) , contiguous :: weight(:)
7987 character(*,SKG) , intent(in) :: x, y
7988 real(TKR) :: rho
7989 end function
7990#endif
7991
7992#if SK2_ENABLED
7993 PURE module function getRhoWTI_XY_D0_SK2(x, y, weight) result(rho)
7994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7995 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D0_SK2
7996#endif
7997 use pm_kind, only: TKR => RK, SKG => SK2
7998 integer(IK) , intent(in) , contiguous :: weight(:)
7999 character(*,SKG) , intent(in) :: x, y
8000 real(TKR) :: rho
8001 end function
8002#endif
8003
8004#if SK1_ENABLED
8005 PURE module function getRhoWTI_XY_D0_SK1(x, y, weight) result(rho)
8006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8007 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D0_SK1
8008#endif
8009 use pm_kind, only: TKR => RK, SKG => SK1
8010 integer(IK) , intent(in) , contiguous :: weight(:)
8011 character(*,SKG) , intent(in) :: x, y
8012 real(TKR) :: rho
8013 end function
8014#endif
8015
8016 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8017
8018#if SK5_ENABLED
8019 PURE module function getRhoWTI_XY_D1_SK5(x, y, weight) result(rho)
8020#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8021 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_SK5
8022#endif
8023 use pm_kind, only: TKR => RK, SKG => SK5
8024 integer(IK) , intent(in) , contiguous :: weight(:)
8025 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8026 real(TKR) :: rho
8027 end function
8028#endif
8029
8030#if SK4_ENABLED
8031 PURE module function getRhoWTI_XY_D1_SK4(x, y, weight) result(rho)
8032#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8033 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_SK4
8034#endif
8035 use pm_kind, only: TKR => RK, SKG => SK4
8036 integer(IK) , intent(in) , contiguous :: weight(:)
8037 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8038 real(TKR) :: rho
8039 end function
8040#endif
8041
8042#if SK3_ENABLED
8043 PURE module function getRhoWTI_XY_D1_SK3(x, y, weight) result(rho)
8044#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8045 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_SK3
8046#endif
8047 use pm_kind, only: TKR => RK, SKG => SK3
8048 integer(IK) , intent(in) , contiguous :: weight(:)
8049 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8050 real(TKR) :: rho
8051 end function
8052#endif
8053
8054#if SK2_ENABLED
8055 PURE module function getRhoWTI_XY_D1_SK2(x, y, weight) result(rho)
8056#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8057 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_SK2
8058#endif
8059 use pm_kind, only: TKR => RK, SKG => SK2
8060 integer(IK) , intent(in) , contiguous :: weight(:)
8061 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8062 real(TKR) :: rho
8063 end function
8064#endif
8065
8066#if SK1_ENABLED
8067 PURE module function getRhoWTI_XY_D1_SK1(x, y, weight) result(rho)
8068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8069 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_SK1
8070#endif
8071 use pm_kind, only: TKR => RK, SKG => SK1
8072 integer(IK) , intent(in) , contiguous :: weight(:)
8073 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8074 real(TKR) :: rho
8075 end function
8076#endif
8077
8078 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8079
8080#if IK5_ENABLED
8081 PURE module function getRhoWTI_XY_D1_IK5(x, y, weight) result(rho)
8082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8083 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_IK5
8084#endif
8085 use pm_kind, only: TKR => RK, IKG => IK5
8086 integer(IK) , intent(in) , contiguous :: weight(:)
8087 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8088 real(TKR) :: rho
8089 end function
8090#endif
8091
8092#if IK4_ENABLED
8093 PURE module function getRhoWTI_XY_D1_IK4(x, y, weight) result(rho)
8094#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8095 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_IK4
8096#endif
8097 use pm_kind, only: TKR => RK, IKG => IK4
8098 integer(IK) , intent(in) , contiguous :: weight(:)
8099 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8100 real(TKR) :: rho
8101 end function
8102#endif
8103
8104#if IK3_ENABLED
8105 PURE module function getRhoWTI_XY_D1_IK3(x, y, weight) result(rho)
8106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8107 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_IK3
8108#endif
8109 use pm_kind, only: TKR => RK, IKG => IK3
8110 integer(IK) , intent(in) , contiguous :: weight(:)
8111 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8112 real(TKR) :: rho
8113 end function
8114#endif
8115
8116#if IK2_ENABLED
8117 PURE module function getRhoWTI_XY_D1_IK2(x, y, weight) result(rho)
8118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8119 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_IK2
8120#endif
8121 use pm_kind, only: TKR => RK, IKG => IK2
8122 integer(IK) , intent(in) , contiguous :: weight(:)
8123 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8124 real(TKR) :: rho
8125 end function
8126#endif
8127
8128#if IK1_ENABLED
8129 PURE module function getRhoWTI_XY_D1_IK1(x, y, weight) result(rho)
8130#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8131 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_IK1
8132#endif
8133 use pm_kind, only: TKR => RK, IKG => IK1
8134 integer(IK) , intent(in) , contiguous :: weight(:)
8135 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8136 real(TKR) :: rho
8137 end function
8138#endif
8139
8140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8141
8142#if RK5_ENABLED
8143 PURE module function getRhoWTI_XY_D1_RK5(x, y, weight) result(rho)
8144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8145 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_RK5
8146#endif
8147 use pm_kind, only: TKR => RK, TKG => RK5
8148 integer(IK) , intent(in) , contiguous :: weight(:)
8149 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8150 real(TKR) :: rho
8151 end function
8152#endif
8153
8154#if RK4_ENABLED
8155 PURE module function getRhoWTI_XY_D1_RK4(x, y, weight) result(rho)
8156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8157 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_RK4
8158#endif
8159 use pm_kind, only: TKR => RK, TKG => RK4
8160 integer(IK) , intent(in) , contiguous :: weight(:)
8161 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8162 real(TKR) :: rho
8163 end function
8164#endif
8165
8166#if RK3_ENABLED
8167 PURE module function getRhoWTI_XY_D1_RK3(x, y, weight) result(rho)
8168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8169 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_RK3
8170#endif
8171 use pm_kind, only: TKR => RK, TKG => RK3
8172 integer(IK) , intent(in) , contiguous :: weight(:)
8173 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8174 real(TKR) :: rho
8175 end function
8176#endif
8177
8178#if RK2_ENABLED
8179 PURE module function getRhoWTI_XY_D1_RK2(x, y, weight) result(rho)
8180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8181 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_RK2
8182#endif
8183 use pm_kind, only: TKR => RK, TKG => RK2
8184 integer(IK) , intent(in) , contiguous :: weight(:)
8185 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8186 real(TKR) :: rho
8187 end function
8188#endif
8189
8190#if RK1_ENABLED
8191 PURE module function getRhoWTI_XY_D1_RK1(x, y, weight) result(rho)
8192#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8193 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_RK1
8194#endif
8195 use pm_kind, only: TKR => RK, TKG => RK1
8196 integer(IK) , intent(in) , contiguous :: weight(:)
8197 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8198 real(TKR) :: rho
8199 end function
8200#endif
8201
8202 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8203
8204#if PDT_ENABLED
8205
8206#if SK5_ENABLED
8207 PURE module function getRhoWTI_XY_D1_PSSK5(x, y, weight) result(rho)
8208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8209 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_PSSK5
8210#endif
8211 use pm_kind, only: TKR => RK, SKG => SK5
8212 integer(IK) , intent(in) , contiguous :: weight(:)
8213 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8214 real(TKR) :: rho
8215 end function
8216#endif
8217
8218#if SK4_ENABLED
8219 PURE module function getRhoWTI_XY_D1_PSSK4(x, y, weight) result(rho)
8220#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8221 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_PSSK4
8222#endif
8223 use pm_kind, only: TKR => RK, SKG => SK4
8224 integer(IK) , intent(in) , contiguous :: weight(:)
8225 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8226 real(TKR) :: rho
8227 end function
8228#endif
8229
8230#if SK3_ENABLED
8231 PURE module function getRhoWTI_XY_D1_PSSK3(x, y, weight) result(rho)
8232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8233 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_PSSK3
8234#endif
8235 use pm_kind, only: TKR => RK, SKG => SK3
8236 integer(IK) , intent(in) , contiguous :: weight(:)
8237 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8238 real(TKR) :: rho
8239 end function
8240#endif
8241
8242#if SK2_ENABLED
8243 PURE module function getRhoWTI_XY_D1_PSSK2(x, y, weight) result(rho)
8244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8245 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_PSSK2
8246#endif
8247 use pm_kind, only: TKR => RK, SKG => SK2
8248 integer(IK) , intent(in) , contiguous :: weight(:)
8249 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8250 real(TKR) :: rho
8251 end function
8252#endif
8253
8254#if SK1_ENABLED
8255 PURE module function getRhoWTI_XY_D1_PSSK1(x, y, weight) result(rho)
8256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8257 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_PSSK1
8258#endif
8259 use pm_kind, only: TKR => RK, SKG => SK1
8260 integer(IK) , intent(in) , contiguous :: weight(:)
8261 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8262 real(TKR) :: rho
8263 end function
8264#endif
8265
8266#endif
8267!PDT_ENABLED
8268
8269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8270
8271 PURE module function getRhoWTI_XY_D1_BSSK(x, y, weight) result(rho)
8272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8273 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_XY_D1_BSSK
8274#endif
8275 use pm_kind, only: TKR => RK, SKG => SK
8276 integer(IK) , intent(in) , contiguous :: weight(:)
8277 type(css_type) , intent(in) , contiguous :: x(:), y(:)
8278 real(TKR) :: rho
8279 end function
8280
8281 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8282
8283 end interface getRho
8284
8285 ! XY - Rho - WTR
8286
8287 interface getRho
8288
8289 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8290
8291#if SK5_ENABLED
8292 PURE module function getRhoWTR_XY_D0_SK5(x, y, weight) result(rho)
8293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8294 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D0_SK5
8295#endif
8296 use pm_kind, only: TKR => RK, SKG => SK5
8297 real(TKR) , intent(in) , contiguous :: weight(:)
8298 character(*,SKG) , intent(in) :: x, y
8299 real(TKR) :: rho
8300 end function
8301#endif
8302
8303#if SK4_ENABLED
8304 PURE module function getRhoWTR_XY_D0_SK4(x, y, weight) result(rho)
8305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8306 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D0_SK4
8307#endif
8308 use pm_kind, only: TKR => RK, SKG => SK4
8309 real(TKR) , intent(in) , contiguous :: weight(:)
8310 character(*,SKG) , intent(in) :: x, y
8311 real(TKR) :: rho
8312 end function
8313#endif
8314
8315#if SK3_ENABLED
8316 PURE module function getRhoWTR_XY_D0_SK3(x, y, weight) result(rho)
8317#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8318 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D0_SK3
8319#endif
8320 use pm_kind, only: TKR => RK, SKG => SK3
8321 real(TKR) , intent(in) , contiguous :: weight(:)
8322 character(*,SKG) , intent(in) :: x, y
8323 real(TKR) :: rho
8324 end function
8325#endif
8326
8327#if SK2_ENABLED
8328 PURE module function getRhoWTR_XY_D0_SK2(x, y, weight) result(rho)
8329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8330 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D0_SK2
8331#endif
8332 use pm_kind, only: TKR => RK, SKG => SK2
8333 real(TKR) , intent(in) , contiguous :: weight(:)
8334 character(*,SKG) , intent(in) :: x, y
8335 real(TKR) :: rho
8336 end function
8337#endif
8338
8339#if SK1_ENABLED
8340 PURE module function getRhoWTR_XY_D0_SK1(x, y, weight) result(rho)
8341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8342 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D0_SK1
8343#endif
8344 use pm_kind, only: TKR => RK, SKG => SK1
8345 real(TKR) , intent(in) , contiguous :: weight(:)
8346 character(*,SKG) , intent(in) :: x, y
8347 real(TKR) :: rho
8348 end function
8349#endif
8350
8351 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8352
8353#if SK5_ENABLED
8354 PURE module function getRhoWTR_XY_D1_SK5(x, y, weight) result(rho)
8355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8356 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_SK5
8357#endif
8358 use pm_kind, only: TKR => RK, SKG => SK5
8359 real(TKR) , intent(in) , contiguous :: weight(:)
8360 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8361 real(TKR) :: rho
8362 end function
8363#endif
8364
8365#if SK4_ENABLED
8366 PURE module function getRhoWTR_XY_D1_SK4(x, y, weight) result(rho)
8367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8368 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_SK4
8369#endif
8370 use pm_kind, only: TKR => RK, SKG => SK4
8371 real(TKR) , intent(in) , contiguous :: weight(:)
8372 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8373 real(TKR) :: rho
8374 end function
8375#endif
8376
8377#if SK3_ENABLED
8378 PURE module function getRhoWTR_XY_D1_SK3(x, y, weight) result(rho)
8379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8380 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_SK3
8381#endif
8382 use pm_kind, only: TKR => RK, SKG => SK3
8383 real(TKR) , intent(in) , contiguous :: weight(:)
8384 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8385 real(TKR) :: rho
8386 end function
8387#endif
8388
8389#if SK2_ENABLED
8390 PURE module function getRhoWTR_XY_D1_SK2(x, y, weight) result(rho)
8391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8392 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_SK2
8393#endif
8394 use pm_kind, only: TKR => RK, SKG => SK2
8395 real(TKR) , intent(in) , contiguous :: weight(:)
8396 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8397 real(TKR) :: rho
8398 end function
8399#endif
8400
8401#if SK1_ENABLED
8402 PURE module function getRhoWTR_XY_D1_SK1(x, y, weight) result(rho)
8403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8404 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_SK1
8405#endif
8406 use pm_kind, only: TKR => RK, SKG => SK1
8407 real(TKR) , intent(in) , contiguous :: weight(:)
8408 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
8409 real(TKR) :: rho
8410 end function
8411#endif
8412
8413 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8414
8415#if IK5_ENABLED
8416 PURE module function getRhoWTR_XY_D1_IK5(x, y, weight) result(rho)
8417#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8418 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_IK5
8419#endif
8420 use pm_kind, only: TKR => RK, IKG => IK5
8421 real(TKR) , intent(in) , contiguous :: weight(:)
8422 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8423 real(TKR) :: rho
8424 end function
8425#endif
8426
8427#if IK4_ENABLED
8428 PURE module function getRhoWTR_XY_D1_IK4(x, y, weight) result(rho)
8429#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8430 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_IK4
8431#endif
8432 use pm_kind, only: TKR => RK, IKG => IK4
8433 real(TKR) , intent(in) , contiguous :: weight(:)
8434 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8435 real(TKR) :: rho
8436 end function
8437#endif
8438
8439#if IK3_ENABLED
8440 PURE module function getRhoWTR_XY_D1_IK3(x, y, weight) result(rho)
8441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8442 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_IK3
8443#endif
8444 use pm_kind, only: TKR => RK, IKG => IK3
8445 real(TKR) , intent(in) , contiguous :: weight(:)
8446 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8447 real(TKR) :: rho
8448 end function
8449#endif
8450
8451#if IK2_ENABLED
8452 PURE module function getRhoWTR_XY_D1_IK2(x, y, weight) result(rho)
8453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8454 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_IK2
8455#endif
8456 use pm_kind, only: TKR => RK, IKG => IK2
8457 real(TKR) , intent(in) , contiguous :: weight(:)
8458 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8459 real(TKR) :: rho
8460 end function
8461#endif
8462
8463#if IK1_ENABLED
8464 PURE module function getRhoWTR_XY_D1_IK1(x, y, weight) result(rho)
8465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8466 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_IK1
8467#endif
8468 use pm_kind, only: TKR => RK, IKG => IK1
8469 real(TKR) , intent(in) , contiguous :: weight(:)
8470 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
8471 real(TKR) :: rho
8472 end function
8473#endif
8474
8475 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8476
8477#if RK5_ENABLED
8478 PURE module function getRhoWTR_XY_D1_RK5(x, y, weight) result(rho)
8479#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8480 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_RK5
8481#endif
8482 use pm_kind, only: TKR => RK, TKG => RK5
8483 real(TKR) , intent(in) , contiguous :: weight(:)
8484 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8485 real(TKR) :: rho
8486 end function
8487#endif
8488
8489#if RK4_ENABLED
8490 PURE module function getRhoWTR_XY_D1_RK4(x, y, weight) result(rho)
8491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8492 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_RK4
8493#endif
8494 use pm_kind, only: TKR => RK, TKG => RK4
8495 real(TKR) , intent(in) , contiguous :: weight(:)
8496 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8497 real(TKR) :: rho
8498 end function
8499#endif
8500
8501#if RK3_ENABLED
8502 PURE module function getRhoWTR_XY_D1_RK3(x, y, weight) result(rho)
8503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8504 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_RK3
8505#endif
8506 use pm_kind, only: TKR => RK, TKG => RK3
8507 real(TKR) , intent(in) , contiguous :: weight(:)
8508 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8509 real(TKR) :: rho
8510 end function
8511#endif
8512
8513#if RK2_ENABLED
8514 PURE module function getRhoWTR_XY_D1_RK2(x, y, weight) result(rho)
8515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8516 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_RK2
8517#endif
8518 use pm_kind, only: TKR => RK, TKG => RK2
8519 real(TKR) , intent(in) , contiguous :: weight(:)
8520 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8521 real(TKR) :: rho
8522 end function
8523#endif
8524
8525#if RK1_ENABLED
8526 PURE module function getRhoWTR_XY_D1_RK1(x, y, weight) result(rho)
8527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8528 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_RK1
8529#endif
8530 use pm_kind, only: TKR => RK, TKG => RK1
8531 real(TKR) , intent(in) , contiguous :: weight(:)
8532 real(TKG) , intent(in) , contiguous :: x(:), y(:)
8533 real(TKR) :: rho
8534 end function
8535#endif
8536
8537 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8538
8539#if PDT_ENABLED
8540
8541#if SK5_ENABLED
8542 PURE module function getRhoWTR_XY_D1_PSSK5(x, y, weight) result(rho)
8543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8544 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_PSSK5
8545#endif
8546 use pm_kind, only: TKR => RK, SKG => SK5
8547 real(TKR) , intent(in) , contiguous :: weight(:)
8548 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8549 real(TKR) :: rho
8550 end function
8551#endif
8552
8553#if SK4_ENABLED
8554 PURE module function getRhoWTR_XY_D1_PSSK4(x, y, weight) result(rho)
8555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8556 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_PSSK4
8557#endif
8558 use pm_kind, only: TKR => RK, SKG => SK4
8559 real(TKR) , intent(in) , contiguous :: weight(:)
8560 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8561 real(TKR) :: rho
8562 end function
8563#endif
8564
8565#if SK3_ENABLED
8566 PURE module function getRhoWTR_XY_D1_PSSK3(x, y, weight) result(rho)
8567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8568 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_PSSK3
8569#endif
8570 use pm_kind, only: TKR => RK, SKG => SK3
8571 real(TKR) , intent(in) , contiguous :: weight(:)
8572 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8573 real(TKR) :: rho
8574 end function
8575#endif
8576
8577#if SK2_ENABLED
8578 PURE module function getRhoWTR_XY_D1_PSSK2(x, y, weight) result(rho)
8579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8580 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_PSSK2
8581#endif
8582 use pm_kind, only: TKR => RK, SKG => SK2
8583 real(TKR) , intent(in) , contiguous :: weight(:)
8584 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8585 real(TKR) :: rho
8586 end function
8587#endif
8588
8589#if SK1_ENABLED
8590 PURE module function getRhoWTR_XY_D1_PSSK1(x, y, weight) result(rho)
8591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8592 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_PSSK1
8593#endif
8594 use pm_kind, only: TKR => RK, SKG => SK1
8595 real(TKR) , intent(in) , contiguous :: weight(:)
8596 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
8597 real(TKR) :: rho
8598 end function
8599#endif
8600
8601#endif
8602!PDT_ENABLED
8603
8604 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8605
8606 PURE module function getRhoWTR_XY_D1_BSSK(x, y, weight) result(rho)
8607#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8608 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_XY_D1_BSSK
8609#endif
8610 use pm_kind, only: TKR => RK, SKG => SK
8611 real(TKR) , intent(in) , contiguous :: weight(:)
8612 type(css_type) , intent(in) , contiguous :: x(:), y(:)
8613 real(TKR) :: rho
8614 end function
8615
8616 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8617
8618 end interface getRho
8619
8620 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8621
8622 ! ULD - Rho - WNO
8623
8624 interface getRho
8625
8626 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8627
8628#if SK5_ENABLED
8629 PURE module function getRhoWNO_ULD_SK5(sample, dim) result(rho)
8630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8631 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_SK5
8632#endif
8633 use pm_kind, only: TKR => RK, SKG => SK5
8634 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8635 integer(IK) , intent(in) :: dim
8636 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8637 end function
8638#endif
8639
8640#if SK4_ENABLED
8641 PURE module function getRhoWNO_ULD_SK4(sample, dim) result(rho)
8642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8643 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_SK4
8644#endif
8645 use pm_kind, only: TKR => RK, SKG => SK4
8646 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8647 integer(IK) , intent(in) :: dim
8648 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8649 end function
8650#endif
8651
8652#if SK3_ENABLED
8653 PURE module function getRhoWNO_ULD_SK3(sample, dim) result(rho)
8654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8655 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_SK3
8656#endif
8657 use pm_kind, only: TKR => RK, SKG => SK3
8658 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8659 integer(IK) , intent(in) :: dim
8660 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8661 end function
8662#endif
8663
8664#if SK2_ENABLED
8665 PURE module function getRhoWNO_ULD_SK2(sample, dim) result(rho)
8666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8667 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_SK2
8668#endif
8669 use pm_kind, only: TKR => RK, SKG => SK2
8670 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8671 integer(IK) , intent(in) :: dim
8672 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8673 end function
8674#endif
8675
8676#if SK1_ENABLED
8677 PURE module function getRhoWNO_ULD_SK1(sample, dim) result(rho)
8678#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8679 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_SK1
8680#endif
8681 use pm_kind, only: TKR => RK, SKG => SK1
8682 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8683 integer(IK) , intent(in) :: dim
8684 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8685 end function
8686#endif
8687
8688 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8689
8690#if IK5_ENABLED
8691 PURE module function getRhoWNO_ULD_IK5(sample, dim) result(rho)
8692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8693 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_IK5
8694#endif
8695 use pm_kind, only: TKR => RK, IKG => IK5
8696 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8697 integer(IK) , intent(in) :: dim
8698 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8699 end function
8700#endif
8701
8702#if IK4_ENABLED
8703 PURE module function getRhoWNO_ULD_IK4(sample, dim) result(rho)
8704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8705 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_IK4
8706#endif
8707 use pm_kind, only: TKR => RK, IKG => IK4
8708 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8709 integer(IK) , intent(in) :: dim
8710 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8711 end function
8712#endif
8713
8714#if IK3_ENABLED
8715 PURE module function getRhoWNO_ULD_IK3(sample, dim) result(rho)
8716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8717 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_IK3
8718#endif
8719 use pm_kind, only: TKR => RK, IKG => IK3
8720 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8721 integer(IK) , intent(in) :: dim
8722 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8723 end function
8724#endif
8725
8726#if IK2_ENABLED
8727 PURE module function getRhoWNO_ULD_IK2(sample, dim) result(rho)
8728#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8729 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_IK2
8730#endif
8731 use pm_kind, only: TKR => RK, IKG => IK2
8732 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8733 integer(IK) , intent(in) :: dim
8734 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8735 end function
8736#endif
8737
8738#if IK1_ENABLED
8739 PURE module function getRhoWNO_ULD_IK1(sample, dim) result(rho)
8740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8741 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_IK1
8742#endif
8743 use pm_kind, only: TKR => RK, IKG => IK1
8744 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8745 integer(IK) , intent(in) :: dim
8746 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8747 end function
8748#endif
8749
8750 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8751
8752#if RK5_ENABLED
8753 PURE module function getRhoWNO_ULD_RK5(sample, dim) result(rho)
8754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8755 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_RK5
8756#endif
8757 use pm_kind, only: TKR => RK, TKG => RK5
8758 real(TKG) , intent(in) , contiguous :: sample(:,:)
8759 integer(IK) , intent(in) :: dim
8760 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8761 end function
8762#endif
8763
8764#if RK4_ENABLED
8765 PURE module function getRhoWNO_ULD_RK4(sample, dim) result(rho)
8766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8767 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_RK4
8768#endif
8769 use pm_kind, only: TKR => RK, TKG => RK4
8770 real(TKG) , intent(in) , contiguous :: sample(:,:)
8771 integer(IK) , intent(in) :: dim
8772 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8773 end function
8774#endif
8775
8776#if RK3_ENABLED
8777 PURE module function getRhoWNO_ULD_RK3(sample, dim) result(rho)
8778#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8779 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_RK3
8780#endif
8781 use pm_kind, only: TKR => RK, TKG => RK3
8782 real(TKG) , intent(in) , contiguous :: sample(:,:)
8783 integer(IK) , intent(in) :: dim
8784 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8785 end function
8786#endif
8787
8788#if RK2_ENABLED
8789 PURE module function getRhoWNO_ULD_RK2(sample, dim) result(rho)
8790#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8791 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_RK2
8792#endif
8793 use pm_kind, only: TKR => RK, TKG => RK2
8794 real(TKG) , intent(in) , contiguous :: sample(:,:)
8795 integer(IK) , intent(in) :: dim
8796 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8797 end function
8798#endif
8799
8800#if RK1_ENABLED
8801 PURE module function getRhoWNO_ULD_RK1(sample, dim) result(rho)
8802#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8803 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_RK1
8804#endif
8805 use pm_kind, only: TKR => RK, TKG => RK1
8806 real(TKG) , intent(in) , contiguous :: sample(:,:)
8807 integer(IK) , intent(in) :: dim
8808 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8809 end function
8810#endif
8811
8812 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8813
8814#if PDT_ENABLED
8815
8816#if SK5_ENABLED
8817 PURE module function getRhoWNO_ULD_PSSK5(sample, dim) result(rho)
8818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8819 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_PSSK5
8820#endif
8821 use pm_kind, only: TKR => RK, SKG => SK5
8822 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
8823 integer(IK) , intent(in) :: dim
8824 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8825 end function
8826#endif
8827
8828#if SK4_ENABLED
8829 PURE module function getRhoWNO_ULD_PSSK4(sample, dim) result(rho)
8830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8831 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_PSSK4
8832#endif
8833 use pm_kind, only: TKR => RK, SKG => SK4
8834 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
8835 integer(IK) , intent(in) :: dim
8836 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8837 end function
8838#endif
8839
8840#if SK3_ENABLED
8841 PURE module function getRhoWNO_ULD_PSSK3(sample, dim) result(rho)
8842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8843 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_PSSK3
8844#endif
8845 use pm_kind, only: TKR => RK, SKG => SK3
8846 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
8847 integer(IK) , intent(in) :: dim
8848 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8849 end function
8850#endif
8851
8852#if SK2_ENABLED
8853 PURE module function getRhoWNO_ULD_PSSK2(sample, dim) result(rho)
8854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8855 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_PSSK2
8856#endif
8857 use pm_kind, only: TKR => RK, SKG => SK2
8858 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
8859 integer(IK) , intent(in) :: dim
8860 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8861 end function
8862#endif
8863
8864#if SK1_ENABLED
8865 PURE module function getRhoWNO_ULD_PSSK1(sample, dim) result(rho)
8866#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8867 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_PSSK1
8868#endif
8869 use pm_kind, only: TKR => RK, SKG => SK1
8870 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
8871 integer(IK) , intent(in) :: dim
8872 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8873 end function
8874#endif
8875
8876#endif
8877!PDT_ENABLED
8878
8879 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8880
8881 PURE module function getRhoWNO_ULD_BSSK(sample, dim) result(rho)
8882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8883 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWNO_ULD_BSSK
8884#endif
8885 use pm_kind, only: TKR => RK, SKG => SK
8886 type(css_type) , intent(in) , contiguous :: sample(:,:)
8887 integer(IK) , intent(in) :: dim
8888 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8889 end function
8890
8891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8892
8893 end interface getRho
8894
8895 ! ULD - Rho - WTI
8896
8897 interface getRho
8898
8899 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8900
8901#if SK5_ENABLED
8902 PURE module function getRhoWTI_ULD_SK5(sample, dim, weight) result(rho)
8903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8904 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_SK5
8905#endif
8906 use pm_kind, only: TKR => RK, SKG => SK5
8907 integer(IK) , intent(in) , contiguous :: weight(:)
8908 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8909 integer(IK) , intent(in) :: dim
8910 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8911 end function
8912#endif
8913
8914#if SK4_ENABLED
8915 PURE module function getRhoWTI_ULD_SK4(sample, dim, weight) result(rho)
8916#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8917 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_SK4
8918#endif
8919 use pm_kind, only: TKR => RK, SKG => SK4
8920 integer(IK) , intent(in) , contiguous :: weight(:)
8921 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8922 integer(IK) , intent(in) :: dim
8923 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8924 end function
8925#endif
8926
8927#if SK3_ENABLED
8928 PURE module function getRhoWTI_ULD_SK3(sample, dim, weight) result(rho)
8929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8930 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_SK3
8931#endif
8932 use pm_kind, only: TKR => RK, SKG => SK3
8933 integer(IK) , intent(in) , contiguous :: weight(:)
8934 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8935 integer(IK) , intent(in) :: dim
8936 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8937 end function
8938#endif
8939
8940#if SK2_ENABLED
8941 PURE module function getRhoWTI_ULD_SK2(sample, dim, weight) result(rho)
8942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8943 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_SK2
8944#endif
8945 use pm_kind, only: TKR => RK, SKG => SK2
8946 integer(IK) , intent(in) , contiguous :: weight(:)
8947 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8948 integer(IK) , intent(in) :: dim
8949 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8950 end function
8951#endif
8952
8953#if SK1_ENABLED
8954 PURE module function getRhoWTI_ULD_SK1(sample, dim, weight) result(rho)
8955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8956 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_SK1
8957#endif
8958 use pm_kind, only: TKR => RK, SKG => SK1
8959 integer(IK) , intent(in) , contiguous :: weight(:)
8960 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
8961 integer(IK) , intent(in) :: dim
8962 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8963 end function
8964#endif
8965
8966 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8967
8968#if IK5_ENABLED
8969 PURE module function getRhoWTI_ULD_IK5(sample, dim, weight) result(rho)
8970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8971 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_IK5
8972#endif
8973 use pm_kind, only: TKR => RK, IKG => IK5
8974 integer(IK) , intent(in) , contiguous :: weight(:)
8975 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8976 integer(IK) , intent(in) :: dim
8977 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8978 end function
8979#endif
8980
8981#if IK4_ENABLED
8982 PURE module function getRhoWTI_ULD_IK4(sample, dim, weight) result(rho)
8983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8984 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_IK4
8985#endif
8986 use pm_kind, only: TKR => RK, IKG => IK4
8987 integer(IK) , intent(in) , contiguous :: weight(:)
8988 integer(IKG) , intent(in) , contiguous :: sample(:,:)
8989 integer(IK) , intent(in) :: dim
8990 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
8991 end function
8992#endif
8993
8994#if IK3_ENABLED
8995 PURE module function getRhoWTI_ULD_IK3(sample, dim, weight) result(rho)
8996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8997 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_IK3
8998#endif
8999 use pm_kind, only: TKR => RK, IKG => IK3
9000 integer(IK) , intent(in) , contiguous :: weight(:)
9001 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9002 integer(IK) , intent(in) :: dim
9003 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9004 end function
9005#endif
9006
9007#if IK2_ENABLED
9008 PURE module function getRhoWTI_ULD_IK2(sample, dim, weight) result(rho)
9009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9010 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_IK2
9011#endif
9012 use pm_kind, only: TKR => RK, IKG => IK2
9013 integer(IK) , intent(in) , contiguous :: weight(:)
9014 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9015 integer(IK) , intent(in) :: dim
9016 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9017 end function
9018#endif
9019
9020#if IK1_ENABLED
9021 PURE module function getRhoWTI_ULD_IK1(sample, dim, weight) result(rho)
9022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9023 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_IK1
9024#endif
9025 use pm_kind, only: TKR => RK, IKG => IK1
9026 integer(IK) , intent(in) , contiguous :: weight(:)
9027 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9028 integer(IK) , intent(in) :: dim
9029 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9030 end function
9031#endif
9032
9033 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9034
9035#if RK5_ENABLED
9036 PURE module function getRhoWTI_ULD_RK5(sample, dim, weight) result(rho)
9037#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9038 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_RK5
9039#endif
9040 use pm_kind, only: TKR => RK, TKG => RK5
9041 integer(IK) , intent(in) , contiguous :: weight(:)
9042 real(TKG) , intent(in) , contiguous :: sample(:,:)
9043 integer(IK) , intent(in) :: dim
9044 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9045 end function
9046#endif
9047
9048#if RK4_ENABLED
9049 PURE module function getRhoWTI_ULD_RK4(sample, dim, weight) result(rho)
9050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9051 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_RK4
9052#endif
9053 use pm_kind, only: TKR => RK, TKG => RK4
9054 integer(IK) , intent(in) , contiguous :: weight(:)
9055 real(TKG) , intent(in) , contiguous :: sample(:,:)
9056 integer(IK) , intent(in) :: dim
9057 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9058 end function
9059#endif
9060
9061#if RK3_ENABLED
9062 PURE module function getRhoWTI_ULD_RK3(sample, dim, weight) result(rho)
9063#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9064 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_RK3
9065#endif
9066 use pm_kind, only: TKR => RK, TKG => RK3
9067 integer(IK) , intent(in) , contiguous :: weight(:)
9068 real(TKG) , intent(in) , contiguous :: sample(:,:)
9069 integer(IK) , intent(in) :: dim
9070 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9071 end function
9072#endif
9073
9074#if RK2_ENABLED
9075 PURE module function getRhoWTI_ULD_RK2(sample, dim, weight) result(rho)
9076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9077 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_RK2
9078#endif
9079 use pm_kind, only: TKR => RK, TKG => RK2
9080 integer(IK) , intent(in) , contiguous :: weight(:)
9081 real(TKG) , intent(in) , contiguous :: sample(:,:)
9082 integer(IK) , intent(in) :: dim
9083 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9084 end function
9085#endif
9086
9087#if RK1_ENABLED
9088 PURE module function getRhoWTI_ULD_RK1(sample, dim, weight) result(rho)
9089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9090 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_RK1
9091#endif
9092 use pm_kind, only: TKR => RK, TKG => RK1
9093 integer(IK) , intent(in) , contiguous :: weight(:)
9094 real(TKG) , intent(in) , contiguous :: sample(:,:)
9095 integer(IK) , intent(in) :: dim
9096 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9097 end function
9098#endif
9099
9100 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9101
9102#if PDT_ENABLED
9103
9104#if SK5_ENABLED
9105 PURE module function getRhoWTI_ULD_PSSK5(sample, dim, weight) result(rho)
9106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9107 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_PSSK5
9108#endif
9109 use pm_kind, only: TKR => RK, SKG => SK5
9110 integer(IK) , intent(in) , contiguous :: weight(:)
9111 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9112 integer(IK) , intent(in) :: dim
9113 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9114 end function
9115#endif
9116
9117#if SK4_ENABLED
9118 PURE module function getRhoWTI_ULD_PSSK4(sample, dim, weight) result(rho)
9119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9120 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_PSSK4
9121#endif
9122 use pm_kind, only: TKR => RK, SKG => SK4
9123 integer(IK) , intent(in) , contiguous :: weight(:)
9124 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9125 integer(IK) , intent(in) :: dim
9126 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9127 end function
9128#endif
9129
9130#if SK3_ENABLED
9131 PURE module function getRhoWTI_ULD_PSSK3(sample, dim, weight) result(rho)
9132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9133 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_PSSK3
9134#endif
9135 use pm_kind, only: TKR => RK, SKG => SK3
9136 integer(IK) , intent(in) , contiguous :: weight(:)
9137 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9138 integer(IK) , intent(in) :: dim
9139 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9140 end function
9141#endif
9142
9143#if SK2_ENABLED
9144 PURE module function getRhoWTI_ULD_PSSK2(sample, dim, weight) result(rho)
9145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9146 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_PSSK2
9147#endif
9148 use pm_kind, only: TKR => RK, SKG => SK2
9149 integer(IK) , intent(in) , contiguous :: weight(:)
9150 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9151 integer(IK) , intent(in) :: dim
9152 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9153 end function
9154#endif
9155
9156#if SK1_ENABLED
9157 PURE module function getRhoWTI_ULD_PSSK1(sample, dim, weight) result(rho)
9158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9159 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_PSSK1
9160#endif
9161 use pm_kind, only: TKR => RK, SKG => SK1
9162 integer(IK) , intent(in) , contiguous :: weight(:)
9163 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9164 integer(IK) , intent(in) :: dim
9165 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9166 end function
9167#endif
9168
9169#endif
9170!PDT_ENABLED
9171
9172 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9173
9174 PURE module function getRhoWTI_ULD_BSSK(sample, dim, weight) result(rho)
9175#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9176 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTI_ULD_BSSK
9177#endif
9178 use pm_kind, only: TKR => RK, SKG => SK
9179 integer(IK) , intent(in) , contiguous :: weight(:)
9180 type(css_type) , intent(in) , contiguous :: sample(:,:)
9181 integer(IK) , intent(in) :: dim
9182 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9183 end function
9184
9185 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9186
9187 end interface getRho
9188
9189 ! ULD - Rho - WTR
9190
9191 interface getRho
9192
9193 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9194
9195#if SK5_ENABLED
9196 PURE module function getRhoWTR_ULD_SK5(sample, dim, weight) result(rho)
9197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9198 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_SK5
9199#endif
9200 use pm_kind, only: TKR => RK, SKG => SK5
9201 real(TKR) , intent(in) , contiguous :: weight(:)
9202 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
9203 integer(IK) , intent(in) :: dim
9204 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9205 end function
9206#endif
9207
9208#if SK4_ENABLED
9209 PURE module function getRhoWTR_ULD_SK4(sample, dim, weight) result(rho)
9210#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9211 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_SK4
9212#endif
9213 use pm_kind, only: TKR => RK, SKG => SK4
9214 real(TKR) , intent(in) , contiguous :: weight(:)
9215 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
9216 integer(IK) , intent(in) :: dim
9217 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9218 end function
9219#endif
9220
9221#if SK3_ENABLED
9222 PURE module function getRhoWTR_ULD_SK3(sample, dim, weight) result(rho)
9223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9224 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_SK3
9225#endif
9226 use pm_kind, only: TKR => RK, SKG => SK3
9227 real(TKR) , intent(in) , contiguous :: weight(:)
9228 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
9229 integer(IK) , intent(in) :: dim
9230 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9231 end function
9232#endif
9233
9234#if SK2_ENABLED
9235 PURE module function getRhoWTR_ULD_SK2(sample, dim, weight) result(rho)
9236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9237 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_SK2
9238#endif
9239 use pm_kind, only: TKR => RK, SKG => SK2
9240 real(TKR) , intent(in) , contiguous :: weight(:)
9241 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
9242 integer(IK) , intent(in) :: dim
9243 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9244 end function
9245#endif
9246
9247#if SK1_ENABLED
9248 PURE module function getRhoWTR_ULD_SK1(sample, dim, weight) result(rho)
9249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9250 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_SK1
9251#endif
9252 use pm_kind, only: TKR => RK, SKG => SK1
9253 real(TKR) , intent(in) , contiguous :: weight(:)
9254 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
9255 integer(IK) , intent(in) :: dim
9256 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9257 end function
9258#endif
9259
9260 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9261
9262#if IK5_ENABLED
9263 PURE module function getRhoWTR_ULD_IK5(sample, dim, weight) result(rho)
9264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9265 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_IK5
9266#endif
9267 use pm_kind, only: TKR => RK, IKG => IK5
9268 real(TKR) , intent(in) , contiguous :: weight(:)
9269 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9270 integer(IK) , intent(in) :: dim
9271 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9272 end function
9273#endif
9274
9275#if IK4_ENABLED
9276 PURE module function getRhoWTR_ULD_IK4(sample, dim, weight) result(rho)
9277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9278 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_IK4
9279#endif
9280 use pm_kind, only: TKR => RK, IKG => IK4
9281 real(TKR) , intent(in) , contiguous :: weight(:)
9282 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9283 integer(IK) , intent(in) :: dim
9284 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9285 end function
9286#endif
9287
9288#if IK3_ENABLED
9289 PURE module function getRhoWTR_ULD_IK3(sample, dim, weight) result(rho)
9290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9291 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_IK3
9292#endif
9293 use pm_kind, only: TKR => RK, IKG => IK3
9294 real(TKR) , intent(in) , contiguous :: weight(:)
9295 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9296 integer(IK) , intent(in) :: dim
9297 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9298 end function
9299#endif
9300
9301#if IK2_ENABLED
9302 PURE module function getRhoWTR_ULD_IK2(sample, dim, weight) result(rho)
9303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9304 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_IK2
9305#endif
9306 use pm_kind, only: TKR => RK, IKG => IK2
9307 real(TKR) , intent(in) , contiguous :: weight(:)
9308 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9309 integer(IK) , intent(in) :: dim
9310 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9311 end function
9312#endif
9313
9314#if IK1_ENABLED
9315 PURE module function getRhoWTR_ULD_IK1(sample, dim, weight) result(rho)
9316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9317 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_IK1
9318#endif
9319 use pm_kind, only: TKR => RK, IKG => IK1
9320 real(TKR) , intent(in) , contiguous :: weight(:)
9321 integer(IKG) , intent(in) , contiguous :: sample(:,:)
9322 integer(IK) , intent(in) :: dim
9323 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9324 end function
9325#endif
9326
9327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9328
9329#if RK5_ENABLED
9330 PURE module function getRhoWTR_ULD_RK5(sample, dim, weight) result(rho)
9331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9332 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_RK5
9333#endif
9334 use pm_kind, only: TKR => RK, TKG => RK5
9335 real(TKR) , intent(in) , contiguous :: weight(:)
9336 real(TKG) , intent(in) , contiguous :: sample(:,:)
9337 integer(IK) , intent(in) :: dim
9338 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9339 end function
9340#endif
9341
9342#if RK4_ENABLED
9343 PURE module function getRhoWTR_ULD_RK4(sample, dim, weight) result(rho)
9344#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9345 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_RK4
9346#endif
9347 use pm_kind, only: TKR => RK, TKG => RK4
9348 real(TKR) , intent(in) , contiguous :: weight(:)
9349 real(TKG) , intent(in) , contiguous :: sample(:,:)
9350 integer(IK) , intent(in) :: dim
9351 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9352 end function
9353#endif
9354
9355#if RK3_ENABLED
9356 PURE module function getRhoWTR_ULD_RK3(sample, dim, weight) result(rho)
9357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9358 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_RK3
9359#endif
9360 use pm_kind, only: TKR => RK, TKG => RK3
9361 real(TKR) , intent(in) , contiguous :: weight(:)
9362 real(TKG) , intent(in) , contiguous :: sample(:,:)
9363 integer(IK) , intent(in) :: dim
9364 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9365 end function
9366#endif
9367
9368#if RK2_ENABLED
9369 PURE module function getRhoWTR_ULD_RK2(sample, dim, weight) result(rho)
9370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9371 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_RK2
9372#endif
9373 use pm_kind, only: TKR => RK, TKG => RK2
9374 real(TKR) , intent(in) , contiguous :: weight(:)
9375 real(TKG) , intent(in) , contiguous :: sample(:,:)
9376 integer(IK) , intent(in) :: dim
9377 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9378 end function
9379#endif
9380
9381#if RK1_ENABLED
9382 PURE module function getRhoWTR_ULD_RK1(sample, dim, weight) result(rho)
9383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9384 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_RK1
9385#endif
9386 use pm_kind, only: TKR => RK, TKG => RK1
9387 real(TKR) , intent(in) , contiguous :: weight(:)
9388 real(TKG) , intent(in) , contiguous :: sample(:,:)
9389 integer(IK) , intent(in) :: dim
9390 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9391 end function
9392#endif
9393
9394 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9395
9396#if PDT_ENABLED
9397
9398#if SK5_ENABLED
9399 PURE module function getRhoWTR_ULD_PSSK5(sample, dim, weight) result(rho)
9400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9401 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_PSSK5
9402#endif
9403 use pm_kind, only: TKR => RK, SKG => SK5
9404 real(TKR) , intent(in) , contiguous :: weight(:)
9405 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9406 integer(IK) , intent(in) :: dim
9407 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9408 end function
9409#endif
9410
9411#if SK4_ENABLED
9412 PURE module function getRhoWTR_ULD_PSSK4(sample, dim, weight) result(rho)
9413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9414 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_PSSK4
9415#endif
9416 use pm_kind, only: TKR => RK, SKG => SK4
9417 real(TKR) , intent(in) , contiguous :: weight(:)
9418 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9419 integer(IK) , intent(in) :: dim
9420 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9421 end function
9422#endif
9423
9424#if SK3_ENABLED
9425 PURE module function getRhoWTR_ULD_PSSK3(sample, dim, weight) result(rho)
9426#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9427 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_PSSK3
9428#endif
9429 use pm_kind, only: TKR => RK, SKG => SK3
9430 real(TKR) , intent(in) , contiguous :: weight(:)
9431 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9432 integer(IK) , intent(in) :: dim
9433 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9434 end function
9435#endif
9436
9437#if SK2_ENABLED
9438 PURE module function getRhoWTR_ULD_PSSK2(sample, dim, weight) result(rho)
9439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9440 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_PSSK2
9441#endif
9442 use pm_kind, only: TKR => RK, SKG => SK2
9443 real(TKR) , intent(in) , contiguous :: weight(:)
9444 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9445 integer(IK) , intent(in) :: dim
9446 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9447 end function
9448#endif
9449
9450#if SK1_ENABLED
9451 PURE module function getRhoWTR_ULD_PSSK1(sample, dim, weight) result(rho)
9452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9453 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_PSSK1
9454#endif
9455 use pm_kind, only: TKR => RK, SKG => SK1
9456 real(TKR) , intent(in) , contiguous :: weight(:)
9457 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
9458 integer(IK) , intent(in) :: dim
9459 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9460 end function
9461#endif
9462
9463#endif
9464!PDT_ENABLED
9465
9466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9467
9468 PURE module function getRhoWTR_ULD_BSSK(sample, dim, weight) result(rho)
9469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9470 !DEC$ ATTRIBUTES DLLEXPORT :: getRhoWTR_ULD_BSSK
9471#endif
9472 use pm_kind, only: TKR => RK, SKG => SK
9473 real(TKR) , intent(in) , contiguous :: weight(:)
9474 type(css_type) , intent(in) , contiguous :: sample(:,:)
9475 integer(IK) , intent(in) :: dim
9476 real(TKR) :: rho(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
9477 end function
9478
9479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9480
9481 end interface getRho
9482
9483!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9484
9642
9643 ! XY - Rho - WNO
9644
9645 interface setRho
9646
9647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9648
9649#if SK5_ENABLED
9650 PURE module subroutine setRhoWNO_XY_D0_SK5(rho, frankx, franky, x, y)
9651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9652 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D0_SK5
9653#endif
9654 use pm_kind, only: TKR => RK, SKG => SK5
9655 character(*,SKG) , intent(in) :: x, y
9656 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9657 real(TKR) , intent(out) :: rho
9658 end subroutine
9659#endif
9660
9661#if SK4_ENABLED
9662 PURE module subroutine setRhoWNO_XY_D0_SK4(rho, frankx, franky, x, y)
9663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9664 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D0_SK4
9665#endif
9666 use pm_kind, only: TKR => RK, SKG => SK4
9667 character(*,SKG) , intent(in) :: x, y
9668 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9669 real(TKR) , intent(out) :: rho
9670 end subroutine
9671#endif
9672
9673#if SK3_ENABLED
9674 PURE module subroutine setRhoWNO_XY_D0_SK3(rho, frankx, franky, x, y)
9675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9676 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D0_SK3
9677#endif
9678 use pm_kind, only: TKR => RK, SKG => SK3
9679 character(*,SKG) , intent(in) :: x, y
9680 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9681 real(TKR) , intent(out) :: rho
9682 end subroutine
9683#endif
9684
9685#if SK2_ENABLED
9686 PURE module subroutine setRhoWNO_XY_D0_SK2(rho, frankx, franky, x, y)
9687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9688 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D0_SK2
9689#endif
9690 use pm_kind, only: TKR => RK, SKG => SK2
9691 character(*,SKG) , intent(in) :: x, y
9692 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9693 real(TKR) , intent(out) :: rho
9694 end subroutine
9695#endif
9696
9697#if SK1_ENABLED
9698 PURE module subroutine setRhoWNO_XY_D0_SK1(rho, frankx, franky, x, y)
9699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9700 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D0_SK1
9701#endif
9702 use pm_kind, only: TKR => RK, SKG => SK1
9703 character(*,SKG) , intent(in) :: x, y
9704 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9705 real(TKR) , intent(out) :: rho
9706 end subroutine
9707#endif
9708
9709 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9710
9711#if SK5_ENABLED
9712 PURE module subroutine setRhoWNO_XY_D1_SK5(rho, frankx, franky, x, y)
9713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9714 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_SK5
9715#endif
9716 use pm_kind, only: TKR => RK, SKG => SK5
9717 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
9718 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9719 real(TKR) , intent(out) :: rho
9720 end subroutine
9721#endif
9722
9723#if SK4_ENABLED
9724 PURE module subroutine setRhoWNO_XY_D1_SK4(rho, frankx, franky, x, y)
9725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9726 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_SK4
9727#endif
9728 use pm_kind, only: TKR => RK, SKG => SK4
9729 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
9730 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9731 real(TKR) , intent(out) :: rho
9732 end subroutine
9733#endif
9734
9735#if SK3_ENABLED
9736 PURE module subroutine setRhoWNO_XY_D1_SK3(rho, frankx, franky, x, y)
9737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9738 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_SK3
9739#endif
9740 use pm_kind, only: TKR => RK, SKG => SK3
9741 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
9742 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9743 real(TKR) , intent(out) :: rho
9744 end subroutine
9745#endif
9746
9747#if SK2_ENABLED
9748 PURE module subroutine setRhoWNO_XY_D1_SK2(rho, frankx, franky, x, y)
9749#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9750 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_SK2
9751#endif
9752 use pm_kind, only: TKR => RK, SKG => SK2
9753 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
9754 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9755 real(TKR) , intent(out) :: rho
9756 end subroutine
9757#endif
9758
9759#if SK1_ENABLED
9760 PURE module subroutine setRhoWNO_XY_D1_SK1(rho, frankx, franky, x, y)
9761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9762 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_SK1
9763#endif
9764 use pm_kind, only: TKR => RK, SKG => SK1
9765 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
9766 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9767 real(TKR) , intent(out) :: rho
9768 end subroutine
9769#endif
9770
9771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9772
9773#if IK5_ENABLED
9774 PURE module subroutine setRhoWNO_XY_D1_IK5(rho, frankx, franky, x, y)
9775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9776 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_IK5
9777#endif
9778 use pm_kind, only: TKR => RK, IKG => IK5
9779 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
9780 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9781 real(TKR) , intent(out) :: rho
9782 end subroutine
9783#endif
9784
9785#if IK4_ENABLED
9786 PURE module subroutine setRhoWNO_XY_D1_IK4(rho, frankx, franky, x, y)
9787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9788 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_IK4
9789#endif
9790 use pm_kind, only: TKR => RK, IKG => IK4
9791 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
9792 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9793 real(TKR) , intent(out) :: rho
9794 end subroutine
9795#endif
9796
9797#if IK3_ENABLED
9798 PURE module subroutine setRhoWNO_XY_D1_IK3(rho, frankx, franky, x, y)
9799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9800 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_IK3
9801#endif
9802 use pm_kind, only: TKR => RK, IKG => IK3
9803 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
9804 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9805 real(TKR) , intent(out) :: rho
9806 end subroutine
9807#endif
9808
9809#if IK2_ENABLED
9810 PURE module subroutine setRhoWNO_XY_D1_IK2(rho, frankx, franky, x, y)
9811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9812 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_IK2
9813#endif
9814 use pm_kind, only: TKR => RK, IKG => IK2
9815 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
9816 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9817 real(TKR) , intent(out) :: rho
9818 end subroutine
9819#endif
9820
9821#if IK1_ENABLED
9822 PURE module subroutine setRhoWNO_XY_D1_IK1(rho, frankx, franky, x, y)
9823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9824 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_IK1
9825#endif
9826 use pm_kind, only: TKR => RK, IKG => IK1
9827 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
9828 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9829 real(TKR) , intent(out) :: rho
9830 end subroutine
9831#endif
9832
9833 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9834
9835#if RK5_ENABLED
9836 PURE module subroutine setRhoWNO_XY_D1_RK5(rho, frankx, franky, x, y)
9837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9838 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_RK5
9839#endif
9840 use pm_kind, only: TKG => RK, TKG => RK5
9841 real(TKG) , intent(in) , contiguous :: x(:), y(:)
9842 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9843 real(TKR) , intent(out) :: rho
9844 end subroutine
9845#endif
9846
9847#if RK4_ENABLED
9848 PURE module subroutine setRhoWNO_XY_D1_RK4(rho, frankx, franky, x, y)
9849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9850 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_RK4
9851#endif
9852 use pm_kind, only: TKR => RK, TKG => RK4
9853 real(TKG) , intent(in) , contiguous :: x(:), y(:)
9854 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9855 real(TKR) , intent(out) :: rho
9856 end subroutine
9857#endif
9858
9859#if RK3_ENABLED
9860 PURE module subroutine setRhoWNO_XY_D1_RK3(rho, frankx, franky, x, y)
9861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9862 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_RK3
9863#endif
9864 use pm_kind, only: TKR => RK, TKG => RK3
9865 real(TKG) , intent(in) , contiguous :: x(:), y(:)
9866 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9867 real(TKR) , intent(out) :: rho
9868 end subroutine
9869#endif
9870
9871#if RK2_ENABLED
9872 PURE module subroutine setRhoWNO_XY_D1_RK2(rho, frankx, franky, x, y)
9873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9874 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_RK2
9875#endif
9876 use pm_kind, only: TKR => RK, TKG => RK2
9877 real(TKG) , intent(in) , contiguous :: x(:), y(:)
9878 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9879 real(TKR) , intent(out) :: rho
9880 end subroutine
9881#endif
9882
9883#if RK1_ENABLED
9884 PURE module subroutine setRhoWNO_XY_D1_RK1(rho, frankx, franky, x, y)
9885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9886 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_RK1
9887#endif
9888 use pm_kind, only: TKR => RK, TKG => RK1
9889 real(TKG) , intent(in) , contiguous :: x(:), y(:)
9890 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9891 real(TKR) , intent(out) :: rho
9892 end subroutine
9893#endif
9894
9895 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9896
9897#if PDT_ENABLED
9898
9899#if SK5_ENABLED
9900 PURE module subroutine setRhoWNO_XY_D1_PSSK5(rho, frankx, franky, x, y)
9901#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9902 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_PSSK5
9903#endif
9904 use pm_kind, only: TKR => RK, SKG => SK5
9905 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
9906 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9907 real(TKR) , intent(out) :: rho
9908 end subroutine
9909#endif
9910
9911#if SK4_ENABLED
9912 PURE module subroutine setRhoWNO_XY_D1_PSSK4(rho, frankx, franky, x, y)
9913#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9914 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_PSSK4
9915#endif
9916 use pm_kind, only: TKR => RK, SKG => SK4
9917 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
9918 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9919 real(TKR) , intent(out) :: rho
9920 end subroutine
9921#endif
9922
9923#if SK3_ENABLED
9924 PURE module subroutine setRhoWNO_XY_D1_PSSK3(rho, frankx, franky, x, y)
9925#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9926 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_PSSK3
9927#endif
9928 use pm_kind, only: TKR => RK, SKG => SK3
9929 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
9930 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9931 real(TKR) , intent(out) :: rho
9932 end subroutine
9933#endif
9934
9935#if SK2_ENABLED
9936 PURE module subroutine setRhoWNO_XY_D1_PSSK2(rho, frankx, franky, x, y)
9937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9938 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_PSSK2
9939#endif
9940 use pm_kind, only: TKR => RK, SKG => SK2
9941 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
9942 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9943 real(TKR) , intent(out) :: rho
9944 end subroutine
9945#endif
9946
9947#if SK1_ENABLED
9948 PURE module subroutine setRhoWNO_XY_D1_PSSK1(rho, frankx, franky, x, y)
9949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9950 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_PSSK1
9951#endif
9952 use pm_kind, only: TKR => RK, SKG => SK1
9953 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
9954 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9955 real(TKR) , intent(out) :: rho
9956 end subroutine
9957#endif
9958
9959#endif
9960!PDT_ENABLED
9961
9962 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9963
9964 PURE module subroutine setRhoWNO_XY_D1_BSSK(rho, frankx, franky, x, y)
9965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9966 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XY_D1_BSSK
9967#endif
9968 use pm_kind, only: TKR => RK, SKG => SK
9969 type(css_type) , intent(in) , contiguous :: x(:), y(:)
9970 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9971 real(TKR) , intent(out) :: rho
9972 end subroutine
9973
9974 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9975
9976 end interface setRho
9977
9978 ! XY - Rho - WTI
9979
9980 interface setRho
9981
9982 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9983
9984#if SK5_ENABLED
9985 PURE module subroutine setRhoWTI_XY_D0_SK5(rho, frankx, franky, x, y, weight)
9986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9987 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D0_SK5
9988#endif
9989 use pm_kind, only: TKR => RK, SKG => SK5
9990 integer(IK) , intent(in) , contiguous :: weight(:)
9991 character(*,SKG) , intent(in) :: x, y
9992 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
9993 real(TKR) , intent(out) :: rho
9994 end subroutine
9995#endif
9996
9997#if SK4_ENABLED
9998 PURE module subroutine setRhoWTI_XY_D0_SK4(rho, frankx, franky, x, y, weight)
9999#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10000 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D0_SK4
10001#endif
10002 use pm_kind, only: TKR => RK, SKG => SK4
10003 integer(IK) , intent(in) , contiguous :: weight(:)
10004 character(*,SKG) , intent(in) :: x, y
10005 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10006 real(TKR) , intent(out) :: rho
10007 end subroutine
10008#endif
10009
10010#if SK3_ENABLED
10011 PURE module subroutine setRhoWTI_XY_D0_SK3(rho, frankx, franky, x, y, weight)
10012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10013 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D0_SK3
10014#endif
10015 use pm_kind, only: TKR => RK, SKG => SK3
10016 integer(IK) , intent(in) , contiguous :: weight(:)
10017 character(*,SKG) , intent(in) :: x, y
10018 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10019 real(TKR) , intent(out) :: rho
10020 end subroutine
10021#endif
10022
10023#if SK2_ENABLED
10024 PURE module subroutine setRhoWTI_XY_D0_SK2(rho, frankx, franky, x, y, weight)
10025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10026 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D0_SK2
10027#endif
10028 use pm_kind, only: TKR => RK, SKG => SK2
10029 integer(IK) , intent(in) , contiguous :: weight(:)
10030 character(*,SKG) , intent(in) :: x, y
10031 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10032 real(TKR) , intent(out) :: rho
10033 end subroutine
10034#endif
10035
10036#if SK1_ENABLED
10037 PURE module subroutine setRhoWTI_XY_D0_SK1(rho, frankx, franky, x, y, weight)
10038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10039 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D0_SK1
10040#endif
10041 use pm_kind, only: TKR => RK, SKG => SK1
10042 integer(IK) , intent(in) , contiguous :: weight(:)
10043 character(*,SKG) , intent(in) :: x, y
10044 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10045 real(TKR) , intent(out) :: rho
10046 end subroutine
10047#endif
10048
10049 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10050
10051#if SK5_ENABLED
10052 PURE module subroutine setRhoWTI_XY_D1_SK5(rho, frankx, franky, x, y, weight)
10053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10054 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_SK5
10055#endif
10056 use pm_kind, only: TKR => RK, SKG => SK5
10057 integer(IK) , intent(in) , contiguous :: weight(:)
10058 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10059 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10060 real(TKR) , intent(out) :: rho
10061 end subroutine
10062#endif
10063
10064#if SK4_ENABLED
10065 PURE module subroutine setRhoWTI_XY_D1_SK4(rho, frankx, franky, x, y, weight)
10066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10067 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_SK4
10068#endif
10069 use pm_kind, only: TKR => RK, SKG => SK4
10070 integer(IK) , intent(in) , contiguous :: weight(:)
10071 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10072 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10073 real(TKR) , intent(out) :: rho
10074 end subroutine
10075#endif
10076
10077#if SK3_ENABLED
10078 PURE module subroutine setRhoWTI_XY_D1_SK3(rho, frankx, franky, x, y, weight)
10079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10080 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_SK3
10081#endif
10082 use pm_kind, only: TKR => RK, SKG => SK3
10083 integer(IK) , intent(in) , contiguous :: weight(:)
10084 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10085 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10086 real(TKR) , intent(out) :: rho
10087 end subroutine
10088#endif
10089
10090#if SK2_ENABLED
10091 PURE module subroutine setRhoWTI_XY_D1_SK2(rho, frankx, franky, x, y, weight)
10092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10093 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_SK2
10094#endif
10095 use pm_kind, only: TKR => RK, SKG => SK2
10096 integer(IK) , intent(in) , contiguous :: weight(:)
10097 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10098 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10099 real(TKR) , intent(out) :: rho
10100 end subroutine
10101#endif
10102
10103#if SK1_ENABLED
10104 PURE module subroutine setRhoWTI_XY_D1_SK1(rho, frankx, franky, x, y, weight)
10105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10106 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_SK1
10107#endif
10108 use pm_kind, only: TKR => RK, SKG => SK1
10109 integer(IK) , intent(in) , contiguous :: weight(:)
10110 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10111 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10112 real(TKR) , intent(out) :: rho
10113 end subroutine
10114#endif
10115
10116 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10117
10118#if IK5_ENABLED
10119 PURE module subroutine setRhoWTI_XY_D1_IK5(rho, frankx, franky, x, y, weight)
10120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10121 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_IK5
10122#endif
10123 use pm_kind, only: TKR => RK, IKG => IK5
10124 integer(IK) , intent(in) , contiguous :: weight(:)
10125 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10126 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10127 real(TKR) , intent(out) :: rho
10128 end subroutine
10129#endif
10130
10131#if IK4_ENABLED
10132 PURE module subroutine setRhoWTI_XY_D1_IK4(rho, frankx, franky, x, y, weight)
10133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10134 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_IK4
10135#endif
10136 use pm_kind, only: TKR => RK, IKG => IK4
10137 integer(IK) , intent(in) , contiguous :: weight(:)
10138 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10139 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10140 real(TKR) , intent(out) :: rho
10141 end subroutine
10142#endif
10143
10144#if IK3_ENABLED
10145 PURE module subroutine setRhoWTI_XY_D1_IK3(rho, frankx, franky, x, y, weight)
10146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10147 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_IK3
10148#endif
10149 use pm_kind, only: TKR => RK, IKG => IK3
10150 integer(IK) , intent(in) , contiguous :: weight(:)
10151 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10152 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10153 real(TKR) , intent(out) :: rho
10154 end subroutine
10155#endif
10156
10157#if IK2_ENABLED
10158 PURE module subroutine setRhoWTI_XY_D1_IK2(rho, frankx, franky, x, y, weight)
10159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10160 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_IK2
10161#endif
10162 use pm_kind, only: TKR => RK, IKG => IK2
10163 integer(IK) , intent(in) , contiguous :: weight(:)
10164 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10165 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10166 real(TKR) , intent(out) :: rho
10167 end subroutine
10168#endif
10169
10170#if IK1_ENABLED
10171 PURE module subroutine setRhoWTI_XY_D1_IK1(rho, frankx, franky, x, y, weight)
10172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10173 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_IK1
10174#endif
10175 use pm_kind, only: TKR => RK, IKG => IK1
10176 integer(IK) , intent(in) , contiguous :: weight(:)
10177 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10178 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10179 real(TKR) , intent(out) :: rho
10180 end subroutine
10181#endif
10182
10183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10184
10185#if RK5_ENABLED
10186 PURE module subroutine setRhoWTI_XY_D1_RK5(rho, frankx, franky, x, y, weight)
10187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10188 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_RK5
10189#endif
10190 use pm_kind, only: TKR => RK, TKG => RK5
10191 integer(IK) , intent(in) , contiguous :: weight(:)
10192 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10193 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10194 real(TKR) , intent(out) :: rho
10195 end subroutine
10196#endif
10197
10198#if RK4_ENABLED
10199 PURE module subroutine setRhoWTI_XY_D1_RK4(rho, frankx, franky, x, y, weight)
10200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10201 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_RK4
10202#endif
10203 use pm_kind, only: TKR => RK, TKG => RK4
10204 integer(IK) , intent(in) , contiguous :: weight(:)
10205 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10206 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10207 real(TKR) , intent(out) :: rho
10208 end subroutine
10209#endif
10210
10211#if RK3_ENABLED
10212 PURE module subroutine setRhoWTI_XY_D1_RK3(rho, frankx, franky, x, y, weight)
10213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10214 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_RK3
10215#endif
10216 use pm_kind, only: TKR => RK, TKG => RK3
10217 integer(IK) , intent(in) , contiguous :: weight(:)
10218 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10219 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10220 real(TKR) , intent(out) :: rho
10221 end subroutine
10222#endif
10223
10224#if RK2_ENABLED
10225 PURE module subroutine setRhoWTI_XY_D1_RK2(rho, frankx, franky, x, y, weight)
10226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10227 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_RK2
10228#endif
10229 use pm_kind, only: TKR => RK, TKG => RK2
10230 integer(IK) , intent(in) , contiguous :: weight(:)
10231 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10232 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10233 real(TKR) , intent(out) :: rho
10234 end subroutine
10235#endif
10236
10237#if RK1_ENABLED
10238 PURE module subroutine setRhoWTI_XY_D1_RK1(rho, frankx, franky, x, y, weight)
10239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10240 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_RK1
10241#endif
10242 use pm_kind, only: TKR => RK, TKG => RK1
10243 integer(IK) , intent(in) , contiguous :: weight(:)
10244 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10245 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10246 real(TKR) , intent(out) :: rho
10247 end subroutine
10248#endif
10249
10250 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10251
10252#if PDT_ENABLED
10253
10254#if SK5_ENABLED
10255 PURE module subroutine setRhoWTI_XY_D1_PSSK5(rho, frankx, franky, x, y, weight)
10256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10257 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_PSSK5
10258#endif
10259 use pm_kind, only: TKR => RK, SKG => SK5
10260 integer(IK) , intent(in) , contiguous :: weight(:)
10261 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10262 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10263 real(TKR) , intent(out) :: rho
10264 end subroutine
10265#endif
10266
10267#if SK4_ENABLED
10268 PURE module subroutine setRhoWTI_XY_D1_PSSK4(rho, frankx, franky, x, y, weight)
10269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10270 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_PSSK4
10271#endif
10272 use pm_kind, only: TKR => RK, SKG => SK4
10273 integer(IK) , intent(in) , contiguous :: weight(:)
10274 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10275 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10276 real(TKR) , intent(out) :: rho
10277 end subroutine
10278#endif
10279
10280#if SK3_ENABLED
10281 PURE module subroutine setRhoWTI_XY_D1_PSSK3(rho, frankx, franky, x, y, weight)
10282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10283 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_PSSK3
10284#endif
10285 use pm_kind, only: TKR => RK, SKG => SK3
10286 integer(IK) , intent(in) , contiguous :: weight(:)
10287 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10288 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10289 real(TKR) , intent(out) :: rho
10290 end subroutine
10291#endif
10292
10293#if SK2_ENABLED
10294 PURE module subroutine setRhoWTI_XY_D1_PSSK2(rho, frankx, franky, x, y, weight)
10295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10296 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_PSSK2
10297#endif
10298 use pm_kind, only: TKR => RK, SKG => SK2
10299 integer(IK) , intent(in) , contiguous :: weight(:)
10300 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10301 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10302 real(TKR) , intent(out) :: rho
10303 end subroutine
10304#endif
10305
10306#if SK1_ENABLED
10307 PURE module subroutine setRhoWTI_XY_D1_PSSK1(rho, frankx, franky, x, y, weight)
10308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10309 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_PSSK1
10310#endif
10311 use pm_kind, only: TKR => RK, SKG => SK1
10312 integer(IK) , intent(in) , contiguous :: weight(:)
10313 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10314 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10315 real(TKR) , intent(out) :: rho
10316 end subroutine
10317#endif
10318
10319#endif
10320!PDT_ENABLED
10321
10322 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10323
10324 PURE module subroutine setRhoWTI_XY_D1_BSSK(rho, frankx, franky, x, y, weight)
10325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10326 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XY_D1_BSSK
10327#endif
10328 use pm_kind, only: TKR => RK, SKG => SK
10329 integer(IK) , intent(in) , contiguous :: weight(:)
10330 type(css_type) , intent(in) , contiguous :: x(:), y(:)
10331 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10332 real(TKR) , intent(out) :: rho
10333 end subroutine
10334
10335 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10336
10337 end interface setRho
10338
10339 ! XY - Rho - WTR
10340
10341 interface setRho
10342
10343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10344
10345#if SK5_ENABLED
10346 PURE module subroutine setRhoWTR_XY_D0_SK5(rho, frankx, franky, x, y, weight)
10347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10348 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D0_SK5
10349#endif
10350 use pm_kind, only: TKR => RK, SKG => SK5
10351 real(TKR) , intent(in) , contiguous :: weight(:)
10352 character(*,SKG) , intent(in) :: x, y
10353 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10354 real(TKR) , intent(out) :: rho
10355 end subroutine
10356#endif
10357
10358#if SK4_ENABLED
10359 PURE module subroutine setRhoWTR_XY_D0_SK4(rho, frankx, franky, x, y, weight)
10360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10361 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D0_SK4
10362#endif
10363 use pm_kind, only: TKR => RK, SKG => SK4
10364 real(TKR) , intent(in) , contiguous :: weight(:)
10365 character(*,SKG) , intent(in) :: x, y
10366 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10367 real(TKR) , intent(out) :: rho
10368 end subroutine
10369#endif
10370
10371#if SK3_ENABLED
10372 PURE module subroutine setRhoWTR_XY_D0_SK3(rho, frankx, franky, x, y, weight)
10373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10374 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D0_SK3
10375#endif
10376 use pm_kind, only: TKR => RK, SKG => SK3
10377 real(TKR) , intent(in) , contiguous :: weight(:)
10378 character(*,SKG) , intent(in) :: x, y
10379 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10380 real(TKR) , intent(out) :: rho
10381 end subroutine
10382#endif
10383
10384#if SK2_ENABLED
10385 PURE module subroutine setRhoWTR_XY_D0_SK2(rho, frankx, franky, x, y, weight)
10386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10387 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D0_SK2
10388#endif
10389 use pm_kind, only: TKR => RK, SKG => SK2
10390 real(TKR) , intent(in) , contiguous :: weight(:)
10391 character(*,SKG) , intent(in) :: x, y
10392 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10393 real(TKR) , intent(out) :: rho
10394 end subroutine
10395#endif
10396
10397#if SK1_ENABLED
10398 PURE module subroutine setRhoWTR_XY_D0_SK1(rho, frankx, franky, x, y, weight)
10399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10400 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D0_SK1
10401#endif
10402 use pm_kind, only: TKR => RK, SKG => SK1
10403 real(TKR) , intent(in) , contiguous :: weight(:)
10404 character(*,SKG) , intent(in) :: x, y
10405 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10406 real(TKR) , intent(out) :: rho
10407 end subroutine
10408#endif
10409
10410 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10411
10412#if SK5_ENABLED
10413 PURE module subroutine setRhoWTR_XY_D1_SK5(rho, frankx, franky, x, y, weight)
10414#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10415 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_SK5
10416#endif
10417 use pm_kind, only: TKR => RK, SKG => SK5
10418 real(TKR) , intent(in) , contiguous :: weight(:)
10419 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10420 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10421 real(TKR) , intent(out) :: rho
10422 end subroutine
10423#endif
10424
10425#if SK4_ENABLED
10426 PURE module subroutine setRhoWTR_XY_D1_SK4(rho, frankx, franky, x, y, weight)
10427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10428 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_SK4
10429#endif
10430 use pm_kind, only: TKR => RK, SKG => SK4
10431 real(TKR) , intent(in) , contiguous :: weight(:)
10432 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10433 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10434 real(TKR) , intent(out) :: rho
10435 end subroutine
10436#endif
10437
10438#if SK3_ENABLED
10439 PURE module subroutine setRhoWTR_XY_D1_SK3(rho, frankx, franky, x, y, weight)
10440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10441 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_SK3
10442#endif
10443 use pm_kind, only: TKR => RK, SKG => SK3
10444 real(TKR) , intent(in) , contiguous :: weight(:)
10445 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10446 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10447 real(TKR) , intent(out) :: rho
10448 end subroutine
10449#endif
10450
10451#if SK2_ENABLED
10452 PURE module subroutine setRhoWTR_XY_D1_SK2(rho, frankx, franky, x, y, weight)
10453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10454 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_SK2
10455#endif
10456 use pm_kind, only: TKR => RK, SKG => SK2
10457 real(TKR) , intent(in) , contiguous :: weight(:)
10458 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10459 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10460 real(TKR) , intent(out) :: rho
10461 end subroutine
10462#endif
10463
10464#if SK1_ENABLED
10465 PURE module subroutine setRhoWTR_XY_D1_SK1(rho, frankx, franky, x, y, weight)
10466#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10467 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_SK1
10468#endif
10469 use pm_kind, only: TKR => RK, SKG => SK1
10470 real(TKR) , intent(in) , contiguous :: weight(:)
10471 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
10472 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10473 real(TKR) , intent(out) :: rho
10474 end subroutine
10475#endif
10476
10477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10478
10479#if IK5_ENABLED
10480 PURE module subroutine setRhoWTR_XY_D1_IK5(rho, frankx, franky, x, y, weight)
10481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10482 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_IK5
10483#endif
10484 use pm_kind, only: TKR => RK, IKG => IK5
10485 real(TKR) , intent(in) , contiguous :: weight(:)
10486 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10487 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10488 real(TKR) , intent(out) :: rho
10489 end subroutine
10490#endif
10491
10492#if IK4_ENABLED
10493 PURE module subroutine setRhoWTR_XY_D1_IK4(rho, frankx, franky, x, y, weight)
10494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10495 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_IK4
10496#endif
10497 use pm_kind, only: TKR => RK, IKG => IK4
10498 real(TKR) , intent(in) , contiguous :: weight(:)
10499 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10500 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10501 real(TKR) , intent(out) :: rho
10502 end subroutine
10503#endif
10504
10505#if IK3_ENABLED
10506 PURE module subroutine setRhoWTR_XY_D1_IK3(rho, frankx, franky, x, y, weight)
10507#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10508 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_IK3
10509#endif
10510 use pm_kind, only: TKR => RK, IKG => IK3
10511 real(TKR) , intent(in) , contiguous :: weight(:)
10512 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10513 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10514 real(TKR) , intent(out) :: rho
10515 end subroutine
10516#endif
10517
10518#if IK2_ENABLED
10519 PURE module subroutine setRhoWTR_XY_D1_IK2(rho, frankx, franky, x, y, weight)
10520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10521 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_IK2
10522#endif
10523 use pm_kind, only: TKR => RK, IKG => IK2
10524 real(TKR) , intent(in) , contiguous :: weight(:)
10525 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10526 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10527 real(TKR) , intent(out) :: rho
10528 end subroutine
10529#endif
10530
10531#if IK1_ENABLED
10532 PURE module subroutine setRhoWTR_XY_D1_IK1(rho, frankx, franky, x, y, weight)
10533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10534 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_IK1
10535#endif
10536 use pm_kind, only: TKR => RK, IKG => IK1
10537 real(TKR) , intent(in) , contiguous :: weight(:)
10538 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
10539 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10540 real(TKR) , intent(out) :: rho
10541 end subroutine
10542#endif
10543
10544 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10545
10546#if RK5_ENABLED
10547 PURE module subroutine setRhoWTR_XY_D1_RK5(rho, frankx, franky, x, y, weight)
10548#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10549 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_RK5
10550#endif
10551 use pm_kind, only: TKR => RK, TKG => RK5
10552 real(TKR) , intent(in) , contiguous :: weight(:)
10553 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10554 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10555 real(TKR) , intent(out) :: rho
10556 end subroutine
10557#endif
10558
10559#if RK4_ENABLED
10560 PURE module subroutine setRhoWTR_XY_D1_RK4(rho, frankx, franky, x, y, weight)
10561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10562 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_RK4
10563#endif
10564 use pm_kind, only: TKR => RK, TKG => RK4
10565 real(TKR) , intent(in) , contiguous :: weight(:)
10566 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10567 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10568 real(TKR) , intent(out) :: rho
10569 end subroutine
10570#endif
10571
10572#if RK3_ENABLED
10573 PURE module subroutine setRhoWTR_XY_D1_RK3(rho, frankx, franky, x, y, weight)
10574#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10575 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_RK3
10576#endif
10577 use pm_kind, only: TKR => RK, TKG => RK3
10578 real(TKR) , intent(in) , contiguous :: weight(:)
10579 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10580 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10581 real(TKR) , intent(out) :: rho
10582 end subroutine
10583#endif
10584
10585#if RK2_ENABLED
10586 PURE module subroutine setRhoWTR_XY_D1_RK2(rho, frankx, franky, x, y, weight)
10587#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10588 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_RK2
10589#endif
10590 use pm_kind, only: TKR => RK, TKG => RK2
10591 real(TKR) , intent(in) , contiguous :: weight(:)
10592 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10593 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10594 real(TKR) , intent(out) :: rho
10595 end subroutine
10596#endif
10597
10598#if RK1_ENABLED
10599 PURE module subroutine setRhoWTR_XY_D1_RK1(rho, frankx, franky, x, y, weight)
10600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10601 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_RK1
10602#endif
10603 use pm_kind, only: TKR => RK, TKG => RK1
10604 real(TKR) , intent(in) , contiguous :: weight(:)
10605 real(TKG) , intent(in) , contiguous :: x(:), y(:)
10606 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10607 real(TKR) , intent(out) :: rho
10608 end subroutine
10609#endif
10610
10611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10612
10613#if PDT_ENABLED
10614
10615#if SK5_ENABLED
10616 PURE module subroutine setRhoWTR_XY_D1_PSSK5(rho, frankx, franky, x, y, weight)
10617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10618 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_PSSK5
10619#endif
10620 use pm_kind, only: TKR => RK, SKG => SK5
10621 real(TKR) , intent(in) , contiguous :: weight(:)
10622 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10623 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10624 real(TKR) , intent(out) :: rho
10625 end subroutine
10626#endif
10627
10628#if SK4_ENABLED
10629 PURE module subroutine setRhoWTR_XY_D1_PSSK4(rho, frankx, franky, x, y, weight)
10630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10631 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_PSSK4
10632#endif
10633 use pm_kind, only: TKR => RK, SKG => SK4
10634 real(TKR) , intent(in) , contiguous :: weight(:)
10635 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10636 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10637 real(TKR) , intent(out) :: rho
10638 end subroutine
10639#endif
10640
10641#if SK3_ENABLED
10642 PURE module subroutine setRhoWTR_XY_D1_PSSK3(rho, frankx, franky, x, y, weight)
10643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10644 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_PSSK3
10645#endif
10646 use pm_kind, only: TKR => RK, SKG => SK3
10647 real(TKR) , intent(in) , contiguous :: weight(:)
10648 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10649 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10650 real(TKR) , intent(out) :: rho
10651 end subroutine
10652#endif
10653
10654#if SK2_ENABLED
10655 PURE module subroutine setRhoWTR_XY_D1_PSSK2(rho, frankx, franky, x, y, weight)
10656#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10657 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_PSSK2
10658#endif
10659 use pm_kind, only: TKR => RK, SKG => SK2
10660 real(TKR) , intent(in) , contiguous :: weight(:)
10661 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10662 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10663 real(TKR) , intent(out) :: rho
10664 end subroutine
10665#endif
10666
10667#if SK1_ENABLED
10668 PURE module subroutine setRhoWTR_XY_D1_PSSK1(rho, frankx, franky, x, y, weight)
10669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10670 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_PSSK1
10671#endif
10672 use pm_kind, only: TKR => RK, SKG => SK1
10673 real(TKR) , intent(in) , contiguous :: weight(:)
10674 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
10675 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10676 real(TKR) , intent(out) :: rho
10677 end subroutine
10678#endif
10679
10680#endif
10681!PDT_ENABLED
10682
10683 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10684
10685 PURE module subroutine setRhoWTR_XY_D1_BSSK(rho, frankx, franky, x, y, weight)
10686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10687 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XY_D1_BSSK
10688#endif
10689 use pm_kind, only: TKR => RK, SKG => SK
10690 real(TKR) , intent(in) , contiguous :: weight(:)
10691 type(css_type) , intent(in) , contiguous :: x(:), y(:)
10692 real(TKR) , intent(out) , contiguous :: frankx(:), franky(:)
10693 real(TKR) , intent(out) :: rho
10694 end subroutine
10695
10696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10697
10698 end interface setRho
10699
10700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10701
10702 ! UXD - Rho - WNO
10703
10704 interface setRho
10705
10706 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10707
10708#if SK5_ENABLED
10709 PURE module subroutine setRhoWNO_UXD_SK5(rho, subset, frank, sample, dim)
10710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10711 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_SK5
10712#endif
10713 use pm_kind, only: TKR => RK, SKG => SK5
10714 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
10715 real(TKR) , intent(out) , contiguous :: frank(:,:)
10716 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10717 integer(IK) , intent(in) :: dim
10718 type(uppDia_type) , intent(in) :: subset
10719 end subroutine
10720#endif
10721
10722#if SK4_ENABLED
10723 PURE module subroutine setRhoWNO_UXD_SK4(rho, subset, frank, sample, dim)
10724#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10725 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_SK4
10726#endif
10727 use pm_kind, only: TKR => RK, SKG => SK4
10728 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
10729 real(TKR) , intent(out) , contiguous :: frank(:,:)
10730 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10731 integer(IK) , intent(in) :: dim
10732 type(uppDia_type) , intent(in) :: subset
10733 end subroutine
10734#endif
10735
10736#if SK3_ENABLED
10737 PURE module subroutine setRhoWNO_UXD_SK3(rho, subset, frank, sample, dim)
10738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10739 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_SK3
10740#endif
10741 use pm_kind, only: TKR => RK, SKG => SK3
10742 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
10743 real(TKR) , intent(out) , contiguous :: frank(:,:)
10744 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10745 integer(IK) , intent(in) :: dim
10746 type(uppDia_type) , intent(in) :: subset
10747 end subroutine
10748#endif
10749
10750#if SK2_ENABLED
10751 PURE module subroutine setRhoWNO_UXD_SK2(rho, subset, frank, sample, dim)
10752#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10753 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_SK2
10754#endif
10755 use pm_kind, only: TKR => RK, SKG => SK2
10756 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
10757 real(TKR) , intent(out) , contiguous :: frank(:,:)
10758 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10759 integer(IK) , intent(in) :: dim
10760 type(uppDia_type) , intent(in) :: subset
10761 end subroutine
10762#endif
10763
10764#if SK1_ENABLED
10765 PURE module subroutine setRhoWNO_UXD_SK1(rho, subset, frank, sample, dim)
10766#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10767 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_SK1
10768#endif
10769 use pm_kind, only: TKR => RK, SKG => SK1
10770 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
10771 real(TKR) , intent(out) , contiguous :: frank(:,:)
10772 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10773 integer(IK) , intent(in) :: dim
10774 type(uppDia_type) , intent(in) :: subset
10775 end subroutine
10776#endif
10777
10778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10779
10780#if IK5_ENABLED
10781 PURE module subroutine setRhoWNO_UXD_IK5(rho, subset, frank, sample, dim)
10782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10783 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_IK5
10784#endif
10785 use pm_kind, only: TKR => RK, IKG => IK5
10786 integer(IKG) , intent(in) , contiguous :: sample(:,:)
10787 real(TKR) , intent(out) , contiguous :: frank(:,:)
10788 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10789 integer(IK) , intent(in) :: dim
10790 type(uppDia_type) , intent(in) :: subset
10791 end subroutine
10792#endif
10793
10794#if IK4_ENABLED
10795 PURE module subroutine setRhoWNO_UXD_IK4(rho, subset, frank, sample, dim)
10796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10797 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_IK4
10798#endif
10799 use pm_kind, only: TKR => RK, IKG => IK4
10800 integer(IKG) , intent(in) , contiguous :: sample(:,:)
10801 real(TKR) , intent(out) , contiguous :: frank(:,:)
10802 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10803 integer(IK) , intent(in) :: dim
10804 type(uppDia_type) , intent(in) :: subset
10805 end subroutine
10806#endif
10807
10808#if IK3_ENABLED
10809 PURE module subroutine setRhoWNO_UXD_IK3(rho, subset, frank, sample, dim)
10810#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10811 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_IK3
10812#endif
10813 use pm_kind, only: TKR => RK, IKG => IK3
10814 integer(IKG) , intent(in) , contiguous :: sample(:,:)
10815 real(TKR) , intent(out) , contiguous :: frank(:,:)
10816 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10817 integer(IK) , intent(in) :: dim
10818 type(uppDia_type) , intent(in) :: subset
10819 end subroutine
10820#endif
10821
10822#if IK2_ENABLED
10823 PURE module subroutine setRhoWNO_UXD_IK2(rho, subset, frank, sample, dim)
10824#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10825 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_IK2
10826#endif
10827 use pm_kind, only: TKR => RK, IKG => IK2
10828 integer(IKG) , intent(in) , contiguous :: sample(:,:)
10829 real(TKR) , intent(out) , contiguous :: frank(:,:)
10830 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10831 integer(IK) , intent(in) :: dim
10832 type(uppDia_type) , intent(in) :: subset
10833 end subroutine
10834#endif
10835
10836#if IK1_ENABLED
10837 PURE module subroutine setRhoWNO_UXD_IK1(rho, subset, frank, sample, dim)
10838#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10839 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_IK1
10840#endif
10841 use pm_kind, only: TKR => RK, IKG => IK1
10842 integer(IKG) , intent(in) , contiguous :: sample(:,:)
10843 real(TKR) , intent(out) , contiguous :: frank(:,:)
10844 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10845 integer(IK) , intent(in) :: dim
10846 type(uppDia_type) , intent(in) :: subset
10847 end subroutine
10848#endif
10849
10850 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10851
10852#if RK5_ENABLED
10853 PURE module subroutine setRhoWNO_UXD_RK5(rho, subset, frank, sample, dim)
10854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10855 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_RK5
10856#endif
10857 use pm_kind, only: TKR => RK, TKG => RK5
10858 real(TKG) , intent(in) , contiguous :: sample(:,:)
10859 real(TKR) , intent(out) , contiguous :: frank(:,:)
10860 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10861 integer(IK) , intent(in) :: dim
10862 type(uppDia_type) , intent(in) :: subset
10863 end subroutine
10864#endif
10865
10866#if RK4_ENABLED
10867 PURE module subroutine setRhoWNO_UXD_RK4(rho, subset, frank, sample, dim)
10868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10869 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_RK4
10870#endif
10871 use pm_kind, only: TKR => RK, TKG => RK4
10872 real(TKG) , intent(in) , contiguous :: sample(:,:)
10873 real(TKR) , intent(out) , contiguous :: frank(:,:)
10874 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10875 integer(IK) , intent(in) :: dim
10876 type(uppDia_type) , intent(in) :: subset
10877 end subroutine
10878#endif
10879
10880#if RK3_ENABLED
10881 PURE module subroutine setRhoWNO_UXD_RK3(rho, subset, frank, sample, dim)
10882#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10883 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_RK3
10884#endif
10885 use pm_kind, only: TKR => RK, TKG => RK3
10886 real(TKG) , intent(in) , contiguous :: sample(:,:)
10887 real(TKR) , intent(out) , contiguous :: frank(:,:)
10888 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10889 integer(IK) , intent(in) :: dim
10890 type(uppDia_type) , intent(in) :: subset
10891 end subroutine
10892#endif
10893
10894#if RK2_ENABLED
10895 PURE module subroutine setRhoWNO_UXD_RK2(rho, subset, frank, sample, dim)
10896#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10897 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_RK2
10898#endif
10899 use pm_kind, only: TKR => RK, TKG => RK2
10900 real(TKG) , intent(in) , contiguous :: sample(:,:)
10901 real(TKR) , intent(out) , contiguous :: frank(:,:)
10902 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10903 integer(IK) , intent(in) :: dim
10904 type(uppDia_type) , intent(in) :: subset
10905 end subroutine
10906#endif
10907
10908#if RK1_ENABLED
10909 PURE module subroutine setRhoWNO_UXD_RK1(rho, subset, frank, sample, dim)
10910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10911 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_RK1
10912#endif
10913 use pm_kind, only: TKR => RK, TKG => RK1
10914 real(TKG) , intent(in) , contiguous :: sample(:,:)
10915 real(TKR) , intent(out) , contiguous :: frank(:,:)
10916 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10917 integer(IK) , intent(in) :: dim
10918 type(uppDia_type) , intent(in) :: subset
10919 end subroutine
10920#endif
10921
10922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10923
10924#if PDT_ENABLED
10925
10926#if SK5_ENABLED
10927 PURE module subroutine setRhoWNO_UXD_PSSK5(rho, subset, frank, sample, dim)
10928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10929 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_PSSK5
10930#endif
10931 use pm_kind, only: TKR => RK, SKG => SK5
10932 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
10933 real(TKR) , intent(out) , contiguous :: frank(:,:)
10934 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10935 integer(IK) , intent(in) :: dim
10936 type(uppDia_type) , intent(in) :: subset
10937 end subroutine
10938#endif
10939
10940#if SK4_ENABLED
10941 PURE module subroutine setRhoWNO_UXD_PSSK4(rho, subset, frank, sample, dim)
10942#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10943 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_PSSK4
10944#endif
10945 use pm_kind, only: TKR => RK, SKG => SK4
10946 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
10947 real(TKR) , intent(out) , contiguous :: frank(:,:)
10948 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10949 integer(IK) , intent(in) :: dim
10950 type(uppDia_type) , intent(in) :: subset
10951 end subroutine
10952#endif
10953
10954#if SK3_ENABLED
10955 PURE module subroutine setRhoWNO_UXD_PSSK3(rho, subset, frank, sample, dim)
10956#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10957 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_PSSK3
10958#endif
10959 use pm_kind, only: TKR => RK, SKG => SK3
10960 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
10961 real(TKR) , intent(out) , contiguous :: frank(:,:)
10962 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10963 integer(IK) , intent(in) :: dim
10964 type(uppDia_type) , intent(in) :: subset
10965 end subroutine
10966#endif
10967
10968#if SK2_ENABLED
10969 PURE module subroutine setRhoWNO_UXD_PSSK2(rho, subset, frank, sample, dim)
10970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10971 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_PSSK2
10972#endif
10973 use pm_kind, only: TKR => RK, SKG => SK2
10974 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
10975 real(TKR) , intent(out) , contiguous :: frank(:,:)
10976 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10977 integer(IK) , intent(in) :: dim
10978 type(uppDia_type) , intent(in) :: subset
10979 end subroutine
10980#endif
10981
10982#if SK1_ENABLED
10983 PURE module subroutine setRhoWNO_UXD_PSSK1(rho, subset, frank, sample, dim)
10984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10985 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_PSSK1
10986#endif
10987 use pm_kind, only: TKR => RK, SKG => SK1
10988 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
10989 real(TKR) , intent(out) , contiguous :: frank(:,:)
10990 real(TKR) , intent(inout) , contiguous :: rho(:,:)
10991 integer(IK) , intent(in) :: dim
10992 type(uppDia_type) , intent(in) :: subset
10993 end subroutine
10994#endif
10995
10996#endif
10997!PDT_ENABLED
10998
10999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11000
11001 PURE module subroutine setRhoWNO_UXD_BSSK(rho, subset, frank, sample, dim)
11002#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11003 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_UXD_BSSK
11004#endif
11005 use pm_kind, only: TKR => RK, SKG => SK
11006 type(css_type) , intent(in) , contiguous :: sample(:,:)
11007 real(TKR) , intent(out) , contiguous :: frank(:,:)
11008 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11009 integer(IK) , intent(in) :: dim
11010 type(uppDia_type) , intent(in) :: subset
11011 end subroutine
11012
11013 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11014
11015 end interface setRho
11016
11017 ! UXD - Rho - WTI
11018
11019 interface setRho
11020
11021 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11022
11023#if SK5_ENABLED
11024 PURE module subroutine setRhoWTI_UXD_SK5(rho, subset, frank, sample, dim, weight)
11025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11026 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_SK5
11027#endif
11028 use pm_kind, only: TKR => RK, SKG => SK5
11029 integer(IK) , intent(in) , contiguous :: weight(:)
11030 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11031 real(TKR) , intent(out) , contiguous :: frank(:,:)
11032 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11033 integer(IK) , intent(in) :: dim
11034 type(uppDia_type) , intent(in) :: subset
11035 end subroutine
11036#endif
11037
11038#if SK4_ENABLED
11039 PURE module subroutine setRhoWTI_UXD_SK4(rho, subset, frank, sample, dim, weight)
11040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11041 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_SK4
11042#endif
11043 use pm_kind, only: TKR => RK, SKG => SK4
11044 integer(IK) , intent(in) , contiguous :: weight(:)
11045 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11046 real(TKR) , intent(out) , contiguous :: frank(:,:)
11047 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11048 integer(IK) , intent(in) :: dim
11049 type(uppDia_type) , intent(in) :: subset
11050 end subroutine
11051#endif
11052
11053#if SK3_ENABLED
11054 PURE module subroutine setRhoWTI_UXD_SK3(rho, subset, frank, sample, dim, weight)
11055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11056 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_SK3
11057#endif
11058 use pm_kind, only: TKR => RK, SKG => SK3
11059 integer(IK) , intent(in) , contiguous :: weight(:)
11060 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11061 real(TKR) , intent(out) , contiguous :: frank(:,:)
11062 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11063 integer(IK) , intent(in) :: dim
11064 type(uppDia_type) , intent(in) :: subset
11065 end subroutine
11066#endif
11067
11068#if SK2_ENABLED
11069 PURE module subroutine setRhoWTI_UXD_SK2(rho, subset, frank, sample, dim, weight)
11070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11071 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_SK2
11072#endif
11073 use pm_kind, only: TKR => RK, SKG => SK2
11074 integer(IK) , intent(in) , contiguous :: weight(:)
11075 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11076 real(TKR) , intent(out) , contiguous :: frank(:,:)
11077 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11078 integer(IK) , intent(in) :: dim
11079 type(uppDia_type) , intent(in) :: subset
11080 end subroutine
11081#endif
11082
11083#if SK1_ENABLED
11084 PURE module subroutine setRhoWTI_UXD_SK1(rho, subset, frank, sample, dim, weight)
11085#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11086 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_SK1
11087#endif
11088 use pm_kind, only: TKR => RK, SKG => SK1
11089 integer(IK) , intent(in) , contiguous :: weight(:)
11090 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11091 real(TKR) , intent(out) , contiguous :: frank(:,:)
11092 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11093 integer(IK) , intent(in) :: dim
11094 type(uppDia_type) , intent(in) :: subset
11095 end subroutine
11096#endif
11097
11098 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11099
11100#if IK5_ENABLED
11101 PURE module subroutine setRhoWTI_UXD_IK5(rho, subset, frank, sample, dim, weight)
11102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11103 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_IK5
11104#endif
11105 use pm_kind, only: TKR => RK, IKG => IK5
11106 integer(IK) , intent(in) , contiguous :: weight(:)
11107 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11108 real(TKR) , intent(out) , contiguous :: frank(:,:)
11109 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11110 integer(IK) , intent(in) :: dim
11111 type(uppDia_type) , intent(in) :: subset
11112 end subroutine
11113#endif
11114
11115#if IK4_ENABLED
11116 PURE module subroutine setRhoWTI_UXD_IK4(rho, subset, frank, sample, dim, weight)
11117#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11118 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_IK4
11119#endif
11120 use pm_kind, only: TKR => RK, IKG => IK4
11121 integer(IK) , intent(in) , contiguous :: weight(:)
11122 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11123 real(TKR) , intent(out) , contiguous :: frank(:,:)
11124 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11125 integer(IK) , intent(in) :: dim
11126 type(uppDia_type) , intent(in) :: subset
11127 end subroutine
11128#endif
11129
11130#if IK3_ENABLED
11131 PURE module subroutine setRhoWTI_UXD_IK3(rho, subset, frank, sample, dim, weight)
11132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11133 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_IK3
11134#endif
11135 use pm_kind, only: TKR => RK, IKG => IK3
11136 integer(IK) , intent(in) , contiguous :: weight(:)
11137 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11138 real(TKR) , intent(out) , contiguous :: frank(:,:)
11139 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11140 integer(IK) , intent(in) :: dim
11141 type(uppDia_type) , intent(in) :: subset
11142 end subroutine
11143#endif
11144
11145#if IK2_ENABLED
11146 PURE module subroutine setRhoWTI_UXD_IK2(rho, subset, frank, sample, dim, weight)
11147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11148 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_IK2
11149#endif
11150 use pm_kind, only: TKR => RK, IKG => IK2
11151 integer(IK) , intent(in) , contiguous :: weight(:)
11152 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11153 real(TKR) , intent(out) , contiguous :: frank(:,:)
11154 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11155 integer(IK) , intent(in) :: dim
11156 type(uppDia_type) , intent(in) :: subset
11157 end subroutine
11158#endif
11159
11160#if IK1_ENABLED
11161 PURE module subroutine setRhoWTI_UXD_IK1(rho, subset, frank, sample, dim, weight)
11162#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11163 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_IK1
11164#endif
11165 use pm_kind, only: TKR => RK, IKG => IK1
11166 integer(IK) , intent(in) , contiguous :: weight(:)
11167 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11168 real(TKR) , intent(out) , contiguous :: frank(:,:)
11169 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11170 integer(IK) , intent(in) :: dim
11171 type(uppDia_type) , intent(in) :: subset
11172 end subroutine
11173#endif
11174
11175 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11176
11177#if RK5_ENABLED
11178 PURE module subroutine setRhoWTI_UXD_RK5(rho, subset, frank, sample, dim, weight)
11179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11180 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_RK5
11181#endif
11182 use pm_kind, only: TKR => RK, TKG => RK5
11183 integer(IK) , intent(in) , contiguous :: weight(:)
11184 real(TKG) , intent(in) , contiguous :: sample(:,:)
11185 real(TKR) , intent(out) , contiguous :: frank(:,:)
11186 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11187 integer(IK) , intent(in) :: dim
11188 type(uppDia_type) , intent(in) :: subset
11189 end subroutine
11190#endif
11191
11192#if RK4_ENABLED
11193 PURE module subroutine setRhoWTI_UXD_RK4(rho, subset, frank, sample, dim, weight)
11194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11195 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_RK4
11196#endif
11197 use pm_kind, only: TKR => RK, TKG => RK4
11198 integer(IK) , intent(in) , contiguous :: weight(:)
11199 real(TKG) , intent(in) , contiguous :: sample(:,:)
11200 real(TKR) , intent(out) , contiguous :: frank(:,:)
11201 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11202 integer(IK) , intent(in) :: dim
11203 type(uppDia_type) , intent(in) :: subset
11204 end subroutine
11205#endif
11206
11207#if RK3_ENABLED
11208 PURE module subroutine setRhoWTI_UXD_RK3(rho, subset, frank, sample, dim, weight)
11209#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11210 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_RK3
11211#endif
11212 use pm_kind, only: TKR => RK, TKG => RK3
11213 integer(IK) , intent(in) , contiguous :: weight(:)
11214 real(TKG) , intent(in) , contiguous :: sample(:,:)
11215 real(TKR) , intent(out) , contiguous :: frank(:,:)
11216 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11217 integer(IK) , intent(in) :: dim
11218 type(uppDia_type) , intent(in) :: subset
11219 end subroutine
11220#endif
11221
11222#if RK2_ENABLED
11223 PURE module subroutine setRhoWTI_UXD_RK2(rho, subset, frank, sample, dim, weight)
11224#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11225 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_RK2
11226#endif
11227 use pm_kind, only: TKR => RK, TKG => RK2
11228 integer(IK) , intent(in) , contiguous :: weight(:)
11229 real(TKG) , intent(in) , contiguous :: sample(:,:)
11230 real(TKR) , intent(out) , contiguous :: frank(:,:)
11231 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11232 integer(IK) , intent(in) :: dim
11233 type(uppDia_type) , intent(in) :: subset
11234 end subroutine
11235#endif
11236
11237#if RK1_ENABLED
11238 PURE module subroutine setRhoWTI_UXD_RK1(rho, subset, frank, sample, dim, weight)
11239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11240 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_RK1
11241#endif
11242 use pm_kind, only: TKR => RK, TKG => RK1
11243 integer(IK) , intent(in) , contiguous :: weight(:)
11244 real(TKG) , intent(in) , contiguous :: sample(:,:)
11245 real(TKR) , intent(out) , contiguous :: frank(:,:)
11246 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11247 integer(IK) , intent(in) :: dim
11248 type(uppDia_type) , intent(in) :: subset
11249 end subroutine
11250#endif
11251
11252 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11253
11254#if PDT_ENABLED
11255
11256#if SK5_ENABLED
11257 PURE module subroutine setRhoWTI_UXD_PSSK5(rho, subset, frank, sample, dim, weight)
11258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11259 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_PSSK5
11260#endif
11261 use pm_kind, only: TKR => RK, SKG => SK5
11262 integer(IK) , intent(in) , contiguous :: weight(:)
11263 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11264 real(TKR) , intent(out) , contiguous :: frank(:,:)
11265 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11266 integer(IK) , intent(in) :: dim
11267 type(uppDia_type) , intent(in) :: subset
11268 end subroutine
11269#endif
11270
11271#if SK4_ENABLED
11272 PURE module subroutine setRhoWTI_UXD_PSSK4(rho, subset, frank, sample, dim, weight)
11273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11274 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_PSSK4
11275#endif
11276 use pm_kind, only: TKR => RK, SKG => SK4
11277 integer(IK) , intent(in) , contiguous :: weight(:)
11278 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11279 real(TKR) , intent(out) , contiguous :: frank(:,:)
11280 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11281 integer(IK) , intent(in) :: dim
11282 type(uppDia_type) , intent(in) :: subset
11283 end subroutine
11284#endif
11285
11286#if SK3_ENABLED
11287 PURE module subroutine setRhoWTI_UXD_PSSK3(rho, subset, frank, sample, dim, weight)
11288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11289 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_PSSK3
11290#endif
11291 use pm_kind, only: TKR => RK, SKG => SK3
11292 integer(IK) , intent(in) , contiguous :: weight(:)
11293 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11294 real(TKR) , intent(out) , contiguous :: frank(:,:)
11295 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11296 integer(IK) , intent(in) :: dim
11297 type(uppDia_type) , intent(in) :: subset
11298 end subroutine
11299#endif
11300
11301#if SK2_ENABLED
11302 PURE module subroutine setRhoWTI_UXD_PSSK2(rho, subset, frank, sample, dim, weight)
11303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11304 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_PSSK2
11305#endif
11306 use pm_kind, only: TKR => RK, SKG => SK2
11307 integer(IK) , intent(in) , contiguous :: weight(:)
11308 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11309 real(TKR) , intent(out) , contiguous :: frank(:,:)
11310 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11311 integer(IK) , intent(in) :: dim
11312 type(uppDia_type) , intent(in) :: subset
11313 end subroutine
11314#endif
11315
11316#if SK1_ENABLED
11317 PURE module subroutine setRhoWTI_UXD_PSSK1(rho, subset, frank, sample, dim, weight)
11318#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11319 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_PSSK1
11320#endif
11321 use pm_kind, only: TKR => RK, SKG => SK1
11322 integer(IK) , intent(in) , contiguous :: weight(:)
11323 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11324 real(TKR) , intent(out) , contiguous :: frank(:,:)
11325 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11326 integer(IK) , intent(in) :: dim
11327 type(uppDia_type) , intent(in) :: subset
11328 end subroutine
11329#endif
11330
11331#endif
11332!PDT_ENABLED
11333
11334 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11335
11336 PURE module subroutine setRhoWTI_UXD_BSSK(rho, subset, frank, sample, dim, weight)
11337#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11338 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_UXD_BSSK
11339#endif
11340 use pm_kind, only: TKR => RK, SKG => SK
11341 integer(IK) , intent(in) , contiguous :: weight(:)
11342 type(css_type) , intent(in) , contiguous :: sample(:,:)
11343 real(TKR) , intent(out) , contiguous :: frank(:,:)
11344 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11345 integer(IK) , intent(in) :: dim
11346 type(uppDia_type) , intent(in) :: subset
11347 end subroutine
11348
11349 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11350
11351 end interface setRho
11352
11353 ! UXD - Rho - WTR
11354
11355 interface setRho
11356
11357 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11358
11359#if SK5_ENABLED
11360 PURE module subroutine setRhoWTR_UXD_SK5(rho, subset, frank, sample, dim, weight)
11361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11362 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_SK5
11363#endif
11364 use pm_kind, only: TKR => RK, SKG => SK5
11365 real(TKR) , intent(in) , contiguous :: weight(:)
11366 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11367 real(TKR) , intent(out) , contiguous :: frank(:,:)
11368 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11369 integer(IK) , intent(in) :: dim
11370 type(uppDia_type) , intent(in) :: subset
11371 end subroutine
11372#endif
11373
11374#if SK4_ENABLED
11375 PURE module subroutine setRhoWTR_UXD_SK4(rho, subset, frank, sample, dim, weight)
11376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11377 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_SK4
11378#endif
11379 use pm_kind, only: TKR => RK, SKG => SK4
11380 real(TKR) , intent(in) , contiguous :: weight(:)
11381 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11382 real(TKR) , intent(out) , contiguous :: frank(:,:)
11383 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11384 integer(IK) , intent(in) :: dim
11385 type(uppDia_type) , intent(in) :: subset
11386 end subroutine
11387#endif
11388
11389#if SK3_ENABLED
11390 PURE module subroutine setRhoWTR_UXD_SK3(rho, subset, frank, sample, dim, weight)
11391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11392 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_SK3
11393#endif
11394 use pm_kind, only: TKR => RK, SKG => SK3
11395 real(TKR) , intent(in) , contiguous :: weight(:)
11396 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11397 real(TKR) , intent(out) , contiguous :: frank(:,:)
11398 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11399 integer(IK) , intent(in) :: dim
11400 type(uppDia_type) , intent(in) :: subset
11401 end subroutine
11402#endif
11403
11404#if SK2_ENABLED
11405 PURE module subroutine setRhoWTR_UXD_SK2(rho, subset, frank, sample, dim, weight)
11406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11407 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_SK2
11408#endif
11409 use pm_kind, only: TKR => RK, SKG => SK2
11410 real(TKR) , intent(in) , contiguous :: weight(:)
11411 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11412 real(TKR) , intent(out) , contiguous :: frank(:,:)
11413 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11414 integer(IK) , intent(in) :: dim
11415 type(uppDia_type) , intent(in) :: subset
11416 end subroutine
11417#endif
11418
11419#if SK1_ENABLED
11420 PURE module subroutine setRhoWTR_UXD_SK1(rho, subset, frank, sample, dim, weight)
11421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11422 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_SK1
11423#endif
11424 use pm_kind, only: TKR => RK, SKG => SK1
11425 real(TKR) , intent(in) , contiguous :: weight(:)
11426 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11427 real(TKR) , intent(out) , contiguous :: frank(:,:)
11428 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11429 integer(IK) , intent(in) :: dim
11430 type(uppDia_type) , intent(in) :: subset
11431 end subroutine
11432#endif
11433
11434 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11435
11436#if IK5_ENABLED
11437 PURE module subroutine setRhoWTR_UXD_IK5(rho, subset, frank, sample, dim, weight)
11438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11439 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_IK5
11440#endif
11441 use pm_kind, only: TKR => RK, IKG => IK5
11442 real(TKR) , intent(in) , contiguous :: weight(:)
11443 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11444 real(TKR) , intent(out) , contiguous :: frank(:,:)
11445 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11446 integer(IK) , intent(in) :: dim
11447 type(uppDia_type) , intent(in) :: subset
11448 end subroutine
11449#endif
11450
11451#if IK4_ENABLED
11452 PURE module subroutine setRhoWTR_UXD_IK4(rho, subset, frank, sample, dim, weight)
11453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11454 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_IK4
11455#endif
11456 use pm_kind, only: TKR => RK, IKG => IK4
11457 real(TKR) , intent(in) , contiguous :: weight(:)
11458 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11459 real(TKR) , intent(out) , contiguous :: frank(:,:)
11460 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11461 integer(IK) , intent(in) :: dim
11462 type(uppDia_type) , intent(in) :: subset
11463 end subroutine
11464#endif
11465
11466#if IK3_ENABLED
11467 PURE module subroutine setRhoWTR_UXD_IK3(rho, subset, frank, sample, dim, weight)
11468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11469 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_IK3
11470#endif
11471 use pm_kind, only: TKR => RK, IKG => IK3
11472 real(TKR) , intent(in) , contiguous :: weight(:)
11473 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11474 real(TKR) , intent(out) , contiguous :: frank(:,:)
11475 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11476 integer(IK) , intent(in) :: dim
11477 type(uppDia_type) , intent(in) :: subset
11478 end subroutine
11479#endif
11480
11481#if IK2_ENABLED
11482 PURE module subroutine setRhoWTR_UXD_IK2(rho, subset, frank, sample, dim, weight)
11483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11484 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_IK2
11485#endif
11486 use pm_kind, only: TKR => RK, IKG => IK2
11487 real(TKR) , intent(in) , contiguous :: weight(:)
11488 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11489 real(TKR) , intent(out) , contiguous :: frank(:,:)
11490 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11491 integer(IK) , intent(in) :: dim
11492 type(uppDia_type) , intent(in) :: subset
11493 end subroutine
11494#endif
11495
11496#if IK1_ENABLED
11497 PURE module subroutine setRhoWTR_UXD_IK1(rho, subset, frank, sample, dim, weight)
11498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11499 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_IK1
11500#endif
11501 use pm_kind, only: TKR => RK, IKG => IK1
11502 real(TKR) , intent(in) , contiguous :: weight(:)
11503 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11504 real(TKR) , intent(out) , contiguous :: frank(:,:)
11505 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11506 integer(IK) , intent(in) :: dim
11507 type(uppDia_type) , intent(in) :: subset
11508 end subroutine
11509#endif
11510
11511 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11512
11513#if RK5_ENABLED
11514 PURE module subroutine setRhoWTR_UXD_RK5(rho, subset, frank, sample, dim, weight)
11515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11516 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_RK5
11517#endif
11518 use pm_kind, only: TKR => RK, TKG => RK5
11519 real(TKR) , intent(in) , contiguous :: weight(:)
11520 real(TKG) , intent(in) , contiguous :: sample(:,:)
11521 real(TKR) , intent(out) , contiguous :: frank(:,:)
11522 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11523 integer(IK) , intent(in) :: dim
11524 type(uppDia_type) , intent(in) :: subset
11525 end subroutine
11526#endif
11527
11528#if RK4_ENABLED
11529 PURE module subroutine setRhoWTR_UXD_RK4(rho, subset, frank, sample, dim, weight)
11530#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11531 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_RK4
11532#endif
11533 use pm_kind, only: TKR => RK, TKG => RK4
11534 real(TKR) , intent(in) , contiguous :: weight(:)
11535 real(TKG) , intent(in) , contiguous :: sample(:,:)
11536 real(TKR) , intent(out) , contiguous :: frank(:,:)
11537 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11538 integer(IK) , intent(in) :: dim
11539 type(uppDia_type) , intent(in) :: subset
11540 end subroutine
11541#endif
11542
11543#if RK3_ENABLED
11544 PURE module subroutine setRhoWTR_UXD_RK3(rho, subset, frank, sample, dim, weight)
11545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11546 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_RK3
11547#endif
11548 use pm_kind, only: TKR => RK, TKG => RK3
11549 real(TKR) , intent(in) , contiguous :: weight(:)
11550 real(TKG) , intent(in) , contiguous :: sample(:,:)
11551 real(TKR) , intent(out) , contiguous :: frank(:,:)
11552 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11553 integer(IK) , intent(in) :: dim
11554 type(uppDia_type) , intent(in) :: subset
11555 end subroutine
11556#endif
11557
11558#if RK2_ENABLED
11559 PURE module subroutine setRhoWTR_UXD_RK2(rho, subset, frank, sample, dim, weight)
11560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11561 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_RK2
11562#endif
11563 use pm_kind, only: TKR => RK, TKG => RK2
11564 real(TKR) , intent(in) , contiguous :: weight(:)
11565 real(TKG) , intent(in) , contiguous :: sample(:,:)
11566 real(TKR) , intent(out) , contiguous :: frank(:,:)
11567 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11568 integer(IK) , intent(in) :: dim
11569 type(uppDia_type) , intent(in) :: subset
11570 end subroutine
11571#endif
11572
11573#if RK1_ENABLED
11574 PURE module subroutine setRhoWTR_UXD_RK1(rho, subset, frank, sample, dim, weight)
11575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11576 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_RK1
11577#endif
11578 use pm_kind, only: TKR => RK, TKG => RK1
11579 real(TKR) , intent(in) , contiguous :: weight(:)
11580 real(TKG) , intent(in) , contiguous :: sample(:,:)
11581 real(TKR) , intent(out) , contiguous :: frank(:,:)
11582 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11583 integer(IK) , intent(in) :: dim
11584 type(uppDia_type) , intent(in) :: subset
11585 end subroutine
11586#endif
11587
11588 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11589
11590#if PDT_ENABLED
11591
11592#if SK5_ENABLED
11593 PURE module subroutine setRhoWTR_UXD_PSSK5(rho, subset, frank, sample, dim, weight)
11594#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11595 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_PSSK5
11596#endif
11597 use pm_kind, only: TKR => RK, SKG => SK5
11598 real(TKR) , intent(in) , contiguous :: weight(:)
11599 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11600 real(TKR) , intent(out) , contiguous :: frank(:,:)
11601 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11602 integer(IK) , intent(in) :: dim
11603 type(uppDia_type) , intent(in) :: subset
11604 end subroutine
11605#endif
11606
11607#if SK4_ENABLED
11608 PURE module subroutine setRhoWTR_UXD_PSSK4(rho, subset, frank, sample, dim, weight)
11609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11610 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_PSSK4
11611#endif
11612 use pm_kind, only: TKR => RK, SKG => SK4
11613 real(TKR) , intent(in) , contiguous :: weight(:)
11614 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11615 real(TKR) , intent(out) , contiguous :: frank(:,:)
11616 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11617 integer(IK) , intent(in) :: dim
11618 type(uppDia_type) , intent(in) :: subset
11619 end subroutine
11620#endif
11621
11622#if SK3_ENABLED
11623 PURE module subroutine setRhoWTR_UXD_PSSK3(rho, subset, frank, sample, dim, weight)
11624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11625 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_PSSK3
11626#endif
11627 use pm_kind, only: TKR => RK, SKG => SK3
11628 real(TKR) , intent(in) , contiguous :: weight(:)
11629 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11630 real(TKR) , intent(out) , contiguous :: frank(:,:)
11631 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11632 integer(IK) , intent(in) :: dim
11633 type(uppDia_type) , intent(in) :: subset
11634 end subroutine
11635#endif
11636
11637#if SK2_ENABLED
11638 PURE module subroutine setRhoWTR_UXD_PSSK2(rho, subset, frank, sample, dim, weight)
11639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11640 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_PSSK2
11641#endif
11642 use pm_kind, only: TKR => RK, SKG => SK2
11643 real(TKR) , intent(in) , contiguous :: weight(:)
11644 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11645 real(TKR) , intent(out) , contiguous :: frank(:,:)
11646 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11647 integer(IK) , intent(in) :: dim
11648 type(uppDia_type) , intent(in) :: subset
11649 end subroutine
11650#endif
11651
11652#if SK1_ENABLED
11653 PURE module subroutine setRhoWTR_UXD_PSSK1(rho, subset, frank, sample, dim, weight)
11654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11655 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_PSSK1
11656#endif
11657 use pm_kind, only: TKR => RK, SKG => SK1
11658 real(TKR) , intent(in) , contiguous :: weight(:)
11659 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11660 real(TKR) , intent(out) , contiguous :: frank(:,:)
11661 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11662 integer(IK) , intent(in) :: dim
11663 type(uppDia_type) , intent(in) :: subset
11664 end subroutine
11665#endif
11666
11667#endif
11668!PDT_ENABLED
11669
11670 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11671
11672 PURE module subroutine setRhoWTR_UXD_BSSK(rho, subset, frank, sample, dim, weight)
11673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11674 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_UXD_BSSK
11675#endif
11676 use pm_kind, only: TKR => RK, SKG => SK
11677 real(TKR) , intent(in) , contiguous :: weight(:)
11678 type(css_type) , intent(in) , contiguous :: sample(:,:)
11679 real(TKR) , intent(out) , contiguous :: frank(:,:)
11680 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11681 integer(IK) , intent(in) :: dim
11682 type(uppDia_type) , intent(in) :: subset
11683 end subroutine
11684
11685 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11686
11687 end interface setRho
11688
11689 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11690
11691 ! XLD - Rho - WNO
11692
11693 interface setRho
11694
11695 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11696
11697#if SK5_ENABLED
11698 PURE module subroutine setRhoWNO_XLD_SK5(rho, subset, frank, sample, dim)
11699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11700 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_SK5
11701#endif
11702 use pm_kind, only: TKR => RK, SKG => SK5
11703 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11704 real(TKR) , intent(out) , contiguous :: frank(:,:)
11705 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11706 integer(IK) , intent(in) :: dim
11707 type(lowDia_type) , intent(in) :: subset
11708 end subroutine
11709#endif
11710
11711#if SK4_ENABLED
11712 PURE module subroutine setRhoWNO_XLD_SK4(rho, subset, frank, sample, dim)
11713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11714 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_SK4
11715#endif
11716 use pm_kind, only: TKR => RK, SKG => SK4
11717 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11718 real(TKR) , intent(out) , contiguous :: frank(:,:)
11719 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11720 integer(IK) , intent(in) :: dim
11721 type(lowDia_type) , intent(in) :: subset
11722 end subroutine
11723#endif
11724
11725#if SK3_ENABLED
11726 PURE module subroutine setRhoWNO_XLD_SK3(rho, subset, frank, sample, dim)
11727#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11728 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_SK3
11729#endif
11730 use pm_kind, only: TKR => RK, SKG => SK3
11731 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11732 real(TKR) , intent(out) , contiguous :: frank(:,:)
11733 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11734 integer(IK) , intent(in) :: dim
11735 type(lowDia_type) , intent(in) :: subset
11736 end subroutine
11737#endif
11738
11739#if SK2_ENABLED
11740 PURE module subroutine setRhoWNO_XLD_SK2(rho, subset, frank, sample, dim)
11741#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11742 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_SK2
11743#endif
11744 use pm_kind, only: TKR => RK, SKG => SK2
11745 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11746 real(TKR) , intent(out) , contiguous :: frank(:,:)
11747 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11748 integer(IK) , intent(in) :: dim
11749 type(lowDia_type) , intent(in) :: subset
11750 end subroutine
11751#endif
11752
11753#if SK1_ENABLED
11754 PURE module subroutine setRhoWNO_XLD_SK1(rho, subset, frank, sample, dim)
11755#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11756 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_SK1
11757#endif
11758 use pm_kind, only: TKR => RK, SKG => SK1
11759 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
11760 real(TKR) , intent(out) , contiguous :: frank(:,:)
11761 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11762 integer(IK) , intent(in) :: dim
11763 type(lowDia_type) , intent(in) :: subset
11764 end subroutine
11765#endif
11766
11767 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11768
11769#if IK5_ENABLED
11770 PURE module subroutine setRhoWNO_XLD_IK5(rho, subset, frank, sample, dim)
11771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11772 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_IK5
11773#endif
11774 use pm_kind, only: TKR => RK, IKG => IK5
11775 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11776 real(TKR) , intent(out) , contiguous :: frank(:,:)
11777 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11778 integer(IK) , intent(in) :: dim
11779 type(lowDia_type) , intent(in) :: subset
11780 end subroutine
11781#endif
11782
11783#if IK4_ENABLED
11784 PURE module subroutine setRhoWNO_XLD_IK4(rho, subset, frank, sample, dim)
11785#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11786 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_IK4
11787#endif
11788 use pm_kind, only: TKR => RK, IKG => IK4
11789 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11790 real(TKR) , intent(out) , contiguous :: frank(:,:)
11791 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11792 integer(IK) , intent(in) :: dim
11793 type(lowDia_type) , intent(in) :: subset
11794 end subroutine
11795#endif
11796
11797#if IK3_ENABLED
11798 PURE module subroutine setRhoWNO_XLD_IK3(rho, subset, frank, sample, dim)
11799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11800 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_IK3
11801#endif
11802 use pm_kind, only: TKR => RK, IKG => IK3
11803 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11804 real(TKR) , intent(out) , contiguous :: frank(:,:)
11805 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11806 integer(IK) , intent(in) :: dim
11807 type(lowDia_type) , intent(in) :: subset
11808 end subroutine
11809#endif
11810
11811#if IK2_ENABLED
11812 PURE module subroutine setRhoWNO_XLD_IK2(rho, subset, frank, sample, dim)
11813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11814 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_IK2
11815#endif
11816 use pm_kind, only: TKR => RK, IKG => IK2
11817 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11818 real(TKR) , intent(out) , contiguous :: frank(:,:)
11819 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11820 integer(IK) , intent(in) :: dim
11821 type(lowDia_type) , intent(in) :: subset
11822 end subroutine
11823#endif
11824
11825#if IK1_ENABLED
11826 PURE module subroutine setRhoWNO_XLD_IK1(rho, subset, frank, sample, dim)
11827#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11828 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_IK1
11829#endif
11830 use pm_kind, only: TKR => RK, IKG => IK1
11831 integer(IKG) , intent(in) , contiguous :: sample(:,:)
11832 real(TKR) , intent(out) , contiguous :: frank(:,:)
11833 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11834 integer(IK) , intent(in) :: dim
11835 type(lowDia_type) , intent(in) :: subset
11836 end subroutine
11837#endif
11838
11839 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11840
11841#if RK5_ENABLED
11842 PURE module subroutine setRhoWNO_XLD_RK5(rho, subset, frank, sample, dim)
11843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11844 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_RK5
11845#endif
11846 use pm_kind, only: TKR => RK, TKG => RK5
11847 real(TKG) , intent(in) , contiguous :: sample(:,:)
11848 real(TKR) , intent(out) , contiguous :: frank(:,:)
11849 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11850 integer(IK) , intent(in) :: dim
11851 type(lowDia_type) , intent(in) :: subset
11852 end subroutine
11853#endif
11854
11855#if RK4_ENABLED
11856 PURE module subroutine setRhoWNO_XLD_RK4(rho, subset, frank, sample, dim)
11857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11858 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_RK4
11859#endif
11860 use pm_kind, only: TKR => RK, TKG => RK4
11861 real(TKG) , intent(in) , contiguous :: sample(:,:)
11862 real(TKR) , intent(out) , contiguous :: frank(:,:)
11863 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11864 integer(IK) , intent(in) :: dim
11865 type(lowDia_type) , intent(in) :: subset
11866 end subroutine
11867#endif
11868
11869#if RK3_ENABLED
11870 PURE module subroutine setRhoWNO_XLD_RK3(rho, subset, frank, sample, dim)
11871#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11872 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_RK3
11873#endif
11874 use pm_kind, only: TKR => RK, TKG => RK3
11875 real(TKG) , intent(in) , contiguous :: sample(:,:)
11876 real(TKR) , intent(out) , contiguous :: frank(:,:)
11877 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11878 integer(IK) , intent(in) :: dim
11879 type(lowDia_type) , intent(in) :: subset
11880 end subroutine
11881#endif
11882
11883#if RK2_ENABLED
11884 PURE module subroutine setRhoWNO_XLD_RK2(rho, subset, frank, sample, dim)
11885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11886 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_RK2
11887#endif
11888 use pm_kind, only: TKR => RK, TKG => RK2
11889 real(TKG) , intent(in) , contiguous :: sample(:,:)
11890 real(TKR) , intent(out) , contiguous :: frank(:,:)
11891 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11892 integer(IK) , intent(in) :: dim
11893 type(lowDia_type) , intent(in) :: subset
11894 end subroutine
11895#endif
11896
11897#if RK1_ENABLED
11898 PURE module subroutine setRhoWNO_XLD_RK1(rho, subset, frank, sample, dim)
11899#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11900 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_RK1
11901#endif
11902 use pm_kind, only: TKR => RK, TKG => RK1
11903 real(TKG) , intent(in) , contiguous :: sample(:,:)
11904 real(TKR) , intent(out) , contiguous :: frank(:,:)
11905 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11906 integer(IK) , intent(in) :: dim
11907 type(lowDia_type) , intent(in) :: subset
11908 end subroutine
11909#endif
11910
11911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11912
11913#if PDT_ENABLED
11914
11915#if SK5_ENABLED
11916 PURE module subroutine setRhoWNO_XLD_PSSK5(rho, subset, frank, sample, dim)
11917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11918 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_PSSK5
11919#endif
11920 use pm_kind, only: TKR => RK, SKG => SK5
11921 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11922 real(TKR) , intent(out) , contiguous :: frank(:,:)
11923 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11924 integer(IK) , intent(in) :: dim
11925 type(lowDia_type) , intent(in) :: subset
11926 end subroutine
11927#endif
11928
11929#if SK4_ENABLED
11930 PURE module subroutine setRhoWNO_XLD_PSSK4(rho, subset, frank, sample, dim)
11931#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11932 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_PSSK4
11933#endif
11934 use pm_kind, only: TKR => RK, SKG => SK4
11935 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11936 real(TKR) , intent(out) , contiguous :: frank(:,:)
11937 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11938 integer(IK) , intent(in) :: dim
11939 type(lowDia_type) , intent(in) :: subset
11940 end subroutine
11941#endif
11942
11943#if SK3_ENABLED
11944 PURE module subroutine setRhoWNO_XLD_PSSK3(rho, subset, frank, sample, dim)
11945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11946 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_PSSK3
11947#endif
11948 use pm_kind, only: TKR => RK, SKG => SK3
11949 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11950 real(TKR) , intent(out) , contiguous :: frank(:,:)
11951 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11952 integer(IK) , intent(in) :: dim
11953 type(lowDia_type) , intent(in) :: subset
11954 end subroutine
11955#endif
11956
11957#if SK2_ENABLED
11958 PURE module subroutine setRhoWNO_XLD_PSSK2(rho, subset, frank, sample, dim)
11959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11960 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_PSSK2
11961#endif
11962 use pm_kind, only: TKR => RK, SKG => SK2
11963 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11964 real(TKR) , intent(out) , contiguous :: frank(:,:)
11965 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11966 integer(IK) , intent(in) :: dim
11967 type(lowDia_type) , intent(in) :: subset
11968 end subroutine
11969#endif
11970
11971#if SK1_ENABLED
11972 PURE module subroutine setRhoWNO_XLD_PSSK1(rho, subset, frank, sample, dim)
11973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11974 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_PSSK1
11975#endif
11976 use pm_kind, only: TKR => RK, SKG => SK1
11977 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
11978 real(TKR) , intent(out) , contiguous :: frank(:,:)
11979 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11980 integer(IK) , intent(in) :: dim
11981 type(lowDia_type) , intent(in) :: subset
11982 end subroutine
11983#endif
11984
11985#endif
11986!PDT_ENABLED
11987
11988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11989
11990 PURE module subroutine setRhoWNO_XLD_BSSK(rho, subset, frank, sample, dim)
11991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11992 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWNO_XLD_BSSK
11993#endif
11994 use pm_kind, only: TKR => RK, SKG => SK
11995 type(css_type) , intent(in) , contiguous :: sample(:,:)
11996 real(TKR) , intent(out) , contiguous :: frank(:,:)
11997 real(TKR) , intent(inout) , contiguous :: rho(:,:)
11998 integer(IK) , intent(in) :: dim
11999 type(lowDia_type) , intent(in) :: subset
12000 end subroutine
12001
12002 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12003
12004 end interface setRho
12005
12006 ! XLD - Rho - WTI
12007
12008 interface setRho
12009
12010 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12011
12012#if SK5_ENABLED
12013 PURE module subroutine setRhoWTI_XLD_SK5(rho, subset, frank, sample, dim, weight)
12014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12015 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_SK5
12016#endif
12017 use pm_kind, only: TKR => RK, SKG => SK5
12018 integer(IK) , intent(in) , contiguous :: weight(:)
12019 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12020 real(TKR) , intent(out) , contiguous :: frank(:,:)
12021 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12022 integer(IK) , intent(in) :: dim
12023 type(lowDia_type) , intent(in) :: subset
12024 end subroutine
12025#endif
12026
12027#if SK4_ENABLED
12028 PURE module subroutine setRhoWTI_XLD_SK4(rho, subset, frank, sample, dim, weight)
12029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12030 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_SK4
12031#endif
12032 use pm_kind, only: TKR => RK, SKG => SK4
12033 integer(IK) , intent(in) , contiguous :: weight(:)
12034 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12035 real(TKR) , intent(out) , contiguous :: frank(:,:)
12036 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12037 integer(IK) , intent(in) :: dim
12038 type(lowDia_type) , intent(in) :: subset
12039 end subroutine
12040#endif
12041
12042#if SK3_ENABLED
12043 PURE module subroutine setRhoWTI_XLD_SK3(rho, subset, frank, sample, dim, weight)
12044#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12045 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_SK3
12046#endif
12047 use pm_kind, only: TKR => RK, SKG => SK3
12048 integer(IK) , intent(in) , contiguous :: weight(:)
12049 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12050 real(TKR) , intent(out) , contiguous :: frank(:,:)
12051 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12052 integer(IK) , intent(in) :: dim
12053 type(lowDia_type) , intent(in) :: subset
12054 end subroutine
12055#endif
12056
12057#if SK2_ENABLED
12058 PURE module subroutine setRhoWTI_XLD_SK2(rho, subset, frank, sample, dim, weight)
12059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12060 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_SK2
12061#endif
12062 use pm_kind, only: TKR => RK, SKG => SK2
12063 integer(IK) , intent(in) , contiguous :: weight(:)
12064 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12065 real(TKR) , intent(out) , contiguous :: frank(:,:)
12066 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12067 integer(IK) , intent(in) :: dim
12068 type(lowDia_type) , intent(in) :: subset
12069 end subroutine
12070#endif
12071
12072#if SK1_ENABLED
12073 PURE module subroutine setRhoWTI_XLD_SK1(rho, subset, frank, sample, dim, weight)
12074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12075 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_SK1
12076#endif
12077 use pm_kind, only: TKR => RK, SKG => SK1
12078 integer(IK) , intent(in) , contiguous :: weight(:)
12079 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12080 real(TKR) , intent(out) , contiguous :: frank(:,:)
12081 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12082 integer(IK) , intent(in) :: dim
12083 type(lowDia_type) , intent(in) :: subset
12084 end subroutine
12085#endif
12086
12087 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12088
12089#if IK5_ENABLED
12090 PURE module subroutine setRhoWTI_XLD_IK5(rho, subset, frank, sample, dim, weight)
12091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12092 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_IK5
12093#endif
12094 use pm_kind, only: TKR => RK, IKG => IK5
12095 integer(IK) , intent(in) , contiguous :: weight(:)
12096 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12097 real(TKR) , intent(out) , contiguous :: frank(:,:)
12098 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12099 integer(IK) , intent(in) :: dim
12100 type(lowDia_type) , intent(in) :: subset
12101 end subroutine
12102#endif
12103
12104#if IK4_ENABLED
12105 PURE module subroutine setRhoWTI_XLD_IK4(rho, subset, frank, sample, dim, weight)
12106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12107 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_IK4
12108#endif
12109 use pm_kind, only: TKR => RK, IKG => IK4
12110 integer(IK) , intent(in) , contiguous :: weight(:)
12111 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12112 real(TKR) , intent(out) , contiguous :: frank(:,:)
12113 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12114 integer(IK) , intent(in) :: dim
12115 type(lowDia_type) , intent(in) :: subset
12116 end subroutine
12117#endif
12118
12119#if IK3_ENABLED
12120 PURE module subroutine setRhoWTI_XLD_IK3(rho, subset, frank, sample, dim, weight)
12121#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12122 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_IK3
12123#endif
12124 use pm_kind, only: TKR => RK, IKG => IK3
12125 integer(IK) , intent(in) , contiguous :: weight(:)
12126 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12127 real(TKR) , intent(out) , contiguous :: frank(:,:)
12128 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12129 integer(IK) , intent(in) :: dim
12130 type(lowDia_type) , intent(in) :: subset
12131 end subroutine
12132#endif
12133
12134#if IK2_ENABLED
12135 PURE module subroutine setRhoWTI_XLD_IK2(rho, subset, frank, sample, dim, weight)
12136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12137 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_IK2
12138#endif
12139 use pm_kind, only: TKR => RK, IKG => IK2
12140 integer(IK) , intent(in) , contiguous :: weight(:)
12141 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12142 real(TKR) , intent(out) , contiguous :: frank(:,:)
12143 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12144 integer(IK) , intent(in) :: dim
12145 type(lowDia_type) , intent(in) :: subset
12146 end subroutine
12147#endif
12148
12149#if IK1_ENABLED
12150 PURE module subroutine setRhoWTI_XLD_IK1(rho, subset, frank, sample, dim, weight)
12151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12152 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_IK1
12153#endif
12154 use pm_kind, only: TKR => RK, IKG => IK1
12155 integer(IK) , intent(in) , contiguous :: weight(:)
12156 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12157 real(TKR) , intent(out) , contiguous :: frank(:,:)
12158 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12159 integer(IK) , intent(in) :: dim
12160 type(lowDia_type) , intent(in) :: subset
12161 end subroutine
12162#endif
12163
12164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12165
12166#if RK5_ENABLED
12167 PURE module subroutine setRhoWTI_XLD_RK5(rho, subset, frank, sample, dim, weight)
12168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12169 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_RK5
12170#endif
12171 use pm_kind, only: TKR => RK, TKG => RK5
12172 integer(IK) , intent(in) , contiguous :: weight(:)
12173 real(TKG) , intent(in) , contiguous :: sample(:,:)
12174 real(TKR) , intent(out) , contiguous :: frank(:,:)
12175 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12176 integer(IK) , intent(in) :: dim
12177 type(lowDia_type) , intent(in) :: subset
12178 end subroutine
12179#endif
12180
12181#if RK4_ENABLED
12182 PURE module subroutine setRhoWTI_XLD_RK4(rho, subset, frank, sample, dim, weight)
12183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12184 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_RK4
12185#endif
12186 use pm_kind, only: TKR => RK, TKG => RK4
12187 integer(IK) , intent(in) , contiguous :: weight(:)
12188 real(TKG) , intent(in) , contiguous :: sample(:,:)
12189 real(TKR) , intent(out) , contiguous :: frank(:,:)
12190 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12191 integer(IK) , intent(in) :: dim
12192 type(lowDia_type) , intent(in) :: subset
12193 end subroutine
12194#endif
12195
12196#if RK3_ENABLED
12197 PURE module subroutine setRhoWTI_XLD_RK3(rho, subset, frank, sample, dim, weight)
12198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12199 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_RK3
12200#endif
12201 use pm_kind, only: TKR => RK, TKG => RK3
12202 integer(IK) , intent(in) , contiguous :: weight(:)
12203 real(TKG) , intent(in) , contiguous :: sample(:,:)
12204 real(TKR) , intent(out) , contiguous :: frank(:,:)
12205 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12206 integer(IK) , intent(in) :: dim
12207 type(lowDia_type) , intent(in) :: subset
12208 end subroutine
12209#endif
12210
12211#if RK2_ENABLED
12212 PURE module subroutine setRhoWTI_XLD_RK2(rho, subset, frank, sample, dim, weight)
12213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12214 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_RK2
12215#endif
12216 use pm_kind, only: TKR => RK, TKG => RK2
12217 integer(IK) , intent(in) , contiguous :: weight(:)
12218 real(TKG) , intent(in) , contiguous :: sample(:,:)
12219 real(TKR) , intent(out) , contiguous :: frank(:,:)
12220 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12221 integer(IK) , intent(in) :: dim
12222 type(lowDia_type) , intent(in) :: subset
12223 end subroutine
12224#endif
12225
12226#if RK1_ENABLED
12227 PURE module subroutine setRhoWTI_XLD_RK1(rho, subset, frank, sample, dim, weight)
12228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12229 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_RK1
12230#endif
12231 use pm_kind, only: TKR => RK, TKG => RK1
12232 integer(IK) , intent(in) , contiguous :: weight(:)
12233 real(TKG) , intent(in) , contiguous :: sample(:,:)
12234 real(TKR) , intent(out) , contiguous :: frank(:,:)
12235 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12236 integer(IK) , intent(in) :: dim
12237 type(lowDia_type) , intent(in) :: subset
12238 end subroutine
12239#endif
12240
12241 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12242
12243#if PDT_ENABLED
12244
12245#if SK5_ENABLED
12246 PURE module subroutine setRhoWTI_XLD_PSSK5(rho, subset, frank, sample, dim, weight)
12247#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12248 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_PSSK5
12249#endif
12250 use pm_kind, only: TKR => RK, SKG => SK5
12251 integer(IK) , intent(in) , contiguous :: weight(:)
12252 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12253 real(TKR) , intent(out) , contiguous :: frank(:,:)
12254 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12255 integer(IK) , intent(in) :: dim
12256 type(lowDia_type) , intent(in) :: subset
12257 end subroutine
12258#endif
12259
12260#if SK4_ENABLED
12261 PURE module subroutine setRhoWTI_XLD_PSSK4(rho, subset, frank, sample, dim, weight)
12262#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12263 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_PSSK4
12264#endif
12265 use pm_kind, only: TKR => RK, SKG => SK4
12266 integer(IK) , intent(in) , contiguous :: weight(:)
12267 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12268 real(TKR) , intent(out) , contiguous :: frank(:,:)
12269 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12270 integer(IK) , intent(in) :: dim
12271 type(lowDia_type) , intent(in) :: subset
12272 end subroutine
12273#endif
12274
12275#if SK3_ENABLED
12276 PURE module subroutine setRhoWTI_XLD_PSSK3(rho, subset, frank, sample, dim, weight)
12277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12278 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_PSSK3
12279#endif
12280 use pm_kind, only: TKR => RK, SKG => SK3
12281 integer(IK) , intent(in) , contiguous :: weight(:)
12282 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12283 real(TKR) , intent(out) , contiguous :: frank(:,:)
12284 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12285 integer(IK) , intent(in) :: dim
12286 type(lowDia_type) , intent(in) :: subset
12287 end subroutine
12288#endif
12289
12290#if SK2_ENABLED
12291 PURE module subroutine setRhoWTI_XLD_PSSK2(rho, subset, frank, sample, dim, weight)
12292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12293 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_PSSK2
12294#endif
12295 use pm_kind, only: TKR => RK, SKG => SK2
12296 integer(IK) , intent(in) , contiguous :: weight(:)
12297 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12298 real(TKR) , intent(out) , contiguous :: frank(:,:)
12299 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12300 integer(IK) , intent(in) :: dim
12301 type(lowDia_type) , intent(in) :: subset
12302 end subroutine
12303#endif
12304
12305#if SK1_ENABLED
12306 PURE module subroutine setRhoWTI_XLD_PSSK1(rho, subset, frank, sample, dim, weight)
12307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12308 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_PSSK1
12309#endif
12310 use pm_kind, only: TKR => RK, SKG => SK1
12311 integer(IK) , intent(in) , contiguous :: weight(:)
12312 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12313 real(TKR) , intent(out) , contiguous :: frank(:,:)
12314 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12315 integer(IK) , intent(in) :: dim
12316 type(lowDia_type) , intent(in) :: subset
12317 end subroutine
12318#endif
12319
12320#endif
12321!PDT_ENABLED
12322
12323 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12324
12325 PURE module subroutine setRhoWTI_XLD_BSSK(rho, subset, frank, sample, dim, weight)
12326#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12327 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTI_XLD_BSSK
12328#endif
12329 use pm_kind, only: TKR => RK, SKG => SK
12330 integer(IK) , intent(in) , contiguous :: weight(:)
12331 type(css_type) , intent(in) , contiguous :: sample(:,:)
12332 real(TKR) , intent(out) , contiguous :: frank(:,:)
12333 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12334 integer(IK) , intent(in) :: dim
12335 type(lowDia_type) , intent(in) :: subset
12336 end subroutine
12337
12338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12339
12340 end interface setRho
12341
12342 ! XLD - Rho - WTR
12343
12344 interface setRho
12345
12346 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12347
12348#if SK5_ENABLED
12349 PURE module subroutine setRhoWTR_XLD_SK5(rho, subset, frank, sample, dim, weight)
12350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12351 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_SK5
12352#endif
12353 use pm_kind, only: TKR => RK, SKG => SK5
12354 real(TKR) , intent(in) , contiguous :: weight(:)
12355 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12356 real(TKR) , intent(out) , contiguous :: frank(:,:)
12357 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12358 integer(IK) , intent(in) :: dim
12359 type(lowDia_type) , intent(in) :: subset
12360 end subroutine
12361#endif
12362
12363#if SK4_ENABLED
12364 PURE module subroutine setRhoWTR_XLD_SK4(rho, subset, frank, sample, dim, weight)
12365#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12366 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_SK4
12367#endif
12368 use pm_kind, only: TKR => RK, SKG => SK4
12369 real(TKR) , intent(in) , contiguous :: weight(:)
12370 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12371 real(TKR) , intent(out) , contiguous :: frank(:,:)
12372 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12373 integer(IK) , intent(in) :: dim
12374 type(lowDia_type) , intent(in) :: subset
12375 end subroutine
12376#endif
12377
12378#if SK3_ENABLED
12379 PURE module subroutine setRhoWTR_XLD_SK3(rho, subset, frank, sample, dim, weight)
12380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12381 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_SK3
12382#endif
12383 use pm_kind, only: TKR => RK, SKG => SK3
12384 real(TKR) , intent(in) , contiguous :: weight(:)
12385 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12386 real(TKR) , intent(out) , contiguous :: frank(:,:)
12387 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12388 integer(IK) , intent(in) :: dim
12389 type(lowDia_type) , intent(in) :: subset
12390 end subroutine
12391#endif
12392
12393#if SK2_ENABLED
12394 PURE module subroutine setRhoWTR_XLD_SK2(rho, subset, frank, sample, dim, weight)
12395#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12396 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_SK2
12397#endif
12398 use pm_kind, only: TKR => RK, SKG => SK2
12399 real(TKR) , intent(in) , contiguous :: weight(:)
12400 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12401 real(TKR) , intent(out) , contiguous :: frank(:,:)
12402 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12403 integer(IK) , intent(in) :: dim
12404 type(lowDia_type) , intent(in) :: subset
12405 end subroutine
12406#endif
12407
12408#if SK1_ENABLED
12409 PURE module subroutine setRhoWTR_XLD_SK1(rho, subset, frank, sample, dim, weight)
12410#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12411 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_SK1
12412#endif
12413 use pm_kind, only: TKR => RK, SKG => SK1
12414 real(TKR) , intent(in) , contiguous :: weight(:)
12415 character(*,SKG) , intent(in) , contiguous :: sample(:,:)
12416 real(TKR) , intent(out) , contiguous :: frank(:,:)
12417 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12418 integer(IK) , intent(in) :: dim
12419 type(lowDia_type) , intent(in) :: subset
12420 end subroutine
12421#endif
12422
12423 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12424
12425#if IK5_ENABLED
12426 PURE module subroutine setRhoWTR_XLD_IK5(rho, subset, frank, sample, dim, weight)
12427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12428 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_IK5
12429#endif
12430 use pm_kind, only: TKR => RK, IKG => IK5
12431 real(TKR) , intent(in) , contiguous :: weight(:)
12432 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12433 real(TKR) , intent(out) , contiguous :: frank(:,:)
12434 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12435 integer(IK) , intent(in) :: dim
12436 type(lowDia_type) , intent(in) :: subset
12437 end subroutine
12438#endif
12439
12440#if IK4_ENABLED
12441 PURE module subroutine setRhoWTR_XLD_IK4(rho, subset, frank, sample, dim, weight)
12442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12443 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_IK4
12444#endif
12445 use pm_kind, only: TKR => RK, IKG => IK4
12446 real(TKR) , intent(in) , contiguous :: weight(:)
12447 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12448 real(TKR) , intent(out) , contiguous :: frank(:,:)
12449 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12450 integer(IK) , intent(in) :: dim
12451 type(lowDia_type) , intent(in) :: subset
12452 end subroutine
12453#endif
12454
12455#if IK3_ENABLED
12456 PURE module subroutine setRhoWTR_XLD_IK3(rho, subset, frank, sample, dim, weight)
12457#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12458 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_IK3
12459#endif
12460 use pm_kind, only: TKR => RK, IKG => IK3
12461 real(TKR) , intent(in) , contiguous :: weight(:)
12462 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12463 real(TKR) , intent(out) , contiguous :: frank(:,:)
12464 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12465 integer(IK) , intent(in) :: dim
12466 type(lowDia_type) , intent(in) :: subset
12467 end subroutine
12468#endif
12469
12470#if IK2_ENABLED
12471 PURE module subroutine setRhoWTR_XLD_IK2(rho, subset, frank, sample, dim, weight)
12472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12473 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_IK2
12474#endif
12475 use pm_kind, only: TKR => RK, IKG => IK2
12476 real(TKR) , intent(in) , contiguous :: weight(:)
12477 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12478 real(TKR) , intent(out) , contiguous :: frank(:,:)
12479 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12480 integer(IK) , intent(in) :: dim
12481 type(lowDia_type) , intent(in) :: subset
12482 end subroutine
12483#endif
12484
12485#if IK1_ENABLED
12486 PURE module subroutine setRhoWTR_XLD_IK1(rho, subset, frank, sample, dim, weight)
12487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12488 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_IK1
12489#endif
12490 use pm_kind, only: TKR => RK, IKG => IK1
12491 real(TKR) , intent(in) , contiguous :: weight(:)
12492 integer(IKG) , intent(in) , contiguous :: sample(:,:)
12493 real(TKR) , intent(out) , contiguous :: frank(:,:)
12494 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12495 integer(IK) , intent(in) :: dim
12496 type(lowDia_type) , intent(in) :: subset
12497 end subroutine
12498#endif
12499
12500 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12501
12502#if RK5_ENABLED
12503 PURE module subroutine setRhoWTR_XLD_RK5(rho, subset, frank, sample, dim, weight)
12504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12505 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_RK5
12506#endif
12507 use pm_kind, only: TKR => RK, TKG => RK5
12508 real(TKR) , intent(in) , contiguous :: weight(:)
12509 real(TKG) , intent(in) , contiguous :: sample(:,:)
12510 real(TKR) , intent(out) , contiguous :: frank(:,:)
12511 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12512 integer(IK) , intent(in) :: dim
12513 type(lowDia_type) , intent(in) :: subset
12514 end subroutine
12515#endif
12516
12517#if RK4_ENABLED
12518 PURE module subroutine setRhoWTR_XLD_RK4(rho, subset, frank, sample, dim, weight)
12519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12520 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_RK4
12521#endif
12522 use pm_kind, only: TKR => RK, TKG => RK4
12523 real(TKR) , intent(in) , contiguous :: weight(:)
12524 real(TKG) , intent(in) , contiguous :: sample(:,:)
12525 real(TKR) , intent(out) , contiguous :: frank(:,:)
12526 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12527 integer(IK) , intent(in) :: dim
12528 type(lowDia_type) , intent(in) :: subset
12529 end subroutine
12530#endif
12531
12532#if RK3_ENABLED
12533 PURE module subroutine setRhoWTR_XLD_RK3(rho, subset, frank, sample, dim, weight)
12534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12535 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_RK3
12536#endif
12537 use pm_kind, only: TKR => RK, TKG => RK3
12538 real(TKR) , intent(in) , contiguous :: weight(:)
12539 real(TKG) , intent(in) , contiguous :: sample(:,:)
12540 real(TKR) , intent(out) , contiguous :: frank(:,:)
12541 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12542 integer(IK) , intent(in) :: dim
12543 type(lowDia_type) , intent(in) :: subset
12544 end subroutine
12545#endif
12546
12547#if RK2_ENABLED
12548 PURE module subroutine setRhoWTR_XLD_RK2(rho, subset, frank, sample, dim, weight)
12549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12550 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_RK2
12551#endif
12552 use pm_kind, only: TKR => RK, TKG => RK2
12553 real(TKR) , intent(in) , contiguous :: weight(:)
12554 real(TKG) , intent(in) , contiguous :: sample(:,:)
12555 real(TKR) , intent(out) , contiguous :: frank(:,:)
12556 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12557 integer(IK) , intent(in) :: dim
12558 type(lowDia_type) , intent(in) :: subset
12559 end subroutine
12560#endif
12561
12562#if RK1_ENABLED
12563 PURE module subroutine setRhoWTR_XLD_RK1(rho, subset, frank, sample, dim, weight)
12564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12565 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_RK1
12566#endif
12567 use pm_kind, only: TKR => RK, TKG => RK1
12568 real(TKR) , intent(in) , contiguous :: weight(:)
12569 real(TKG) , intent(in) , contiguous :: sample(:,:)
12570 real(TKR) , intent(out) , contiguous :: frank(:,:)
12571 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12572 integer(IK) , intent(in) :: dim
12573 type(lowDia_type) , intent(in) :: subset
12574 end subroutine
12575#endif
12576
12577 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12578
12579#if PDT_ENABLED
12580
12581#if SK5_ENABLED
12582 PURE module subroutine setRhoWTR_XLD_PSSK5(rho, subset, frank, sample, dim, weight)
12583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12584 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_PSSK5
12585#endif
12586 use pm_kind, only: TKR => RK, SKG => SK5
12587 real(TKR) , intent(in) , contiguous :: weight(:)
12588 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12589 real(TKR) , intent(out) , contiguous :: frank(:,:)
12590 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12591 integer(IK) , intent(in) :: dim
12592 type(lowDia_type) , intent(in) :: subset
12593 end subroutine
12594#endif
12595
12596#if SK4_ENABLED
12597 PURE module subroutine setRhoWTR_XLD_PSSK4(rho, subset, frank, sample, dim, weight)
12598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12599 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_PSSK4
12600#endif
12601 use pm_kind, only: TKR => RK, SKG => SK4
12602 real(TKR) , intent(in) , contiguous :: weight(:)
12603 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12604 real(TKR) , intent(out) , contiguous :: frank(:,:)
12605 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12606 integer(IK) , intent(in) :: dim
12607 type(lowDia_type) , intent(in) :: subset
12608 end subroutine
12609#endif
12610
12611#if SK3_ENABLED
12612 PURE module subroutine setRhoWTR_XLD_PSSK3(rho, subset, frank, sample, dim, weight)
12613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12614 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_PSSK3
12615#endif
12616 use pm_kind, only: TKR => RK, SKG => SK3
12617 real(TKR) , intent(in) , contiguous :: weight(:)
12618 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12619 real(TKR) , intent(out) , contiguous :: frank(:,:)
12620 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12621 integer(IK) , intent(in) :: dim
12622 type(lowDia_type) , intent(in) :: subset
12623 end subroutine
12624#endif
12625
12626#if SK2_ENABLED
12627 PURE module subroutine setRhoWTR_XLD_PSSK2(rho, subset, frank, sample, dim, weight)
12628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12629 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_PSSK2
12630#endif
12631 use pm_kind, only: TKR => RK, SKG => SK2
12632 real(TKR) , intent(in) , contiguous :: weight(:)
12633 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12634 real(TKR) , intent(out) , contiguous :: frank(:,:)
12635 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12636 integer(IK) , intent(in) :: dim
12637 type(lowDia_type) , intent(in) :: subset
12638 end subroutine
12639#endif
12640
12641#if SK1_ENABLED
12642 PURE module subroutine setRhoWTR_XLD_PSSK1(rho, subset, frank, sample, dim, weight)
12643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12644 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_PSSK1
12645#endif
12646 use pm_kind, only: TKR => RK, SKG => SK1
12647 real(TKR) , intent(in) , contiguous :: weight(:)
12648 type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
12649 real(TKR) , intent(out) , contiguous :: frank(:,:)
12650 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12651 integer(IK) , intent(in) :: dim
12652 type(lowDia_type) , intent(in) :: subset
12653 end subroutine
12654#endif
12655
12656#endif
12657!PDT_ENABLED
12658
12659 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12660
12661 PURE module subroutine setRhoWTR_XLD_BSSK(rho, subset, frank, sample, dim, weight)
12662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12663 !DEC$ ATTRIBUTES DLLEXPORT :: setRhoWTR_XLD_BSSK
12664#endif
12665 use pm_kind, only: TKR => RK, SKG => SK
12666 real(TKR) , intent(in) , contiguous :: weight(:)
12667 type(css_type) , intent(in) , contiguous :: sample(:,:)
12668 real(TKR) , intent(out) , contiguous :: frank(:,:)
12669 real(TKR) , intent(inout) , contiguous :: rho(:,:)
12670 integer(IK) , intent(in) :: dim
12671 type(lowDia_type) , intent(in) :: subset
12672 end subroutine
12673
12674 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12675
12676 end interface setRho
12677
12678!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12679
12680! !> \brief
12681! !> Generate and return the Kendall-A rank correlation matrix of the input (weighted) sample of shape `(ndim, nsam)` or `(nsam, ndim)`
12682! !> or the Kendall-A rank correlation coefficient a pair of (weighted) time series `x(1:nsam)` and `y(1:nsam)` where `ndim`
12683! !> is the number of data dimensions (the number of data attributes) and `nsam` is the number of data points.<br>
12684! !>
12685! !> \details
12686! !> This generic interface performs one of the following computational tasks:<br>
12687! !> <ol>
12688! !> <li> Compute the Kendall-A rank correlation coefficient corresponding to an input pair of time series `x` and `y` of `nsam` observations.<br>
12689! !> <li> Compute the Kendall-A rank correlation matrix corresponding to an input multivariate sample of `nsam` observations each with `ndim` attributes.<br>
12690! !> </ol>
12691! !> See the documentation of the parent module [pm_sampleCor](@ref pm_sampleCor) for algorithmic details and sample correlation matrix definition.<br>
12692! !>
12693! !> \param[in] x : The input `contiguous` vector of shape `(nsam)` of,
12694! !> <ol>
12695! !> <li> type `character` of kind \SKALL,
12696! !> <li> type `integer` of kind \IKALL,
12697! !> <li> type `real` of kind \RKALL,
12698! !> <li> type string container [css_type](@ref pm_container::css_type),
12699! !> <li> type string PDT container [css_pdt](@ref pm_container::css_pdt),
12700! !> </ol>
12701! !> or a scalar of,
12702! !> <ol>
12703! !> <li> type `character` of kind \SKALL of arbitrary length type parameter,
12704! !> </ol>
12705! !> containing the first attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
12706! !> (**optional**. It **must** be present **if and only if** the input argument `y` is present and `tau` and `sample` are missing.)
12707! !> \param[in] y : The input `contiguous` vector of shape `(nsam)` of the same type and kind as the input `x`,
12708! !> containing the second attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
12709! !> (**optional**. It **must** be present **if and only if** the input argument `x` is present and `tau` and `sample` are missing.)
12710! !> \param[in] sample : The input `contiguous` array of shape `(ndim, nsam)` or `(nsam, ndim)` of,
12711! !> <ol>
12712! !> <li> type `character` of kind \SKALL,
12713! !> <li> type `integer` of kind \IKALL,
12714! !> <li> type `real` of kind \RKALL,
12715! !> <li> type string container [css_type](@ref pm_container::css_type),
12716! !> <li> type string PDT container [css_pdt](@ref pm_container::css_pdt),
12717! !> </ol>
12718! !> or a scalar of,
12719! !> <ol>
12720! !> <li> type `character` of kind \SKALL of arbitrary length type parameter,
12721! !> </ol>
12722! !> containing the sample comprised of `nsam` observations each with `ndim` attributes.<br>
12723! !> If `sample` is a matrix, then the input argument `dim` dictates the direction along which the correlation matrix `tau` must be computed (i.e., the direction of individual observations).<br>
12724! !> (**optional**. It **must** be present **if and only if** the input arguments `tau`, `x`, and `y` are missing.)
12725! !> \param[in] dim : The input scalar `integer` of default kind \IK indicating the dimension of `sample` along which the correlation matrix must be computed.<br>
12726! !> <ol>
12727! !> <li> If `dim = 1`, the input `sample` is assumed to have the shape `(nsam, ndim)`.<br>
12728! !> <li> If `dim = 2`, the input `sample` is assumed to have the shape `(ndim, nsam)`.<br>
12729! !> </ol>
12730! !> (**optional**. It must be present **if and only if** the input argument `sample` is present and is of rank `2`.)
12731! !> \param[in] weight : The `contiguous` vector of length `nsam` of,
12732! !> <ol>
12733! !> <li> type `integer` of default kind \IK, or
12734! !> <li> type `real` of default kind \RK,
12735! !> </ol>
12736! !> containing the corresponding weights of individual `nsam` observations in `sample` or the pair of vectors `x` and `y`.<br>
12737! !> (**optional**. default = [getFilled(1, nsam)](@ref pm_arrayFill::getFilled).)
12738! !>
12739! !> `tau` : The output positive semi-definite scalar or square matrix of shape `(1 : ndim, 1 : ndim)` of,
12740! !> <ol>
12741! !> <li> type `real` of default kind \RK,
12742! !> </ol>
12743! !> containing the (Kendall-A rank) correlation coefficient or full correlation matrix corresponding to the input `sample` or time series `x` and `y`, whichever is present.<br>
12744! !> <ol>
12745! !> <li> If `x(:)` and `y(:)` are present, then `tau` shall be a scalar.<br>
12746! !> <li> If `sample` is present, then `tau` shall be a square matrix of shape `[size(sample, 3 - dim), size(sample, 3 - dim)]`.<br>
12747! !> </ol>
12748! !>
12749! !> \interface{getTau}
12750! !> \code{.F90}
12751! !>
12752! !> use pm_sampleCor, only: getTau
12753! !>
12754! !> ! XY time series Kendall-A rank correlation coefficient.
12755! !>
12756! !> tau = getTau(x(1:nsam), y(1:nsam) ) ! Kendall-A rank correlation coefficient.
12757! !> tau = getTau(x(1:nsam), y(1:nsam), weight(1:nsam)) ! Kendall-A rank correlation coefficient.
12758! !>
12759! !> ! sample Kendall-A rank correlation matrix.
12760! !>
12761! !> tau(1:ndim, 1:ndim) = getTau(sample(:,:), dim)
12762! !> tau(1:ndim, 1:ndim) = getTau(sample(:,:), dim, weight(1:nsam))
12763! !>
12764! !> \endcode
12765! !>
12766! !> \warning
12767! !> All conditions that must hold for the generic interface [setTau](@ref pm_sampleCor::setTau) must equally hold for this generic interface.<br>
12768! !> \vericons
12769! !>
12770! !> \warnpure
12771! !>
12772! !> \see
12773! !> [getCor](@ref pm_sampleCor::getCor)<br>
12774! !> [setCor](@ref pm_sampleCor::setCor)<br>
12775! !> [getRho](@ref pm_sampleCor::getRho)<br>
12776! !> [setRho](@ref pm_sampleCor::setRho)<br>
12777! !> [getTau](@ref pm_sampleCor::getTau)<br>
12778! !> [setTau](@ref pm_sampleCor::setTau)<br>
12779! !> [getCov](@ref pm_sampleCov::getCov)<br>
12780! !> [setCov](@ref pm_sampleCov::setCov)<br>
12781! !> [setECDF](@ref pm_sampleECDF::setECDF)<br>
12782! !> [getMean](@ref pm_sampleMean::getMean)<br>
12783! !> [setMean](@ref pm_sampleMean::setMean)<br>
12784! !> [getShifted](@ref pm_sampleShift::getShifted)<br>
12785! !> [setShifted](@ref pm_sampleShift::setShifted)<br>
12786! !> [getVar](@ref pm_sampleVar::getVar)<br>
12787! !> [setVar](@ref pm_sampleVar::setVar)<br>
12788! !>
12789! !> \example{getTau}
12790! !> \include{lineno} example/pm_sampleCor/getTau/main.F90
12791! !> \compilef{getTau}
12792! !> \output{getTau}
12793! !> \include{lineno} example/pm_sampleCor/getTau/main.out.F90
12794! !>
12795! !> \test
12796! !> [test_pm_sampleCor](@ref test_pm_sampleCor)
12797! !>
12798! !> \final{getTau}
12799! !>
12800! !> \author
12801! !> \FatemehBagheri, Monday 02:15 AM, September 27, 2021, Dallas, TX<br>
12802! !> \AmirShahmoradi, Monday March 6, 2017, 3:22 pm, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin.<br>
12803!
12804! ! XY - Tau - WNO
12805!
12806! interface getTau
12807!
12808! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12809!
12810!#if SK5_ENABLED
12811! PURE module function getTauWNO_XY_D0_SK5(x, y) result(tau)
12812!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12813! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D0_SK5
12814!#endif
12815! use pm_kind, only: TKG => RK, SKG => SK5
12816! character(*,SKG) , intent(in) :: x, y
12817! real(TKG) :: tau
12818! end function
12819!#endif
12820!
12821!#if SK4_ENABLED
12822! PURE module function getTauWNO_XY_D0_SK4(x, y) result(tau)
12823!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12824! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D0_SK4
12825!#endif
12826! use pm_kind, only: TKG => RK, SKG => SK4
12827! character(*,SKG) , intent(in) :: x, y
12828! real(TKG) :: tau
12829! end function
12830!#endif
12831!
12832!#if SK3_ENABLED
12833! PURE module function getTauWNO_XY_D0_SK3(x, y) result(tau)
12834!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12835! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D0_SK3
12836!#endif
12837! use pm_kind, only: TKG => RK, SKG => SK3
12838! character(*,SKG) , intent(in) :: x, y
12839! real(TKG) :: tau
12840! end function
12841!#endif
12842!
12843!#if SK2_ENABLED
12844! PURE module function getTauWNO_XY_D0_SK2(x, y) result(tau)
12845!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12846! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D0_SK2
12847!#endif
12848! use pm_kind, only: TKG => RK, SKG => SK2
12849! character(*,SKG) , intent(in) :: x, y
12850! real(TKG) :: tau
12851! end function
12852!#endif
12853!
12854!#if SK1_ENABLED
12855! PURE module function getTauWNO_XY_D0_SK1(x, y) result(tau)
12856!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12857! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D0_SK1
12858!#endif
12859! use pm_kind, only: TKG => RK, SKG => SK1
12860! character(*,SKG) , intent(in) :: x, y
12861! real(TKG) :: tau
12862! end function
12863!#endif
12864!
12865! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12866!
12867!#if SK5_ENABLED
12868! PURE module function getTauWNO_XY_D1_SK5(x, y) result(tau)
12869!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12870! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_SK5
12871!#endif
12872! use pm_kind, only: TKG => RK, SKG => SK5
12873! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
12874! real(TKG) :: tau
12875! end function
12876!#endif
12877!
12878!#if SK4_ENABLED
12879! PURE module function getTauWNO_XY_D1_SK4(x, y) result(tau)
12880!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12881! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_SK4
12882!#endif
12883! use pm_kind, only: TKG => RK, SKG => SK4
12884! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
12885! real(TKG) :: tau
12886! end function
12887!#endif
12888!
12889!#if SK3_ENABLED
12890! PURE module function getTauWNO_XY_D1_SK3(x, y) result(tau)
12891!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12892! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_SK3
12893!#endif
12894! use pm_kind, only: TKG => RK, SKG => SK3
12895! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
12896! real(TKG) :: tau
12897! end function
12898!#endif
12899!
12900!#if SK2_ENABLED
12901! PURE module function getTauWNO_XY_D1_SK2(x, y) result(tau)
12902!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12903! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_SK2
12904!#endif
12905! use pm_kind, only: TKG => RK, SKG => SK2
12906! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
12907! real(TKG) :: tau
12908! end function
12909!#endif
12910!
12911!#if SK1_ENABLED
12912! PURE module function getTauWNO_XY_D1_SK1(x, y) result(tau)
12913!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12914! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_SK1
12915!#endif
12916! use pm_kind, only: TKG => RK, SKG => SK1
12917! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
12918! real(TKG) :: tau
12919! end function
12920!#endif
12921!
12922! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12923!
12924!#if IK5_ENABLED
12925! PURE module function getTauWNO_XY_D1_IK5(x, y) result(tau)
12926!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12927! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_IK5
12928!#endif
12929! use pm_kind, only: TKG => RK, IKG => IK5
12930! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
12931! real(TKG) :: tau
12932! end function
12933!#endif
12934!
12935!#if IK4_ENABLED
12936! PURE module function getTauWNO_XY_D1_IK4(x, y) result(tau)
12937!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12938! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_IK4
12939!#endif
12940! use pm_kind, only: TKG => RK, IKG => IK4
12941! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
12942! real(TKG) :: tau
12943! end function
12944!#endif
12945!
12946!#if IK3_ENABLED
12947! PURE module function getTauWNO_XY_D1_IK3(x, y) result(tau)
12948!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12949! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_IK3
12950!#endif
12951! use pm_kind, only: TKG => RK, IKG => IK3
12952! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
12953! real(TKG) :: tau
12954! end function
12955!#endif
12956!
12957!#if IK2_ENABLED
12958! PURE module function getTauWNO_XY_D1_IK2(x, y) result(tau)
12959!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12960! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_IK2
12961!#endif
12962! use pm_kind, only: TKG => RK, IKG => IK2
12963! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
12964! real(TKG) :: tau
12965! end function
12966!#endif
12967!
12968!#if IK1_ENABLED
12969! PURE module function getTauWNO_XY_D1_IK1(x, y) result(tau)
12970!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12971! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_IK1
12972!#endif
12973! use pm_kind, only: TKG => RK, IKG => IK1
12974! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
12975! real(TKG) :: tau
12976! end function
12977!#endif
12978!
12979! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12980!
12981!#if RK5_ENABLED
12982! PURE module function getTauWNO_XY_D1_RK5(x, y) result(tau)
12983!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12984! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_RK5
12985!#endif
12986! use pm_kind, only: TKG => RK5
12987! real(TKG) , intent(in) , contiguous :: x(:), y(:)
12988! real(TKG) :: tau
12989! end function
12990!#endif
12991!
12992!#if RK4_ENABLED
12993! PURE module function getTauWNO_XY_D1_RK4(x, y) result(tau)
12994!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12995! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_RK4
12996!#endif
12997! use pm_kind, only: TKG => RK4
12998! real(TKG) , intent(in) , contiguous :: x(:), y(:)
12999! real(TKG) :: tau
13000! end function
13001!#endif
13002!
13003!#if RK3_ENABLED
13004! PURE module function getTauWNO_XY_D1_RK3(x, y) result(tau)
13005!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13006! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_RK3
13007!#endif
13008! use pm_kind, only: TKG => RK3
13009! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13010! real(TKG) :: tau
13011! end function
13012!#endif
13013!
13014!#if RK2_ENABLED
13015! PURE module function getTauWNO_XY_D1_RK2(x, y) result(tau)
13016!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13017! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_RK2
13018!#endif
13019! use pm_kind, only: TKG => RK2
13020! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13021! real(TKG) :: tau
13022! end function
13023!#endif
13024!
13025!#if RK1_ENABLED
13026! PURE module function getTauWNO_XY_D1_RK1(x, y) result(tau)
13027!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13028! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_RK1
13029!#endif
13030! use pm_kind, only: TKG => RK1
13031! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13032! real(TKG) :: tau
13033! end function
13034!#endif
13035!
13036! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13037!
13038!#if PDT_ENABLED
13039!
13040!#if SK5_ENABLED
13041! PURE module function getTauWNO_XY_D1_PSSK5(x, y) result(tau)
13042!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13043! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_PSSK5
13044!#endif
13045! use pm_kind, only: TKG => RK, SKG => SK5
13046! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13047! real(TKG) :: tau
13048! end function
13049!#endif
13050!
13051!#if SK4_ENABLED
13052! PURE module function getTauWNO_XY_D1_PSSK4(x, y) result(tau)
13053!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13054! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_PSSK4
13055!#endif
13056! use pm_kind, only: TKG => RK, SKG => SK4
13057! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13058! real(TKG) :: tau
13059! end function
13060!#endif
13061!
13062!#if SK3_ENABLED
13063! PURE module function getTauWNO_XY_D1_PSSK3(x, y) result(tau)
13064!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13065! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_PSSK3
13066!#endif
13067! use pm_kind, only: TKG => RK, SKG => SK3
13068! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13069! real(TKG) :: tau
13070! end function
13071!#endif
13072!
13073!#if SK2_ENABLED
13074! PURE module function getTauWNO_XY_D1_PSSK2(x, y) result(tau)
13075!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13076! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_PSSK2
13077!#endif
13078! use pm_kind, only: TKG => RK, SKG => SK2
13079! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13080! real(TKG) :: tau
13081! end function
13082!#endif
13083!
13084!#if SK1_ENABLED
13085! PURE module function getTauWNO_XY_D1_PSSK1(x, y) result(tau)
13086!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13087! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_PSSK1
13088!#endif
13089! use pm_kind, only: TKG => RK, SKG => SK1
13090! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13091! real(TKG) :: tau
13092! end function
13093!#endif
13094!
13095!#endif
13096!PDT_ENABLED
13097!
13098! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13099!
13100! PURE module function getTauWNO_XY_D1_BSSK(x, y) result(tau)
13101!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13102! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_XY_D1_BSSK
13103!#endif
13104! type(css_type) , intent(in) , contiguous :: x(:), y(:)
13105! real(TKG) :: tau
13106! end function
13107!
13108! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13109!
13110! end interface getTau
13111!
13112! ! XY - Tau - WTI
13113!
13114! interface getTau
13115!
13116! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13117!
13118!#if SK5_ENABLED
13119! PURE module function getTauWTI_XY_D0_SK5(x, y, weight) result(tau)
13120!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13121! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D0_SK5
13122!#endif
13123! use pm_kind, only: TKG => RK, SKG => SK5
13124! integer(IK) , intent(in) , contiguous :: weight(:)
13125! character(*,SKG) , intent(in) :: x, y
13126! real(TKG) :: tau
13127! end function
13128!#endif
13129!
13130!#if SK4_ENABLED
13131! PURE module function getTauWTI_XY_D0_SK4(x, y, weight) result(tau)
13132!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13133! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D0_SK4
13134!#endif
13135! use pm_kind, only: TKG => RK, SKG => SK4
13136! integer(IK) , intent(in) , contiguous :: weight(:)
13137! character(*,SKG) , intent(in) :: x, y
13138! real(TKG) :: tau
13139! end function
13140!#endif
13141!
13142!#if SK3_ENABLED
13143! PURE module function getTauWTI_XY_D0_SK3(x, y, weight) result(tau)
13144!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13145! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D0_SK3
13146!#endif
13147! use pm_kind, only: TKG => RK, SKG => SK3
13148! integer(IK) , intent(in) , contiguous :: weight(:)
13149! character(*,SKG) , intent(in) :: x, y
13150! real(TKG) :: tau
13151! end function
13152!#endif
13153!
13154!#if SK2_ENABLED
13155! PURE module function getTauWTI_XY_D0_SK2(x, y, weight) result(tau)
13156!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13157! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D0_SK2
13158!#endif
13159! use pm_kind, only: TKG => RK, SKG => SK2
13160! integer(IK) , intent(in) , contiguous :: weight(:)
13161! character(*,SKG) , intent(in) :: x, y
13162! real(TKG) :: tau
13163! end function
13164!#endif
13165!
13166!#if SK1_ENABLED
13167! PURE module function getTauWTI_XY_D0_SK1(x, y, weight) result(tau)
13168!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13169! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D0_SK1
13170!#endif
13171! use pm_kind, only: TKG => RK, SKG => SK1
13172! integer(IK) , intent(in) , contiguous :: weight(:)
13173! character(*,SKG) , intent(in) :: x, y
13174! real(TKG) :: tau
13175! end function
13176!#endif
13177!
13178! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13179!
13180!#if SK5_ENABLED
13181! PURE module function getTauWTI_XY_D1_SK5(x, y, weight) result(tau)
13182!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13183! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_SK5
13184!#endif
13185! use pm_kind, only: TKG => RK, SKG => SK5
13186! integer(IK) , intent(in) , contiguous :: weight(:)
13187! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13188! real(TKG) :: tau
13189! end function
13190!#endif
13191!
13192!#if SK4_ENABLED
13193! PURE module function getTauWTI_XY_D1_SK4(x, y, weight) result(tau)
13194!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13195! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_SK4
13196!#endif
13197! use pm_kind, only: TKG => RK, SKG => SK4
13198! integer(IK) , intent(in) , contiguous :: weight(:)
13199! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13200! real(TKG) :: tau
13201! end function
13202!#endif
13203!
13204!#if SK3_ENABLED
13205! PURE module function getTauWTI_XY_D1_SK3(x, y, weight) result(tau)
13206!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13207! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_SK3
13208!#endif
13209! use pm_kind, only: TKG => RK, SKG => SK3
13210! integer(IK) , intent(in) , contiguous :: weight(:)
13211! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13212! real(TKG) :: tau
13213! end function
13214!#endif
13215!
13216!#if SK2_ENABLED
13217! PURE module function getTauWTI_XY_D1_SK2(x, y, weight) result(tau)
13218!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13219! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_SK2
13220!#endif
13221! use pm_kind, only: TKG => RK, SKG => SK2
13222! integer(IK) , intent(in) , contiguous :: weight(:)
13223! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13224! real(TKG) :: tau
13225! end function
13226!#endif
13227!
13228!#if SK1_ENABLED
13229! PURE module function getTauWTI_XY_D1_SK1(x, y, weight) result(tau)
13230!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13231! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_SK1
13232!#endif
13233! use pm_kind, only: TKG => RK, SKG => SK1
13234! integer(IK) , intent(in) , contiguous :: weight(:)
13235! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13236! real(TKG) :: tau
13237! end function
13238!#endif
13239!
13240! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13241!
13242!#if IK5_ENABLED
13243! PURE module function getTauWTI_XY_D1_IK5(x, y, weight) result(tau)
13244!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13245! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_IK5
13246!#endif
13247! use pm_kind, only: TKG => RK, IKG => IK5
13248! integer(IK) , intent(in) , contiguous :: weight(:)
13249! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13250! real(TKG) :: tau
13251! end function
13252!#endif
13253!
13254!#if IK4_ENABLED
13255! PURE module function getTauWTI_XY_D1_IK4(x, y, weight) result(tau)
13256!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13257! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_IK4
13258!#endif
13259! use pm_kind, only: TKG => RK, IKG => IK4
13260! integer(IK) , intent(in) , contiguous :: weight(:)
13261! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13262! real(TKG) :: tau
13263! end function
13264!#endif
13265!
13266!#if IK3_ENABLED
13267! PURE module function getTauWTI_XY_D1_IK3(x, y, weight) result(tau)
13268!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13269! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_IK3
13270!#endif
13271! use pm_kind, only: TKG => RK, IKG => IK3
13272! integer(IK) , intent(in) , contiguous :: weight(:)
13273! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13274! real(TKG) :: tau
13275! end function
13276!#endif
13277!
13278!#if IK2_ENABLED
13279! PURE module function getTauWTI_XY_D1_IK2(x, y, weight) result(tau)
13280!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13281! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_IK2
13282!#endif
13283! use pm_kind, only: TKG => RK, IKG => IK2
13284! integer(IK) , intent(in) , contiguous :: weight(:)
13285! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13286! real(TKG) :: tau
13287! end function
13288!#endif
13289!
13290!#if IK1_ENABLED
13291! PURE module function getTauWTI_XY_D1_IK1(x, y, weight) result(tau)
13292!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13293! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_IK1
13294!#endif
13295! use pm_kind, only: TKG => RK, IKG => IK1
13296! integer(IK) , intent(in) , contiguous :: weight(:)
13297! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13298! real(TKG) :: tau
13299! end function
13300!#endif
13301!
13302! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13303!
13304!#if RK5_ENABLED
13305! PURE module function getTauWTI_XY_D1_RK5(x, y, weight) result(tau)
13306!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13307! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_RK5
13308!#endif
13309! use pm_kind, only: TKG => RK5
13310! integer(IK) , intent(in) , contiguous :: weight(:)
13311! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13312! real(TKG) :: tau
13313! end function
13314!#endif
13315!
13316!#if RK4_ENABLED
13317! PURE module function getTauWTI_XY_D1_RK4(x, y, weight) result(tau)
13318!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13319! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_RK4
13320!#endif
13321! use pm_kind, only: TKG => RK4
13322! integer(IK) , intent(in) , contiguous :: weight(:)
13323! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13324! real(TKG) :: tau
13325! end function
13326!#endif
13327!
13328!#if RK3_ENABLED
13329! PURE module function getTauWTI_XY_D1_RK3(x, y, weight) result(tau)
13330!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13331! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_RK3
13332!#endif
13333! use pm_kind, only: TKG => RK3
13334! integer(IK) , intent(in) , contiguous :: weight(:)
13335! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13336! real(TKG) :: tau
13337! end function
13338!#endif
13339!
13340!#if RK2_ENABLED
13341! PURE module function getTauWTI_XY_D1_RK2(x, y, weight) result(tau)
13342!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13343! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_RK2
13344!#endif
13345! use pm_kind, only: TKG => RK2
13346! integer(IK) , intent(in) , contiguous :: weight(:)
13347! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13348! real(TKG) :: tau
13349! end function
13350!#endif
13351!
13352!#if RK1_ENABLED
13353! PURE module function getTauWTI_XY_D1_RK1(x, y, weight) result(tau)
13354!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13355! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_RK1
13356!#endif
13357! use pm_kind, only: TKG => RK1
13358! integer(IK) , intent(in) , contiguous :: weight(:)
13359! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13360! real(TKG) :: tau
13361! end function
13362!#endif
13363!
13364! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13365!
13366!#if PDT_ENABLED
13367!
13368!#if SK5_ENABLED
13369! PURE module function getTauWTI_XY_D1_PSSK5(x, y, weight) result(tau)
13370!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13371! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_PSSK5
13372!#endif
13373! use pm_kind, only: TKG => RK, SKG => SK5
13374! integer(IK) , intent(in) , contiguous :: weight(:)
13375! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13376! real(TKG) :: tau
13377! end function
13378!#endif
13379!
13380!#if SK4_ENABLED
13381! PURE module function getTauWTI_XY_D1_PSSK4(x, y, weight) result(tau)
13382!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13383! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_PSSK4
13384!#endif
13385! use pm_kind, only: TKG => RK, SKG => SK4
13386! integer(IK) , intent(in) , contiguous :: weight(:)
13387! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13388! real(TKG) :: tau
13389! end function
13390!#endif
13391!
13392!#if SK3_ENABLED
13393! PURE module function getTauWTI_XY_D1_PSSK3(x, y, weight) result(tau)
13394!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13395! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_PSSK3
13396!#endif
13397! use pm_kind, only: TKG => RK, SKG => SK3
13398! integer(IK) , intent(in) , contiguous :: weight(:)
13399! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13400! real(TKG) :: tau
13401! end function
13402!#endif
13403!
13404!#if SK2_ENABLED
13405! PURE module function getTauWTI_XY_D1_PSSK2(x, y, weight) result(tau)
13406!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13407! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_PSSK2
13408!#endif
13409! use pm_kind, only: TKG => RK, SKG => SK2
13410! integer(IK) , intent(in) , contiguous :: weight(:)
13411! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13412! real(TKG) :: tau
13413! end function
13414!#endif
13415!
13416!#if SK1_ENABLED
13417! PURE module function getTauWTI_XY_D1_PSSK1(x, y, weight) result(tau)
13418!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13419! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_PSSK1
13420!#endif
13421! use pm_kind, only: TKG => RK, SKG => SK1
13422! integer(IK) , intent(in) , contiguous :: weight(:)
13423! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13424! real(TKG) :: tau
13425! end function
13426!#endif
13427!
13428!#endif
13429!PDT_ENABLED
13430!
13431! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13432!
13433! PURE module function getTauWTI_XY_D1_BSSK(x, y, weight) result(tau)
13434!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13435! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_XY_D1_BSSK
13436!#endif
13437! integer(IK) , intent(in) , contiguous :: weight(:)
13438! type(css_type) , intent(in) , contiguous :: x(:), y(:)
13439! real(TKG) :: tau
13440! end function
13441!
13442! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13443!
13444! end interface getTau
13445!
13446! ! XY - Tau - WTR
13447!
13448! interface getTau
13449!
13450! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13451!
13452!#if SK5_ENABLED
13453! PURE module function getTauWTR_XY_D0_SK5(x, y, weight) result(tau)
13454!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13455! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D0_SK5
13456!#endif
13457! use pm_kind, only: TKG => RK, SKG => SK5
13458! real(TKG) , intent(in) , contiguous :: weight(:)
13459! character(*,SKG) , intent(in) :: x, y
13460! real(TKG) :: tau
13461! end function
13462!#endif
13463!
13464!#if SK4_ENABLED
13465! PURE module function getTauWTR_XY_D0_SK4(x, y, weight) result(tau)
13466!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13467! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D0_SK4
13468!#endif
13469! use pm_kind, only: TKG => RK, SKG => SK4
13470! real(TKG) , intent(in) , contiguous :: weight(:)
13471! character(*,SKG) , intent(in) :: x, y
13472! real(TKG) :: tau
13473! end function
13474!#endif
13475!
13476!#if SK3_ENABLED
13477! PURE module function getTauWTR_XY_D0_SK3(x, y, weight) result(tau)
13478!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13479! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D0_SK3
13480!#endif
13481! use pm_kind, only: TKG => RK, SKG => SK3
13482! real(TKG) , intent(in) , contiguous :: weight(:)
13483! character(*,SKG) , intent(in) :: x, y
13484! real(TKG) :: tau
13485! end function
13486!#endif
13487!
13488!#if SK2_ENABLED
13489! PURE module function getTauWTR_XY_D0_SK2(x, y, weight) result(tau)
13490!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13491! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D0_SK2
13492!#endif
13493! use pm_kind, only: TKG => RK, SKG => SK2
13494! real(TKG) , intent(in) , contiguous :: weight(:)
13495! character(*,SKG) , intent(in) :: x, y
13496! real(TKG) :: tau
13497! end function
13498!#endif
13499!
13500!#if SK1_ENABLED
13501! PURE module function getTauWTR_XY_D0_SK1(x, y, weight) result(tau)
13502!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13503! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D0_SK1
13504!#endif
13505! use pm_kind, only: TKG => RK, SKG => SK1
13506! real(TKG) , intent(in) , contiguous :: weight(:)
13507! character(*,SKG) , intent(in) :: x, y
13508! real(TKG) :: tau
13509! end function
13510!#endif
13511!
13512! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13513!
13514!#if SK5_ENABLED
13515! PURE module function getTauWTR_XY_D1_SK5(x, y, weight) result(tau)
13516!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13517! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_SK5
13518!#endif
13519! use pm_kind, only: TKG => RK, SKG => SK5
13520! real(TKG) , intent(in) , contiguous :: weight(:)
13521! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13522! real(TKG) :: tau
13523! end function
13524!#endif
13525!
13526!#if SK4_ENABLED
13527! PURE module function getTauWTR_XY_D1_SK4(x, y, weight) result(tau)
13528!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13529! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_SK4
13530!#endif
13531! use pm_kind, only: TKG => RK, SKG => SK4
13532! real(TKG) , intent(in) , contiguous :: weight(:)
13533! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13534! real(TKG) :: tau
13535! end function
13536!#endif
13537!
13538!#if SK3_ENABLED
13539! PURE module function getTauWTR_XY_D1_SK3(x, y, weight) result(tau)
13540!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13541! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_SK3
13542!#endif
13543! use pm_kind, only: TKG => RK, SKG => SK3
13544! real(TKG) , intent(in) , contiguous :: weight(:)
13545! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13546! real(TKG) :: tau
13547! end function
13548!#endif
13549!
13550!#if SK2_ENABLED
13551! PURE module function getTauWTR_XY_D1_SK2(x, y, weight) result(tau)
13552!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13553! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_SK2
13554!#endif
13555! use pm_kind, only: TKG => RK, SKG => SK2
13556! real(TKG) , intent(in) , contiguous :: weight(:)
13557! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13558! real(TKG) :: tau
13559! end function
13560!#endif
13561!
13562!#if SK1_ENABLED
13563! PURE module function getTauWTR_XY_D1_SK1(x, y, weight) result(tau)
13564!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13565! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_SK1
13566!#endif
13567! use pm_kind, only: TKG => RK, SKG => SK1
13568! real(TKG) , intent(in) , contiguous :: weight(:)
13569! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
13570! real(TKG) :: tau
13571! end function
13572!#endif
13573!
13574! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13575!
13576!#if IK5_ENABLED
13577! PURE module function getTauWTR_XY_D1_IK5(x, y, weight) result(tau)
13578!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13579! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_IK5
13580!#endif
13581! use pm_kind, only: TKG => RK, IKG => IK5
13582! real(TKG) , intent(in) , contiguous :: weight(:)
13583! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13584! real(TKG) :: tau
13585! end function
13586!#endif
13587!
13588!#if IK4_ENABLED
13589! PURE module function getTauWTR_XY_D1_IK4(x, y, weight) result(tau)
13590!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13591! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_IK4
13592!#endif
13593! use pm_kind, only: TKG => RK, IKG => IK4
13594! real(TKG) , intent(in) , contiguous :: weight(:)
13595! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13596! real(TKG) :: tau
13597! end function
13598!#endif
13599!
13600!#if IK3_ENABLED
13601! PURE module function getTauWTR_XY_D1_IK3(x, y, weight) result(tau)
13602!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13603! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_IK3
13604!#endif
13605! use pm_kind, only: TKG => RK, IKG => IK3
13606! real(TKG) , intent(in) , contiguous :: weight(:)
13607! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13608! real(TKG) :: tau
13609! end function
13610!#endif
13611!
13612!#if IK2_ENABLED
13613! PURE module function getTauWTR_XY_D1_IK2(x, y, weight) result(tau)
13614!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13615! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_IK2
13616!#endif
13617! use pm_kind, only: TKG => RK, IKG => IK2
13618! real(TKG) , intent(in) , contiguous :: weight(:)
13619! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13620! real(TKG) :: tau
13621! end function
13622!#endif
13623!
13624!#if IK1_ENABLED
13625! PURE module function getTauWTR_XY_D1_IK1(x, y, weight) result(tau)
13626!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13627! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_IK1
13628!#endif
13629! use pm_kind, only: TKG => RK, IKG => IK1
13630! real(TKG) , intent(in) , contiguous :: weight(:)
13631! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
13632! real(TKG) :: tau
13633! end function
13634!#endif
13635!
13636! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13637!
13638!#if RK5_ENABLED
13639! PURE module function getTauWTR_XY_D1_RK5(x, y, weight) result(tau)
13640!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13641! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_RK5
13642!#endif
13643! use pm_kind, only: TKG => RK5
13644! real(TKG) , intent(in) , contiguous :: weight(:)
13645! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13646! real(TKG) :: tau
13647! end function
13648!#endif
13649!
13650!#if RK4_ENABLED
13651! PURE module function getTauWTR_XY_D1_RK4(x, y, weight) result(tau)
13652!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13653! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_RK4
13654!#endif
13655! use pm_kind, only: TKG => RK4
13656! real(TKG) , intent(in) , contiguous :: weight(:)
13657! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13658! real(TKG) :: tau
13659! end function
13660!#endif
13661!
13662!#if RK3_ENABLED
13663! PURE module function getTauWTR_XY_D1_RK3(x, y, weight) result(tau)
13664!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13665! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_RK3
13666!#endif
13667! use pm_kind, only: TKG => RK3
13668! real(TKG) , intent(in) , contiguous :: weight(:)
13669! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13670! real(TKG) :: tau
13671! end function
13672!#endif
13673!
13674!#if RK2_ENABLED
13675! PURE module function getTauWTR_XY_D1_RK2(x, y, weight) result(tau)
13676!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13677! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_RK2
13678!#endif
13679! use pm_kind, only: TKG => RK2
13680! real(TKG) , intent(in) , contiguous :: weight(:)
13681! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13682! real(TKG) :: tau
13683! end function
13684!#endif
13685!
13686!#if RK1_ENABLED
13687! PURE module function getTauWTR_XY_D1_RK1(x, y, weight) result(tau)
13688!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13689! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_RK1
13690!#endif
13691! use pm_kind, only: TKG => RK1
13692! real(TKG) , intent(in) , contiguous :: weight(:)
13693! real(TKG) , intent(in) , contiguous :: x(:), y(:)
13694! real(TKG) :: tau
13695! end function
13696!#endif
13697!
13698! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13699!
13700!#if PDT_ENABLED
13701!
13702!#if SK5_ENABLED
13703! PURE module function getTauWTR_XY_D1_PSSK5(x, y, weight) result(tau)
13704!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13705! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_PSSK5
13706!#endif
13707! use pm_kind, only: TKG => RK, SKG => SK5
13708! real(TKG) , intent(in) , contiguous :: weight(:)
13709! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13710! real(TKG) :: tau
13711! end function
13712!#endif
13713!
13714!#if SK4_ENABLED
13715! PURE module function getTauWTR_XY_D1_PSSK4(x, y, weight) result(tau)
13716!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13717! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_PSSK4
13718!#endif
13719! use pm_kind, only: TKG => RK, SKG => SK4
13720! real(TKG) , intent(in) , contiguous :: weight(:)
13721! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13722! real(TKG) :: tau
13723! end function
13724!#endif
13725!
13726!#if SK3_ENABLED
13727! PURE module function getTauWTR_XY_D1_PSSK3(x, y, weight) result(tau)
13728!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13729! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_PSSK3
13730!#endif
13731! use pm_kind, only: TKG => RK, SKG => SK3
13732! real(TKG) , intent(in) , contiguous :: weight(:)
13733! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13734! real(TKG) :: tau
13735! end function
13736!#endif
13737!
13738!#if SK2_ENABLED
13739! PURE module function getTauWTR_XY_D1_PSSK2(x, y, weight) result(tau)
13740!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13741! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_PSSK2
13742!#endif
13743! use pm_kind, only: TKG => RK, SKG => SK2
13744! real(TKG) , intent(in) , contiguous :: weight(:)
13745! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13746! real(TKG) :: tau
13747! end function
13748!#endif
13749!
13750!#if SK1_ENABLED
13751! PURE module function getTauWTR_XY_D1_PSSK1(x, y, weight) result(tau)
13752!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13753! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_PSSK1
13754!#endif
13755! use pm_kind, only: TKG => RK, SKG => SK1
13756! real(TKG) , intent(in) , contiguous :: weight(:)
13757! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
13758! real(TKG) :: tau
13759! end function
13760!#endif
13761!
13762!#endif
13763!PDT_ENABLED
13764!
13765! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13766!
13767! PURE module function getTauWTR_XY_D1_BSSK(x, y, weight) result(tau)
13768!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13769! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_XY_D1_BSSK
13770!#endif
13771! real(TKG) , intent(in) , contiguous :: weight(:)
13772! type(css_type) , intent(in) , contiguous :: x(:), y(:)
13773! real(TKG) :: tau
13774! end function
13775!
13776! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13777!
13778! end interface getTau
13779!
13780! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13781!
13782! ! ULD - Tau - WNO
13783!
13784! interface getTau
13785!
13786! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13787!
13788!#if SK5_ENABLED
13789! PURE module function getTauWNO_ULD_SK5(sample, dim) result(tau)
13790!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13791! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_SK5
13792!#endif
13793! use pm_kind, only: TKG => RK, SKG => SK5
13794! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
13795! integer(IK) , intent(in) :: dim
13796! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13797! end function
13798!#endif
13799!
13800!#if SK4_ENABLED
13801! PURE module function getTauWNO_ULD_SK4(sample, dim) result(tau)
13802!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13803! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_SK4
13804!#endif
13805! use pm_kind, only: TKG => RK, SKG => SK4
13806! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
13807! integer(IK) , intent(in) :: dim
13808! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13809! end function
13810!#endif
13811!
13812!#if SK3_ENABLED
13813! PURE module function getTauWNO_ULD_SK3(sample, dim) result(tau)
13814!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13815! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_SK3
13816!#endif
13817! use pm_kind, only: TKG => RK, SKG => SK3
13818! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
13819! integer(IK) , intent(in) :: dim
13820! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13821! end function
13822!#endif
13823!
13824!#if SK2_ENABLED
13825! PURE module function getTauWNO_ULD_SK2(sample, dim) result(tau)
13826!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13827! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_SK2
13828!#endif
13829! use pm_kind, only: TKG => RK, SKG => SK2
13830! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
13831! integer(IK) , intent(in) :: dim
13832! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13833! end function
13834!#endif
13835!
13836!#if SK1_ENABLED
13837! PURE module function getTauWNO_ULD_SK1(sample, dim) result(tau)
13838!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13839! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_SK1
13840!#endif
13841! use pm_kind, only: TKG => RK, SKG => SK1
13842! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
13843! integer(IK) , intent(in) :: dim
13844! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13845! end function
13846!#endif
13847!
13848! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13849!
13850!#if IK5_ENABLED
13851! PURE module function getTauWNO_ULD_IK5(sample, dim) result(tau)
13852!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13853! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_IK5
13854!#endif
13855! use pm_kind, only: TKG => RK, IKG => IK5
13856! integer(IKG) , intent(in) , contiguous :: sample(:,:)
13857! integer(IK) , intent(in) :: dim
13858! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13859! end function
13860!#endif
13861!
13862!#if IK4_ENABLED
13863! PURE module function getTauWNO_ULD_IK4(sample, dim) result(tau)
13864!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13865! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_IK4
13866!#endif
13867! use pm_kind, only: TKG => RK, IKG => IK4
13868! integer(IKG) , intent(in) , contiguous :: sample(:,:)
13869! integer(IK) , intent(in) :: dim
13870! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13871! end function
13872!#endif
13873!
13874!#if IK3_ENABLED
13875! PURE module function getTauWNO_ULD_IK3(sample, dim) result(tau)
13876!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13877! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_IK3
13878!#endif
13879! use pm_kind, only: TKG => RK, IKG => IK3
13880! integer(IKG) , intent(in) , contiguous :: sample(:,:)
13881! integer(IK) , intent(in) :: dim
13882! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13883! end function
13884!#endif
13885!
13886!#if IK2_ENABLED
13887! PURE module function getTauWNO_ULD_IK2(sample, dim) result(tau)
13888!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13889! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_IK2
13890!#endif
13891! use pm_kind, only: TKG => RK, IKG => IK2
13892! integer(IKG) , intent(in) , contiguous :: sample(:,:)
13893! integer(IK) , intent(in) :: dim
13894! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13895! end function
13896!#endif
13897!
13898!#if IK1_ENABLED
13899! PURE module function getTauWNO_ULD_IK1(sample, dim) result(tau)
13900!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13901! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_IK1
13902!#endif
13903! use pm_kind, only: TKG => RK, IKG => IK1
13904! integer(IKG) , intent(in) , contiguous :: sample(:,:)
13905! integer(IK) , intent(in) :: dim
13906! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13907! end function
13908!#endif
13909!
13910! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13911!
13912!#if RK5_ENABLED
13913! PURE module function getTauWNO_ULD_RK5(sample, dim) result(tau)
13914!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13915! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_RK5
13916!#endif
13917! use pm_kind, only: TKG => RK5
13918! real(TKG) , intent(in) , contiguous :: sample(:,:)
13919! integer(IK) , intent(in) :: dim
13920! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13921! end function
13922!#endif
13923!
13924!#if RK4_ENABLED
13925! PURE module function getTauWNO_ULD_RK4(sample, dim) result(tau)
13926!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13927! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_RK4
13928!#endif
13929! use pm_kind, only: TKG => RK4
13930! real(TKG) , intent(in) , contiguous :: sample(:,:)
13931! integer(IK) , intent(in) :: dim
13932! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13933! end function
13934!#endif
13935!
13936!#if RK3_ENABLED
13937! PURE module function getTauWNO_ULD_RK3(sample, dim) result(tau)
13938!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13939! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_RK3
13940!#endif
13941! use pm_kind, only: TKG => RK3
13942! real(TKG) , intent(in) , contiguous :: sample(:,:)
13943! integer(IK) , intent(in) :: dim
13944! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13945! end function
13946!#endif
13947!
13948!#if RK2_ENABLED
13949! PURE module function getTauWNO_ULD_RK2(sample, dim) result(tau)
13950!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13951! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_RK2
13952!#endif
13953! use pm_kind, only: TKG => RK2
13954! real(TKG) , intent(in) , contiguous :: sample(:,:)
13955! integer(IK) , intent(in) :: dim
13956! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13957! end function
13958!#endif
13959!
13960!#if RK1_ENABLED
13961! PURE module function getTauWNO_ULD_RK1(sample, dim) result(tau)
13962!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13963! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_RK1
13964!#endif
13965! use pm_kind, only: TKG => RK1
13966! real(TKG) , intent(in) , contiguous :: sample(:,:)
13967! integer(IK) , intent(in) :: dim
13968! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13969! end function
13970!#endif
13971!
13972! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13973!
13974!#if PDT_ENABLED
13975!
13976!#if SK5_ENABLED
13977! PURE module function getTauWNO_ULD_PSSK5(sample, dim) result(tau)
13978!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13979! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_PSSK5
13980!#endif
13981! use pm_kind, only: TKG => RK, SKG => SK5
13982! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
13983! integer(IK) , intent(in) :: dim
13984! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13985! end function
13986!#endif
13987!
13988!#if SK4_ENABLED
13989! PURE module function getTauWNO_ULD_PSSK4(sample, dim) result(tau)
13990!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13991! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_PSSK4
13992!#endif
13993! use pm_kind, only: TKG => RK, SKG => SK4
13994! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
13995! integer(IK) , intent(in) :: dim
13996! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
13997! end function
13998!#endif
13999!
14000!#if SK3_ENABLED
14001! PURE module function getTauWNO_ULD_PSSK3(sample, dim) result(tau)
14002!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14003! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_PSSK3
14004!#endif
14005! use pm_kind, only: TKG => RK, SKG => SK3
14006! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14007! integer(IK) , intent(in) :: dim
14008! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14009! end function
14010!#endif
14011!
14012!#if SK2_ENABLED
14013! PURE module function getTauWNO_ULD_PSSK2(sample, dim) result(tau)
14014!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14015! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_PSSK2
14016!#endif
14017! use pm_kind, only: TKG => RK, SKG => SK2
14018! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14019! integer(IK) , intent(in) :: dim
14020! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14021! end function
14022!#endif
14023!
14024!#if SK1_ENABLED
14025! PURE module function getTauWNO_ULD_PSSK1(sample, dim) result(tau)
14026!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14027! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_PSSK1
14028!#endif
14029! use pm_kind, only: TKG => RK, SKG => SK1
14030! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14031! integer(IK) , intent(in) :: dim
14032! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14033! end function
14034!#endif
14035!
14036!#endif
14037!PDT_ENABLED
14038!
14039! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14040!
14041! PURE module function getTauWNO_ULD_BSSK(sample, dim) result(tau)
14042!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14043! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWNO_ULD_BSSK
14044!#endif
14045! type(css_type) , intent(in) , contiguous :: sample(:,:)
14046! integer(IK) , intent(in) :: dim
14047! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14048! end function
14049!
14050! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14051!
14052! end interface getTau
14053!
14054! ! ULD - Tau - WTI
14055!
14056! interface getTau
14057!
14058! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14059!
14060!#if SK5_ENABLED
14061! PURE module function getTauWTI_ULD_SK5(sample, dim, weight) result(tau)
14062!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14063! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_SK5
14064!#endif
14065! use pm_kind, only: TKG => RK, SKG => SK5
14066! integer(IK) , intent(in) , contiguous :: weight(:)
14067! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14068! integer(IK) , intent(in) :: dim
14069! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14070! end function
14071!#endif
14072!
14073!#if SK4_ENABLED
14074! PURE module function getTauWTI_ULD_SK4(sample, dim, weight) result(tau)
14075!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14076! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_SK4
14077!#endif
14078! use pm_kind, only: TKG => RK, SKG => SK4
14079! integer(IK) , intent(in) , contiguous :: weight(:)
14080! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14081! integer(IK) , intent(in) :: dim
14082! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14083! end function
14084!#endif
14085!
14086!#if SK3_ENABLED
14087! PURE module function getTauWTI_ULD_SK3(sample, dim, weight) result(tau)
14088!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14089! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_SK3
14090!#endif
14091! use pm_kind, only: TKG => RK, SKG => SK3
14092! integer(IK) , intent(in) , contiguous :: weight(:)
14093! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14094! integer(IK) , intent(in) :: dim
14095! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14096! end function
14097!#endif
14098!
14099!#if SK2_ENABLED
14100! PURE module function getTauWTI_ULD_SK2(sample, dim, weight) result(tau)
14101!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14102! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_SK2
14103!#endif
14104! use pm_kind, only: TKG => RK, SKG => SK2
14105! integer(IK) , intent(in) , contiguous :: weight(:)
14106! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14107! integer(IK) , intent(in) :: dim
14108! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14109! end function
14110!#endif
14111!
14112!#if SK1_ENABLED
14113! PURE module function getTauWTI_ULD_SK1(sample, dim, weight) result(tau)
14114!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14115! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_SK1
14116!#endif
14117! use pm_kind, only: TKG => RK, SKG => SK1
14118! integer(IK) , intent(in) , contiguous :: weight(:)
14119! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14120! integer(IK) , intent(in) :: dim
14121! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14122! end function
14123!#endif
14124!
14125! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14126!
14127!#if IK5_ENABLED
14128! PURE module function getTauWTI_ULD_IK5(sample, dim, weight) result(tau)
14129!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14130! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_IK5
14131!#endif
14132! use pm_kind, only: TKG => RK, IKG => IK5
14133! integer(IK) , intent(in) , contiguous :: weight(:)
14134! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14135! integer(IK) , intent(in) :: dim
14136! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14137! end function
14138!#endif
14139!
14140!#if IK4_ENABLED
14141! PURE module function getTauWTI_ULD_IK4(sample, dim, weight) result(tau)
14142!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14143! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_IK4
14144!#endif
14145! use pm_kind, only: TKG => RK, IKG => IK4
14146! integer(IK) , intent(in) , contiguous :: weight(:)
14147! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14148! integer(IK) , intent(in) :: dim
14149! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14150! end function
14151!#endif
14152!
14153!#if IK3_ENABLED
14154! PURE module function getTauWTI_ULD_IK3(sample, dim, weight) result(tau)
14155!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14156! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_IK3
14157!#endif
14158! use pm_kind, only: TKG => RK, IKG => IK3
14159! integer(IK) , intent(in) , contiguous :: weight(:)
14160! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14161! integer(IK) , intent(in) :: dim
14162! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14163! end function
14164!#endif
14165!
14166!#if IK2_ENABLED
14167! PURE module function getTauWTI_ULD_IK2(sample, dim, weight) result(tau)
14168!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14169! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_IK2
14170!#endif
14171! use pm_kind, only: TKG => RK, IKG => IK2
14172! integer(IK) , intent(in) , contiguous :: weight(:)
14173! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14174! integer(IK) , intent(in) :: dim
14175! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14176! end function
14177!#endif
14178!
14179!#if IK1_ENABLED
14180! PURE module function getTauWTI_ULD_IK1(sample, dim, weight) result(tau)
14181!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14182! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_IK1
14183!#endif
14184! use pm_kind, only: TKG => RK, IKG => IK1
14185! integer(IK) , intent(in) , contiguous :: weight(:)
14186! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14187! integer(IK) , intent(in) :: dim
14188! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14189! end function
14190!#endif
14191!
14192! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14193!
14194!#if RK5_ENABLED
14195! PURE module function getTauWTI_ULD_RK5(sample, dim, weight) result(tau)
14196!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14197! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_RK5
14198!#endif
14199! use pm_kind, only: TKG => RK5
14200! integer(IK) , intent(in) , contiguous :: weight(:)
14201! real(TKG) , intent(in) , contiguous :: sample(:,:)
14202! integer(IK) , intent(in) :: dim
14203! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14204! end function
14205!#endif
14206!
14207!#if RK4_ENABLED
14208! PURE module function getTauWTI_ULD_RK4(sample, dim, weight) result(tau)
14209!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14210! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_RK4
14211!#endif
14212! use pm_kind, only: TKG => RK4
14213! integer(IK) , intent(in) , contiguous :: weight(:)
14214! real(TKG) , intent(in) , contiguous :: sample(:,:)
14215! integer(IK) , intent(in) :: dim
14216! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14217! end function
14218!#endif
14219!
14220!#if RK3_ENABLED
14221! PURE module function getTauWTI_ULD_RK3(sample, dim, weight) result(tau)
14222!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14223! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_RK3
14224!#endif
14225! use pm_kind, only: TKG => RK3
14226! integer(IK) , intent(in) , contiguous :: weight(:)
14227! real(TKG) , intent(in) , contiguous :: sample(:,:)
14228! integer(IK) , intent(in) :: dim
14229! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14230! end function
14231!#endif
14232!
14233!#if RK2_ENABLED
14234! PURE module function getTauWTI_ULD_RK2(sample, dim, weight) result(tau)
14235!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14236! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_RK2
14237!#endif
14238! use pm_kind, only: TKG => RK2
14239! integer(IK) , intent(in) , contiguous :: weight(:)
14240! real(TKG) , intent(in) , contiguous :: sample(:,:)
14241! integer(IK) , intent(in) :: dim
14242! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14243! end function
14244!#endif
14245!
14246!#if RK1_ENABLED
14247! PURE module function getTauWTI_ULD_RK1(sample, dim, weight) result(tau)
14248!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14249! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_RK1
14250!#endif
14251! use pm_kind, only: TKG => RK1
14252! integer(IK) , intent(in) , contiguous :: weight(:)
14253! real(TKG) , intent(in) , contiguous :: sample(:,:)
14254! integer(IK) , intent(in) :: dim
14255! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14256! end function
14257!#endif
14258!
14259! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14260!
14261!#if PDT_ENABLED
14262!
14263!#if SK5_ENABLED
14264! PURE module function getTauWTI_ULD_PSSK5(sample, dim, weight) result(tau)
14265!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14266! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_PSSK5
14267!#endif
14268! use pm_kind, only: TKG => RK, SKG => SK5
14269! integer(IK) , intent(in) , contiguous :: weight(:)
14270! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14271! integer(IK) , intent(in) :: dim
14272! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14273! end function
14274!#endif
14275!
14276!#if SK4_ENABLED
14277! PURE module function getTauWTI_ULD_PSSK4(sample, dim, weight) result(tau)
14278!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14279! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_PSSK4
14280!#endif
14281! use pm_kind, only: TKG => RK, SKG => SK4
14282! integer(IK) , intent(in) , contiguous :: weight(:)
14283! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14284! integer(IK) , intent(in) :: dim
14285! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14286! end function
14287!#endif
14288!
14289!#if SK3_ENABLED
14290! PURE module function getTauWTI_ULD_PSSK3(sample, dim, weight) result(tau)
14291!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14292! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_PSSK3
14293!#endif
14294! use pm_kind, only: TKG => RK, SKG => SK3
14295! integer(IK) , intent(in) , contiguous :: weight(:)
14296! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14297! integer(IK) , intent(in) :: dim
14298! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14299! end function
14300!#endif
14301!
14302!#if SK2_ENABLED
14303! PURE module function getTauWTI_ULD_PSSK2(sample, dim, weight) result(tau)
14304!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14305! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_PSSK2
14306!#endif
14307! use pm_kind, only: TKG => RK, SKG => SK2
14308! integer(IK) , intent(in) , contiguous :: weight(:)
14309! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14310! integer(IK) , intent(in) :: dim
14311! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14312! end function
14313!#endif
14314!
14315!#if SK1_ENABLED
14316! PURE module function getTauWTI_ULD_PSSK1(sample, dim, weight) result(tau)
14317!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14318! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_PSSK1
14319!#endif
14320! use pm_kind, only: TKG => RK, SKG => SK1
14321! integer(IK) , intent(in) , contiguous :: weight(:)
14322! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14323! integer(IK) , intent(in) :: dim
14324! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14325! end function
14326!#endif
14327!
14328!#endif
14329!PDT_ENABLED
14330!
14331! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14332!
14333! PURE module function getTauWTI_ULD_BSSK(sample, dim, weight) result(tau)
14334!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14335! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTI_ULD_BSSK
14336!#endif
14337! integer(IK) , intent(in) , contiguous :: weight(:)
14338! type(css_type) , intent(in) , contiguous :: sample(:,:)
14339! integer(IK) , intent(in) :: dim
14340! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14341! end function
14342!
14343! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14344!
14345! end interface getTau
14346!
14347! ! ULD - Tau - WTR
14348!
14349! interface getTau
14350!
14351! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14352!
14353!#if SK5_ENABLED
14354! PURE module function getTauWTR_ULD_SK5(sample, dim, weight) result(tau)
14355!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14356! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_SK5
14357!#endif
14358! use pm_kind, only: TKG => RK, SKG => SK5
14359! real(TKG) , intent(in) , contiguous :: weight(:)
14360! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14361! integer(IK) , intent(in) :: dim
14362! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14363! end function
14364!#endif
14365!
14366!#if SK4_ENABLED
14367! PURE module function getTauWTR_ULD_SK4(sample, dim, weight) result(tau)
14368!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14369! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_SK4
14370!#endif
14371! use pm_kind, only: TKG => RK, SKG => SK4
14372! real(TKG) , intent(in) , contiguous :: weight(:)
14373! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14374! integer(IK) , intent(in) :: dim
14375! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14376! end function
14377!#endif
14378!
14379!#if SK3_ENABLED
14380! PURE module function getTauWTR_ULD_SK3(sample, dim, weight) result(tau)
14381!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14382! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_SK3
14383!#endif
14384! use pm_kind, only: TKG => RK, SKG => SK3
14385! real(TKG) , intent(in) , contiguous :: weight(:)
14386! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14387! integer(IK) , intent(in) :: dim
14388! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14389! end function
14390!#endif
14391!
14392!#if SK2_ENABLED
14393! PURE module function getTauWTR_ULD_SK2(sample, dim, weight) result(tau)
14394!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14395! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_SK2
14396!#endif
14397! use pm_kind, only: TKG => RK, SKG => SK2
14398! real(TKG) , intent(in) , contiguous :: weight(:)
14399! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14400! integer(IK) , intent(in) :: dim
14401! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14402! end function
14403!#endif
14404!
14405!#if SK1_ENABLED
14406! PURE module function getTauWTR_ULD_SK1(sample, dim, weight) result(tau)
14407!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14408! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_SK1
14409!#endif
14410! use pm_kind, only: TKG => RK, SKG => SK1
14411! real(TKG) , intent(in) , contiguous :: weight(:)
14412! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
14413! integer(IK) , intent(in) :: dim
14414! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14415! end function
14416!#endif
14417!
14418! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14419!
14420!#if IK5_ENABLED
14421! PURE module function getTauWTR_ULD_IK5(sample, dim, weight) result(tau)
14422!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14423! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_IK5
14424!#endif
14425! use pm_kind, only: TKG => RK, IKG => IK5
14426! real(TKG) , intent(in) , contiguous :: weight(:)
14427! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14428! integer(IK) , intent(in) :: dim
14429! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14430! end function
14431!#endif
14432!
14433!#if IK4_ENABLED
14434! PURE module function getTauWTR_ULD_IK4(sample, dim, weight) result(tau)
14435!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14436! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_IK4
14437!#endif
14438! use pm_kind, only: TKG => RK, IKG => IK4
14439! real(TKG) , intent(in) , contiguous :: weight(:)
14440! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14441! integer(IK) , intent(in) :: dim
14442! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14443! end function
14444!#endif
14445!
14446!#if IK3_ENABLED
14447! PURE module function getTauWTR_ULD_IK3(sample, dim, weight) result(tau)
14448!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14449! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_IK3
14450!#endif
14451! use pm_kind, only: TKG => RK, IKG => IK3
14452! real(TKG) , intent(in) , contiguous :: weight(:)
14453! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14454! integer(IK) , intent(in) :: dim
14455! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14456! end function
14457!#endif
14458!
14459!#if IK2_ENABLED
14460! PURE module function getTauWTR_ULD_IK2(sample, dim, weight) result(tau)
14461!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14462! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_IK2
14463!#endif
14464! use pm_kind, only: TKG => RK, IKG => IK2
14465! real(TKG) , intent(in) , contiguous :: weight(:)
14466! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14467! integer(IK) , intent(in) :: dim
14468! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14469! end function
14470!#endif
14471!
14472!#if IK1_ENABLED
14473! PURE module function getTauWTR_ULD_IK1(sample, dim, weight) result(tau)
14474!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14475! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_IK1
14476!#endif
14477! use pm_kind, only: TKG => RK, IKG => IK1
14478! real(TKG) , intent(in) , contiguous :: weight(:)
14479! integer(IKG) , intent(in) , contiguous :: sample(:,:)
14480! integer(IK) , intent(in) :: dim
14481! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14482! end function
14483!#endif
14484!
14485! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14486!
14487!#if RK5_ENABLED
14488! PURE module function getTauWTR_ULD_RK5(sample, dim, weight) result(tau)
14489!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14490! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_RK5
14491!#endif
14492! use pm_kind, only: TKG => RK5
14493! real(TKG) , intent(in) , contiguous :: weight(:)
14494! real(TKG) , intent(in) , contiguous :: sample(:,:)
14495! integer(IK) , intent(in) :: dim
14496! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14497! end function
14498!#endif
14499!
14500!#if RK4_ENABLED
14501! PURE module function getTauWTR_ULD_RK4(sample, dim, weight) result(tau)
14502!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14503! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_RK4
14504!#endif
14505! use pm_kind, only: TKG => RK4
14506! real(TKG) , intent(in) , contiguous :: weight(:)
14507! real(TKG) , intent(in) , contiguous :: sample(:,:)
14508! integer(IK) , intent(in) :: dim
14509! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14510! end function
14511!#endif
14512!
14513!#if RK3_ENABLED
14514! PURE module function getTauWTR_ULD_RK3(sample, dim, weight) result(tau)
14515!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14516! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_RK3
14517!#endif
14518! use pm_kind, only: TKG => RK3
14519! real(TKG) , intent(in) , contiguous :: weight(:)
14520! real(TKG) , intent(in) , contiguous :: sample(:,:)
14521! integer(IK) , intent(in) :: dim
14522! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14523! end function
14524!#endif
14525!
14526!#if RK2_ENABLED
14527! PURE module function getTauWTR_ULD_RK2(sample, dim, weight) result(tau)
14528!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14529! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_RK2
14530!#endif
14531! use pm_kind, only: TKG => RK2
14532! real(TKG) , intent(in) , contiguous :: weight(:)
14533! real(TKG) , intent(in) , contiguous :: sample(:,:)
14534! integer(IK) , intent(in) :: dim
14535! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14536! end function
14537!#endif
14538!
14539!#if RK1_ENABLED
14540! PURE module function getTauWTR_ULD_RK1(sample, dim, weight) result(tau)
14541!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14542! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_RK1
14543!#endif
14544! use pm_kind, only: TKG => RK1
14545! real(TKG) , intent(in) , contiguous :: weight(:)
14546! real(TKG) , intent(in) , contiguous :: sample(:,:)
14547! integer(IK) , intent(in) :: dim
14548! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14549! end function
14550!#endif
14551!
14552! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14553!
14554!#if PDT_ENABLED
14555!
14556!#if SK5_ENABLED
14557! PURE module function getTauWTR_ULD_PSSK5(sample, dim, weight) result(tau)
14558!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14559! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_PSSK5
14560!#endif
14561! use pm_kind, only: TKG => RK, SKG => SK5
14562! real(TKG) , intent(in) , contiguous :: weight(:)
14563! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14564! integer(IK) , intent(in) :: dim
14565! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14566! end function
14567!#endif
14568!
14569!#if SK4_ENABLED
14570! PURE module function getTauWTR_ULD_PSSK4(sample, dim, weight) result(tau)
14571!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14572! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_PSSK4
14573!#endif
14574! use pm_kind, only: TKG => RK, SKG => SK4
14575! real(TKG) , intent(in) , contiguous :: weight(:)
14576! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14577! integer(IK) , intent(in) :: dim
14578! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14579! end function
14580!#endif
14581!
14582!#if SK3_ENABLED
14583! PURE module function getTauWTR_ULD_PSSK3(sample, dim, weight) result(tau)
14584!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14585! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_PSSK3
14586!#endif
14587! use pm_kind, only: TKG => RK, SKG => SK3
14588! real(TKG) , intent(in) , contiguous :: weight(:)
14589! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14590! integer(IK) , intent(in) :: dim
14591! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14592! end function
14593!#endif
14594!
14595!#if SK2_ENABLED
14596! PURE module function getTauWTR_ULD_PSSK2(sample, dim, weight) result(tau)
14597!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14598! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_PSSK2
14599!#endif
14600! use pm_kind, only: TKG => RK, SKG => SK2
14601! real(TKG) , intent(in) , contiguous :: weight(:)
14602! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14603! integer(IK) , intent(in) :: dim
14604! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14605! end function
14606!#endif
14607!
14608!#if SK1_ENABLED
14609! PURE module function getTauWTR_ULD_PSSK1(sample, dim, weight) result(tau)
14610!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14611! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_PSSK1
14612!#endif
14613! use pm_kind, only: TKG => RK, SKG => SK1
14614! real(TKG) , intent(in) , contiguous :: weight(:)
14615! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
14616! integer(IK) , intent(in) :: dim
14617! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14618! end function
14619!#endif
14620!
14621!#endif
14622!PDT_ENABLED
14623!
14624! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14625!
14626! PURE module function getTauWTR_ULD_BSSK(sample, dim, weight) result(tau)
14627!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14628! !DEC$ ATTRIBUTES DLLEXPORT :: getTauWTR_ULD_BSSK
14629!#endif
14630! real(TKG) , intent(in) , contiguous :: weight(:)
14631! type(css_type) , intent(in) , contiguous :: sample(:,:)
14632! integer(IK) , intent(in) :: dim
14633! real(TKG) :: tau(size(sample, 3 - dim, IK), size(sample, 3 - dim, IK))
14634! end function
14635!
14636! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14637!
14638! end interface getTau
14639!
14640!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14641!
14642! !> \brief
14643! !> Return the Kendall-A rank correlation matrix of the input (weighted) sample of shape `(ndim, nsam)` or `(nsam, ndim)`
14644! !> or the Kendall-A rank correlation coefficient a pair of (weighted) time series `x(1:nsam)` and `y(1:nsam)` where `ndim`
14645! !> is the number of data dimensions (the number of data attributes) and `nsam` is the number of data points.<br>
14646! !>
14647! !> \details
14648! !> This generic interface performs one of the following computational tasks:<br>
14649! !> <ol>
14650! !> <li> Compute the Kendall-A rank correlation coefficient corresponding to an input pair of time series `x` and `y` of `nsam` observations.<br>
14651! !> <li> Compute the Kendall-A rank correlation matrix corresponding to an input multivariate sample of `nsam` observations each with `ndim` attributes.<br>
14652! !> </ol>
14653! !> See the documentation of the parent module [pm_sampleCor](@ref pm_sampleCor) for algorithmic details and sample correlation matrix definition.<br>
14654! !>
14655! !> \param[inout] tau : The output or input/output positive semi-definite scalar or square matrix of shape `(1 : ndim, 1 : ndim)` of type `real` of default kind \RK,
14656! !> containing the (Kendall-A rank) correlation coefficient or matrix corresponding to the input `sample` or time series `x` and `y`, whichever is present.<br>
14657! !> <ol>
14658! !> <li> If `x(:)` and `y(:)` are present, then `tau` shall be a scalar.<br>
14659! !> <li> If `sample` is present, then `tau` shall be a square matrix of shape `[size(sample, 3 - dim), size(sample, 3 - dim)]`.<br>
14660! !> On output, only the specified input `subset` will be overwritten with the correlation matrix.<br>
14661! !> Any elements not in the specified input `subset` remains intact.<br>
14662! !> </ol>
14663! !> \param[in] subset : The input scalar constant argument that can be any of the following:<br>
14664! !> <ol>
14665! !> <li> The constant [lowDia](@ref pm_matrixSubset::lowDia), implying that only the lower-diagonal subset of the output correlation matrix must be computed.<br>
14666! !> This option is available only if either of the input argument `sample` is present.<br>
14667! !> By definition, all diagonal elements of `tau` will be set to `1`.<br>
14668! !> <li> The constant [uppDia](@ref pm_matrixSubset::uppDia), implying that only the upper-diagonal subset of the output correlation matrix must be computed.<br>
14669! !> This option is available only if either of the input argument `sample` is present.<br>
14670! !> By definition, all diagonal elements of `tau` will be set to `1`.<br>
14671! !> </ol>
14672! !> This input argument is merely serves to resolve the different procedures of this generic interface from each other at compile-time.<br>
14673! !> \param[out] frankx : The output `contiguous` vector of shape `(nsam)` of the same type and kind as the output `tau`,
14674! !> containing the fractional ranking of the first attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
14675! !> (**optional**. It **must** be present **if and only if** the input argument `x` is present)
14676! !> \param[out] franky : The output `contiguous` vector of shape `(nsam)` of the same type and kind as the output `tau`,
14677! !> containing the fractional ranking of the second attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
14678! !> (**optional**. It **must** be present **if and only if** the input argument `y` is present.)
14679! !> \param[in] x : The input `contiguous` vector of shape `(nsam)` of,
14680! !> <ol>
14681! !> <li> type `character` of kind \SKALL,
14682! !> <li> type `integer` of kind \IKALL,
14683! !> <li> type `real` of kind \RKALL,
14684! !> <li> type string container [css_type](@ref pm_container::css_type),
14685! !> <li> type string PDT container [css_pdt](@ref pm_container::css_pdt),
14686! !> </ol>
14687! !> or a scalar of,
14688! !> <ol>
14689! !> <li> type `character` of kind \SKALL of arbitrary length type parameter,
14690! !> </ol>
14691! !> containing the first attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
14692! !> (**optional**. It **must** be present **if and only if** the input argument `y` is present and `tau` and `sample` are missing.)
14693! !> \param[in] y : The input `contiguous` vector of shape `(nsam)` of the same type and kind as the input `x`,
14694! !> containing the second attribute `x` of the observational sample, where `nsam` is the number of observations in the sample.<br>
14695! !> (**optional**. It **must** be present **if and only if** the input argument `x` is present and `tau` and `sample` are missing.)
14696! !> \param[out] frank : The output `contiguous` array of the same type and kind as the output `tau` and of the same shape as the input `sample`,
14697! !> containing the fractional ranking of the `sample` attributes along the specified `dim`.<br>
14698! !> If `sample` is a matrix, then the input argument `dim` dictates the direction along which the correlation matrix `tau` must be computed (i.e., the direction of individual observations).<br>
14699! !> (**optional**. It **must** be present **if and only if** the input argument `sample` is present.)
14700! !> \param[in] sample : The input `contiguous` array of shape `(ndim, nsam)` or `(nsam, ndim)` of,
14701! !> <ol>
14702! !> <li> type `character` of kind \SKALL,
14703! !> <li> type `integer` of kind \IKALL,
14704! !> <li> type `real` of kind \RKALL,
14705! !> <li> type string container [css_type](@ref pm_container::css_type),
14706! !> <li> type string PDT container [css_pdt](@ref pm_container::css_pdt),
14707! !> </ol>
14708! !> or a scalar of,
14709! !> <ol>
14710! !> <li> type `character` of kind \SKALL of arbitrary length type parameter,
14711! !> </ol>
14712! !> containing the sample comprised of `nsam` observations each with `ndim` attributes.<br>
14713! !> If `sample` is a matrix, then the input argument `dim` dictates the direction along which the correlation matrix `tau` must be computed (i.e., the direction of individual observations).<br>
14714! !> (**optional**. It **must** be present **if and only if** the input arguments `tau`, `x`, and `y` are missing.)
14715! !> \param[in] dim : The input scalar `integer` of default kind \IK indicating the dimension of `sample` along which the correlation matrix must be computed.<br>
14716! !> <ol>
14717! !> <li> If `dim = 1`, the input `sample` is assumed to have the shape `(nsam, ndim)`.<br>
14718! !> <li> If `dim = 2`, the input `sample` is assumed to have the shape `(ndim, nsam)`.<br>
14719! !> </ol>
14720! !> (**optional**. It must be present **if and only if** the input argument `sample` is present and is of rank `2`.)
14721! !> \param[in] weight : The input `contiguous` vector of length `nsam` of,
14722! !> <ol>
14723! !> <li> type `integer` of default kind \IK, or
14724! !> <li> type `real` of default kind \RK,
14725! !> </ol>
14726! !> containing the corresponding weights of individual `nsam` observations in `sample` or the pair of vectors `x` and `y`.<br>
14727! !> (**optional**. default = [getFilled(1, nsam)](@ref pm_arrayFill::getFilled).)
14728! !>
14729! !> \interface{setTau}
14730! !> \code{.F90}
14731! !>
14732! !> use pm_sampleCor, only: setTau
14733! !>
14734! !> ! XY time series Kendall-A rank correlation coefficient.
14735! !>
14736! !> call setTau(tau, frankx(1:nsam), franky(1:nsam), x(1:nsam), y(1:nsam) ) ! Kendall-A rank correlation coefficient.
14737! !> call setTau(tau, frankx(1:nsam), franky(1:nsam), x(1:nsam), y(1:nsam), weight(1:nsam)) ! Kendall-A rank correlation coefficient.
14738! !>
14739! !> ! sample Kendall-A rank correlation matrix.
14740! !>
14741! !> call setTau(tau(1:ndim, 1:ndim), subset, sample(:,:), dim)
14742! !> call setTau(tau(1:ndim, 1:ndim), subset, sample(:,:), dim, weight(1:nsam))
14743! !>
14744! !> \endcode
14745! !>
14746! !> \warning
14747! !> The condition `0 < sum(weight)` must hold for the corresponding input arguments.<br>
14748! !> The condition `all(0. <= weight)` must hold for the corresponding input arguments.<br>
14749! !> The condition `1 < size(sample, dim)` must hold for the corresponding input arguments.<br>
14750! !> The condition `size(frankx) == size(x)` must hold for the corresponding input arguments.<br>
14751! !> The condition `size(franky) == size(y)` must hold for the corresponding input arguments.<br>
14752! !> The condition `0 < size(sample, 3 - dim)` must hold for the corresponding input arguments.<br>
14753! !> The condition `all(shape(frank) == shape(sample))` must hold for the corresponding input arguments.<br>
14754! !> The condition `1 <= dim .and. dim <= rank(sample)` must hold for the corresponding input arguments.<br>
14755! !> The condition `size(sample, 3 - dim) == size(variance)` must hold for the corresponding input arguments.<br>
14756! !> The condition `size(sample, 3 - dim) == size(mean)` must hold for the corresponding input arguments.<br>
14757! !> The condition `size(sample, dim) == size(weight)` must hold for the corresponding input arguments.<br>
14758! !> The condition `size(x) == size(weight)` must hold for the corresponding input arguments.<br>
14759! !> The condition `size(x) == size(y)` must hold for the corresponding input arguments.<br>
14760! !> \vericons
14761! !>
14762! !> \warnpure
14763! !>
14764! !> \see
14765! !> [getCor](@ref pm_sampleCor::getCor)<br>
14766! !> [setCor](@ref pm_sampleCor::setCor)<br>
14767! !> [getRho](@ref pm_sampleCor::getRho)<br>
14768! !> [setRho](@ref pm_sampleCor::setRho)<br>
14769! !> [getTau](@ref pm_sampleCor::getTau)<br>
14770! !> [setTau](@ref pm_sampleCor::setTau)<br>
14771! !> [getCov](@ref pm_sampleCov::getCov)<br>
14772! !> [setCov](@ref pm_sampleCov::setCov)<br>
14773! !> [setECDF](@ref pm_sampleECDF::setECDF)<br>
14774! !> [getMean](@ref pm_sampleMean::getMean)<br>
14775! !> [setMean](@ref pm_sampleMean::setMean)<br>
14776! !> [getShifted](@ref pm_sampleShift::getShifted)<br>
14777! !> [setShifted](@ref pm_sampleShift::setShifted)<br>
14778! !> [getVar](@ref pm_sampleVar::getVar)<br>
14779! !> [setVar](@ref pm_sampleVar::setVar)<br>
14780! !>
14781! !> \example{setTau}
14782! !> \include{lineno} example/pm_sampleCor/setTau/main.F90
14783! !> \compilef{setTau}
14784! !> \output{setTau}
14785! !> \include{lineno} example/pm_sampleCor/setTau/main.out.F90
14786! !>
14787! !> \test
14788! !> [test_pm_sampleCor](@ref test_pm_sampleCor)
14789! !>
14790! !> \final{setTau}
14791! !>
14792! !> \author
14793! !> \FatemehBagheri, Monday 02:15 AM, September 27, 2021, Dallas, TX<br>
14794! !> \AmirShahmoradi, Monday March 6, 2017, 3:22 pm, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin.<br>
14795!
14796! ! XY - Tau - WNO
14797!
14798! interface setTau
14799!
14800! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14801!
14802!#if SK5_ENABLED
14803! PURE module subroutine setTauWNO_XY_D0_SK5(tau, frankx, franky, x, y)
14804!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14805! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D0_SK5
14806!#endif
14807! use pm_kind, only: TKG => RK, SKG => SK5
14808! character(*,SKG) , intent(in) :: x, y
14809! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14810! real(TKG) , intent(out) :: tau
14811! end subroutine
14812!#endif
14813!
14814!#if SK4_ENABLED
14815! PURE module subroutine setTauWNO_XY_D0_SK4(tau, frankx, franky, x, y)
14816!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14817! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D0_SK4
14818!#endif
14819! use pm_kind, only: TKG => RK, SKG => SK4
14820! character(*,SKG) , intent(in) :: x, y
14821! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14822! real(TKG) , intent(out) :: tau
14823! end subroutine
14824!#endif
14825!
14826!#if SK3_ENABLED
14827! PURE module subroutine setTauWNO_XY_D0_SK3(tau, frankx, franky, x, y)
14828!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14829! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D0_SK3
14830!#endif
14831! use pm_kind, only: TKG => RK, SKG => SK3
14832! character(*,SKG) , intent(in) :: x, y
14833! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14834! real(TKG) , intent(out) :: tau
14835! end subroutine
14836!#endif
14837!
14838!#if SK2_ENABLED
14839! PURE module subroutine setTauWNO_XY_D0_SK2(tau, frankx, franky, x, y)
14840!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14841! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D0_SK2
14842!#endif
14843! use pm_kind, only: TKG => RK, SKG => SK2
14844! character(*,SKG) , intent(in) :: x, y
14845! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14846! real(TKG) , intent(out) :: tau
14847! end subroutine
14848!#endif
14849!
14850!#if SK1_ENABLED
14851! PURE module subroutine setTauWNO_XY_D0_SK1(tau, frankx, franky, x, y)
14852!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14853! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D0_SK1
14854!#endif
14855! use pm_kind, only: TKG => RK, SKG => SK1
14856! character(*,SKG) , intent(in) :: x, y
14857! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14858! real(TKG) , intent(out) :: tau
14859! end subroutine
14860!#endif
14861!
14862! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14863!
14864!#if SK5_ENABLED
14865! PURE module subroutine setTauWNO_XY_D1_SK5(tau, frankx, franky, x, y)
14866!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14867! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_SK5
14868!#endif
14869! use pm_kind, only: TKG => RK, SKG => SK5
14870! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
14871! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14872! real(TKG) , intent(out) :: tau
14873! end subroutine
14874!#endif
14875!
14876!#if SK4_ENABLED
14877! PURE module subroutine setTauWNO_XY_D1_SK4(tau, frankx, franky, x, y)
14878!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14879! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_SK4
14880!#endif
14881! use pm_kind, only: TKG => RK, SKG => SK4
14882! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
14883! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14884! real(TKG) , intent(out) :: tau
14885! end subroutine
14886!#endif
14887!
14888!#if SK3_ENABLED
14889! PURE module subroutine setTauWNO_XY_D1_SK3(tau, frankx, franky, x, y)
14890!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14891! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_SK3
14892!#endif
14893! use pm_kind, only: TKG => RK, SKG => SK3
14894! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
14895! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14896! real(TKG) , intent(out) :: tau
14897! end subroutine
14898!#endif
14899!
14900!#if SK2_ENABLED
14901! PURE module subroutine setTauWNO_XY_D1_SK2(tau, frankx, franky, x, y)
14902!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14903! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_SK2
14904!#endif
14905! use pm_kind, only: TKG => RK, SKG => SK2
14906! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
14907! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14908! real(TKG) , intent(out) :: tau
14909! end subroutine
14910!#endif
14911!
14912!#if SK1_ENABLED
14913! PURE module subroutine setTauWNO_XY_D1_SK1(tau, frankx, franky, x, y)
14914!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14915! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_SK1
14916!#endif
14917! use pm_kind, only: TKG => RK, SKG => SK1
14918! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
14919! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14920! real(TKG) , intent(out) :: tau
14921! end subroutine
14922!#endif
14923!
14924! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14925!
14926!#if IK5_ENABLED
14927! PURE module subroutine setTauWNO_XY_D1_IK5(tau, frankx, franky, x, y)
14928!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14929! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_IK5
14930!#endif
14931! use pm_kind, only: TKG => RK, IKG => IK5
14932! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
14933! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14934! real(TKG) , intent(out) :: tau
14935! end subroutine
14936!#endif
14937!
14938!#if IK4_ENABLED
14939! PURE module subroutine setTauWNO_XY_D1_IK4(tau, frankx, franky, x, y)
14940!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14941! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_IK4
14942!#endif
14943! use pm_kind, only: TKG => RK, IKG => IK4
14944! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
14945! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14946! real(TKG) , intent(out) :: tau
14947! end subroutine
14948!#endif
14949!
14950!#if IK3_ENABLED
14951! PURE module subroutine setTauWNO_XY_D1_IK3(tau, frankx, franky, x, y)
14952!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14953! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_IK3
14954!#endif
14955! use pm_kind, only: TKG => RK, IKG => IK3
14956! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
14957! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14958! real(TKG) , intent(out) :: tau
14959! end subroutine
14960!#endif
14961!
14962!#if IK2_ENABLED
14963! PURE module subroutine setTauWNO_XY_D1_IK2(tau, frankx, franky, x, y)
14964!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14965! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_IK2
14966!#endif
14967! use pm_kind, only: TKG => RK, IKG => IK2
14968! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
14969! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14970! real(TKG) , intent(out) :: tau
14971! end subroutine
14972!#endif
14973!
14974!#if IK1_ENABLED
14975! PURE module subroutine setTauWNO_XY_D1_IK1(tau, frankx, franky, x, y)
14976!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14977! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_IK1
14978!#endif
14979! use pm_kind, only: TKG => RK, IKG => IK1
14980! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
14981! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14982! real(TKG) , intent(out) :: tau
14983! end subroutine
14984!#endif
14985!
14986! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14987!
14988!#if RK5_ENABLED
14989! PURE module subroutine setTauWNO_XY_D1_RK5(tau, frankx, franky, x, y)
14990!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14991! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_RK5
14992!#endif
14993! use pm_kind, only: TKG => RK5
14994! real(TKG) , intent(in) , contiguous :: x(:), y(:)
14995! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
14996! real(TKG) , intent(out) :: tau
14997! end subroutine
14998!#endif
14999!
15000!#if RK4_ENABLED
15001! PURE module subroutine setTauWNO_XY_D1_RK4(tau, frankx, franky, x, y)
15002!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15003! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_RK4
15004!#endif
15005! use pm_kind, only: TKG => RK4
15006! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15007! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15008! real(TKG) , intent(out) :: tau
15009! end subroutine
15010!#endif
15011!
15012!#if RK3_ENABLED
15013! PURE module subroutine setTauWNO_XY_D1_RK3(tau, frankx, franky, x, y)
15014!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15015! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_RK3
15016!#endif
15017! use pm_kind, only: TKG => RK3
15018! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15019! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15020! real(TKG) , intent(out) :: tau
15021! end subroutine
15022!#endif
15023!
15024!#if RK2_ENABLED
15025! PURE module subroutine setTauWNO_XY_D1_RK2(tau, frankx, franky, x, y)
15026!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15027! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_RK2
15028!#endif
15029! use pm_kind, only: TKG => RK2
15030! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15031! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15032! real(TKG) , intent(out) :: tau
15033! end subroutine
15034!#endif
15035!
15036!#if RK1_ENABLED
15037! PURE module subroutine setTauWNO_XY_D1_RK1(tau, frankx, franky, x, y)
15038!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15039! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_RK1
15040!#endif
15041! use pm_kind, only: TKG => RK1
15042! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15043! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15044! real(TKG) , intent(out) :: tau
15045! end subroutine
15046!#endif
15047!
15048! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15049!
15050!#if PDT_ENABLED
15051!
15052!#if SK5_ENABLED
15053! PURE module subroutine setTauWNO_XY_D1_PSSK5(tau, frankx, franky, x, y)
15054!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15055! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_PSSK5
15056!#endif
15057! use pm_kind, only: TKG => RK, SKG => SK5
15058! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15059! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15060! real(TKG) , intent(out) :: tau
15061! end subroutine
15062!#endif
15063!
15064!#if SK4_ENABLED
15065! PURE module subroutine setTauWNO_XY_D1_PSSK4(tau, frankx, franky, x, y)
15066!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15067! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_PSSK4
15068!#endif
15069! use pm_kind, only: TKG => RK, SKG => SK4
15070! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15071! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15072! real(TKG) , intent(out) :: tau
15073! end subroutine
15074!#endif
15075!
15076!#if SK3_ENABLED
15077! PURE module subroutine setTauWNO_XY_D1_PSSK3(tau, frankx, franky, x, y)
15078!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15079! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_PSSK3
15080!#endif
15081! use pm_kind, only: TKG => RK, SKG => SK3
15082! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15083! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15084! real(TKG) , intent(out) :: tau
15085! end subroutine
15086!#endif
15087!
15088!#if SK2_ENABLED
15089! PURE module subroutine setTauWNO_XY_D1_PSSK2(tau, frankx, franky, x, y)
15090!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15091! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_PSSK2
15092!#endif
15093! use pm_kind, only: TKG => RK, SKG => SK2
15094! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15095! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15096! real(TKG) , intent(out) :: tau
15097! end subroutine
15098!#endif
15099!
15100!#if SK1_ENABLED
15101! PURE module subroutine setTauWNO_XY_D1_PSSK1(tau, frankx, franky, x, y)
15102!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15103! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_PSSK1
15104!#endif
15105! use pm_kind, only: TKG => RK, SKG => SK1
15106! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15107! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15108! real(TKG) , intent(out) :: tau
15109! end subroutine
15110!#endif
15111!
15112!#endif
15113!PDT_ENABLED
15114!
15115! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15116!
15117! PURE module subroutine setTauWNO_XY_D1_BSSK(tau, frankx, franky, x, y)
15118!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15119! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XY_D1_BSSK
15120!#endif
15121! type(css_type) , intent(in) , contiguous :: x(:), y(:)
15122! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15123! real(TKG) , intent(out) :: tau
15124! end subroutine
15125!
15126! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15127!
15128! end interface setTau
15129!
15130! ! XY - Tau - WTI
15131!
15132! interface setTau
15133!
15134! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15135!
15136!#if SK5_ENABLED
15137! PURE module subroutine setTauWTI_XY_D0_SK5(tau, frankx, franky, x, y, weight)
15138!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15139! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D0_SK5
15140!#endif
15141! use pm_kind, only: TKG => RK, SKG => SK5
15142! integer(IK) , intent(in) , contiguous :: weight(:)
15143! character(*,SKG) , intent(in) :: x, y
15144! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15145! real(TKG) , intent(out) :: tau
15146! end subroutine
15147!#endif
15148!
15149!#if SK4_ENABLED
15150! PURE module subroutine setTauWTI_XY_D0_SK4(tau, frankx, franky, x, y, weight)
15151!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15152! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D0_SK4
15153!#endif
15154! use pm_kind, only: TKG => RK, SKG => SK4
15155! integer(IK) , intent(in) , contiguous :: weight(:)
15156! character(*,SKG) , intent(in) :: x, y
15157! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15158! real(TKG) , intent(out) :: tau
15159! end subroutine
15160!#endif
15161!
15162!#if SK3_ENABLED
15163! PURE module subroutine setTauWTI_XY_D0_SK3(tau, frankx, franky, x, y, weight)
15164!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15165! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D0_SK3
15166!#endif
15167! use pm_kind, only: TKG => RK, SKG => SK3
15168! integer(IK) , intent(in) , contiguous :: weight(:)
15169! character(*,SKG) , intent(in) :: x, y
15170! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15171! real(TKG) , intent(out) :: tau
15172! end subroutine
15173!#endif
15174!
15175!#if SK2_ENABLED
15176! PURE module subroutine setTauWTI_XY_D0_SK2(tau, frankx, franky, x, y, weight)
15177!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15178! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D0_SK2
15179!#endif
15180! use pm_kind, only: TKG => RK, SKG => SK2
15181! integer(IK) , intent(in) , contiguous :: weight(:)
15182! character(*,SKG) , intent(in) :: x, y
15183! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15184! real(TKG) , intent(out) :: tau
15185! end subroutine
15186!#endif
15187!
15188!#if SK1_ENABLED
15189! PURE module subroutine setTauWTI_XY_D0_SK1(tau, frankx, franky, x, y, weight)
15190!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15191! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D0_SK1
15192!#endif
15193! use pm_kind, only: TKG => RK, SKG => SK1
15194! integer(IK) , intent(in) , contiguous :: weight(:)
15195! character(*,SKG) , intent(in) :: x, y
15196! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15197! real(TKG) , intent(out) :: tau
15198! end subroutine
15199!#endif
15200!
15201! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15202!
15203!#if SK5_ENABLED
15204! PURE module subroutine setTauWTI_XY_D1_SK5(tau, frankx, franky, x, y, weight)
15205!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15206! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_SK5
15207!#endif
15208! use pm_kind, only: TKG => RK, SKG => SK5
15209! integer(IK) , intent(in) , contiguous :: weight(:)
15210! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15211! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15212! real(TKG) , intent(out) :: tau
15213! end subroutine
15214!#endif
15215!
15216!#if SK4_ENABLED
15217! PURE module subroutine setTauWTI_XY_D1_SK4(tau, frankx, franky, x, y, weight)
15218!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15219! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_SK4
15220!#endif
15221! use pm_kind, only: TKG => RK, SKG => SK4
15222! integer(IK) , intent(in) , contiguous :: weight(:)
15223! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15224! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15225! real(TKG) , intent(out) :: tau
15226! end subroutine
15227!#endif
15228!
15229!#if SK3_ENABLED
15230! PURE module subroutine setTauWTI_XY_D1_SK3(tau, frankx, franky, x, y, weight)
15231!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15232! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_SK3
15233!#endif
15234! use pm_kind, only: TKG => RK, SKG => SK3
15235! integer(IK) , intent(in) , contiguous :: weight(:)
15236! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15237! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15238! real(TKG) , intent(out) :: tau
15239! end subroutine
15240!#endif
15241!
15242!#if SK2_ENABLED
15243! PURE module subroutine setTauWTI_XY_D1_SK2(tau, frankx, franky, x, y, weight)
15244!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15245! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_SK2
15246!#endif
15247! use pm_kind, only: TKG => RK, SKG => SK2
15248! integer(IK) , intent(in) , contiguous :: weight(:)
15249! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15250! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15251! real(TKG) , intent(out) :: tau
15252! end subroutine
15253!#endif
15254!
15255!#if SK1_ENABLED
15256! PURE module subroutine setTauWTI_XY_D1_SK1(tau, frankx, franky, x, y, weight)
15257!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15258! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_SK1
15259!#endif
15260! use pm_kind, only: TKG => RK, SKG => SK1
15261! integer(IK) , intent(in) , contiguous :: weight(:)
15262! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15263! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15264! real(TKG) , intent(out) :: tau
15265! end subroutine
15266!#endif
15267!
15268! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15269!
15270!#if IK5_ENABLED
15271! PURE module subroutine setTauWTI_XY_D1_IK5(tau, frankx, franky, x, y, weight)
15272!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15273! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_IK5
15274!#endif
15275! use pm_kind, only: TKG => RK, IKG => IK5
15276! integer(IK) , intent(in) , contiguous :: weight(:)
15277! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15278! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15279! real(TKG) , intent(out) :: tau
15280! end subroutine
15281!#endif
15282!
15283!#if IK4_ENABLED
15284! PURE module subroutine setTauWTI_XY_D1_IK4(tau, frankx, franky, x, y, weight)
15285!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15286! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_IK4
15287!#endif
15288! use pm_kind, only: TKG => RK, IKG => IK4
15289! integer(IK) , intent(in) , contiguous :: weight(:)
15290! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15291! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15292! real(TKG) , intent(out) :: tau
15293! end subroutine
15294!#endif
15295!
15296!#if IK3_ENABLED
15297! PURE module subroutine setTauWTI_XY_D1_IK3(tau, frankx, franky, x, y, weight)
15298!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15299! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_IK3
15300!#endif
15301! use pm_kind, only: TKG => RK, IKG => IK3
15302! integer(IK) , intent(in) , contiguous :: weight(:)
15303! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15304! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15305! real(TKG) , intent(out) :: tau
15306! end subroutine
15307!#endif
15308!
15309!#if IK2_ENABLED
15310! PURE module subroutine setTauWTI_XY_D1_IK2(tau, frankx, franky, x, y, weight)
15311!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15312! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_IK2
15313!#endif
15314! use pm_kind, only: TKG => RK, IKG => IK2
15315! integer(IK) , intent(in) , contiguous :: weight(:)
15316! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15317! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15318! real(TKG) , intent(out) :: tau
15319! end subroutine
15320!#endif
15321!
15322!#if IK1_ENABLED
15323! PURE module subroutine setTauWTI_XY_D1_IK1(tau, frankx, franky, x, y, weight)
15324!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15325! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_IK1
15326!#endif
15327! use pm_kind, only: TKG => RK, IKG => IK1
15328! integer(IK) , intent(in) , contiguous :: weight(:)
15329! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15330! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15331! real(TKG) , intent(out) :: tau
15332! end subroutine
15333!#endif
15334!
15335! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15336!
15337!#if RK5_ENABLED
15338! PURE module subroutine setTauWTI_XY_D1_RK5(tau, frankx, franky, x, y, weight)
15339!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15340! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_RK5
15341!#endif
15342! use pm_kind, only: TKG => RK5
15343! integer(IK) , intent(in) , contiguous :: weight(:)
15344! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15345! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15346! real(TKG) , intent(out) :: tau
15347! end subroutine
15348!#endif
15349!
15350!#if RK4_ENABLED
15351! PURE module subroutine setTauWTI_XY_D1_RK4(tau, frankx, franky, x, y, weight)
15352!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15353! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_RK4
15354!#endif
15355! use pm_kind, only: TKG => RK4
15356! integer(IK) , intent(in) , contiguous :: weight(:)
15357! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15358! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15359! real(TKG) , intent(out) :: tau
15360! end subroutine
15361!#endif
15362!
15363!#if RK3_ENABLED
15364! PURE module subroutine setTauWTI_XY_D1_RK3(tau, frankx, franky, x, y, weight)
15365!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15366! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_RK3
15367!#endif
15368! use pm_kind, only: TKG => RK3
15369! integer(IK) , intent(in) , contiguous :: weight(:)
15370! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15371! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15372! real(TKG) , intent(out) :: tau
15373! end subroutine
15374!#endif
15375!
15376!#if RK2_ENABLED
15377! PURE module subroutine setTauWTI_XY_D1_RK2(tau, frankx, franky, x, y, weight)
15378!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15379! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_RK2
15380!#endif
15381! use pm_kind, only: TKG => RK2
15382! integer(IK) , intent(in) , contiguous :: weight(:)
15383! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15384! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15385! real(TKG) , intent(out) :: tau
15386! end subroutine
15387!#endif
15388!
15389!#if RK1_ENABLED
15390! PURE module subroutine setTauWTI_XY_D1_RK1(tau, frankx, franky, x, y, weight)
15391!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15392! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_RK1
15393!#endif
15394! use pm_kind, only: TKG => RK1
15395! integer(IK) , intent(in) , contiguous :: weight(:)
15396! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15397! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15398! real(TKG) , intent(out) :: tau
15399! end subroutine
15400!#endif
15401!
15402! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15403!
15404!#if PDT_ENABLED
15405!
15406!#if SK5_ENABLED
15407! PURE module subroutine setTauWTI_XY_D1_PSSK5(tau, frankx, franky, x, y, weight)
15408!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15409! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_PSSK5
15410!#endif
15411! use pm_kind, only: TKG => RK, SKG => SK5
15412! integer(IK) , intent(in) , contiguous :: weight(:)
15413! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15414! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15415! real(TKG) , intent(out) :: tau
15416! end subroutine
15417!#endif
15418!
15419!#if SK4_ENABLED
15420! PURE module subroutine setTauWTI_XY_D1_PSSK4(tau, frankx, franky, x, y, weight)
15421!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15422! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_PSSK4
15423!#endif
15424! use pm_kind, only: TKG => RK, SKG => SK4
15425! integer(IK) , intent(in) , contiguous :: weight(:)
15426! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15427! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15428! real(TKG) , intent(out) :: tau
15429! end subroutine
15430!#endif
15431!
15432!#if SK3_ENABLED
15433! PURE module subroutine setTauWTI_XY_D1_PSSK3(tau, frankx, franky, x, y, weight)
15434!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15435! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_PSSK3
15436!#endif
15437! use pm_kind, only: TKG => RK, SKG => SK3
15438! integer(IK) , intent(in) , contiguous :: weight(:)
15439! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15440! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15441! real(TKG) , intent(out) :: tau
15442! end subroutine
15443!#endif
15444!
15445!#if SK2_ENABLED
15446! PURE module subroutine setTauWTI_XY_D1_PSSK2(tau, frankx, franky, x, y, weight)
15447!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15448! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_PSSK2
15449!#endif
15450! use pm_kind, only: TKG => RK, SKG => SK2
15451! integer(IK) , intent(in) , contiguous :: weight(:)
15452! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15453! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15454! real(TKG) , intent(out) :: tau
15455! end subroutine
15456!#endif
15457!
15458!#if SK1_ENABLED
15459! PURE module subroutine setTauWTI_XY_D1_PSSK1(tau, frankx, franky, x, y, weight)
15460!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15461! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_PSSK1
15462!#endif
15463! use pm_kind, only: TKG => RK, SKG => SK1
15464! integer(IK) , intent(in) , contiguous :: weight(:)
15465! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15466! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15467! real(TKG) , intent(out) :: tau
15468! end subroutine
15469!#endif
15470!
15471!#endif
15472!PDT_ENABLED
15473!
15474! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15475!
15476! PURE module subroutine setTauWTI_XY_D1_BSSK(tau, frankx, franky, x, y, weight)
15477!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15478! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XY_D1_BSSK
15479!#endif
15480! integer(IK) , intent(in) , contiguous :: weight(:)
15481! type(css_type) , intent(in) , contiguous :: x(:), y(:)
15482! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15483! real(TKG) , intent(out) :: tau
15484! end subroutine
15485!
15486! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15487!
15488! end interface setTau
15489!
15490! ! XY - Tau - WTR
15491!
15492! interface setTau
15493!
15494! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15495!
15496!#if SK5_ENABLED
15497! PURE module subroutine setTauWTR_XY_D0_SK5(tau, frankx, franky, x, y, weight)
15498!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15499! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D0_SK5
15500!#endif
15501! use pm_kind, only: TKG => RK, SKG => SK5
15502! real(TKG) , intent(in) , contiguous :: weight(:)
15503! character(*,SKG) , intent(in) :: x, y
15504! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15505! real(TKG) , intent(out) :: tau
15506! end subroutine
15507!#endif
15508!
15509!#if SK4_ENABLED
15510! PURE module subroutine setTauWTR_XY_D0_SK4(tau, frankx, franky, x, y, weight)
15511!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15512! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D0_SK4
15513!#endif
15514! use pm_kind, only: TKG => RK, SKG => SK4
15515! real(TKG) , intent(in) , contiguous :: weight(:)
15516! character(*,SKG) , intent(in) :: x, y
15517! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15518! real(TKG) , intent(out) :: tau
15519! end subroutine
15520!#endif
15521!
15522!#if SK3_ENABLED
15523! PURE module subroutine setTauWTR_XY_D0_SK3(tau, frankx, franky, x, y, weight)
15524!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15525! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D0_SK3
15526!#endif
15527! use pm_kind, only: TKG => RK, SKG => SK3
15528! real(TKG) , intent(in) , contiguous :: weight(:)
15529! character(*,SKG) , intent(in) :: x, y
15530! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15531! real(TKG) , intent(out) :: tau
15532! end subroutine
15533!#endif
15534!
15535!#if SK2_ENABLED
15536! PURE module subroutine setTauWTR_XY_D0_SK2(tau, frankx, franky, x, y, weight)
15537!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15538! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D0_SK2
15539!#endif
15540! use pm_kind, only: TKG => RK, SKG => SK2
15541! real(TKG) , intent(in) , contiguous :: weight(:)
15542! character(*,SKG) , intent(in) :: x, y
15543! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15544! real(TKG) , intent(out) :: tau
15545! end subroutine
15546!#endif
15547!
15548!#if SK1_ENABLED
15549! PURE module subroutine setTauWTR_XY_D0_SK1(tau, frankx, franky, x, y, weight)
15550!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15551! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D0_SK1
15552!#endif
15553! use pm_kind, only: TKG => RK, SKG => SK1
15554! real(TKG) , intent(in) , contiguous :: weight(:)
15555! character(*,SKG) , intent(in) :: x, y
15556! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15557! real(TKG) , intent(out) :: tau
15558! end subroutine
15559!#endif
15560!
15561! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15562!
15563!#if SK5_ENABLED
15564! PURE module subroutine setTauWTR_XY_D1_SK5(tau, frankx, franky, x, y, weight)
15565!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15566! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_SK5
15567!#endif
15568! use pm_kind, only: TKG => RK, SKG => SK5
15569! real(TKG) , intent(in) , contiguous :: weight(:)
15570! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15571! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15572! real(TKG) , intent(out) :: tau
15573! end subroutine
15574!#endif
15575!
15576!#if SK4_ENABLED
15577! PURE module subroutine setTauWTR_XY_D1_SK4(tau, frankx, franky, x, y, weight)
15578!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15579! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_SK4
15580!#endif
15581! use pm_kind, only: TKG => RK, SKG => SK4
15582! real(TKG) , intent(in) , contiguous :: weight(:)
15583! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15584! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15585! real(TKG) , intent(out) :: tau
15586! end subroutine
15587!#endif
15588!
15589!#if SK3_ENABLED
15590! PURE module subroutine setTauWTR_XY_D1_SK3(tau, frankx, franky, x, y, weight)
15591!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15592! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_SK3
15593!#endif
15594! use pm_kind, only: TKG => RK, SKG => SK3
15595! real(TKG) , intent(in) , contiguous :: weight(:)
15596! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15597! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15598! real(TKG) , intent(out) :: tau
15599! end subroutine
15600!#endif
15601!
15602!#if SK2_ENABLED
15603! PURE module subroutine setTauWTR_XY_D1_SK2(tau, frankx, franky, x, y, weight)
15604!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15605! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_SK2
15606!#endif
15607! use pm_kind, only: TKG => RK, SKG => SK2
15608! real(TKG) , intent(in) , contiguous :: weight(:)
15609! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15610! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15611! real(TKG) , intent(out) :: tau
15612! end subroutine
15613!#endif
15614!
15615!#if SK1_ENABLED
15616! PURE module subroutine setTauWTR_XY_D1_SK1(tau, frankx, franky, x, y, weight)
15617!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15618! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_SK1
15619!#endif
15620! use pm_kind, only: TKG => RK, SKG => SK1
15621! real(TKG) , intent(in) , contiguous :: weight(:)
15622! character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
15623! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15624! real(TKG) , intent(out) :: tau
15625! end subroutine
15626!#endif
15627!
15628! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15629!
15630!#if IK5_ENABLED
15631! PURE module subroutine setTauWTR_XY_D1_IK5(tau, frankx, franky, x, y, weight)
15632!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15633! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_IK5
15634!#endif
15635! use pm_kind, only: TKG => RK, IKG => IK5
15636! real(TKG) , intent(in) , contiguous :: weight(:)
15637! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15638! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15639! real(TKG) , intent(out) :: tau
15640! end subroutine
15641!#endif
15642!
15643!#if IK4_ENABLED
15644! PURE module subroutine setTauWTR_XY_D1_IK4(tau, frankx, franky, x, y, weight)
15645!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15646! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_IK4
15647!#endif
15648! use pm_kind, only: TKG => RK, IKG => IK4
15649! real(TKG) , intent(in) , contiguous :: weight(:)
15650! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15651! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15652! real(TKG) , intent(out) :: tau
15653! end subroutine
15654!#endif
15655!
15656!#if IK3_ENABLED
15657! PURE module subroutine setTauWTR_XY_D1_IK3(tau, frankx, franky, x, y, weight)
15658!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15659! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_IK3
15660!#endif
15661! use pm_kind, only: TKG => RK, IKG => IK3
15662! real(TKG) , intent(in) , contiguous :: weight(:)
15663! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15664! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15665! real(TKG) , intent(out) :: tau
15666! end subroutine
15667!#endif
15668!
15669!#if IK2_ENABLED
15670! PURE module subroutine setTauWTR_XY_D1_IK2(tau, frankx, franky, x, y, weight)
15671!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15672! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_IK2
15673!#endif
15674! use pm_kind, only: TKG => RK, IKG => IK2
15675! real(TKG) , intent(in) , contiguous :: weight(:)
15676! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15677! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15678! real(TKG) , intent(out) :: tau
15679! end subroutine
15680!#endif
15681!
15682!#if IK1_ENABLED
15683! PURE module subroutine setTauWTR_XY_D1_IK1(tau, frankx, franky, x, y, weight)
15684!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15685! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_IK1
15686!#endif
15687! use pm_kind, only: TKG => RK, IKG => IK1
15688! real(TKG) , intent(in) , contiguous :: weight(:)
15689! integer(IKG) , intent(in) , contiguous :: x(:), y(:)
15690! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15691! real(TKG) , intent(out) :: tau
15692! end subroutine
15693!#endif
15694!
15695! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15696!
15697!#if RK5_ENABLED
15698! PURE module subroutine setTauWTR_XY_D1_RK5(tau, frankx, franky, x, y, weight)
15699!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15700! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_RK5
15701!#endif
15702! use pm_kind, only: TKG => RK5
15703! real(TKG) , intent(in) , contiguous :: weight(:)
15704! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15705! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15706! real(TKG) , intent(out) :: tau
15707! end subroutine
15708!#endif
15709!
15710!#if RK4_ENABLED
15711! PURE module subroutine setTauWTR_XY_D1_RK4(tau, frankx, franky, x, y, weight)
15712!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15713! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_RK4
15714!#endif
15715! use pm_kind, only: TKG => RK4
15716! real(TKG) , intent(in) , contiguous :: weight(:)
15717! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15718! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15719! real(TKG) , intent(out) :: tau
15720! end subroutine
15721!#endif
15722!
15723!#if RK3_ENABLED
15724! PURE module subroutine setTauWTR_XY_D1_RK3(tau, frankx, franky, x, y, weight)
15725!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15726! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_RK3
15727!#endif
15728! use pm_kind, only: TKG => RK3
15729! real(TKG) , intent(in) , contiguous :: weight(:)
15730! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15731! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15732! real(TKG) , intent(out) :: tau
15733! end subroutine
15734!#endif
15735!
15736!#if RK2_ENABLED
15737! PURE module subroutine setTauWTR_XY_D1_RK2(tau, frankx, franky, x, y, weight)
15738!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15739! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_RK2
15740!#endif
15741! use pm_kind, only: TKG => RK2
15742! real(TKG) , intent(in) , contiguous :: weight(:)
15743! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15744! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15745! real(TKG) , intent(out) :: tau
15746! end subroutine
15747!#endif
15748!
15749!#if RK1_ENABLED
15750! PURE module subroutine setTauWTR_XY_D1_RK1(tau, frankx, franky, x, y, weight)
15751!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15752! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_RK1
15753!#endif
15754! use pm_kind, only: TKG => RK1
15755! real(TKG) , intent(in) , contiguous :: weight(:)
15756! real(TKG) , intent(in) , contiguous :: x(:), y(:)
15757! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15758! real(TKG) , intent(out) :: tau
15759! end subroutine
15760!#endif
15761!
15762! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15763!
15764!#if PDT_ENABLED
15765!
15766!#if SK5_ENABLED
15767! PURE module subroutine setTauWTR_XY_D1_PSSK5(tau, frankx, franky, x, y, weight)
15768!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15769! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_PSSK5
15770!#endif
15771! use pm_kind, only: TKG => RK, SKG => SK5
15772! real(TKG) , intent(in) , contiguous :: weight(:)
15773! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15774! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15775! real(TKG) , intent(out) :: tau
15776! end subroutine
15777!#endif
15778!
15779!#if SK4_ENABLED
15780! PURE module subroutine setTauWTR_XY_D1_PSSK4(tau, frankx, franky, x, y, weight)
15781!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15782! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_PSSK4
15783!#endif
15784! use pm_kind, only: TKG => RK, SKG => SK4
15785! real(TKG) , intent(in) , contiguous :: weight(:)
15786! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15787! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15788! real(TKG) , intent(out) :: tau
15789! end subroutine
15790!#endif
15791!
15792!#if SK3_ENABLED
15793! PURE module subroutine setTauWTR_XY_D1_PSSK3(tau, frankx, franky, x, y, weight)
15794!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15795! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_PSSK3
15796!#endif
15797! use pm_kind, only: TKG => RK, SKG => SK3
15798! real(TKG) , intent(in) , contiguous :: weight(:)
15799! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15800! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15801! real(TKG) , intent(out) :: tau
15802! end subroutine
15803!#endif
15804!
15805!#if SK2_ENABLED
15806! PURE module subroutine setTauWTR_XY_D1_PSSK2(tau, frankx, franky, x, y, weight)
15807!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15808! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_PSSK2
15809!#endif
15810! use pm_kind, only: TKG => RK, SKG => SK2
15811! real(TKG) , intent(in) , contiguous :: weight(:)
15812! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15813! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15814! real(TKG) , intent(out) :: tau
15815! end subroutine
15816!#endif
15817!
15818!#if SK1_ENABLED
15819! PURE module subroutine setTauWTR_XY_D1_PSSK1(tau, frankx, franky, x, y, weight)
15820!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15821! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_PSSK1
15822!#endif
15823! use pm_kind, only: TKG => RK, SKG => SK1
15824! real(TKG) , intent(in) , contiguous :: weight(:)
15825! type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
15826! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15827! real(TKG) , intent(out) :: tau
15828! end subroutine
15829!#endif
15830!
15831!#endif
15832!PDT_ENABLED
15833!
15834! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15835!
15836! PURE module subroutine setTauWTR_XY_D1_BSSK(tau, frankx, franky, x, y, weight)
15837!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15838! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XY_D1_BSSK
15839!#endif
15840! real(TKG) , intent(in) , contiguous :: weight(:)
15841! type(css_type) , intent(in) , contiguous :: x(:), y(:)
15842! real(TKG) , intent(out) , contiguous :: frankx(:), franky(:)
15843! real(TKG) , intent(out) :: tau
15844! end subroutine
15845!
15846! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15847!
15848! end interface setTau
15849!
15850! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15851!
15852! ! UXD - Tau - WNO
15853!
15854! interface setTau
15855!
15856! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15857!
15858!#if SK5_ENABLED
15859! PURE module subroutine setTauWNO_UXD_SK5(tau, subset, frank, sample, dim)
15860!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15861! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_SK5
15862!#endif
15863! use pm_kind, only: TKG => RK, SKG => SK5
15864! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
15865! real(TKG) , intent(out) , contiguous :: frank(:,:)
15866! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15867! integer(IK) , intent(in) :: dim
15868! type(uppDia_type) , intent(in) :: subset
15869! end subroutine
15870!#endif
15871!
15872!#if SK4_ENABLED
15873! PURE module subroutine setTauWNO_UXD_SK4(tau, subset, frank, sample, dim)
15874!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15875! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_SK4
15876!#endif
15877! use pm_kind, only: TKG => RK, SKG => SK4
15878! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
15879! real(TKG) , intent(out) , contiguous :: frank(:,:)
15880! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15881! integer(IK) , intent(in) :: dim
15882! type(uppDia_type) , intent(in) :: subset
15883! end subroutine
15884!#endif
15885!
15886!#if SK3_ENABLED
15887! PURE module subroutine setTauWNO_UXD_SK3(tau, subset, frank, sample, dim)
15888!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15889! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_SK3
15890!#endif
15891! use pm_kind, only: TKG => RK, SKG => SK3
15892! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
15893! real(TKG) , intent(out) , contiguous :: frank(:,:)
15894! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15895! integer(IK) , intent(in) :: dim
15896! type(uppDia_type) , intent(in) :: subset
15897! end subroutine
15898!#endif
15899!
15900!#if SK2_ENABLED
15901! PURE module subroutine setTauWNO_UXD_SK2(tau, subset, frank, sample, dim)
15902!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15903! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_SK2
15904!#endif
15905! use pm_kind, only: TKG => RK, SKG => SK2
15906! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
15907! real(TKG) , intent(out) , contiguous :: frank(:,:)
15908! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15909! integer(IK) , intent(in) :: dim
15910! type(uppDia_type) , intent(in) :: subset
15911! end subroutine
15912!#endif
15913!
15914!#if SK1_ENABLED
15915! PURE module subroutine setTauWNO_UXD_SK1(tau, subset, frank, sample, dim)
15916!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15917! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_SK1
15918!#endif
15919! use pm_kind, only: TKG => RK, SKG => SK1
15920! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
15921! real(TKG) , intent(out) , contiguous :: frank(:,:)
15922! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15923! integer(IK) , intent(in) :: dim
15924! type(uppDia_type) , intent(in) :: subset
15925! end subroutine
15926!#endif
15927!
15928! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15929!
15930!#if IK5_ENABLED
15931! PURE module subroutine setTauWNO_UXD_IK5(tau, subset, frank, sample, dim)
15932!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15933! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_IK5
15934!#endif
15935! use pm_kind, only: TKG => RK, IKG => IK5
15936! integer(IKG) , intent(in) , contiguous :: sample(:,:)
15937! real(TKG) , intent(out) , contiguous :: frank(:,:)
15938! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15939! integer(IK) , intent(in) :: dim
15940! type(uppDia_type) , intent(in) :: subset
15941! end subroutine
15942!#endif
15943!
15944!#if IK4_ENABLED
15945! PURE module subroutine setTauWNO_UXD_IK4(tau, subset, frank, sample, dim)
15946!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15947! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_IK4
15948!#endif
15949! use pm_kind, only: TKG => RK, IKG => IK4
15950! integer(IKG) , intent(in) , contiguous :: sample(:,:)
15951! real(TKG) , intent(out) , contiguous :: frank(:,:)
15952! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15953! integer(IK) , intent(in) :: dim
15954! type(uppDia_type) , intent(in) :: subset
15955! end subroutine
15956!#endif
15957!
15958!#if IK3_ENABLED
15959! PURE module subroutine setTauWNO_UXD_IK3(tau, subset, frank, sample, dim)
15960!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15961! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_IK3
15962!#endif
15963! use pm_kind, only: TKG => RK, IKG => IK3
15964! integer(IKG) , intent(in) , contiguous :: sample(:,:)
15965! real(TKG) , intent(out) , contiguous :: frank(:,:)
15966! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15967! integer(IK) , intent(in) :: dim
15968! type(uppDia_type) , intent(in) :: subset
15969! end subroutine
15970!#endif
15971!
15972!#if IK2_ENABLED
15973! PURE module subroutine setTauWNO_UXD_IK2(tau, subset, frank, sample, dim)
15974!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15975! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_IK2
15976!#endif
15977! use pm_kind, only: TKG => RK, IKG => IK2
15978! integer(IKG) , intent(in) , contiguous :: sample(:,:)
15979! real(TKG) , intent(out) , contiguous :: frank(:,:)
15980! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15981! integer(IK) , intent(in) :: dim
15982! type(uppDia_type) , intent(in) :: subset
15983! end subroutine
15984!#endif
15985!
15986!#if IK1_ENABLED
15987! PURE module subroutine setTauWNO_UXD_IK1(tau, subset, frank, sample, dim)
15988!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15989! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_IK1
15990!#endif
15991! use pm_kind, only: TKG => RK, IKG => IK1
15992! integer(IKG) , intent(in) , contiguous :: sample(:,:)
15993! real(TKG) , intent(out) , contiguous :: frank(:,:)
15994! real(TKG) , intent(inout) , contiguous :: tau(:,:)
15995! integer(IK) , intent(in) :: dim
15996! type(uppDia_type) , intent(in) :: subset
15997! end subroutine
15998!#endif
15999!
16000! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16001!
16002!#if RK5_ENABLED
16003! PURE module subroutine setTauWNO_UXD_RK5(tau, subset, frank, sample, dim)
16004!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16005! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_RK5
16006!#endif
16007! use pm_kind, only: TKG => RK5
16008! real(TKG) , intent(in) , contiguous :: sample(:,:)
16009! real(TKG) , intent(out) , contiguous :: frank(:,:)
16010! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16011! integer(IK) , intent(in) :: dim
16012! type(uppDia_type) , intent(in) :: subset
16013! end subroutine
16014!#endif
16015!
16016!#if RK4_ENABLED
16017! PURE module subroutine setTauWNO_UXD_RK4(tau, subset, frank, sample, dim)
16018!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16019! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_RK4
16020!#endif
16021! use pm_kind, only: TKG => RK4
16022! real(TKG) , intent(in) , contiguous :: sample(:,:)
16023! real(TKG) , intent(out) , contiguous :: frank(:,:)
16024! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16025! integer(IK) , intent(in) :: dim
16026! type(uppDia_type) , intent(in) :: subset
16027! end subroutine
16028!#endif
16029!
16030!#if RK3_ENABLED
16031! PURE module subroutine setTauWNO_UXD_RK3(tau, subset, frank, sample, dim)
16032!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16033! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_RK3
16034!#endif
16035! use pm_kind, only: TKG => RK3
16036! real(TKG) , intent(in) , contiguous :: sample(:,:)
16037! real(TKG) , intent(out) , contiguous :: frank(:,:)
16038! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16039! integer(IK) , intent(in) :: dim
16040! type(uppDia_type) , intent(in) :: subset
16041! end subroutine
16042!#endif
16043!
16044!#if RK2_ENABLED
16045! PURE module subroutine setTauWNO_UXD_RK2(tau, subset, frank, sample, dim)
16046!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16047! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_RK2
16048!#endif
16049! use pm_kind, only: TKG => RK2
16050! real(TKG) , intent(in) , contiguous :: sample(:,:)
16051! real(TKG) , intent(out) , contiguous :: frank(:,:)
16052! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16053! integer(IK) , intent(in) :: dim
16054! type(uppDia_type) , intent(in) :: subset
16055! end subroutine
16056!#endif
16057!
16058!#if RK1_ENABLED
16059! PURE module subroutine setTauWNO_UXD_RK1(tau, subset, frank, sample, dim)
16060!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16061! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_RK1
16062!#endif
16063! use pm_kind, only: TKG => RK1
16064! real(TKG) , intent(in) , contiguous :: sample(:,:)
16065! real(TKG) , intent(out) , contiguous :: frank(:,:)
16066! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16067! integer(IK) , intent(in) :: dim
16068! type(uppDia_type) , intent(in) :: subset
16069! end subroutine
16070!#endif
16071!
16072! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16073!
16074!#if PDT_ENABLED
16075!
16076!#if SK5_ENABLED
16077! PURE module subroutine setTauWNO_UXD_PSSK5(tau, subset, frank, sample, dim)
16078!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16079! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_PSSK5
16080!#endif
16081! use pm_kind, only: TKG => RK, SKG => SK5
16082! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16083! real(TKG) , intent(out) , contiguous :: frank(:,:)
16084! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16085! integer(IK) , intent(in) :: dim
16086! type(uppDia_type) , intent(in) :: subset
16087! end subroutine
16088!#endif
16089!
16090!#if SK4_ENABLED
16091! PURE module subroutine setTauWNO_UXD_PSSK4(tau, subset, frank, sample, dim)
16092!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16093! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_PSSK4
16094!#endif
16095! use pm_kind, only: TKG => RK, SKG => SK4
16096! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16097! real(TKG) , intent(out) , contiguous :: frank(:,:)
16098! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16099! integer(IK) , intent(in) :: dim
16100! type(uppDia_type) , intent(in) :: subset
16101! end subroutine
16102!#endif
16103!
16104!#if SK3_ENABLED
16105! PURE module subroutine setTauWNO_UXD_PSSK3(tau, subset, frank, sample, dim)
16106!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16107! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_PSSK3
16108!#endif
16109! use pm_kind, only: TKG => RK, SKG => SK3
16110! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16111! real(TKG) , intent(out) , contiguous :: frank(:,:)
16112! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16113! integer(IK) , intent(in) :: dim
16114! type(uppDia_type) , intent(in) :: subset
16115! end subroutine
16116!#endif
16117!
16118!#if SK2_ENABLED
16119! PURE module subroutine setTauWNO_UXD_PSSK2(tau, subset, frank, sample, dim)
16120!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16121! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_PSSK2
16122!#endif
16123! use pm_kind, only: TKG => RK, SKG => SK2
16124! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16125! real(TKG) , intent(out) , contiguous :: frank(:,:)
16126! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16127! integer(IK) , intent(in) :: dim
16128! type(uppDia_type) , intent(in) :: subset
16129! end subroutine
16130!#endif
16131!
16132!#if SK1_ENABLED
16133! PURE module subroutine setTauWNO_UXD_PSSK1(tau, subset, frank, sample, dim)
16134!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16135! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_PSSK1
16136!#endif
16137! use pm_kind, only: TKG => RK, SKG => SK1
16138! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16139! real(TKG) , intent(out) , contiguous :: frank(:,:)
16140! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16141! integer(IK) , intent(in) :: dim
16142! type(uppDia_type) , intent(in) :: subset
16143! end subroutine
16144!#endif
16145!
16146!#endif
16147!PDT_ENABLED
16148!
16149! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16150!
16151! PURE module subroutine setTauWNO_UXD_BSSK(tau, subset, frank, sample, dim)
16152!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16153! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_UXD_BSSK
16154!#endif
16155! type(css_type) , intent(in) , contiguous :: sample(:,:)
16156! real(TKG) , intent(out) , contiguous :: frank(:,:)
16157! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16158! integer(IK) , intent(in) :: dim
16159! type(uppDia_type) , intent(in) :: subset
16160! end subroutine
16161!
16162! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16163!
16164! end interface setTau
16165!
16166! ! UXD - Tau - WTI
16167!
16168! interface setTau
16169!
16170! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16171!
16172!#if SK5_ENABLED
16173! PURE module subroutine setTauWTI_UXD_SK5(tau, subset, frank, sample, dim, weight)
16174!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16175! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_SK5
16176!#endif
16177! use pm_kind, only: TKG => RK, SKG => SK5
16178! integer(IK) , intent(in) , contiguous :: weight(:)
16179! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16180! real(TKG) , intent(out) , contiguous :: frank(:,:)
16181! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16182! integer(IK) , intent(in) :: dim
16183! type(uppDia_type) , intent(in) :: subset
16184! end subroutine
16185!#endif
16186!
16187!#if SK4_ENABLED
16188! PURE module subroutine setTauWTI_UXD_SK4(tau, subset, frank, sample, dim, weight)
16189!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16190! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_SK4
16191!#endif
16192! use pm_kind, only: TKG => RK, SKG => SK4
16193! integer(IK) , intent(in) , contiguous :: weight(:)
16194! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16195! real(TKG) , intent(out) , contiguous :: frank(:,:)
16196! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16197! integer(IK) , intent(in) :: dim
16198! type(uppDia_type) , intent(in) :: subset
16199! end subroutine
16200!#endif
16201!
16202!#if SK3_ENABLED
16203! PURE module subroutine setTauWTI_UXD_SK3(tau, subset, frank, sample, dim, weight)
16204!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16205! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_SK3
16206!#endif
16207! use pm_kind, only: TKG => RK, SKG => SK3
16208! integer(IK) , intent(in) , contiguous :: weight(:)
16209! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16210! real(TKG) , intent(out) , contiguous :: frank(:,:)
16211! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16212! integer(IK) , intent(in) :: dim
16213! type(uppDia_type) , intent(in) :: subset
16214! end subroutine
16215!#endif
16216!
16217!#if SK2_ENABLED
16218! PURE module subroutine setTauWTI_UXD_SK2(tau, subset, frank, sample, dim, weight)
16219!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16220! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_SK2
16221!#endif
16222! use pm_kind, only: TKG => RK, SKG => SK2
16223! integer(IK) , intent(in) , contiguous :: weight(:)
16224! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16225! real(TKG) , intent(out) , contiguous :: frank(:,:)
16226! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16227! integer(IK) , intent(in) :: dim
16228! type(uppDia_type) , intent(in) :: subset
16229! end subroutine
16230!#endif
16231!
16232!#if SK1_ENABLED
16233! PURE module subroutine setTauWTI_UXD_SK1(tau, subset, frank, sample, dim, weight)
16234!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16235! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_SK1
16236!#endif
16237! use pm_kind, only: TKG => RK, SKG => SK1
16238! integer(IK) , intent(in) , contiguous :: weight(:)
16239! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16240! real(TKG) , intent(out) , contiguous :: frank(:,:)
16241! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16242! integer(IK) , intent(in) :: dim
16243! type(uppDia_type) , intent(in) :: subset
16244! end subroutine
16245!#endif
16246!
16247! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16248!
16249!#if IK5_ENABLED
16250! PURE module subroutine setTauWTI_UXD_IK5(tau, subset, frank, sample, dim, weight)
16251!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16252! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_IK5
16253!#endif
16254! use pm_kind, only: TKG => RK, IKG => IK5
16255! integer(IK) , intent(in) , contiguous :: weight(:)
16256! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16257! real(TKG) , intent(out) , contiguous :: frank(:,:)
16258! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16259! integer(IK) , intent(in) :: dim
16260! type(uppDia_type) , intent(in) :: subset
16261! end subroutine
16262!#endif
16263!
16264!#if IK4_ENABLED
16265! PURE module subroutine setTauWTI_UXD_IK4(tau, subset, frank, sample, dim, weight)
16266!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16267! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_IK4
16268!#endif
16269! use pm_kind, only: TKG => RK, IKG => IK4
16270! integer(IK) , intent(in) , contiguous :: weight(:)
16271! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16272! real(TKG) , intent(out) , contiguous :: frank(:,:)
16273! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16274! integer(IK) , intent(in) :: dim
16275! type(uppDia_type) , intent(in) :: subset
16276! end subroutine
16277!#endif
16278!
16279!#if IK3_ENABLED
16280! PURE module subroutine setTauWTI_UXD_IK3(tau, subset, frank, sample, dim, weight)
16281!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16282! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_IK3
16283!#endif
16284! use pm_kind, only: TKG => RK, IKG => IK3
16285! integer(IK) , intent(in) , contiguous :: weight(:)
16286! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16287! real(TKG) , intent(out) , contiguous :: frank(:,:)
16288! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16289! integer(IK) , intent(in) :: dim
16290! type(uppDia_type) , intent(in) :: subset
16291! end subroutine
16292!#endif
16293!
16294!#if IK2_ENABLED
16295! PURE module subroutine setTauWTI_UXD_IK2(tau, subset, frank, sample, dim, weight)
16296!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16297! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_IK2
16298!#endif
16299! use pm_kind, only: TKG => RK, IKG => IK2
16300! integer(IK) , intent(in) , contiguous :: weight(:)
16301! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16302! real(TKG) , intent(out) , contiguous :: frank(:,:)
16303! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16304! integer(IK) , intent(in) :: dim
16305! type(uppDia_type) , intent(in) :: subset
16306! end subroutine
16307!#endif
16308!
16309!#if IK1_ENABLED
16310! PURE module subroutine setTauWTI_UXD_IK1(tau, subset, frank, sample, dim, weight)
16311!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16312! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_IK1
16313!#endif
16314! use pm_kind, only: TKG => RK, IKG => IK1
16315! integer(IK) , intent(in) , contiguous :: weight(:)
16316! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16317! real(TKG) , intent(out) , contiguous :: frank(:,:)
16318! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16319! integer(IK) , intent(in) :: dim
16320! type(uppDia_type) , intent(in) :: subset
16321! end subroutine
16322!#endif
16323!
16324! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16325!
16326!#if RK5_ENABLED
16327! PURE module subroutine setTauWTI_UXD_RK5(tau, subset, frank, sample, dim, weight)
16328!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16329! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_RK5
16330!#endif
16331! use pm_kind, only: TKG => RK5
16332! integer(IK) , intent(in) , contiguous :: weight(:)
16333! real(TKG) , intent(in) , contiguous :: sample(:,:)
16334! real(TKG) , intent(out) , contiguous :: frank(:,:)
16335! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16336! integer(IK) , intent(in) :: dim
16337! type(uppDia_type) , intent(in) :: subset
16338! end subroutine
16339!#endif
16340!
16341!#if RK4_ENABLED
16342! PURE module subroutine setTauWTI_UXD_RK4(tau, subset, frank, sample, dim, weight)
16343!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16344! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_RK4
16345!#endif
16346! use pm_kind, only: TKG => RK4
16347! integer(IK) , intent(in) , contiguous :: weight(:)
16348! real(TKG) , intent(in) , contiguous :: sample(:,:)
16349! real(TKG) , intent(out) , contiguous :: frank(:,:)
16350! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16351! integer(IK) , intent(in) :: dim
16352! type(uppDia_type) , intent(in) :: subset
16353! end subroutine
16354!#endif
16355!
16356!#if RK3_ENABLED
16357! PURE module subroutine setTauWTI_UXD_RK3(tau, subset, frank, sample, dim, weight)
16358!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16359! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_RK3
16360!#endif
16361! use pm_kind, only: TKG => RK3
16362! integer(IK) , intent(in) , contiguous :: weight(:)
16363! real(TKG) , intent(in) , contiguous :: sample(:,:)
16364! real(TKG) , intent(out) , contiguous :: frank(:,:)
16365! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16366! integer(IK) , intent(in) :: dim
16367! type(uppDia_type) , intent(in) :: subset
16368! end subroutine
16369!#endif
16370!
16371!#if RK2_ENABLED
16372! PURE module subroutine setTauWTI_UXD_RK2(tau, subset, frank, sample, dim, weight)
16373!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16374! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_RK2
16375!#endif
16376! use pm_kind, only: TKG => RK2
16377! integer(IK) , intent(in) , contiguous :: weight(:)
16378! real(TKG) , intent(in) , contiguous :: sample(:,:)
16379! real(TKG) , intent(out) , contiguous :: frank(:,:)
16380! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16381! integer(IK) , intent(in) :: dim
16382! type(uppDia_type) , intent(in) :: subset
16383! end subroutine
16384!#endif
16385!
16386!#if RK1_ENABLED
16387! PURE module subroutine setTauWTI_UXD_RK1(tau, subset, frank, sample, dim, weight)
16388!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16389! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_RK1
16390!#endif
16391! use pm_kind, only: TKG => RK1
16392! integer(IK) , intent(in) , contiguous :: weight(:)
16393! real(TKG) , intent(in) , contiguous :: sample(:,:)
16394! real(TKG) , intent(out) , contiguous :: frank(:,:)
16395! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16396! integer(IK) , intent(in) :: dim
16397! type(uppDia_type) , intent(in) :: subset
16398! end subroutine
16399!#endif
16400!
16401! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16402!
16403!#if PDT_ENABLED
16404!
16405!#if SK5_ENABLED
16406! PURE module subroutine setTauWTI_UXD_PSSK5(tau, subset, frank, sample, dim, weight)
16407!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16408! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_PSSK5
16409!#endif
16410! use pm_kind, only: TKG => RK, SKG => SK5
16411! integer(IK) , intent(in) , contiguous :: weight(:)
16412! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16413! real(TKG) , intent(out) , contiguous :: frank(:,:)
16414! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16415! integer(IK) , intent(in) :: dim
16416! type(uppDia_type) , intent(in) :: subset
16417! end subroutine
16418!#endif
16419!
16420!#if SK4_ENABLED
16421! PURE module subroutine setTauWTI_UXD_PSSK4(tau, subset, frank, sample, dim, weight)
16422!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16423! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_PSSK4
16424!#endif
16425! use pm_kind, only: TKG => RK, SKG => SK4
16426! integer(IK) , intent(in) , contiguous :: weight(:)
16427! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16428! real(TKG) , intent(out) , contiguous :: frank(:,:)
16429! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16430! integer(IK) , intent(in) :: dim
16431! type(uppDia_type) , intent(in) :: subset
16432! end subroutine
16433!#endif
16434!
16435!#if SK3_ENABLED
16436! PURE module subroutine setTauWTI_UXD_PSSK3(tau, subset, frank, sample, dim, weight)
16437!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16438! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_PSSK3
16439!#endif
16440! use pm_kind, only: TKG => RK, SKG => SK3
16441! integer(IK) , intent(in) , contiguous :: weight(:)
16442! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16443! real(TKG) , intent(out) , contiguous :: frank(:,:)
16444! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16445! integer(IK) , intent(in) :: dim
16446! type(uppDia_type) , intent(in) :: subset
16447! end subroutine
16448!#endif
16449!
16450!#if SK2_ENABLED
16451! PURE module subroutine setTauWTI_UXD_PSSK2(tau, subset, frank, sample, dim, weight)
16452!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16453! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_PSSK2
16454!#endif
16455! use pm_kind, only: TKG => RK, SKG => SK2
16456! integer(IK) , intent(in) , contiguous :: weight(:)
16457! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16458! real(TKG) , intent(out) , contiguous :: frank(:,:)
16459! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16460! integer(IK) , intent(in) :: dim
16461! type(uppDia_type) , intent(in) :: subset
16462! end subroutine
16463!#endif
16464!
16465!#if SK1_ENABLED
16466! PURE module subroutine setTauWTI_UXD_PSSK1(tau, subset, frank, sample, dim, weight)
16467!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16468! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_PSSK1
16469!#endif
16470! use pm_kind, only: TKG => RK, SKG => SK1
16471! integer(IK) , intent(in) , contiguous :: weight(:)
16472! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16473! real(TKG) , intent(out) , contiguous :: frank(:,:)
16474! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16475! integer(IK) , intent(in) :: dim
16476! type(uppDia_type) , intent(in) :: subset
16477! end subroutine
16478!#endif
16479!
16480!#endif
16481!PDT_ENABLED
16482!
16483! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16484!
16485! PURE module subroutine setTauWTI_UXD_BSSK(tau, subset, frank, sample, dim, weight)
16486!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16487! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_UXD_BSSK
16488!#endif
16489! integer(IK) , intent(in) , contiguous :: weight(:)
16490! type(css_type) , intent(in) , contiguous :: sample(:,:)
16491! real(TKG) , intent(out) , contiguous :: frank(:,:)
16492! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16493! integer(IK) , intent(in) :: dim
16494! type(uppDia_type) , intent(in) :: subset
16495! end subroutine
16496!
16497! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16498!
16499! end interface setTau
16500!
16501! ! UXD - Tau - WTR
16502!
16503! interface setTau
16504!
16505! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16506!
16507!#if SK5_ENABLED
16508! PURE module subroutine setTauWTR_UXD_SK5(tau, subset, frank, sample, dim, weight)
16509!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16510! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_SK5
16511!#endif
16512! use pm_kind, only: TKG => RK, SKG => SK5
16513! real(TKG) , intent(in) , contiguous :: weight(:)
16514! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16515! real(TKG) , intent(out) , contiguous :: frank(:,:)
16516! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16517! integer(IK) , intent(in) :: dim
16518! type(uppDia_type) , intent(in) :: subset
16519! end subroutine
16520!#endif
16521!
16522!#if SK4_ENABLED
16523! PURE module subroutine setTauWTR_UXD_SK4(tau, subset, frank, sample, dim, weight)
16524!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16525! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_SK4
16526!#endif
16527! use pm_kind, only: TKG => RK, SKG => SK4
16528! real(TKG) , intent(in) , contiguous :: weight(:)
16529! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16530! real(TKG) , intent(out) , contiguous :: frank(:,:)
16531! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16532! integer(IK) , intent(in) :: dim
16533! type(uppDia_type) , intent(in) :: subset
16534! end subroutine
16535!#endif
16536!
16537!#if SK3_ENABLED
16538! PURE module subroutine setTauWTR_UXD_SK3(tau, subset, frank, sample, dim, weight)
16539!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16540! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_SK3
16541!#endif
16542! use pm_kind, only: TKG => RK, SKG => SK3
16543! real(TKG) , intent(in) , contiguous :: weight(:)
16544! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16545! real(TKG) , intent(out) , contiguous :: frank(:,:)
16546! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16547! integer(IK) , intent(in) :: dim
16548! type(uppDia_type) , intent(in) :: subset
16549! end subroutine
16550!#endif
16551!
16552!#if SK2_ENABLED
16553! PURE module subroutine setTauWTR_UXD_SK2(tau, subset, frank, sample, dim, weight)
16554!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16555! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_SK2
16556!#endif
16557! use pm_kind, only: TKG => RK, SKG => SK2
16558! real(TKG) , intent(in) , contiguous :: weight(:)
16559! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16560! real(TKG) , intent(out) , contiguous :: frank(:,:)
16561! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16562! integer(IK) , intent(in) :: dim
16563! type(uppDia_type) , intent(in) :: subset
16564! end subroutine
16565!#endif
16566!
16567!#if SK1_ENABLED
16568! PURE module subroutine setTauWTR_UXD_SK1(tau, subset, frank, sample, dim, weight)
16569!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16570! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_SK1
16571!#endif
16572! use pm_kind, only: TKG => RK, SKG => SK1
16573! real(TKG) , intent(in) , contiguous :: weight(:)
16574! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16575! real(TKG) , intent(out) , contiguous :: frank(:,:)
16576! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16577! integer(IK) , intent(in) :: dim
16578! type(uppDia_type) , intent(in) :: subset
16579! end subroutine
16580!#endif
16581!
16582! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16583!
16584!#if IK5_ENABLED
16585! PURE module subroutine setTauWTR_UXD_IK5(tau, subset, frank, sample, dim, weight)
16586!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16587! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_IK5
16588!#endif
16589! use pm_kind, only: TKG => RK, IKG => IK5
16590! real(TKG) , intent(in) , contiguous :: weight(:)
16591! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16592! real(TKG) , intent(out) , contiguous :: frank(:,:)
16593! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16594! integer(IK) , intent(in) :: dim
16595! type(uppDia_type) , intent(in) :: subset
16596! end subroutine
16597!#endif
16598!
16599!#if IK4_ENABLED
16600! PURE module subroutine setTauWTR_UXD_IK4(tau, subset, frank, sample, dim, weight)
16601!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16602! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_IK4
16603!#endif
16604! use pm_kind, only: TKG => RK, IKG => IK4
16605! real(TKG) , intent(in) , contiguous :: weight(:)
16606! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16607! real(TKG) , intent(out) , contiguous :: frank(:,:)
16608! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16609! integer(IK) , intent(in) :: dim
16610! type(uppDia_type) , intent(in) :: subset
16611! end subroutine
16612!#endif
16613!
16614!#if IK3_ENABLED
16615! PURE module subroutine setTauWTR_UXD_IK3(tau, subset, frank, sample, dim, weight)
16616!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16617! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_IK3
16618!#endif
16619! use pm_kind, only: TKG => RK, IKG => IK3
16620! real(TKG) , intent(in) , contiguous :: weight(:)
16621! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16622! real(TKG) , intent(out) , contiguous :: frank(:,:)
16623! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16624! integer(IK) , intent(in) :: dim
16625! type(uppDia_type) , intent(in) :: subset
16626! end subroutine
16627!#endif
16628!
16629!#if IK2_ENABLED
16630! PURE module subroutine setTauWTR_UXD_IK2(tau, subset, frank, sample, dim, weight)
16631!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16632! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_IK2
16633!#endif
16634! use pm_kind, only: TKG => RK, IKG => IK2
16635! real(TKG) , intent(in) , contiguous :: weight(:)
16636! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16637! real(TKG) , intent(out) , contiguous :: frank(:,:)
16638! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16639! integer(IK) , intent(in) :: dim
16640! type(uppDia_type) , intent(in) :: subset
16641! end subroutine
16642!#endif
16643!
16644!#if IK1_ENABLED
16645! PURE module subroutine setTauWTR_UXD_IK1(tau, subset, frank, sample, dim, weight)
16646!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16647! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_IK1
16648!#endif
16649! use pm_kind, only: TKG => RK, IKG => IK1
16650! real(TKG) , intent(in) , contiguous :: weight(:)
16651! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16652! real(TKG) , intent(out) , contiguous :: frank(:,:)
16653! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16654! integer(IK) , intent(in) :: dim
16655! type(uppDia_type) , intent(in) :: subset
16656! end subroutine
16657!#endif
16658!
16659! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16660!
16661!#if RK5_ENABLED
16662! PURE module subroutine setTauWTR_UXD_RK5(tau, subset, frank, sample, dim, weight)
16663!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16664! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_RK5
16665!#endif
16666! use pm_kind, only: TKG => RK5
16667! real(TKG) , intent(in) , contiguous :: weight(:)
16668! real(TKG) , intent(in) , contiguous :: sample(:,:)
16669! real(TKG) , intent(out) , contiguous :: frank(:,:)
16670! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16671! integer(IK) , intent(in) :: dim
16672! type(uppDia_type) , intent(in) :: subset
16673! end subroutine
16674!#endif
16675!
16676!#if RK4_ENABLED
16677! PURE module subroutine setTauWTR_UXD_RK4(tau, subset, frank, sample, dim, weight)
16678!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16679! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_RK4
16680!#endif
16681! use pm_kind, only: TKG => RK4
16682! real(TKG) , intent(in) , contiguous :: weight(:)
16683! real(TKG) , intent(in) , contiguous :: sample(:,:)
16684! real(TKG) , intent(out) , contiguous :: frank(:,:)
16685! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16686! integer(IK) , intent(in) :: dim
16687! type(uppDia_type) , intent(in) :: subset
16688! end subroutine
16689!#endif
16690!
16691!#if RK3_ENABLED
16692! PURE module subroutine setTauWTR_UXD_RK3(tau, subset, frank, sample, dim, weight)
16693!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16694! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_RK3
16695!#endif
16696! use pm_kind, only: TKG => RK3
16697! real(TKG) , intent(in) , contiguous :: weight(:)
16698! real(TKG) , intent(in) , contiguous :: sample(:,:)
16699! real(TKG) , intent(out) , contiguous :: frank(:,:)
16700! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16701! integer(IK) , intent(in) :: dim
16702! type(uppDia_type) , intent(in) :: subset
16703! end subroutine
16704!#endif
16705!
16706!#if RK2_ENABLED
16707! PURE module subroutine setTauWTR_UXD_RK2(tau, subset, frank, sample, dim, weight)
16708!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16709! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_RK2
16710!#endif
16711! use pm_kind, only: TKG => RK2
16712! real(TKG) , intent(in) , contiguous :: weight(:)
16713! real(TKG) , intent(in) , contiguous :: sample(:,:)
16714! real(TKG) , intent(out) , contiguous :: frank(:,:)
16715! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16716! integer(IK) , intent(in) :: dim
16717! type(uppDia_type) , intent(in) :: subset
16718! end subroutine
16719!#endif
16720!
16721!#if RK1_ENABLED
16722! PURE module subroutine setTauWTR_UXD_RK1(tau, subset, frank, sample, dim, weight)
16723!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16724! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_RK1
16725!#endif
16726! use pm_kind, only: TKG => RK1
16727! real(TKG) , intent(in) , contiguous :: weight(:)
16728! real(TKG) , intent(in) , contiguous :: sample(:,:)
16729! real(TKG) , intent(out) , contiguous :: frank(:,:)
16730! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16731! integer(IK) , intent(in) :: dim
16732! type(uppDia_type) , intent(in) :: subset
16733! end subroutine
16734!#endif
16735!
16736! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16737!
16738!#if PDT_ENABLED
16739!
16740!#if SK5_ENABLED
16741! PURE module subroutine setTauWTR_UXD_PSSK5(tau, subset, frank, sample, dim, weight)
16742!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16743! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_PSSK5
16744!#endif
16745! use pm_kind, only: TKG => RK, SKG => SK5
16746! real(TKG) , intent(in) , contiguous :: weight(:)
16747! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16748! real(TKG) , intent(out) , contiguous :: frank(:,:)
16749! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16750! integer(IK) , intent(in) :: dim
16751! type(uppDia_type) , intent(in) :: subset
16752! end subroutine
16753!#endif
16754!
16755!#if SK4_ENABLED
16756! PURE module subroutine setTauWTR_UXD_PSSK4(tau, subset, frank, sample, dim, weight)
16757!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16758! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_PSSK4
16759!#endif
16760! use pm_kind, only: TKG => RK, SKG => SK4
16761! real(TKG) , intent(in) , contiguous :: weight(:)
16762! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16763! real(TKG) , intent(out) , contiguous :: frank(:,:)
16764! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16765! integer(IK) , intent(in) :: dim
16766! type(uppDia_type) , intent(in) :: subset
16767! end subroutine
16768!#endif
16769!
16770!#if SK3_ENABLED
16771! PURE module subroutine setTauWTR_UXD_PSSK3(tau, subset, frank, sample, dim, weight)
16772!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16773! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_PSSK3
16774!#endif
16775! use pm_kind, only: TKG => RK, SKG => SK3
16776! real(TKG) , intent(in) , contiguous :: weight(:)
16777! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16778! real(TKG) , intent(out) , contiguous :: frank(:,:)
16779! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16780! integer(IK) , intent(in) :: dim
16781! type(uppDia_type) , intent(in) :: subset
16782! end subroutine
16783!#endif
16784!
16785!#if SK2_ENABLED
16786! PURE module subroutine setTauWTR_UXD_PSSK2(tau, subset, frank, sample, dim, weight)
16787!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16788! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_PSSK2
16789!#endif
16790! use pm_kind, only: TKG => RK, SKG => SK2
16791! real(TKG) , intent(in) , contiguous :: weight(:)
16792! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16793! real(TKG) , intent(out) , contiguous :: frank(:,:)
16794! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16795! integer(IK) , intent(in) :: dim
16796! type(uppDia_type) , intent(in) :: subset
16797! end subroutine
16798!#endif
16799!
16800!#if SK1_ENABLED
16801! PURE module subroutine setTauWTR_UXD_PSSK1(tau, subset, frank, sample, dim, weight)
16802!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16803! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_PSSK1
16804!#endif
16805! use pm_kind, only: TKG => RK, SKG => SK1
16806! real(TKG) , intent(in) , contiguous :: weight(:)
16807! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
16808! real(TKG) , intent(out) , contiguous :: frank(:,:)
16809! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16810! integer(IK) , intent(in) :: dim
16811! type(uppDia_type) , intent(in) :: subset
16812! end subroutine
16813!#endif
16814!
16815!#endif
16816!PDT_ENABLED
16817!
16818! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16819!
16820! PURE module subroutine setTauWTR_UXD_BSSK(tau, subset, frank, sample, dim, weight)
16821!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16822! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_UXD_BSSK
16823!#endif
16824! real(TKG) , intent(in) , contiguous :: weight(:)
16825! type(css_type) , intent(in) , contiguous :: sample(:,:)
16826! real(TKG) , intent(out) , contiguous :: frank(:,:)
16827! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16828! integer(IK) , intent(in) :: dim
16829! type(uppDia_type) , intent(in) :: subset
16830! end subroutine
16831!
16832! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16833!
16834! end interface setTau
16835!
16836! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16837!
16838! ! XLD - Tau - WNO
16839!
16840! interface setTau
16841!
16842! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16843!
16844!#if SK5_ENABLED
16845! PURE module subroutine setTauWNO_XLD_SK5(tau, subset, frank, sample, dim)
16846!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16847! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_SK5
16848!#endif
16849! use pm_kind, only: TKG => RK, SKG => SK5
16850! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16851! real(TKG) , intent(out) , contiguous :: frank(:,:)
16852! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16853! integer(IK) , intent(in) :: dim
16854! type(lowDia_type) , intent(in) :: subset
16855! end subroutine
16856!#endif
16857!
16858!#if SK4_ENABLED
16859! PURE module subroutine setTauWNO_XLD_SK4(tau, subset, frank, sample, dim)
16860!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16861! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_SK4
16862!#endif
16863! use pm_kind, only: TKG => RK, SKG => SK4
16864! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16865! real(TKG) , intent(out) , contiguous :: frank(:,:)
16866! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16867! integer(IK) , intent(in) :: dim
16868! type(lowDia_type) , intent(in) :: subset
16869! end subroutine
16870!#endif
16871!
16872!#if SK3_ENABLED
16873! PURE module subroutine setTauWNO_XLD_SK3(tau, subset, frank, sample, dim)
16874!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16875! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_SK3
16876!#endif
16877! use pm_kind, only: TKG => RK, SKG => SK3
16878! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16879! real(TKG) , intent(out) , contiguous :: frank(:,:)
16880! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16881! integer(IK) , intent(in) :: dim
16882! type(lowDia_type) , intent(in) :: subset
16883! end subroutine
16884!#endif
16885!
16886!#if SK2_ENABLED
16887! PURE module subroutine setTauWNO_XLD_SK2(tau, subset, frank, sample, dim)
16888!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16889! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_SK2
16890!#endif
16891! use pm_kind, only: TKG => RK, SKG => SK2
16892! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16893! real(TKG) , intent(out) , contiguous :: frank(:,:)
16894! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16895! integer(IK) , intent(in) :: dim
16896! type(lowDia_type) , intent(in) :: subset
16897! end subroutine
16898!#endif
16899!
16900!#if SK1_ENABLED
16901! PURE module subroutine setTauWNO_XLD_SK1(tau, subset, frank, sample, dim)
16902!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16903! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_SK1
16904!#endif
16905! use pm_kind, only: TKG => RK, SKG => SK1
16906! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
16907! real(TKG) , intent(out) , contiguous :: frank(:,:)
16908! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16909! integer(IK) , intent(in) :: dim
16910! type(lowDia_type) , intent(in) :: subset
16911! end subroutine
16912!#endif
16913!
16914! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16915!
16916!#if IK5_ENABLED
16917! PURE module subroutine setTauWNO_XLD_IK5(tau, subset, frank, sample, dim)
16918!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16919! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_IK5
16920!#endif
16921! use pm_kind, only: TKG => RK, IKG => IK5
16922! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16923! real(TKG) , intent(out) , contiguous :: frank(:,:)
16924! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16925! integer(IK) , intent(in) :: dim
16926! type(lowDia_type) , intent(in) :: subset
16927! end subroutine
16928!#endif
16929!
16930!#if IK4_ENABLED
16931! PURE module subroutine setTauWNO_XLD_IK4(tau, subset, frank, sample, dim)
16932!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16933! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_IK4
16934!#endif
16935! use pm_kind, only: TKG => RK, IKG => IK4
16936! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16937! real(TKG) , intent(out) , contiguous :: frank(:,:)
16938! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16939! integer(IK) , intent(in) :: dim
16940! type(lowDia_type) , intent(in) :: subset
16941! end subroutine
16942!#endif
16943!
16944!#if IK3_ENABLED
16945! PURE module subroutine setTauWNO_XLD_IK3(tau, subset, frank, sample, dim)
16946!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16947! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_IK3
16948!#endif
16949! use pm_kind, only: TKG => RK, IKG => IK3
16950! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16951! real(TKG) , intent(out) , contiguous :: frank(:,:)
16952! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16953! integer(IK) , intent(in) :: dim
16954! type(lowDia_type) , intent(in) :: subset
16955! end subroutine
16956!#endif
16957!
16958!#if IK2_ENABLED
16959! PURE module subroutine setTauWNO_XLD_IK2(tau, subset, frank, sample, dim)
16960!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16961! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_IK2
16962!#endif
16963! use pm_kind, only: TKG => RK, IKG => IK2
16964! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16965! real(TKG) , intent(out) , contiguous :: frank(:,:)
16966! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16967! integer(IK) , intent(in) :: dim
16968! type(lowDia_type) , intent(in) :: subset
16969! end subroutine
16970!#endif
16971!
16972!#if IK1_ENABLED
16973! PURE module subroutine setTauWNO_XLD_IK1(tau, subset, frank, sample, dim)
16974!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16975! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_IK1
16976!#endif
16977! use pm_kind, only: TKG => RK, IKG => IK1
16978! integer(IKG) , intent(in) , contiguous :: sample(:,:)
16979! real(TKG) , intent(out) , contiguous :: frank(:,:)
16980! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16981! integer(IK) , intent(in) :: dim
16982! type(lowDia_type) , intent(in) :: subset
16983! end subroutine
16984!#endif
16985!
16986! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16987!
16988!#if RK5_ENABLED
16989! PURE module subroutine setTauWNO_XLD_RK5(tau, subset, frank, sample, dim)
16990!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16991! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_RK5
16992!#endif
16993! use pm_kind, only: TKG => RK5
16994! real(TKG) , intent(in) , contiguous :: sample(:,:)
16995! real(TKG) , intent(out) , contiguous :: frank(:,:)
16996! real(TKG) , intent(inout) , contiguous :: tau(:,:)
16997! integer(IK) , intent(in) :: dim
16998! type(lowDia_type) , intent(in) :: subset
16999! end subroutine
17000!#endif
17001!
17002!#if RK4_ENABLED
17003! PURE module subroutine setTauWNO_XLD_RK4(tau, subset, frank, sample, dim)
17004!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17005! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_RK4
17006!#endif
17007! use pm_kind, only: TKG => RK4
17008! real(TKG) , intent(in) , contiguous :: sample(:,:)
17009! real(TKG) , intent(out) , contiguous :: frank(:,:)
17010! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17011! integer(IK) , intent(in) :: dim
17012! type(lowDia_type) , intent(in) :: subset
17013! end subroutine
17014!#endif
17015!
17016!#if RK3_ENABLED
17017! PURE module subroutine setTauWNO_XLD_RK3(tau, subset, frank, sample, dim)
17018!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17019! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_RK3
17020!#endif
17021! use pm_kind, only: TKG => RK3
17022! real(TKG) , intent(in) , contiguous :: sample(:,:)
17023! real(TKG) , intent(out) , contiguous :: frank(:,:)
17024! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17025! integer(IK) , intent(in) :: dim
17026! type(lowDia_type) , intent(in) :: subset
17027! end subroutine
17028!#endif
17029!
17030!#if RK2_ENABLED
17031! PURE module subroutine setTauWNO_XLD_RK2(tau, subset, frank, sample, dim)
17032!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17033! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_RK2
17034!#endif
17035! use pm_kind, only: TKG => RK2
17036! real(TKG) , intent(in) , contiguous :: sample(:,:)
17037! real(TKG) , intent(out) , contiguous :: frank(:,:)
17038! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17039! integer(IK) , intent(in) :: dim
17040! type(lowDia_type) , intent(in) :: subset
17041! end subroutine
17042!#endif
17043!
17044!#if RK1_ENABLED
17045! PURE module subroutine setTauWNO_XLD_RK1(tau, subset, frank, sample, dim)
17046!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17047! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_RK1
17048!#endif
17049! use pm_kind, only: TKG => RK1
17050! real(TKG) , intent(in) , contiguous :: sample(:,:)
17051! real(TKG) , intent(out) , contiguous :: frank(:,:)
17052! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17053! integer(IK) , intent(in) :: dim
17054! type(lowDia_type) , intent(in) :: subset
17055! end subroutine
17056!#endif
17057!
17058! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17059!
17060!#if PDT_ENABLED
17061!
17062!#if SK5_ENABLED
17063! PURE module subroutine setTauWNO_XLD_PSSK5(tau, subset, frank, sample, dim)
17064!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17065! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_PSSK5
17066!#endif
17067! use pm_kind, only: TKG => RK, SKG => SK5
17068! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17069! real(TKG) , intent(out) , contiguous :: frank(:,:)
17070! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17071! integer(IK) , intent(in) :: dim
17072! type(lowDia_type) , intent(in) :: subset
17073! end subroutine
17074!#endif
17075!
17076!#if SK4_ENABLED
17077! PURE module subroutine setTauWNO_XLD_PSSK4(tau, subset, frank, sample, dim)
17078!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17079! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_PSSK4
17080!#endif
17081! use pm_kind, only: TKG => RK, SKG => SK4
17082! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17083! real(TKG) , intent(out) , contiguous :: frank(:,:)
17084! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17085! integer(IK) , intent(in) :: dim
17086! type(lowDia_type) , intent(in) :: subset
17087! end subroutine
17088!#endif
17089!
17090!#if SK3_ENABLED
17091! PURE module subroutine setTauWNO_XLD_PSSK3(tau, subset, frank, sample, dim)
17092!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17093! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_PSSK3
17094!#endif
17095! use pm_kind, only: TKG => RK, SKG => SK3
17096! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17097! real(TKG) , intent(out) , contiguous :: frank(:,:)
17098! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17099! integer(IK) , intent(in) :: dim
17100! type(lowDia_type) , intent(in) :: subset
17101! end subroutine
17102!#endif
17103!
17104!#if SK2_ENABLED
17105! PURE module subroutine setTauWNO_XLD_PSSK2(tau, subset, frank, sample, dim)
17106!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17107! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_PSSK2
17108!#endif
17109! use pm_kind, only: TKG => RK, SKG => SK2
17110! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17111! real(TKG) , intent(out) , contiguous :: frank(:,:)
17112! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17113! integer(IK) , intent(in) :: dim
17114! type(lowDia_type) , intent(in) :: subset
17115! end subroutine
17116!#endif
17117!
17118!#if SK1_ENABLED
17119! PURE module subroutine setTauWNO_XLD_PSSK1(tau, subset, frank, sample, dim)
17120!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17121! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_PSSK1
17122!#endif
17123! use pm_kind, only: TKG => RK, SKG => SK1
17124! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17125! real(TKG) , intent(out) , contiguous :: frank(:,:)
17126! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17127! integer(IK) , intent(in) :: dim
17128! type(lowDia_type) , intent(in) :: subset
17129! end subroutine
17130!#endif
17131!
17132!#endif
17133!PDT_ENABLED
17134!
17135! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17136!
17137! PURE module subroutine setTauWNO_XLD_BSSK(tau, subset, frank, sample, dim)
17138!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17139! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWNO_XLD_BSSK
17140!#endif
17141! type(css_type) , intent(in) , contiguous :: sample(:,:)
17142! real(TKG) , intent(out) , contiguous :: frank(:,:)
17143! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17144! integer(IK) , intent(in) :: dim
17145! type(lowDia_type) , intent(in) :: subset
17146! end subroutine
17147!
17148! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17149!
17150! end interface setTau
17151!
17152! ! XLD - Tau - WTI
17153!
17154! interface setTau
17155!
17156! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17157!
17158!#if SK5_ENABLED
17159! PURE module subroutine setTauWTI_XLD_SK5(tau, subset, frank, sample, dim, weight)
17160!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17161! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_SK5
17162!#endif
17163! use pm_kind, only: TKG => RK, SKG => SK5
17164! integer(IK) , intent(in) , contiguous :: weight(:)
17165! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17166! real(TKG) , intent(out) , contiguous :: frank(:,:)
17167! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17168! integer(IK) , intent(in) :: dim
17169! type(lowDia_type) , intent(in) :: subset
17170! end subroutine
17171!#endif
17172!
17173!#if SK4_ENABLED
17174! PURE module subroutine setTauWTI_XLD_SK4(tau, subset, frank, sample, dim, weight)
17175!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17176! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_SK4
17177!#endif
17178! use pm_kind, only: TKG => RK, SKG => SK4
17179! integer(IK) , intent(in) , contiguous :: weight(:)
17180! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17181! real(TKG) , intent(out) , contiguous :: frank(:,:)
17182! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17183! integer(IK) , intent(in) :: dim
17184! type(lowDia_type) , intent(in) :: subset
17185! end subroutine
17186!#endif
17187!
17188!#if SK3_ENABLED
17189! PURE module subroutine setTauWTI_XLD_SK3(tau, subset, frank, sample, dim, weight)
17190!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17191! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_SK3
17192!#endif
17193! use pm_kind, only: TKG => RK, SKG => SK3
17194! integer(IK) , intent(in) , contiguous :: weight(:)
17195! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17196! real(TKG) , intent(out) , contiguous :: frank(:,:)
17197! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17198! integer(IK) , intent(in) :: dim
17199! type(lowDia_type) , intent(in) :: subset
17200! end subroutine
17201!#endif
17202!
17203!#if SK2_ENABLED
17204! PURE module subroutine setTauWTI_XLD_SK2(tau, subset, frank, sample, dim, weight)
17205!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17206! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_SK2
17207!#endif
17208! use pm_kind, only: TKG => RK, SKG => SK2
17209! integer(IK) , intent(in) , contiguous :: weight(:)
17210! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17211! real(TKG) , intent(out) , contiguous :: frank(:,:)
17212! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17213! integer(IK) , intent(in) :: dim
17214! type(lowDia_type) , intent(in) :: subset
17215! end subroutine
17216!#endif
17217!
17218!#if SK1_ENABLED
17219! PURE module subroutine setTauWTI_XLD_SK1(tau, subset, frank, sample, dim, weight)
17220!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17221! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_SK1
17222!#endif
17223! use pm_kind, only: TKG => RK, SKG => SK1
17224! integer(IK) , intent(in) , contiguous :: weight(:)
17225! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17226! real(TKG) , intent(out) , contiguous :: frank(:,:)
17227! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17228! integer(IK) , intent(in) :: dim
17229! type(lowDia_type) , intent(in) :: subset
17230! end subroutine
17231!#endif
17232!
17233! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17234!
17235!#if IK5_ENABLED
17236! PURE module subroutine setTauWTI_XLD_IK5(tau, subset, frank, sample, dim, weight)
17237!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17238! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_IK5
17239!#endif
17240! use pm_kind, only: TKG => RK, IKG => IK5
17241! integer(IK) , intent(in) , contiguous :: weight(:)
17242! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17243! real(TKG) , intent(out) , contiguous :: frank(:,:)
17244! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17245! integer(IK) , intent(in) :: dim
17246! type(lowDia_type) , intent(in) :: subset
17247! end subroutine
17248!#endif
17249!
17250!#if IK4_ENABLED
17251! PURE module subroutine setTauWTI_XLD_IK4(tau, subset, frank, sample, dim, weight)
17252!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17253! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_IK4
17254!#endif
17255! use pm_kind, only: TKG => RK, IKG => IK4
17256! integer(IK) , intent(in) , contiguous :: weight(:)
17257! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17258! real(TKG) , intent(out) , contiguous :: frank(:,:)
17259! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17260! integer(IK) , intent(in) :: dim
17261! type(lowDia_type) , intent(in) :: subset
17262! end subroutine
17263!#endif
17264!
17265!#if IK3_ENABLED
17266! PURE module subroutine setTauWTI_XLD_IK3(tau, subset, frank, sample, dim, weight)
17267!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17268! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_IK3
17269!#endif
17270! use pm_kind, only: TKG => RK, IKG => IK3
17271! integer(IK) , intent(in) , contiguous :: weight(:)
17272! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17273! real(TKG) , intent(out) , contiguous :: frank(:,:)
17274! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17275! integer(IK) , intent(in) :: dim
17276! type(lowDia_type) , intent(in) :: subset
17277! end subroutine
17278!#endif
17279!
17280!#if IK2_ENABLED
17281! PURE module subroutine setTauWTI_XLD_IK2(tau, subset, frank, sample, dim, weight)
17282!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17283! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_IK2
17284!#endif
17285! use pm_kind, only: TKG => RK, IKG => IK2
17286! integer(IK) , intent(in) , contiguous :: weight(:)
17287! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17288! real(TKG) , intent(out) , contiguous :: frank(:,:)
17289! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17290! integer(IK) , intent(in) :: dim
17291! type(lowDia_type) , intent(in) :: subset
17292! end subroutine
17293!#endif
17294!
17295!#if IK1_ENABLED
17296! PURE module subroutine setTauWTI_XLD_IK1(tau, subset, frank, sample, dim, weight)
17297!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17298! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_IK1
17299!#endif
17300! use pm_kind, only: TKG => RK, IKG => IK1
17301! integer(IK) , intent(in) , contiguous :: weight(:)
17302! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17303! real(TKG) , intent(out) , contiguous :: frank(:,:)
17304! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17305! integer(IK) , intent(in) :: dim
17306! type(lowDia_type) , intent(in) :: subset
17307! end subroutine
17308!#endif
17309!
17310! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17311!
17312!#if RK5_ENABLED
17313! PURE module subroutine setTauWTI_XLD_RK5(tau, subset, frank, sample, dim, weight)
17314!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17315! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_RK5
17316!#endif
17317! use pm_kind, only: TKG => RK5
17318! integer(IK) , intent(in) , contiguous :: weight(:)
17319! real(TKG) , intent(in) , contiguous :: sample(:,:)
17320! real(TKG) , intent(out) , contiguous :: frank(:,:)
17321! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17322! integer(IK) , intent(in) :: dim
17323! type(lowDia_type) , intent(in) :: subset
17324! end subroutine
17325!#endif
17326!
17327!#if RK4_ENABLED
17328! PURE module subroutine setTauWTI_XLD_RK4(tau, subset, frank, sample, dim, weight)
17329!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17330! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_RK4
17331!#endif
17332! use pm_kind, only: TKG => RK4
17333! integer(IK) , intent(in) , contiguous :: weight(:)
17334! real(TKG) , intent(in) , contiguous :: sample(:,:)
17335! real(TKG) , intent(out) , contiguous :: frank(:,:)
17336! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17337! integer(IK) , intent(in) :: dim
17338! type(lowDia_type) , intent(in) :: subset
17339! end subroutine
17340!#endif
17341!
17342!#if RK3_ENABLED
17343! PURE module subroutine setTauWTI_XLD_RK3(tau, subset, frank, sample, dim, weight)
17344!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17345! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_RK3
17346!#endif
17347! use pm_kind, only: TKG => RK3
17348! integer(IK) , intent(in) , contiguous :: weight(:)
17349! real(TKG) , intent(in) , contiguous :: sample(:,:)
17350! real(TKG) , intent(out) , contiguous :: frank(:,:)
17351! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17352! integer(IK) , intent(in) :: dim
17353! type(lowDia_type) , intent(in) :: subset
17354! end subroutine
17355!#endif
17356!
17357!#if RK2_ENABLED
17358! PURE module subroutine setTauWTI_XLD_RK2(tau, subset, frank, sample, dim, weight)
17359!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17360! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_RK2
17361!#endif
17362! use pm_kind, only: TKG => RK2
17363! integer(IK) , intent(in) , contiguous :: weight(:)
17364! real(TKG) , intent(in) , contiguous :: sample(:,:)
17365! real(TKG) , intent(out) , contiguous :: frank(:,:)
17366! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17367! integer(IK) , intent(in) :: dim
17368! type(lowDia_type) , intent(in) :: subset
17369! end subroutine
17370!#endif
17371!
17372!#if RK1_ENABLED
17373! PURE module subroutine setTauWTI_XLD_RK1(tau, subset, frank, sample, dim, weight)
17374!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17375! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_RK1
17376!#endif
17377! use pm_kind, only: TKG => RK1
17378! integer(IK) , intent(in) , contiguous :: weight(:)
17379! real(TKG) , intent(in) , contiguous :: sample(:,:)
17380! real(TKG) , intent(out) , contiguous :: frank(:,:)
17381! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17382! integer(IK) , intent(in) :: dim
17383! type(lowDia_type) , intent(in) :: subset
17384! end subroutine
17385!#endif
17386!
17387! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17388!
17389!#if PDT_ENABLED
17390!
17391!#if SK5_ENABLED
17392! PURE module subroutine setTauWTI_XLD_PSSK5(tau, subset, frank, sample, dim, weight)
17393!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17394! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_PSSK5
17395!#endif
17396! use pm_kind, only: TKG => RK, SKG => SK5
17397! integer(IK) , intent(in) , contiguous :: weight(:)
17398! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17399! real(TKG) , intent(out) , contiguous :: frank(:,:)
17400! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17401! integer(IK) , intent(in) :: dim
17402! type(lowDia_type) , intent(in) :: subset
17403! end subroutine
17404!#endif
17405!
17406!#if SK4_ENABLED
17407! PURE module subroutine setTauWTI_XLD_PSSK4(tau, subset, frank, sample, dim, weight)
17408!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17409! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_PSSK4
17410!#endif
17411! use pm_kind, only: TKG => RK, SKG => SK4
17412! integer(IK) , intent(in) , contiguous :: weight(:)
17413! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17414! real(TKG) , intent(out) , contiguous :: frank(:,:)
17415! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17416! integer(IK) , intent(in) :: dim
17417! type(lowDia_type) , intent(in) :: subset
17418! end subroutine
17419!#endif
17420!
17421!#if SK3_ENABLED
17422! PURE module subroutine setTauWTI_XLD_PSSK3(tau, subset, frank, sample, dim, weight)
17423!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17424! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_PSSK3
17425!#endif
17426! use pm_kind, only: TKG => RK, SKG => SK3
17427! integer(IK) , intent(in) , contiguous :: weight(:)
17428! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17429! real(TKG) , intent(out) , contiguous :: frank(:,:)
17430! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17431! integer(IK) , intent(in) :: dim
17432! type(lowDia_type) , intent(in) :: subset
17433! end subroutine
17434!#endif
17435!
17436!#if SK2_ENABLED
17437! PURE module subroutine setTauWTI_XLD_PSSK2(tau, subset, frank, sample, dim, weight)
17438!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17439! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_PSSK2
17440!#endif
17441! use pm_kind, only: TKG => RK, SKG => SK2
17442! integer(IK) , intent(in) , contiguous :: weight(:)
17443! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17444! real(TKG) , intent(out) , contiguous :: frank(:,:)
17445! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17446! integer(IK) , intent(in) :: dim
17447! type(lowDia_type) , intent(in) :: subset
17448! end subroutine
17449!#endif
17450!
17451!#if SK1_ENABLED
17452! PURE module subroutine setTauWTI_XLD_PSSK1(tau, subset, frank, sample, dim, weight)
17453!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17454! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_PSSK1
17455!#endif
17456! use pm_kind, only: TKG => RK, SKG => SK1
17457! integer(IK) , intent(in) , contiguous :: weight(:)
17458! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17459! real(TKG) , intent(out) , contiguous :: frank(:,:)
17460! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17461! integer(IK) , intent(in) :: dim
17462! type(lowDia_type) , intent(in) :: subset
17463! end subroutine
17464!#endif
17465!
17466!#endif
17467!PDT_ENABLED
17468!
17469! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17470!
17471! PURE module subroutine setTauWTI_XLD_BSSK(tau, subset, frank, sample, dim, weight)
17472!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17473! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTI_XLD_BSSK
17474!#endif
17475! integer(IK) , intent(in) , contiguous :: weight(:)
17476! type(css_type) , intent(in) , contiguous :: sample(:,:)
17477! real(TKG) , intent(out) , contiguous :: frank(:,:)
17478! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17479! integer(IK) , intent(in) :: dim
17480! type(lowDia_type) , intent(in) :: subset
17481! end subroutine
17482!
17483! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17484!
17485! end interface setTau
17486!
17487! ! XLD - Tau - WTR
17488!
17489! interface setTau
17490!
17491! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17492!
17493!#if SK5_ENABLED
17494! PURE module subroutine setTauWTR_XLD_SK5(tau, subset, frank, sample, dim, weight)
17495!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17496! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_SK5
17497!#endif
17498! use pm_kind, only: TKG => RK, SKG => SK5
17499! real(TKG) , intent(in) , contiguous :: weight(:)
17500! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17501! real(TKG) , intent(out) , contiguous :: frank(:,:)
17502! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17503! integer(IK) , intent(in) :: dim
17504! type(lowDia_type) , intent(in) :: subset
17505! end subroutine
17506!#endif
17507!
17508!#if SK4_ENABLED
17509! PURE module subroutine setTauWTR_XLD_SK4(tau, subset, frank, sample, dim, weight)
17510!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17511! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_SK4
17512!#endif
17513! use pm_kind, only: TKG => RK, SKG => SK4
17514! real(TKG) , intent(in) , contiguous :: weight(:)
17515! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17516! real(TKG) , intent(out) , contiguous :: frank(:,:)
17517! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17518! integer(IK) , intent(in) :: dim
17519! type(lowDia_type) , intent(in) :: subset
17520! end subroutine
17521!#endif
17522!
17523!#if SK3_ENABLED
17524! PURE module subroutine setTauWTR_XLD_SK3(tau, subset, frank, sample, dim, weight)
17525!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17526! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_SK3
17527!#endif
17528! use pm_kind, only: TKG => RK, SKG => SK3
17529! real(TKG) , intent(in) , contiguous :: weight(:)
17530! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17531! real(TKG) , intent(out) , contiguous :: frank(:,:)
17532! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17533! integer(IK) , intent(in) :: dim
17534! type(lowDia_type) , intent(in) :: subset
17535! end subroutine
17536!#endif
17537!
17538!#if SK2_ENABLED
17539! PURE module subroutine setTauWTR_XLD_SK2(tau, subset, frank, sample, dim, weight)
17540!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17541! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_SK2
17542!#endif
17543! use pm_kind, only: TKG => RK, SKG => SK2
17544! real(TKG) , intent(in) , contiguous :: weight(:)
17545! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17546! real(TKG) , intent(out) , contiguous :: frank(:,:)
17547! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17548! integer(IK) , intent(in) :: dim
17549! type(lowDia_type) , intent(in) :: subset
17550! end subroutine
17551!#endif
17552!
17553!#if SK1_ENABLED
17554! PURE module subroutine setTauWTR_XLD_SK1(tau, subset, frank, sample, dim, weight)
17555!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17556! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_SK1
17557!#endif
17558! use pm_kind, only: TKG => RK, SKG => SK1
17559! real(TKG) , intent(in) , contiguous :: weight(:)
17560! character(*,SKG) , intent(in) , contiguous :: sample(:,:)
17561! real(TKG) , intent(out) , contiguous :: frank(:,:)
17562! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17563! integer(IK) , intent(in) :: dim
17564! type(lowDia_type) , intent(in) :: subset
17565! end subroutine
17566!#endif
17567!
17568! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17569!
17570!#if IK5_ENABLED
17571! PURE module subroutine setTauWTR_XLD_IK5(tau, subset, frank, sample, dim, weight)
17572!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17573! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_IK5
17574!#endif
17575! use pm_kind, only: TKG => RK, IKG => IK5
17576! real(TKG) , intent(in) , contiguous :: weight(:)
17577! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17578! real(TKG) , intent(out) , contiguous :: frank(:,:)
17579! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17580! integer(IK) , intent(in) :: dim
17581! type(lowDia_type) , intent(in) :: subset
17582! end subroutine
17583!#endif
17584!
17585!#if IK4_ENABLED
17586! PURE module subroutine setTauWTR_XLD_IK4(tau, subset, frank, sample, dim, weight)
17587!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17588! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_IK4
17589!#endif
17590! use pm_kind, only: TKG => RK, IKG => IK4
17591! real(TKG) , intent(in) , contiguous :: weight(:)
17592! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17593! real(TKG) , intent(out) , contiguous :: frank(:,:)
17594! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17595! integer(IK) , intent(in) :: dim
17596! type(lowDia_type) , intent(in) :: subset
17597! end subroutine
17598!#endif
17599!
17600!#if IK3_ENABLED
17601! PURE module subroutine setTauWTR_XLD_IK3(tau, subset, frank, sample, dim, weight)
17602!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17603! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_IK3
17604!#endif
17605! use pm_kind, only: TKG => RK, IKG => IK3
17606! real(TKG) , intent(in) , contiguous :: weight(:)
17607! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17608! real(TKG) , intent(out) , contiguous :: frank(:,:)
17609! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17610! integer(IK) , intent(in) :: dim
17611! type(lowDia_type) , intent(in) :: subset
17612! end subroutine
17613!#endif
17614!
17615!#if IK2_ENABLED
17616! PURE module subroutine setTauWTR_XLD_IK2(tau, subset, frank, sample, dim, weight)
17617!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17618! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_IK2
17619!#endif
17620! use pm_kind, only: TKG => RK, IKG => IK2
17621! real(TKG) , intent(in) , contiguous :: weight(:)
17622! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17623! real(TKG) , intent(out) , contiguous :: frank(:,:)
17624! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17625! integer(IK) , intent(in) :: dim
17626! type(lowDia_type) , intent(in) :: subset
17627! end subroutine
17628!#endif
17629!
17630!#if IK1_ENABLED
17631! PURE module subroutine setTauWTR_XLD_IK1(tau, subset, frank, sample, dim, weight)
17632!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17633! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_IK1
17634!#endif
17635! use pm_kind, only: TKG => RK, IKG => IK1
17636! real(TKG) , intent(in) , contiguous :: weight(:)
17637! integer(IKG) , intent(in) , contiguous :: sample(:,:)
17638! real(TKG) , intent(out) , contiguous :: frank(:,:)
17639! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17640! integer(IK) , intent(in) :: dim
17641! type(lowDia_type) , intent(in) :: subset
17642! end subroutine
17643!#endif
17644!
17645! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17646!
17647!#if RK5_ENABLED
17648! PURE module subroutine setTauWTR_XLD_RK5(tau, subset, frank, sample, dim, weight)
17649!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17650! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_RK5
17651!#endif
17652! use pm_kind, only: TKG => RK5
17653! real(TKG) , intent(in) , contiguous :: weight(:)
17654! real(TKG) , intent(in) , contiguous :: sample(:,:)
17655! real(TKG) , intent(out) , contiguous :: frank(:,:)
17656! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17657! integer(IK) , intent(in) :: dim
17658! type(lowDia_type) , intent(in) :: subset
17659! end subroutine
17660!#endif
17661!
17662!#if RK4_ENABLED
17663! PURE module subroutine setTauWTR_XLD_RK4(tau, subset, frank, sample, dim, weight)
17664!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17665! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_RK4
17666!#endif
17667! use pm_kind, only: TKG => RK4
17668! real(TKG) , intent(in) , contiguous :: weight(:)
17669! real(TKG) , intent(in) , contiguous :: sample(:,:)
17670! real(TKG) , intent(out) , contiguous :: frank(:,:)
17671! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17672! integer(IK) , intent(in) :: dim
17673! type(lowDia_type) , intent(in) :: subset
17674! end subroutine
17675!#endif
17676!
17677!#if RK3_ENABLED
17678! PURE module subroutine setTauWTR_XLD_RK3(tau, subset, frank, sample, dim, weight)
17679!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17680! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_RK3
17681!#endif
17682! use pm_kind, only: TKG => RK3
17683! real(TKG) , intent(in) , contiguous :: weight(:)
17684! real(TKG) , intent(in) , contiguous :: sample(:,:)
17685! real(TKG) , intent(out) , contiguous :: frank(:,:)
17686! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17687! integer(IK) , intent(in) :: dim
17688! type(lowDia_type) , intent(in) :: subset
17689! end subroutine
17690!#endif
17691!
17692!#if RK2_ENABLED
17693! PURE module subroutine setTauWTR_XLD_RK2(tau, subset, frank, sample, dim, weight)
17694!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17695! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_RK2
17696!#endif
17697! use pm_kind, only: TKG => RK2
17698! real(TKG) , intent(in) , contiguous :: weight(:)
17699! real(TKG) , intent(in) , contiguous :: sample(:,:)
17700! real(TKG) , intent(out) , contiguous :: frank(:,:)
17701! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17702! integer(IK) , intent(in) :: dim
17703! type(lowDia_type) , intent(in) :: subset
17704! end subroutine
17705!#endif
17706!
17707!#if RK1_ENABLED
17708! PURE module subroutine setTauWTR_XLD_RK1(tau, subset, frank, sample, dim, weight)
17709!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17710! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_RK1
17711!#endif
17712! use pm_kind, only: TKG => RK1
17713! real(TKG) , intent(in) , contiguous :: weight(:)
17714! real(TKG) , intent(in) , contiguous :: sample(:,:)
17715! real(TKG) , intent(out) , contiguous :: frank(:,:)
17716! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17717! integer(IK) , intent(in) :: dim
17718! type(lowDia_type) , intent(in) :: subset
17719! end subroutine
17720!#endif
17721!
17722! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17723!
17724!#if PDT_ENABLED
17725!
17726!#if SK5_ENABLED
17727! PURE module subroutine setTauWTR_XLD_PSSK5(tau, subset, frank, sample, dim, weight)
17728!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17729! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_PSSK5
17730!#endif
17731! use pm_kind, only: TKG => RK, SKG => SK5
17732! real(TKG) , intent(in) , contiguous :: weight(:)
17733! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17734! real(TKG) , intent(out) , contiguous :: frank(:,:)
17735! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17736! integer(IK) , intent(in) :: dim
17737! type(lowDia_type) , intent(in) :: subset
17738! end subroutine
17739!#endif
17740!
17741!#if SK4_ENABLED
17742! PURE module subroutine setTauWTR_XLD_PSSK4(tau, subset, frank, sample, dim, weight)
17743!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17744! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_PSSK4
17745!#endif
17746! use pm_kind, only: TKG => RK, SKG => SK4
17747! real(TKG) , intent(in) , contiguous :: weight(:)
17748! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17749! real(TKG) , intent(out) , contiguous :: frank(:,:)
17750! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17751! integer(IK) , intent(in) :: dim
17752! type(lowDia_type) , intent(in) :: subset
17753! end subroutine
17754!#endif
17755!
17756!#if SK3_ENABLED
17757! PURE module subroutine setTauWTR_XLD_PSSK3(tau, subset, frank, sample, dim, weight)
17758!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17759! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_PSSK3
17760!#endif
17761! use pm_kind, only: TKG => RK, SKG => SK3
17762! real(TKG) , intent(in) , contiguous :: weight(:)
17763! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17764! real(TKG) , intent(out) , contiguous :: frank(:,:)
17765! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17766! integer(IK) , intent(in) :: dim
17767! type(lowDia_type) , intent(in) :: subset
17768! end subroutine
17769!#endif
17770!
17771!#if SK2_ENABLED
17772! PURE module subroutine setTauWTR_XLD_PSSK2(tau, subset, frank, sample, dim, weight)
17773!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17774! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_PSSK2
17775!#endif
17776! use pm_kind, only: TKG => RK, SKG => SK2
17777! real(TKG) , intent(in) , contiguous :: weight(:)
17778! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17779! real(TKG) , intent(out) , contiguous :: frank(:,:)
17780! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17781! integer(IK) , intent(in) :: dim
17782! type(lowDia_type) , intent(in) :: subset
17783! end subroutine
17784!#endif
17785!
17786!#if SK1_ENABLED
17787! PURE module subroutine setTauWTR_XLD_PSSK1(tau, subset, frank, sample, dim, weight)
17788!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17789! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_PSSK1
17790!#endif
17791! use pm_kind, only: TKG => RK, SKG => SK1
17792! real(TKG) , intent(in) , contiguous :: weight(:)
17793! type(css_pdt(SKG)) , intent(in) , contiguous :: sample(:,:)
17794! real(TKG) , intent(out) , contiguous :: frank(:,:)
17795! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17796! integer(IK) , intent(in) :: dim
17797! type(lowDia_type) , intent(in) :: subset
17798! end subroutine
17799!#endif
17800!
17801!#endif
17802!PDT_ENABLED
17803!
17804! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17805!
17806! PURE module subroutine setTauWTR_XLD_BSSK(tau, subset, frank, sample, dim, weight)
17807!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17808! !DEC$ ATTRIBUTES DLLEXPORT :: setTauWTR_XLD_BSSK
17809!#endif
17810! real(TKG) , intent(in) , contiguous :: weight(:)
17811! type(css_type) , intent(in) , contiguous :: sample(:,:)
17812! real(TKG) , intent(out) , contiguous :: frank(:,:)
17813! real(TKG) , intent(inout) , contiguous :: tau(:,:)
17814! integer(IK) , intent(in) :: dim
17815! type(lowDia_type) , intent(in) :: subset
17816! end subroutine
17817!
17818! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17819!
17820! end interface setTau
17821
17822!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17823
17884
17885 ! WNO
17886
17887 interface setCordance
17888
17889 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17890 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17892
17893 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17894
17895#if SK5_ENABLED
17896 PURE module subroutine setCordanceSum_D0_SK5(cordance, tiedx, tiedy, x, y)
17897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17898 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D0_SK5
17899#endif
17900 use pm_kind, only: TKG => RK, SKG => SK5
17901 character(*,SKG) , intent(in) :: x, y
17902 integer(IK) , intent(out) :: tiedx, tiedy
17903 integer(IK) , intent(out) :: cordance
17904 end subroutine
17905#endif
17906
17907#if SK4_ENABLED
17908 PURE module subroutine setCordanceSum_D0_SK4(cordance, tiedx, tiedy, x, y)
17909#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17910 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D0_SK4
17911#endif
17912 use pm_kind, only: TKG => RK, SKG => SK4
17913 character(*,SKG) , intent(in) :: x, y
17914 integer(IK) , intent(out) :: tiedx, tiedy
17915 integer(IK) , intent(out) :: cordance
17916 end subroutine
17917#endif
17918
17919#if SK3_ENABLED
17920 PURE module subroutine setCordanceSum_D0_SK3(cordance, tiedx, tiedy, x, y)
17921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17922 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D0_SK3
17923#endif
17924 use pm_kind, only: TKG => RK, SKG => SK3
17925 character(*,SKG) , intent(in) :: x, y
17926 integer(IK) , intent(out) :: tiedx, tiedy
17927 integer(IK) , intent(out) :: cordance
17928 end subroutine
17929#endif
17930
17931#if SK2_ENABLED
17932 PURE module subroutine setCordanceSum_D0_SK2(cordance, tiedx, tiedy, x, y)
17933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17934 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D0_SK2
17935#endif
17936 use pm_kind, only: TKG => RK, SKG => SK2
17937 character(*,SKG) , intent(in) :: x, y
17938 integer(IK) , intent(out) :: tiedx, tiedy
17939 integer(IK) , intent(out) :: cordance
17940 end subroutine
17941#endif
17942
17943#if SK1_ENABLED
17944 PURE module subroutine setCordanceSum_D0_SK1(cordance, tiedx, tiedy, x, y)
17945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17946 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D0_SK1
17947#endif
17948 use pm_kind, only: TKG => RK, SKG => SK1
17949 character(*,SKG) , intent(in) :: x, y
17950 integer(IK) , intent(out) :: tiedx, tiedy
17951 integer(IK) , intent(out) :: cordance
17952 end subroutine
17953#endif
17954
17955 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17956
17957#if SK5_ENABLED
17958 PURE module subroutine setCordanceSum_D1_SK5(cordance, tiedx, tiedy, x, y)
17959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17960 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_SK5
17961#endif
17962 use pm_kind, only: TKG => RK, SKG => SK5
17963 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
17964 integer(IK) , intent(out) :: tiedx, tiedy
17965 integer(IK) , intent(out) :: cordance
17966 end subroutine
17967#endif
17968
17969#if SK4_ENABLED
17970 PURE module subroutine setCordanceSum_D1_SK4(cordance, tiedx, tiedy, x, y)
17971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17972 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_SK4
17973#endif
17974 use pm_kind, only: TKG => RK, SKG => SK4
17975 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
17976 integer(IK) , intent(out) :: tiedx, tiedy
17977 integer(IK) , intent(out) :: cordance
17978 end subroutine
17979#endif
17980
17981#if SK3_ENABLED
17982 PURE module subroutine setCordanceSum_D1_SK3(cordance, tiedx, tiedy, x, y)
17983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17984 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_SK3
17985#endif
17986 use pm_kind, only: TKG => RK, SKG => SK3
17987 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
17988 integer(IK) , intent(out) :: tiedx, tiedy
17989 integer(IK) , intent(out) :: cordance
17990 end subroutine
17991#endif
17992
17993#if SK2_ENABLED
17994 PURE module subroutine setCordanceSum_D1_SK2(cordance, tiedx, tiedy, x, y)
17995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17996 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_SK2
17997#endif
17998 use pm_kind, only: TKG => RK, SKG => SK2
17999 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18000 integer(IK) , intent(out) :: tiedx, tiedy
18001 integer(IK) , intent(out) :: cordance
18002 end subroutine
18003#endif
18004
18005#if SK1_ENABLED
18006 PURE module subroutine setCordanceSum_D1_SK1(cordance, tiedx, tiedy, x, y)
18007#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18008 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_SK1
18009#endif
18010 use pm_kind, only: TKG => RK, SKG => SK1
18011 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18012 integer(IK) , intent(out) :: tiedx, tiedy
18013 integer(IK) , intent(out) :: cordance
18014 end subroutine
18015#endif
18016
18017 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18018
18019#if IK5_ENABLED
18020 PURE module subroutine setCordanceSum_D1_IK5(cordance, tiedx, tiedy, x, y)
18021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18022 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_IK5
18023#endif
18024 use pm_kind, only: TKG => RK, IKG => IK5
18025 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18026 integer(IK) , intent(out) :: tiedx, tiedy
18027 integer(IK) , intent(out) :: cordance
18028 end subroutine
18029#endif
18030
18031#if IK4_ENABLED
18032 PURE module subroutine setCordanceSum_D1_IK4(cordance, tiedx, tiedy, x, y)
18033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18034 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_IK4
18035#endif
18036 use pm_kind, only: TKG => RK, IKG => IK4
18037 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18038 integer(IK) , intent(out) :: tiedx, tiedy
18039 integer(IK) , intent(out) :: cordance
18040 end subroutine
18041#endif
18042
18043#if IK3_ENABLED
18044 PURE module subroutine setCordanceSum_D1_IK3(cordance, tiedx, tiedy, x, y)
18045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18046 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_IK3
18047#endif
18048 use pm_kind, only: TKG => RK, IKG => IK3
18049 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18050 integer(IK) , intent(out) :: tiedx, tiedy
18051 integer(IK) , intent(out) :: cordance
18052 end subroutine
18053#endif
18054
18055#if IK2_ENABLED
18056 PURE module subroutine setCordanceSum_D1_IK2(cordance, tiedx, tiedy, x, y)
18057#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18058 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_IK2
18059#endif
18060 use pm_kind, only: TKG => RK, IKG => IK2
18061 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18062 integer(IK) , intent(out) :: tiedx, tiedy
18063 integer(IK) , intent(out) :: cordance
18064 end subroutine
18065#endif
18066
18067#if IK1_ENABLED
18068 PURE module subroutine setCordanceSum_D1_IK1(cordance, tiedx, tiedy, x, y)
18069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18070 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_IK1
18071#endif
18072 use pm_kind, only: TKG => RK, IKG => IK1
18073 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18074 integer(IK) , intent(out) :: tiedx, tiedy
18075 integer(IK) , intent(out) :: cordance
18076 end subroutine
18077#endif
18078
18079 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18080
18081#if RK5_ENABLED
18082 PURE module subroutine setCordanceSum_D1_RK5(cordance, tiedx, tiedy, x, y)
18083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18084 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_RK5
18085#endif
18086 use pm_kind, only: TKG => RK5
18087 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18088 integer(IK) , intent(out) :: tiedx, tiedy
18089 integer(IK) , intent(out) :: cordance
18090 end subroutine
18091#endif
18092
18093#if RK4_ENABLED
18094 PURE module subroutine setCordanceSum_D1_RK4(cordance, tiedx, tiedy, x, y)
18095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18096 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_RK4
18097#endif
18098 use pm_kind, only: TKG => RK4
18099 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18100 integer(IK) , intent(out) :: tiedx, tiedy
18101 integer(IK) , intent(out) :: cordance
18102 end subroutine
18103#endif
18104
18105#if RK3_ENABLED
18106 PURE module subroutine setCordanceSum_D1_RK3(cordance, tiedx, tiedy, x, y)
18107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18108 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_RK3
18109#endif
18110 use pm_kind, only: TKG => RK3
18111 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18112 integer(IK) , intent(out) :: tiedx, tiedy
18113 integer(IK) , intent(out) :: cordance
18114 end subroutine
18115#endif
18116
18117#if RK2_ENABLED
18118 PURE module subroutine setCordanceSum_D1_RK2(cordance, tiedx, tiedy, x, y)
18119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18120 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_RK2
18121#endif
18122 use pm_kind, only: TKG => RK2
18123 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18124 integer(IK) , intent(out) :: tiedx, tiedy
18125 integer(IK) , intent(out) :: cordance
18126 end subroutine
18127#endif
18128
18129#if RK1_ENABLED
18130 PURE module subroutine setCordanceSum_D1_RK1(cordance, tiedx, tiedy, x, y)
18131#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18132 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_RK1
18133#endif
18134 use pm_kind, only: TKG => RK1
18135 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18136 integer(IK) , intent(out) :: tiedx, tiedy
18137 integer(IK) , intent(out) :: cordance
18138 end subroutine
18139#endif
18140
18141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18142
18143#if PDT_ENABLED
18144
18145#if SK5_ENABLED
18146 PURE module subroutine setCordanceSum_D1_PSSK5(cordance, tiedx, tiedy, x, y)
18147#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18148 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_PSSK5
18149#endif
18150 use pm_kind, only: TKG => RK, SKG => SK5
18151 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18152 integer(IK) , intent(out) :: tiedx, tiedy
18153 integer(IK) , intent(out) :: cordance
18154 end subroutine
18155#endif
18156
18157#if SK4_ENABLED
18158 PURE module subroutine setCordanceSum_D1_PSSK4(cordance, tiedx, tiedy, x, y)
18159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18160 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_PSSK4
18161#endif
18162 use pm_kind, only: TKG => RK, SKG => SK4
18163 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18164 integer(IK) , intent(out) :: tiedx, tiedy
18165 integer(IK) , intent(out) :: cordance
18166 end subroutine
18167#endif
18168
18169#if SK3_ENABLED
18170 PURE module subroutine setCordanceSum_D1_PSSK3(cordance, tiedx, tiedy, x, y)
18171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18172 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_PSSK3
18173#endif
18174 use pm_kind, only: TKG => RK, SKG => SK3
18175 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18176 integer(IK) , intent(out) :: tiedx, tiedy
18177 integer(IK) , intent(out) :: cordance
18178 end subroutine
18179#endif
18180
18181#if SK2_ENABLED
18182 PURE module subroutine setCordanceSum_D1_PSSK2(cordance, tiedx, tiedy, x, y)
18183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18184 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_PSSK2
18185#endif
18186 use pm_kind, only: TKG => RK, SKG => SK2
18187 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18188 integer(IK) , intent(out) :: tiedx, tiedy
18189 integer(IK) , intent(out) :: cordance
18190 end subroutine
18191#endif
18192
18193#if SK1_ENABLED
18194 PURE module subroutine setCordanceSum_D1_PSSK1(cordance, tiedx, tiedy, x, y)
18195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18196 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_PSSK1
18197#endif
18198 use pm_kind, only: TKG => RK, SKG => SK1
18199 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18200 integer(IK) , intent(out) :: tiedx, tiedy
18201 integer(IK) , intent(out) :: cordance
18202 end subroutine
18203#endif
18204
18205#endif
18206!PDT_ENABLED
18207
18208 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18209
18210 PURE module subroutine setCordanceSum_D1_BSSK(cordance, tiedx, tiedy, x, y)
18211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18212 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceSum_D1_BSSK
18213#endif
18214 use pm_kind, only: TKG => RK, SKG => SK1
18215 type(css_type) , intent(in) , contiguous :: x(:), y(:)
18216 integer(IK) , intent(out) :: tiedx, tiedy
18217 integer(IK) , intent(out) :: cordance
18218 end subroutine
18219
18220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18221
18222 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18224 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18225
18226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18227
18228#if SK5_ENABLED
18229 PURE module subroutine setCordanceAll_D0_SK5(concordance, discordance, tiedx, tiedy, x, y)
18230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18231 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D0_SK5
18232#endif
18233 use pm_kind, only: TKG => RK, SKG => SK5
18234 character(*,SKG) , intent(in) :: x, y
18235 integer(IK) , intent(out) :: tiedx, tiedy
18236 integer(IK) , intent(out) :: concordance, discordance
18237 end subroutine
18238#endif
18239
18240#if SK4_ENABLED
18241 PURE module subroutine setCordanceAll_D0_SK4(concordance, discordance, tiedx, tiedy, x, y)
18242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18243 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D0_SK4
18244#endif
18245 use pm_kind, only: TKG => RK, SKG => SK4
18246 character(*,SKG) , intent(in) :: x, y
18247 integer(IK) , intent(out) :: tiedx, tiedy
18248 integer(IK) , intent(out) :: concordance, discordance
18249 end subroutine
18250#endif
18251
18252#if SK3_ENABLED
18253 PURE module subroutine setCordanceAll_D0_SK3(concordance, discordance, tiedx, tiedy, x, y)
18254#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18255 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D0_SK3
18256#endif
18257 use pm_kind, only: TKG => RK, SKG => SK3
18258 character(*,SKG) , intent(in) :: x, y
18259 integer(IK) , intent(out) :: tiedx, tiedy
18260 integer(IK) , intent(out) :: concordance, discordance
18261 end subroutine
18262#endif
18263
18264#if SK2_ENABLED
18265 PURE module subroutine setCordanceAll_D0_SK2(concordance, discordance, tiedx, tiedy, x, y)
18266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18267 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D0_SK2
18268#endif
18269 use pm_kind, only: TKG => RK, SKG => SK2
18270 character(*,SKG) , intent(in) :: x, y
18271 integer(IK) , intent(out) :: tiedx, tiedy
18272 integer(IK) , intent(out) :: concordance, discordance
18273 end subroutine
18274#endif
18275
18276#if SK1_ENABLED
18277 PURE module subroutine setCordanceAll_D0_SK1(concordance, discordance, tiedx, tiedy, x, y)
18278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18279 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D0_SK1
18280#endif
18281 use pm_kind, only: TKG => RK, SKG => SK1
18282 character(*,SKG) , intent(in) :: x, y
18283 integer(IK) , intent(out) :: tiedx, tiedy
18284 integer(IK) , intent(out) :: concordance, discordance
18285 end subroutine
18286#endif
18287
18288 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18289
18290#if SK5_ENABLED
18291 PURE module subroutine setCordanceAll_D1_SK5(concordance, discordance, tiedx, tiedy, x, y)
18292#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18293 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_SK5
18294#endif
18295 use pm_kind, only: TKG => RK, SKG => SK5
18296 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18297 integer(IK) , intent(out) :: tiedx, tiedy
18298 integer(IK) , intent(out) :: concordance, discordance
18299 end subroutine
18300#endif
18301
18302#if SK4_ENABLED
18303 PURE module subroutine setCordanceAll_D1_SK4(concordance, discordance, tiedx, tiedy, x, y)
18304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18305 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_SK4
18306#endif
18307 use pm_kind, only: TKG => RK, SKG => SK4
18308 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18309 integer(IK) , intent(out) :: tiedx, tiedy
18310 integer(IK) , intent(out) :: concordance, discordance
18311 end subroutine
18312#endif
18313
18314#if SK3_ENABLED
18315 PURE module subroutine setCordanceAll_D1_SK3(concordance, discordance, tiedx, tiedy, x, y)
18316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18317 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_SK3
18318#endif
18319 use pm_kind, only: TKG => RK, SKG => SK3
18320 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18321 integer(IK) , intent(out) :: tiedx, tiedy
18322 integer(IK) , intent(out) :: concordance, discordance
18323 end subroutine
18324#endif
18325
18326#if SK2_ENABLED
18327 PURE module subroutine setCordanceAll_D1_SK2(concordance, discordance, tiedx, tiedy, x, y)
18328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18329 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_SK2
18330#endif
18331 use pm_kind, only: TKG => RK, SKG => SK2
18332 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18333 integer(IK) , intent(out) :: tiedx, tiedy
18334 integer(IK) , intent(out) :: concordance, discordance
18335 end subroutine
18336#endif
18337
18338#if SK1_ENABLED
18339 PURE module subroutine setCordanceAll_D1_SK1(concordance, discordance, tiedx, tiedy, x, y)
18340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18341 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_SK1
18342#endif
18343 use pm_kind, only: TKG => RK, SKG => SK1
18344 character(*,SKG) , intent(in) , contiguous :: x(:), y(:)
18345 integer(IK) , intent(out) :: tiedx, tiedy
18346 integer(IK) , intent(out) :: concordance, discordance
18347 end subroutine
18348#endif
18349
18350 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18351
18352#if IK5_ENABLED
18353 PURE module subroutine setCordanceAll_D1_IK5(concordance, discordance, tiedx, tiedy, x, y)
18354#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18355 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_IK5
18356#endif
18357 use pm_kind, only: TKG => RK, IKG => IK5
18358 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18359 integer(IK) , intent(out) :: tiedx, tiedy
18360 integer(IK) , intent(out) :: concordance, discordance
18361 end subroutine
18362#endif
18363
18364#if IK4_ENABLED
18365 PURE module subroutine setCordanceAll_D1_IK4(concordance, discordance, tiedx, tiedy, x, y)
18366#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18367 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_IK4
18368#endif
18369 use pm_kind, only: TKG => RK, IKG => IK4
18370 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18371 integer(IK) , intent(out) :: tiedx, tiedy
18372 integer(IK) , intent(out) :: concordance, discordance
18373 end subroutine
18374#endif
18375
18376#if IK3_ENABLED
18377 PURE module subroutine setCordanceAll_D1_IK3(concordance, discordance, tiedx, tiedy, x, y)
18378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18379 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_IK3
18380#endif
18381 use pm_kind, only: TKG => RK, IKG => IK3
18382 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18383 integer(IK) , intent(out) :: tiedx, tiedy
18384 integer(IK) , intent(out) :: concordance, discordance
18385 end subroutine
18386#endif
18387
18388#if IK2_ENABLED
18389 PURE module subroutine setCordanceAll_D1_IK2(concordance, discordance, tiedx, tiedy, x, y)
18390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18391 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_IK2
18392#endif
18393 use pm_kind, only: TKG => RK, IKG => IK2
18394 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18395 integer(IK) , intent(out) :: tiedx, tiedy
18396 integer(IK) , intent(out) :: concordance, discordance
18397 end subroutine
18398#endif
18399
18400#if IK1_ENABLED
18401 PURE module subroutine setCordanceAll_D1_IK1(concordance, discordance, tiedx, tiedy, x, y)
18402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18403 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_IK1
18404#endif
18405 use pm_kind, only: TKG => RK, IKG => IK1
18406 integer(IKG) , intent(in) , contiguous :: x(:), y(:)
18407 integer(IK) , intent(out) :: tiedx, tiedy
18408 integer(IK) , intent(out) :: concordance, discordance
18409 end subroutine
18410#endif
18411
18412 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18413
18414#if RK5_ENABLED
18415 PURE module subroutine setCordanceAll_D1_RK5(concordance, discordance, tiedx, tiedy, x, y)
18416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18417 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_RK5
18418#endif
18419 use pm_kind, only: TKG => RK5
18420 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18421 integer(IK) , intent(out) :: tiedx, tiedy
18422 integer(IK) , intent(out) :: concordance, discordance
18423 end subroutine
18424#endif
18425
18426#if RK4_ENABLED
18427 PURE module subroutine setCordanceAll_D1_RK4(concordance, discordance, tiedx, tiedy, x, y)
18428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18429 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_RK4
18430#endif
18431 use pm_kind, only: TKG => RK4
18432 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18433 integer(IK) , intent(out) :: tiedx, tiedy
18434 integer(IK) , intent(out) :: concordance, discordance
18435 end subroutine
18436#endif
18437
18438#if RK3_ENABLED
18439 PURE module subroutine setCordanceAll_D1_RK3(concordance, discordance, tiedx, tiedy, x, y)
18440#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18441 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_RK3
18442#endif
18443 use pm_kind, only: TKG => RK3
18444 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18445 integer(IK) , intent(out) :: tiedx, tiedy
18446 integer(IK) , intent(out) :: concordance, discordance
18447 end subroutine
18448#endif
18449
18450#if RK2_ENABLED
18451 PURE module subroutine setCordanceAll_D1_RK2(concordance, discordance, tiedx, tiedy, x, y)
18452#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18453 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_RK2
18454#endif
18455 use pm_kind, only: TKG => RK2
18456 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18457 integer(IK) , intent(out) :: tiedx, tiedy
18458 integer(IK) , intent(out) :: concordance, discordance
18459 end subroutine
18460#endif
18461
18462#if RK1_ENABLED
18463 PURE module subroutine setCordanceAll_D1_RK1(concordance, discordance, tiedx, tiedy, x, y)
18464#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18465 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_RK1
18466#endif
18467 use pm_kind, only: TKG => RK1
18468 real(TKG) , intent(in) , contiguous :: x(:), y(:)
18469 integer(IK) , intent(out) :: tiedx, tiedy
18470 integer(IK) , intent(out) :: concordance, discordance
18471 end subroutine
18472#endif
18473
18474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18475
18476#if PDT_ENABLED
18477
18478#if SK5_ENABLED
18479 PURE module subroutine setCordanceAll_D1_PSSK5(concordance, discordance, tiedx, tiedy, x, y)
18480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18481 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_PSSK5
18482#endif
18483 use pm_kind, only: TKG => RK, SKG => SK5
18484 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18485 integer(IK) , intent(out) :: tiedx, tiedy
18486 integer(IK) , intent(out) :: concordance, discordance
18487 end subroutine
18488#endif
18489
18490#if SK4_ENABLED
18491 PURE module subroutine setCordanceAll_D1_PSSK4(concordance, discordance, tiedx, tiedy, x, y)
18492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18493 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_PSSK4
18494#endif
18495 use pm_kind, only: TKG => RK, SKG => SK4
18496 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18497 integer(IK) , intent(out) :: tiedx, tiedy
18498 integer(IK) , intent(out) :: concordance, discordance
18499 end subroutine
18500#endif
18501
18502#if SK3_ENABLED
18503 PURE module subroutine setCordanceAll_D1_PSSK3(concordance, discordance, tiedx, tiedy, x, y)
18504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18505 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_PSSK3
18506#endif
18507 use pm_kind, only: TKG => RK, SKG => SK3
18508 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18509 integer(IK) , intent(out) :: tiedx, tiedy
18510 integer(IK) , intent(out) :: concordance, discordance
18511 end subroutine
18512#endif
18513
18514#if SK2_ENABLED
18515 PURE module subroutine setCordanceAll_D1_PSSK2(concordance, discordance, tiedx, tiedy, x, y)
18516#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18517 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_PSSK2
18518#endif
18519 use pm_kind, only: TKG => RK, SKG => SK2
18520 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18521 integer(IK) , intent(out) :: tiedx, tiedy
18522 integer(IK) , intent(out) :: concordance, discordance
18523 end subroutine
18524#endif
18525
18526#if SK1_ENABLED
18527 PURE module subroutine setCordanceAll_D1_PSSK1(concordance, discordance, tiedx, tiedy, x, y)
18528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18529 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_PSSK1
18530#endif
18531 use pm_kind, only: TKG => RK, SKG => SK1
18532 type(css_pdt(SKG)) , intent(in) , contiguous :: x(:), y(:)
18533 integer(IK) , intent(out) :: tiedx, tiedy
18534 integer(IK) , intent(out) :: concordance, discordance
18535 end subroutine
18536#endif
18537
18538#endif
18539!PDT_ENABLED
18540
18541 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18542
18543 PURE module subroutine setCordanceAll_D1_BSSK(concordance, discordance, tiedx, tiedy, x, y)
18544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18545 !DEC$ ATTRIBUTES DLLEXPORT :: setCordanceAll_D1_BSSK
18546#endif
18547 use pm_kind, only: TKG => RK, SKG => SK1
18548 type(css_type) , intent(in) , contiguous :: x(:), y(:)
18549 integer(IK) , intent(out) :: tiedx, tiedy
18550 integer(IK) , intent(out) :: concordance, discordance
18551 end subroutine
18552
18553 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18554
18555 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18558
18559 end interface
18560
18561!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18562
18563end module pm_sampleCor ! LCOV_EXCL_LINE
Generate and return the (Pearson) correlation coefficient or matrix of a pair of (weighted) time seri...
Generate and return the Spearman rank correlation matrix of the input (weighted) sample of shape (ndi...
Return the (weighted) correlation matrix corresponding to the input (weighted) covariance matrix or r...
Compute and return the Cordance vector of the input data series x and y.
Return the Spearman rank correlation matrix of the input (weighted) sample of shape (ndim,...
This module contains the derived types for generating allocatable containers of scalar,...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter CK1
Definition: pm_kind.F90:464
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 CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
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 IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
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
integer, parameter SK3
Definition: pm_kind.F90:336
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(low_type), parameter low
This is a scalar parameter object of type low_type that is exclusively used to request lower-triangul...
type(upp_type), parameter upp
This is a scalar parameter object of type upp_type that is exclusively used to request upper-triangul...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for computing properties related to the correlation matri...
type(kendall_type), parameter kendall
This is a scalar parameter object of type kendall_type that is exclusively used to signify the kendal...
type(kendallB_type), parameter kendallB
This is a scalar parameter object of type kendallB_type that is exclusively used to signify the kenda...
type(pearson_type), parameter pearson
This is a scalar parameter object of type pearson_type that is exclusively used to signify the pearso...
type(spearman_type), parameter spearman
This is a scalar parameter object of type spearman_type that is exclusively used to signify the spear...
type(kendallA_type), parameter kendallA
This is a scalar parameter object of type kendallA_type that is exclusively used to signify the kenda...
This is the css_pdt parameterized type for generating instances of container of scalar of string obje...
This is the css_type type for generating instances of container of scalar of string objects.
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request lower-triangular stor...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request upper-triangular stor...
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
This is a concrete derived type whose instances are exclusively used to signify the kendallA type of ...
This is a concrete derived type whose instances are exclusively used to signify the kendallB type of ...
This is a concrete derived type whose instances are exclusively used to signify the kendall type of c...
This is a concrete derived type whose instances are exclusively used to signify the pearson type of c...
This is a concrete derived type whose instances are exclusively used to signify the spearman type of ...