ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixTrans.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
101
102!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103
105
106 use pm_kind, only: SK, IK
107 use pm_matrixClass, only: matrix_type
108 use pm_matrixClass, only: lup, lup_type
120
121 implicit none
122
123 character(*,SK), parameter :: MODULE_NAME = "@pm_matrixTrans"
124
125!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126
156 end type
157
185 type(trans_type), parameter :: trans = trans_type()
186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
187 !DIR$ ATTRIBUTES DLLEXPORT :: trans
188#endif
189
190!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191
226 type, extends(trans_type) :: transSymm_type
227 end type
228
257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
258 !DIR$ ATTRIBUTES DLLEXPORT :: transSymm
259#endif
260
261!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262
297 type, extends(trans_type) :: transHerm_type
298 end type
299
329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
330 !DIR$ ATTRIBUTES DLLEXPORT :: transHerm
331#endif
332
333!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334
369 type, extends(trans_type) :: transOrth_type
370 end type
371
400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
401 !DIR$ ATTRIBUTES DLLEXPORT :: transOrth
402#endif
403
404!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
405
440 type, extends(trans_type) :: transUnit_type
441 end type
442
471#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
472 !DIR$ ATTRIBUTES DLLEXPORT :: transUnit
473#endif
474
475!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
476
512 end type
513
542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
543 !DIR$ ATTRIBUTES DLLEXPORT :: transSymmSkew
544#endif
545
546!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547
583 end type
584
613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
614 !DIR$ ATTRIBUTES DLLEXPORT :: transHermSkew
615#endif
616
617!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
618
766 ! Fixed block size Symmetric transpose.
767 interface setMatTrans
768
769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
770 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
772
773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
774
775#if SK5_ENABLED
776 PURE recursive module subroutine setMatTransSymmOldFix_SK5(source)
777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
778 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_SK5
779#endif
780 use pm_kind, only: LK, SKG => SK5
781 character(*,SKG) , intent(inout) :: source(:,:)
782 end subroutine
783#endif
784
785#if SK4_ENABLED
786 PURE recursive module subroutine setMatTransSymmOldFix_SK4(source)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_SK4
789#endif
790 use pm_kind, only: LK, SKG => SK4
791 character(*,SKG) , intent(inout) :: source(:,:)
792 end subroutine
793#endif
794
795#if SK3_ENABLED
796 PURE recursive module subroutine setMatTransSymmOldFix_SK3(source)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_SK3
799#endif
800 use pm_kind, only: LK, SKG => SK3
801 character(*,SKG) , intent(inout) :: source(:,:)
802 end subroutine
803#endif
804
805#if SK2_ENABLED
806 PURE recursive module subroutine setMatTransSymmOldFix_SK2(source)
807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
808 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_SK2
809#endif
810 use pm_kind, only: LK, SKG => SK2
811 character(*,SKG) , intent(inout) :: source(:,:)
812 end subroutine
813#endif
814
815#if SK1_ENABLED
816 PURE recursive module subroutine setMatTransSymmOldFix_SK1(source)
817#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
818 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_SK1
819#endif
820 use pm_kind, only: LK, SKG => SK1
821 character(*,SKG) , intent(inout) :: source(:,:)
822 end subroutine
823#endif
824
825 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
826
827#if IK5_ENABLED
828 PURE recursive module subroutine setMatTransSymmOldFix_IK5(source)
829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
830 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_IK5
831#endif
832 use pm_kind, only: LK, IKG => IK5
833 integer(IKG) , intent(inout) :: source(:,:)
834 end subroutine
835#endif
836
837#if IK4_ENABLED
838 PURE recursive module subroutine setMatTransSymmOldFix_IK4(source)
839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
840 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_IK4
841#endif
842 use pm_kind, only: LK, IKG => IK4
843 integer(IKG) , intent(inout) :: source(:,:)
844 end subroutine
845#endif
846
847#if IK3_ENABLED
848 PURE recursive module subroutine setMatTransSymmOldFix_IK3(source)
849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
850 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_IK3
851#endif
852 use pm_kind, only: LK, IKG => IK3
853 integer(IKG) , intent(inout) :: source(:,:)
854 end subroutine
855#endif
856
857#if IK2_ENABLED
858 PURE recursive module subroutine setMatTransSymmOldFix_IK2(source)
859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
860 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_IK2
861#endif
862 use pm_kind, only: LK, IKG => IK2
863 integer(IKG) , intent(inout) :: source(:,:)
864 end subroutine
865#endif
866
867#if IK1_ENABLED
868 PURE recursive module subroutine setMatTransSymmOldFix_IK1(source)
869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
870 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_IK1
871#endif
872 use pm_kind, only: LK, IKG => IK1
873 integer(IKG) , intent(inout) :: source(:,:)
874 end subroutine
875#endif
876
877 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
878
879#if LK5_ENABLED
880 PURE recursive module subroutine setMatTransSymmOldFix_LK5(source)
881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
882 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_LK5
883#endif
884 use pm_kind, only: LK, LKG => LK5
885 logical(LKG) , intent(inout) :: source(:,:)
886 end subroutine
887#endif
888
889#if LK4_ENABLED
890 PURE recursive module subroutine setMatTransSymmOldFix_LK4(source)
891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
892 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_LK4
893#endif
894 use pm_kind, only: LK, LKG => LK4
895 logical(LKG) , intent(inout) :: source(:,:)
896 end subroutine
897#endif
898
899#if LK3_ENABLED
900 PURE recursive module subroutine setMatTransSymmOldFix_LK3(source)
901#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
902 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_LK3
903#endif
904 use pm_kind, only: LK, LKG => LK3
905 logical(LKG) , intent(inout) :: source(:,:)
906 end subroutine
907#endif
908
909#if LK2_ENABLED
910 PURE recursive module subroutine setMatTransSymmOldFix_LK2(source)
911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
912 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_LK2
913#endif
914 use pm_kind, only: LK, LKG => LK2
915 logical(LKG) , intent(inout) :: source(:,:)
916 end subroutine
917#endif
918
919#if LK1_ENABLED
920 PURE recursive module subroutine setMatTransSymmOldFix_LK1(source)
921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
922 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_LK1
923#endif
924 use pm_kind, only: LK, LKG => LK1
925 logical(LKG) , intent(inout) :: source(:,:)
926 end subroutine
927#endif
928
929 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
930
931#if CK5_ENABLED
932 PURE recursive module subroutine setMatTransSymmOldFix_CK5(source)
933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
934 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_CK5
935#endif
936 use pm_kind, only: LK, CKG => CK5
937 complex(CKG) , intent(inout) :: source(:,:)
938 end subroutine
939#endif
940
941#if CK4_ENABLED
942 PURE recursive module subroutine setMatTransSymmOldFix_CK4(source)
943#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
944 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_CK4
945#endif
946 use pm_kind, only: LK, CKG => CK4
947 complex(CKG) , intent(inout) :: source(:,:)
948 end subroutine
949#endif
950
951#if CK3_ENABLED
952 PURE recursive module subroutine setMatTransSymmOldFix_CK3(source)
953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
954 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_CK3
955#endif
956 use pm_kind, only: LK, CKG => CK3
957 complex(CKG) , intent(inout) :: source(:,:)
958 end subroutine
959#endif
960
961#if CK2_ENABLED
962 PURE recursive module subroutine setMatTransSymmOldFix_CK2(source)
963#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
964 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_CK2
965#endif
966 use pm_kind, only: LK, CKG => CK2
967 complex(CKG) , intent(inout) :: source(:,:)
968 end subroutine
969#endif
970
971#if CK1_ENABLED
972 PURE recursive module subroutine setMatTransSymmOldFix_CK1(source)
973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
974 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_CK1
975#endif
976 use pm_kind, only: LK, CKG => CK1
977 complex(CKG) , intent(inout) :: source(:,:)
978 end subroutine
979#endif
980
981 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
982
983#if RK5_ENABLED
984 PURE recursive module subroutine setMatTransSymmOldFix_RK5(source)
985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
986 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_RK5
987#endif
988 use pm_kind, only: LK, RKG => RK5
989 real(RKG) , intent(inout) :: source(:,:)
990 end subroutine
991#endif
992
993#if RK4_ENABLED
994 PURE recursive module subroutine setMatTransSymmOldFix_RK4(source)
995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
996 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_RK4
997#endif
998 use pm_kind, only: LK, RKG => RK4
999 real(RKG) , intent(inout) :: source(:,:)
1000 end subroutine
1001#endif
1002
1003#if RK3_ENABLED
1004 PURE recursive module subroutine setMatTransSymmOldFix_RK3(source)
1005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1006 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_RK3
1007#endif
1008 use pm_kind, only: LK, RKG => RK3
1009 real(RKG) , intent(inout) :: source(:,:)
1010 end subroutine
1011#endif
1012
1013#if RK2_ENABLED
1014 PURE recursive module subroutine setMatTransSymmOldFix_RK2(source)
1015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1016 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_RK2
1017#endif
1018 use pm_kind, only: LK, RKG => RK2
1019 real(RKG) , intent(inout) :: source(:,:)
1020 end subroutine
1021#endif
1022
1023#if RK1_ENABLED
1024 PURE recursive module subroutine setMatTransSymmOldFix_RK1(source)
1025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1026 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldFix_RK1
1027#endif
1028 use pm_kind, only: LK, RKG => RK1
1029 real(RKG) , intent(inout) :: source(:,:)
1030 end subroutine
1031#endif
1032
1033 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1034
1035 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1036 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038
1039 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1040
1041#if SK5_ENABLED
1042 PURE recursive module subroutine setMatTransSymmNewFix_SK5(source, destin)
1043#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1044 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_SK5
1045#endif
1046 use pm_kind, only: LK, SKG => SK5
1047 character(*,SKG) , intent(in) :: source(:,:)
1048 character(*,SKG) , intent(out) :: destin(:,:)
1049 end subroutine
1050#endif
1051
1052#if SK4_ENABLED
1053 PURE recursive module subroutine setMatTransSymmNewFix_SK4(source, destin)
1054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1055 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_SK4
1056#endif
1057 use pm_kind, only: LK, SKG => SK4
1058 character(*,SKG) , intent(in) :: source(:,:)
1059 character(*,SKG) , intent(out) :: destin(:,:)
1060 end subroutine
1061#endif
1062
1063#if SK3_ENABLED
1064 PURE recursive module subroutine setMatTransSymmNewFix_SK3(source, destin)
1065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1066 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_SK3
1067#endif
1068 use pm_kind, only: LK, SKG => SK3
1069 character(*,SKG) , intent(in) :: source(:,:)
1070 character(*,SKG) , intent(out) :: destin(:,:)
1071 end subroutine
1072#endif
1073
1074#if SK2_ENABLED
1075 PURE recursive module subroutine setMatTransSymmNewFix_SK2(source, destin)
1076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1077 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_SK2
1078#endif
1079 use pm_kind, only: LK, SKG => SK2
1080 character(*,SKG) , intent(in) :: source(:,:)
1081 character(*,SKG) , intent(out) :: destin(:,:)
1082 end subroutine
1083#endif
1084
1085#if SK1_ENABLED
1086 PURE recursive module subroutine setMatTransSymmNewFix_SK1(source, destin)
1087#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1088 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_SK1
1089#endif
1090 use pm_kind, only: LK, SKG => SK1
1091 character(*,SKG) , intent(in) :: source(:,:)
1092 character(*,SKG) , intent(out) :: destin(:,:)
1093 end subroutine
1094#endif
1095
1096 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1097
1098#if IK5_ENABLED
1099 PURE recursive module subroutine setMatTransSymmNewFix_IK5(source, destin)
1100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1101 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_IK5
1102#endif
1103 use pm_kind, only: LK, IKG => IK5
1104 integer(IKG) , intent(in) :: source(:,:)
1105 integer(IKG) , intent(out) :: destin(:,:)
1106 end subroutine
1107#endif
1108
1109#if IK4_ENABLED
1110 PURE recursive module subroutine setMatTransSymmNewFix_IK4(source, destin)
1111#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1112 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_IK4
1113#endif
1114 use pm_kind, only: LK, IKG => IK4
1115 integer(IKG) , intent(in) :: source(:,:)
1116 integer(IKG) , intent(out) :: destin(:,:)
1117 end subroutine
1118#endif
1119
1120#if IK3_ENABLED
1121 PURE recursive module subroutine setMatTransSymmNewFix_IK3(source, destin)
1122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1123 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_IK3
1124#endif
1125 use pm_kind, only: LK, IKG => IK3
1126 integer(IKG) , intent(in) :: source(:,:)
1127 integer(IKG) , intent(out) :: destin(:,:)
1128 end subroutine
1129#endif
1130
1131#if IK2_ENABLED
1132 PURE recursive module subroutine setMatTransSymmNewFix_IK2(source, destin)
1133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1134 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_IK2
1135#endif
1136 use pm_kind, only: LK, IKG => IK2
1137 integer(IKG) , intent(in) :: source(:,:)
1138 integer(IKG) , intent(out) :: destin(:,:)
1139 end subroutine
1140#endif
1141
1142#if IK1_ENABLED
1143 PURE recursive module subroutine setMatTransSymmNewFix_IK1(source, destin)
1144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1145 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_IK1
1146#endif
1147 use pm_kind, only: LK, IKG => IK1
1148 integer(IKG) , intent(in) :: source(:,:)
1149 integer(IKG) , intent(out) :: destin(:,:)
1150 end subroutine
1151#endif
1152
1153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1154
1155#if LK5_ENABLED
1156 PURE recursive module subroutine setMatTransSymmNewFix_LK5(source, destin)
1157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1158 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_LK5
1159#endif
1160 use pm_kind, only: LK, LKG => LK5
1161 logical(LKG) , intent(in) :: source(:,:)
1162 logical(LKG) , intent(out) :: destin(:,:)
1163 end subroutine
1164#endif
1165
1166#if LK4_ENABLED
1167 PURE recursive module subroutine setMatTransSymmNewFix_LK4(source, destin)
1168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1169 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_LK4
1170#endif
1171 use pm_kind, only: LK, LKG => LK4
1172 logical(LKG) , intent(in) :: source(:,:)
1173 logical(LKG) , intent(out) :: destin(:,:)
1174 end subroutine
1175#endif
1176
1177#if LK3_ENABLED
1178 PURE recursive module subroutine setMatTransSymmNewFix_LK3(source, destin)
1179#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1180 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_LK3
1181#endif
1182 use pm_kind, only: LK, LKG => LK3
1183 logical(LKG) , intent(in) :: source(:,:)
1184 logical(LKG) , intent(out) :: destin(:,:)
1185 end subroutine
1186#endif
1187
1188#if LK2_ENABLED
1189 PURE recursive module subroutine setMatTransSymmNewFix_LK2(source, destin)
1190#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1191 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_LK2
1192#endif
1193 use pm_kind, only: LK, LKG => LK2
1194 logical(LKG) , intent(in) :: source(:,:)
1195 logical(LKG) , intent(out) :: destin(:,:)
1196 end subroutine
1197#endif
1198
1199#if LK1_ENABLED
1200 PURE recursive module subroutine setMatTransSymmNewFix_LK1(source, destin)
1201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1202 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_LK1
1203#endif
1204 use pm_kind, only: LK, LKG => LK1
1205 logical(LKG) , intent(in) :: source(:,:)
1206 logical(LKG) , intent(out) :: destin(:,:)
1207 end subroutine
1208#endif
1209
1210 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1211
1212#if CK5_ENABLED
1213 PURE recursive module subroutine setMatTransSymmNewFix_CK5(source, destin)
1214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1215 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_CK5
1216#endif
1217 use pm_kind, only: LK, CKG => CK5
1218 complex(CKG) , intent(in) :: source(:,:)
1219 complex(CKG) , intent(out) :: destin(:,:)
1220 end subroutine
1221#endif
1222
1223#if CK4_ENABLED
1224 PURE recursive module subroutine setMatTransSymmNewFix_CK4(source, destin)
1225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1226 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_CK4
1227#endif
1228 use pm_kind, only: LK, CKG => CK4
1229 complex(CKG) , intent(in) :: source(:,:)
1230 complex(CKG) , intent(out) :: destin(:,:)
1231 end subroutine
1232#endif
1233
1234#if CK3_ENABLED
1235 PURE recursive module subroutine setMatTransSymmNewFix_CK3(source, destin)
1236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1237 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_CK3
1238#endif
1239 use pm_kind, only: LK, CKG => CK3
1240 complex(CKG) , intent(in) :: source(:,:)
1241 complex(CKG) , intent(out) :: destin(:,:)
1242 end subroutine
1243#endif
1244
1245#if CK2_ENABLED
1246 PURE recursive module subroutine setMatTransSymmNewFix_CK2(source, destin)
1247#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1248 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_CK2
1249#endif
1250 use pm_kind, only: LK, CKG => CK2
1251 complex(CKG) , intent(in) :: source(:,:)
1252 complex(CKG) , intent(out) :: destin(:,:)
1253 end subroutine
1254#endif
1255
1256#if CK1_ENABLED
1257 PURE recursive module subroutine setMatTransSymmNewFix_CK1(source, destin)
1258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1259 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_CK1
1260#endif
1261 use pm_kind, only: LK, CKG => CK1
1262 complex(CKG) , intent(in) :: source(:,:)
1263 complex(CKG) , intent(out) :: destin(:,:)
1264 end subroutine
1265#endif
1266
1267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1268
1269#if RK5_ENABLED
1270 PURE recursive module subroutine setMatTransSymmNewFix_RK5(source, destin)
1271#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1272 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_RK5
1273#endif
1274 use pm_kind, only: LK, RKG => RK5
1275 real(RKG) , intent(in) :: source(:,:)
1276 real(RKG) , intent(out) :: destin(:,:)
1277 end subroutine
1278#endif
1279
1280#if RK4_ENABLED
1281 PURE recursive module subroutine setMatTransSymmNewFix_RK4(source, destin)
1282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1283 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_RK4
1284#endif
1285 use pm_kind, only: LK, RKG => RK4
1286 real(RKG) , intent(in) :: source(:,:)
1287 real(RKG) , intent(out) :: destin(:,:)
1288 end subroutine
1289#endif
1290
1291#if RK3_ENABLED
1292 PURE recursive module subroutine setMatTransSymmNewFix_RK3(source, destin)
1293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1294 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_RK3
1295#endif
1296 use pm_kind, only: LK, RKG => RK3
1297 real(RKG) , intent(in) :: source(:,:)
1298 real(RKG) , intent(out) :: destin(:,:)
1299 end subroutine
1300#endif
1301
1302#if RK2_ENABLED
1303 PURE recursive module subroutine setMatTransSymmNewFix_RK2(source, destin)
1304#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1305 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_RK2
1306#endif
1307 use pm_kind, only: LK, RKG => RK2
1308 real(RKG) , intent(in) :: source(:,:)
1309 real(RKG) , intent(out) :: destin(:,:)
1310 end subroutine
1311#endif
1312
1313#if RK1_ENABLED
1314 PURE recursive module subroutine setMatTransSymmNewFix_RK1(source, destin)
1315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1316 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewFix_RK1
1317#endif
1318 use pm_kind, only: LK, RKG => RK1
1319 real(RKG) , intent(in) :: source(:,:)
1320 real(RKG) , intent(out) :: destin(:,:)
1321 end subroutine
1322#endif
1323
1324 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1325
1326 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1327 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1329
1330 end interface
1331
1332 ! Fixed block size Hermitian transpose.
1333 !cond excluded
1334 interface setMatTrans
1335
1336 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1337
1338#if CK5_ENABLED
1339 PURE recursive module subroutine setMatTransHermOldFix_CK5(source, operation)
1340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1341 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldFix_CK5
1342#endif
1343 use pm_kind, only: LK, CKG => CK5
1344 complex(CKG) , intent(inout) :: source(:,:)
1345 type(transHerm_type), intent(in) :: operation
1346 end subroutine
1347#endif
1348
1349#if CK4_ENABLED
1350 PURE recursive module subroutine setMatTransHermOldFix_CK4(source, operation)
1351#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1352 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldFix_CK4
1353#endif
1354 use pm_kind, only: LK, CKG => CK4
1355 complex(CKG) , intent(inout) :: source(:,:)
1356 type(transHerm_type), intent(in) :: operation
1357 end subroutine
1358#endif
1359
1360#if CK3_ENABLED
1361 PURE recursive module subroutine setMatTransHermOldFix_CK3(source, operation)
1362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1363 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldFix_CK3
1364#endif
1365 use pm_kind, only: LK, CKG => CK3
1366 complex(CKG) , intent(inout) :: source(:,:)
1367 type(transHerm_type), intent(in) :: operation
1368 end subroutine
1369#endif
1370
1371#if CK2_ENABLED
1372 PURE recursive module subroutine setMatTransHermOldFix_CK2(source, operation)
1373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1374 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldFix_CK2
1375#endif
1376 use pm_kind, only: LK, CKG => CK2
1377 complex(CKG) , intent(inout) :: source(:,:)
1378 type(transHerm_type), intent(in) :: operation
1379 end subroutine
1380#endif
1381
1382#if CK1_ENABLED
1383 PURE recursive module subroutine setMatTransHermOldFix_CK1(source, operation)
1384#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1385 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldFix_CK1
1386#endif
1387 use pm_kind, only: LK, CKG => CK1
1388 complex(CKG) , intent(inout) :: source(:,:)
1389 type(transHerm_type), intent(in) :: operation
1390 end subroutine
1391#endif
1392
1393 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1394
1395#if CK5_ENABLED
1396 PURE recursive module subroutine setMatTransHermNewFix_CK5(source, destin, operation)
1397#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1398 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewFix_CK5
1399#endif
1400 use pm_kind, only: LK, CKG => CK5
1401 complex(CKG) , intent(in) :: source(:,:)
1402 complex(CKG) , intent(out) :: destin(:,:)
1403 type(transHerm_type), intent(in) :: operation
1404 end subroutine
1405#endif
1406
1407#if CK4_ENABLED
1408 PURE recursive module subroutine setMatTransHermNewFix_CK4(source, destin, operation)
1409#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1410 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewFix_CK4
1411#endif
1412 use pm_kind, only: LK, CKG => CK4
1413 complex(CKG) , intent(in) :: source(:,:)
1414 complex(CKG) , intent(out) :: destin(:,:)
1415 type(transHerm_type), intent(in) :: operation
1416 end subroutine
1417#endif
1418
1419#if CK3_ENABLED
1420 PURE recursive module subroutine setMatTransHermNewFix_CK3(source, destin, operation)
1421#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1422 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewFix_CK3
1423#endif
1424 use pm_kind, only: LK, CKG => CK3
1425 complex(CKG) , intent(in) :: source(:,:)
1426 complex(CKG) , intent(out) :: destin(:,:)
1427 type(transHerm_type), intent(in) :: operation
1428 end subroutine
1429#endif
1430
1431#if CK2_ENABLED
1432 PURE recursive module subroutine setMatTransHermNewFix_CK2(source, destin, operation)
1433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1434 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewFix_CK2
1435#endif
1436 use pm_kind, only: LK, CKG => CK2
1437 complex(CKG) , intent(in) :: source(:,:)
1438 complex(CKG) , intent(out) :: destin(:,:)
1439 type(transHerm_type), intent(in) :: operation
1440 end subroutine
1441#endif
1442
1443#if CK1_ENABLED
1444 PURE recursive module subroutine setMatTransHermNewFix_CK1(source, destin, operation)
1445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1446 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewFix_CK1
1447#endif
1448 use pm_kind, only: LK, CKG => CK1
1449 complex(CKG) , intent(in) :: source(:,:)
1450 complex(CKG) , intent(out) :: destin(:,:)
1451 type(transHerm_type), intent(in) :: operation
1452 end subroutine
1453#endif
1454
1455 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1456
1457 end interface
1458 !endcond excluded
1459
1460 ! Arbitrary block size Symmetric transpose.
1461 !cond excluded
1462 interface setMatTrans
1463
1464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1467
1468 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1469
1470#if SK5_ENABLED
1471 PURE recursive module subroutine setMatTransSymmOldArb_SK5(source, bsize)
1472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1473 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_SK5
1474#endif
1475 use pm_kind, only: LK, SKG => SK5
1476 character(*,SKG) , intent(inout) :: source(:,:)
1477 integer(IK) , intent(in) :: bsize
1478 end subroutine
1479#endif
1480
1481#if SK4_ENABLED
1482 PURE recursive module subroutine setMatTransSymmOldArb_SK4(source, bsize)
1483#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1484 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_SK4
1485#endif
1486 use pm_kind, only: LK, SKG => SK4
1487 character(*,SKG) , intent(inout) :: source(:,:)
1488 integer(IK) , intent(in) :: bsize
1489 end subroutine
1490#endif
1491
1492#if SK3_ENABLED
1493 PURE recursive module subroutine setMatTransSymmOldArb_SK3(source, bsize)
1494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1495 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_SK3
1496#endif
1497 use pm_kind, only: LK, SKG => SK3
1498 character(*,SKG) , intent(inout) :: source(:,:)
1499 integer(IK) , intent(in) :: bsize
1500 end subroutine
1501#endif
1502
1503#if SK2_ENABLED
1504 PURE recursive module subroutine setMatTransSymmOldArb_SK2(source, bsize)
1505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_SK2
1507#endif
1508 use pm_kind, only: LK, SKG => SK2
1509 character(*,SKG) , intent(inout) :: source(:,:)
1510 integer(IK) , intent(in) :: bsize
1511 end subroutine
1512#endif
1513
1514#if SK1_ENABLED
1515 PURE recursive module subroutine setMatTransSymmOldArb_SK1(source, bsize)
1516#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1517 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_SK1
1518#endif
1519 use pm_kind, only: LK, SKG => SK1
1520 character(*,SKG) , intent(inout) :: source(:,:)
1521 integer(IK) , intent(in) :: bsize
1522 end subroutine
1523#endif
1524
1525 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1526
1527#if IK5_ENABLED
1528 PURE recursive module subroutine setMatTransSymmOldArb_IK5(source, bsize)
1529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1530 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_IK5
1531#endif
1532 use pm_kind, only: LK, IKG => IK5
1533 integer(IKG) , intent(inout) :: source(:,:)
1534 integer(IK) , intent(in) :: bsize
1535 end subroutine
1536#endif
1537
1538#if IK4_ENABLED
1539 PURE recursive module subroutine setMatTransSymmOldArb_IK4(source, bsize)
1540#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1541 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_IK4
1542#endif
1543 use pm_kind, only: LK, IKG => IK4
1544 integer(IKG) , intent(inout) :: source(:,:)
1545 integer(IK) , intent(in) :: bsize
1546 end subroutine
1547#endif
1548
1549#if IK3_ENABLED
1550 PURE recursive module subroutine setMatTransSymmOldArb_IK3(source, bsize)
1551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1552 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_IK3
1553#endif
1554 use pm_kind, only: LK, IKG => IK3
1555 integer(IKG) , intent(inout) :: source(:,:)
1556 integer(IK) , intent(in) :: bsize
1557 end subroutine
1558#endif
1559
1560#if IK2_ENABLED
1561 PURE recursive module subroutine setMatTransSymmOldArb_IK2(source, bsize)
1562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1563 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_IK2
1564#endif
1565 use pm_kind, only: LK, IKG => IK2
1566 integer(IKG) , intent(inout) :: source(:,:)
1567 integer(IK) , intent(in) :: bsize
1568 end subroutine
1569#endif
1570
1571#if IK1_ENABLED
1572 PURE recursive module subroutine setMatTransSymmOldArb_IK1(source, bsize)
1573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1574 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_IK1
1575#endif
1576 use pm_kind, only: LK, IKG => IK1
1577 integer(IKG) , intent(inout) :: source(:,:)
1578 integer(IK) , intent(in) :: bsize
1579 end subroutine
1580#endif
1581
1582 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1583
1584#if LK5_ENABLED
1585 PURE recursive module subroutine setMatTransSymmOldArb_LK5(source, bsize)
1586#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1587 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_LK5
1588#endif
1589 use pm_kind, only: LK, LKG => LK5
1590 logical(LKG) , intent(inout) :: source(:,:)
1591 integer(IK) , intent(in) :: bsize
1592 end subroutine
1593#endif
1594
1595#if LK4_ENABLED
1596 PURE recursive module subroutine setMatTransSymmOldArb_LK4(source, bsize)
1597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1598 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_LK4
1599#endif
1600 use pm_kind, only: LK, LKG => LK4
1601 logical(LKG) , intent(inout) :: source(:,:)
1602 integer(IK) , intent(in) :: bsize
1603 end subroutine
1604#endif
1605
1606#if LK3_ENABLED
1607 PURE recursive module subroutine setMatTransSymmOldArb_LK3(source, bsize)
1608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1609 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_LK3
1610#endif
1611 use pm_kind, only: LK, LKG => LK3
1612 logical(LKG) , intent(inout) :: source(:,:)
1613 integer(IK) , intent(in) :: bsize
1614 end subroutine
1615#endif
1616
1617#if LK2_ENABLED
1618 PURE recursive module subroutine setMatTransSymmOldArb_LK2(source, bsize)
1619#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1620 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_LK2
1621#endif
1622 use pm_kind, only: LK, LKG => LK2
1623 logical(LKG) , intent(inout) :: source(:,:)
1624 integer(IK) , intent(in) :: bsize
1625 end subroutine
1626#endif
1627
1628#if LK1_ENABLED
1629 PURE recursive module subroutine setMatTransSymmOldArb_LK1(source, bsize)
1630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1631 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_LK1
1632#endif
1633 use pm_kind, only: LK, LKG => LK1
1634 logical(LKG) , intent(inout) :: source(:,:)
1635 integer(IK) , intent(in) :: bsize
1636 end subroutine
1637#endif
1638
1639 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1640
1641#if CK5_ENABLED
1642 PURE recursive module subroutine setMatTransSymmOldArb_CK5(source, bsize)
1643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1644 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_CK5
1645#endif
1646 use pm_kind, only: LK, CKG => CK5
1647 complex(CKG) , intent(inout) :: source(:,:)
1648 integer(IK) , intent(in) :: bsize
1649 end subroutine
1650#endif
1651
1652#if CK4_ENABLED
1653 PURE recursive module subroutine setMatTransSymmOldArb_CK4(source, bsize)
1654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1655 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_CK4
1656#endif
1657 use pm_kind, only: LK, CKG => CK4
1658 complex(CKG) , intent(inout) :: source(:,:)
1659 integer(IK) , intent(in) :: bsize
1660 end subroutine
1661#endif
1662
1663#if CK3_ENABLED
1664 PURE recursive module subroutine setMatTransSymmOldArb_CK3(source, bsize)
1665#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1666 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_CK3
1667#endif
1668 use pm_kind, only: LK, CKG => CK3
1669 complex(CKG) , intent(inout) :: source(:,:)
1670 integer(IK) , intent(in) :: bsize
1671 end subroutine
1672#endif
1673
1674#if CK2_ENABLED
1675 PURE recursive module subroutine setMatTransSymmOldArb_CK2(source, bsize)
1676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1677 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_CK2
1678#endif
1679 use pm_kind, only: LK, CKG => CK2
1680 complex(CKG) , intent(inout) :: source(:,:)
1681 integer(IK) , intent(in) :: bsize
1682 end subroutine
1683#endif
1684
1685#if CK1_ENABLED
1686 PURE recursive module subroutine setMatTransSymmOldArb_CK1(source, bsize)
1687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1688 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_CK1
1689#endif
1690 use pm_kind, only: LK, CKG => CK1
1691 complex(CKG) , intent(inout) :: source(:,:)
1692 integer(IK) , intent(in) :: bsize
1693 end subroutine
1694#endif
1695
1696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1697
1698#if RK5_ENABLED
1699 PURE recursive module subroutine setMatTransSymmOldArb_RK5(source, bsize)
1700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1701 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_RK5
1702#endif
1703 use pm_kind, only: LK, RKG => RK5
1704 real(RKG) , intent(inout) :: source(:,:)
1705 integer(IK) , intent(in) :: bsize
1706 end subroutine
1707#endif
1708
1709#if RK4_ENABLED
1710 PURE recursive module subroutine setMatTransSymmOldArb_RK4(source, bsize)
1711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1712 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_RK4
1713#endif
1714 use pm_kind, only: LK, RKG => RK4
1715 real(RKG) , intent(inout) :: source(:,:)
1716 integer(IK) , intent(in) :: bsize
1717 end subroutine
1718#endif
1719
1720#if RK3_ENABLED
1721 PURE recursive module subroutine setMatTransSymmOldArb_RK3(source, bsize)
1722#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1723 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_RK3
1724#endif
1725 use pm_kind, only: LK, RKG => RK3
1726 real(RKG) , intent(inout) :: source(:,:)
1727 integer(IK) , intent(in) :: bsize
1728 end subroutine
1729#endif
1730
1731#if RK2_ENABLED
1732 PURE recursive module subroutine setMatTransSymmOldArb_RK2(source, bsize)
1733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1734 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_RK2
1735#endif
1736 use pm_kind, only: LK, RKG => RK2
1737 real(RKG) , intent(inout) :: source(:,:)
1738 integer(IK) , intent(in) :: bsize
1739 end subroutine
1740#endif
1741
1742#if RK1_ENABLED
1743 PURE recursive module subroutine setMatTransSymmOldArb_RK1(source, bsize)
1744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1745 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmOldArb_RK1
1746#endif
1747 use pm_kind, only: LK, RKG => RK1
1748 real(RKG) , intent(inout) :: source(:,:)
1749 integer(IK) , intent(in) :: bsize
1750 end subroutine
1751#endif
1752
1753 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1754
1755 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1756 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1757 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1758
1759 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1760
1761#if SK5_ENABLED
1762 PURE recursive module subroutine setMatTransSymmNewArb_SK5(source, destin, bsize)
1763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1764 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_SK5
1765#endif
1766 use pm_kind, only: LK, SKG => SK5
1767 character(*,SKG) , intent(in) :: source(:,:)
1768 character(*,SKG) , intent(out) :: destin(:,:)
1769 integer(IK) , intent(in) :: bsize
1770 end subroutine
1771#endif
1772
1773#if SK4_ENABLED
1774 PURE recursive module subroutine setMatTransSymmNewArb_SK4(source, destin, bsize)
1775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1776 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_SK4
1777#endif
1778 use pm_kind, only: LK, SKG => SK4
1779 character(*,SKG) , intent(in) :: source(:,:)
1780 character(*,SKG) , intent(out) :: destin(:,:)
1781 integer(IK) , intent(in) :: bsize
1782 end subroutine
1783#endif
1784
1785#if SK3_ENABLED
1786 PURE recursive module subroutine setMatTransSymmNewArb_SK3(source, destin, bsize)
1787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1788 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_SK3
1789#endif
1790 use pm_kind, only: LK, SKG => SK3
1791 character(*,SKG) , intent(in) :: source(:,:)
1792 character(*,SKG) , intent(out) :: destin(:,:)
1793 integer(IK) , intent(in) :: bsize
1794 end subroutine
1795#endif
1796
1797#if SK2_ENABLED
1798 PURE recursive module subroutine setMatTransSymmNewArb_SK2(source, destin, bsize)
1799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1800 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_SK2
1801#endif
1802 use pm_kind, only: LK, SKG => SK2
1803 character(*,SKG) , intent(in) :: source(:,:)
1804 character(*,SKG) , intent(out) :: destin(:,:)
1805 integer(IK) , intent(in) :: bsize
1806 end subroutine
1807#endif
1808
1809#if SK1_ENABLED
1810 PURE recursive module subroutine setMatTransSymmNewArb_SK1(source, destin, bsize)
1811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1812 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_SK1
1813#endif
1814 use pm_kind, only: LK, SKG => SK1
1815 character(*,SKG) , intent(in) :: source(:,:)
1816 character(*,SKG) , intent(out) :: destin(:,:)
1817 integer(IK) , intent(in) :: bsize
1818 end subroutine
1819#endif
1820
1821 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1822
1823#if IK5_ENABLED
1824 PURE recursive module subroutine setMatTransSymmNewArb_IK5(source, destin, bsize)
1825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1826 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_IK5
1827#endif
1828 use pm_kind, only: LK, IKG => IK5
1829 integer(IKG) , intent(in) :: source(:,:)
1830 integer(IKG) , intent(out) :: destin(:,:)
1831 integer(IK) , intent(in) :: bsize
1832 end subroutine
1833#endif
1834
1835#if IK4_ENABLED
1836 PURE recursive module subroutine setMatTransSymmNewArb_IK4(source, destin, bsize)
1837#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1838 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_IK4
1839#endif
1840 use pm_kind, only: LK, IKG => IK4
1841 integer(IKG) , intent(in) :: source(:,:)
1842 integer(IKG) , intent(out) :: destin(:,:)
1843 integer(IK) , intent(in) :: bsize
1844 end subroutine
1845#endif
1846
1847#if IK3_ENABLED
1848 PURE recursive module subroutine setMatTransSymmNewArb_IK3(source, destin, bsize)
1849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1850 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_IK3
1851#endif
1852 use pm_kind, only: LK, IKG => IK3
1853 integer(IKG) , intent(in) :: source(:,:)
1854 integer(IKG) , intent(out) :: destin(:,:)
1855 integer(IK) , intent(in) :: bsize
1856 end subroutine
1857#endif
1858
1859#if IK2_ENABLED
1860 PURE recursive module subroutine setMatTransSymmNewArb_IK2(source, destin, bsize)
1861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1862 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_IK2
1863#endif
1864 use pm_kind, only: LK, IKG => IK2
1865 integer(IKG) , intent(in) :: source(:,:)
1866 integer(IKG) , intent(out) :: destin(:,:)
1867 integer(IK) , intent(in) :: bsize
1868 end subroutine
1869#endif
1870
1871#if IK1_ENABLED
1872 PURE recursive module subroutine setMatTransSymmNewArb_IK1(source, destin, bsize)
1873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1874 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_IK1
1875#endif
1876 use pm_kind, only: LK, IKG => IK1
1877 integer(IKG) , intent(in) :: source(:,:)
1878 integer(IKG) , intent(out) :: destin(:,:)
1879 integer(IK) , intent(in) :: bsize
1880 end subroutine
1881#endif
1882
1883 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1884
1885#if LK5_ENABLED
1886 PURE recursive module subroutine setMatTransSymmNewArb_LK5(source, destin, bsize)
1887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1888 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_LK5
1889#endif
1890 use pm_kind, only: LK, LKG => LK5
1891 logical(LKG) , intent(in) :: source(:,:)
1892 logical(LKG) , intent(out) :: destin(:,:)
1893 integer(IK) , intent(in) :: bsize
1894 end subroutine
1895#endif
1896
1897#if LK4_ENABLED
1898 PURE recursive module subroutine setMatTransSymmNewArb_LK4(source, destin, bsize)
1899#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1900 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_LK4
1901#endif
1902 use pm_kind, only: LK, LKG => LK4
1903 logical(LKG) , intent(in) :: source(:,:)
1904 logical(LKG) , intent(out) :: destin(:,:)
1905 integer(IK) , intent(in) :: bsize
1906 end subroutine
1907#endif
1908
1909#if LK3_ENABLED
1910 PURE recursive module subroutine setMatTransSymmNewArb_LK3(source, destin, bsize)
1911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1912 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_LK3
1913#endif
1914 use pm_kind, only: LK, LKG => LK3
1915 logical(LKG) , intent(in) :: source(:,:)
1916 logical(LKG) , intent(out) :: destin(:,:)
1917 integer(IK) , intent(in) :: bsize
1918 end subroutine
1919#endif
1920
1921#if LK2_ENABLED
1922 PURE recursive module subroutine setMatTransSymmNewArb_LK2(source, destin, bsize)
1923#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1924 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_LK2
1925#endif
1926 use pm_kind, only: LK, LKG => LK2
1927 logical(LKG) , intent(in) :: source(:,:)
1928 logical(LKG) , intent(out) :: destin(:,:)
1929 integer(IK) , intent(in) :: bsize
1930 end subroutine
1931#endif
1932
1933#if LK1_ENABLED
1934 PURE recursive module subroutine setMatTransSymmNewArb_LK1(source, destin, bsize)
1935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1936 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_LK1
1937#endif
1938 use pm_kind, only: LK, LKG => LK1
1939 logical(LKG) , intent(in) :: source(:,:)
1940 logical(LKG) , intent(out) :: destin(:,:)
1941 integer(IK) , intent(in) :: bsize
1942 end subroutine
1943#endif
1944
1945 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1946
1947#if CK5_ENABLED
1948 PURE recursive module subroutine setMatTransSymmNewArb_CK5(source, destin, bsize)
1949#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1950 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_CK5
1951#endif
1952 use pm_kind, only: LK, CKG => CK5
1953 complex(CKG) , intent(in) :: source(:,:)
1954 complex(CKG) , intent(out) :: destin(:,:)
1955 integer(IK) , intent(in) :: bsize
1956 end subroutine
1957#endif
1958
1959#if CK4_ENABLED
1960 PURE recursive module subroutine setMatTransSymmNewArb_CK4(source, destin, bsize)
1961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1962 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_CK4
1963#endif
1964 use pm_kind, only: LK, CKG => CK4
1965 complex(CKG) , intent(in) :: source(:,:)
1966 complex(CKG) , intent(out) :: destin(:,:)
1967 integer(IK) , intent(in) :: bsize
1968 end subroutine
1969#endif
1970
1971#if CK3_ENABLED
1972 PURE recursive module subroutine setMatTransSymmNewArb_CK3(source, destin, bsize)
1973#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1974 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_CK3
1975#endif
1976 use pm_kind, only: LK, CKG => CK3
1977 complex(CKG) , intent(in) :: source(:,:)
1978 complex(CKG) , intent(out) :: destin(:,:)
1979 integer(IK) , intent(in) :: bsize
1980 end subroutine
1981#endif
1982
1983#if CK2_ENABLED
1984 PURE recursive module subroutine setMatTransSymmNewArb_CK2(source, destin, bsize)
1985#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1986 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_CK2
1987#endif
1988 use pm_kind, only: LK, CKG => CK2
1989 complex(CKG) , intent(in) :: source(:,:)
1990 complex(CKG) , intent(out) :: destin(:,:)
1991 integer(IK) , intent(in) :: bsize
1992 end subroutine
1993#endif
1994
1995#if CK1_ENABLED
1996 PURE recursive module subroutine setMatTransSymmNewArb_CK1(source, destin, bsize)
1997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1998 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_CK1
1999#endif
2000 use pm_kind, only: LK, CKG => CK1
2001 complex(CKG) , intent(in) :: source(:,:)
2002 complex(CKG) , intent(out) :: destin(:,:)
2003 integer(IK) , intent(in) :: bsize
2004 end subroutine
2005#endif
2006
2007 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2008
2009#if RK5_ENABLED
2010 PURE recursive module subroutine setMatTransSymmNewArb_RK5(source, destin, bsize)
2011#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2012 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_RK5
2013#endif
2014 use pm_kind, only: LK, RKG => RK5
2015 real(RKG) , intent(in) :: source(:,:)
2016 real(RKG) , intent(out) :: destin(:,:)
2017 integer(IK) , intent(in) :: bsize
2018 end subroutine
2019#endif
2020
2021#if RK4_ENABLED
2022 PURE recursive module subroutine setMatTransSymmNewArb_RK4(source, destin, bsize)
2023#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2024 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_RK4
2025#endif
2026 use pm_kind, only: LK, RKG => RK4
2027 real(RKG) , intent(in) :: source(:,:)
2028 real(RKG) , intent(out) :: destin(:,:)
2029 integer(IK) , intent(in) :: bsize
2030 end subroutine
2031#endif
2032
2033#if RK3_ENABLED
2034 PURE recursive module subroutine setMatTransSymmNewArb_RK3(source, destin, bsize)
2035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2036 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_RK3
2037#endif
2038 use pm_kind, only: LK, RKG => RK3
2039 real(RKG) , intent(in) :: source(:,:)
2040 real(RKG) , intent(out) :: destin(:,:)
2041 integer(IK) , intent(in) :: bsize
2042 end subroutine
2043#endif
2044
2045#if RK2_ENABLED
2046 PURE recursive module subroutine setMatTransSymmNewArb_RK2(source, destin, bsize)
2047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2048 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_RK2
2049#endif
2050 use pm_kind, only: LK, RKG => RK2
2051 real(RKG) , intent(in) :: source(:,:)
2052 real(RKG) , intent(out) :: destin(:,:)
2053 integer(IK) , intent(in) :: bsize
2054 end subroutine
2055#endif
2056
2057#if RK1_ENABLED
2058 PURE recursive module subroutine setMatTransSymmNewArb_RK1(source, destin, bsize)
2059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2060 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransSymmNewArb_RK1
2061#endif
2062 use pm_kind, only: LK, RKG => RK1
2063 real(RKG) , intent(in) :: source(:,:)
2064 real(RKG) , intent(out) :: destin(:,:)
2065 integer(IK) , intent(in) :: bsize
2066 end subroutine
2067#endif
2068
2069 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2070
2071 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2072 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2073 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2074
2075 end interface
2076 !endcond excluded
2077
2078 ! Arbitrary block size Hermitian transpose.
2079 !cond excluded
2080 interface setMatTrans
2081
2082 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2083
2084#if CK5_ENABLED
2085 PURE recursive module subroutine setMatTransHermOldArb_CK5(source, operation, bsize)
2086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2087 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldArb_CK5
2088#endif
2089 use pm_kind, only: LK, CKG => CK5
2090 complex(CKG) , intent(inout) :: source(:,:)
2091 type(transHerm_type), intent(in) :: operation
2092 integer(IK) , intent(in) :: bsize
2093 end subroutine
2094#endif
2095
2096#if CK4_ENABLED
2097 PURE recursive module subroutine setMatTransHermOldArb_CK4(source, operation, bsize)
2098#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2099 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldArb_CK4
2100#endif
2101 use pm_kind, only: LK, CKG => CK4
2102 complex(CKG) , intent(inout) :: source(:,:)
2103 type(transHerm_type), intent(in) :: operation
2104 integer(IK) , intent(in) :: bsize
2105 end subroutine
2106#endif
2107
2108#if CK3_ENABLED
2109 PURE recursive module subroutine setMatTransHermOldArb_CK3(source, operation, bsize)
2110#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2111 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldArb_CK3
2112#endif
2113 use pm_kind, only: LK, CKG => CK3
2114 complex(CKG) , intent(inout) :: source(:,:)
2115 type(transHerm_type), intent(in) :: operation
2116 integer(IK) , intent(in) :: bsize
2117 end subroutine
2118#endif
2119
2120#if CK2_ENABLED
2121 PURE recursive module subroutine setMatTransHermOldArb_CK2(source, operation, bsize)
2122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2123 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldArb_CK2
2124#endif
2125 use pm_kind, only: LK, CKG => CK2
2126 complex(CKG) , intent(inout) :: source(:,:)
2127 type(transHerm_type), intent(in) :: operation
2128 integer(IK) , intent(in) :: bsize
2129 end subroutine
2130#endif
2131
2132#if CK1_ENABLED
2133 PURE recursive module subroutine setMatTransHermOldArb_CK1(source, operation, bsize)
2134#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2135 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermOldArb_CK1
2136#endif
2137 use pm_kind, only: LK, CKG => CK1
2138 complex(CKG) , intent(inout) :: source(:,:)
2139 type(transHerm_type), intent(in) :: operation
2140 integer(IK) , intent(in) :: bsize
2141 end subroutine
2142#endif
2143
2144 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2145
2146#if CK5_ENABLED
2147 PURE recursive module subroutine setMatTransHermNewArb_CK5(source, destin, operation, bsize)
2148#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2149 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewArb_CK5
2150#endif
2151 use pm_kind, only: LK, CKG => CK5
2152 complex(CKG) , intent(in) :: source(:,:)
2153 complex(CKG) , intent(out) :: destin(:,:)
2154 type(transHerm_type), intent(in) :: operation
2155 integer(IK) , intent(in) :: bsize
2156 end subroutine
2157#endif
2158
2159#if CK4_ENABLED
2160 PURE recursive module subroutine setMatTransHermNewArb_CK4(source, destin, operation, bsize)
2161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2162 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewArb_CK4
2163#endif
2164 use pm_kind, only: LK, CKG => CK4
2165 complex(CKG) , intent(in) :: source(:,:)
2166 complex(CKG) , intent(out) :: destin(:,:)
2167 type(transHerm_type), intent(in) :: operation
2168 integer(IK) , intent(in) :: bsize
2169 end subroutine
2170#endif
2171
2172#if CK3_ENABLED
2173 PURE recursive module subroutine setMatTransHermNewArb_CK3(source, destin, operation, bsize)
2174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2175 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewArb_CK3
2176#endif
2177 use pm_kind, only: LK, CKG => CK3
2178 complex(CKG) , intent(in) :: source(:,:)
2179 complex(CKG) , intent(out) :: destin(:,:)
2180 type(transHerm_type), intent(in) :: operation
2181 integer(IK) , intent(in) :: bsize
2182 end subroutine
2183#endif
2184
2185#if CK2_ENABLED
2186 PURE recursive module subroutine setMatTransHermNewArb_CK2(source, destin, operation, bsize)
2187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2188 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewArb_CK2
2189#endif
2190 use pm_kind, only: LK, CKG => CK2
2191 complex(CKG) , intent(in) :: source(:,:)
2192 complex(CKG) , intent(out) :: destin(:,:)
2193 type(transHerm_type), intent(in) :: operation
2194 integer(IK) , intent(in) :: bsize
2195 end subroutine
2196#endif
2197
2198#if CK1_ENABLED
2199 PURE recursive module subroutine setMatTransHermNewArb_CK1(source, destin, operation, bsize)
2200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2201 !DEC$ ATTRIBUTES DLLEXPORT :: setMatTransHermNewArb_CK1
2202#endif
2203 use pm_kind, only: LK, CKG => CK1
2204 complex(CKG) , intent(in) :: source(:,:)
2205 complex(CKG) , intent(out) :: destin(:,:)
2206 type(transHerm_type), intent(in) :: operation
2207 integer(IK) , intent(in) :: bsize
2208 end subroutine
2209#endif
2210
2211 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2212
2213 end interface
2214 !endcond excluded
2215
2216!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2217
2218end module pm_matrixTrans ! LCOV_EXCL_LINE
Generate and return the transpose of the input matrix of arbitrary type and kind using a cache-oblivi...
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 LK1
Definition: pm_kind.F90:412
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 LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
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 LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
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 LK3
Definition: pm_kind.F90:402
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(choUpp_type), parameter choUpp
This is a scalar parameter object of type cholesky_type that is exclusively used to signify upper-tri...
type(square_type), parameter square
This is a scalar parameter object of type square_type that is exclusively used to signify the Square ...
type(posdefmat_type), parameter posdefmat
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
character(*, SK), parameter MODULE_NAME
type(lowerUnit_type), parameter lowerUnit
This is a scalar parameter object of type upperUnit_type that is exclusively used to signify the lowe...
type(upperUnit_type), parameter upperUnit
This is a scalar parameter object of type upperUnit_type that is exclusively used to signify the uppe...
type(upperDiag_type), parameter upperDiag
This is a scalar parameter object of type upperDiag_type that is exclusively used to signify the uppe...
type(lowerDiag_type), parameter lowerDiag
This is a scalar parameter object of type lowerDiag_type that is exclusively used to signify the lowe...
type(lup_type), parameter lup
This is a scalar parameter object of type lup_type that is exclusively used to signify the LUP Factor...
type(choLow_type), parameter choLow
This is a scalar parameter object of type cholesky_type that is exclusively used to signify lower-tri...
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(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
This module contains abstract and concrete derived types and procedures related to various common mat...
type(transOrth_type), parameter transOrth
This is a scalar parameter object of type transOrth_type that is exclusively used to request Orthogon...
type(transSymmSkew_type), parameter transSymmSkew
This is a scalar parameter object of type transSymmSkew_type that is exclusively used to request Skew...
type(transSymm_type), parameter transSymm
This is a scalar parameter object of type transSymm_type that is exclusively used to request Symmetri...
type(transHermSkew_type), parameter transHermSkew
This is a scalar parameter object of type transHermSkew_type that is exclusively used to request Skew...
type(trans_type), parameter trans
This is a scalar parameter object of type trans_type that is exclusively used to request no transpose...
type(transUnit_type), parameter transUnit
This is a scalar parameter object of type transUnit_type that is exclusively used to request Unitary ...
type(transHerm_type), parameter transHerm
This is a scalar parameter object of type transHerm_type that is exclusively used to request Hermitia...
This is a concrete derived type whose instances are exclusively used to signify the lower-triangle Ch...
This is a concrete derived type whose instances are exclusively used to signify the upper-triangle Ch...
This is a concrete derived type whose instances are exclusively used to signify the lower-diagonal tr...
This is a concrete derived type whose instances are exclusively used to signify the lower-unit-diagon...
This is a concrete derived type whose instances are exclusively used to signify the LUP Factorization...
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 Hermitian Positiv...
This is a concrete derived type whose instances are exclusively used to signify the Square class of a...
This is a concrete derived type whose instances are exclusively used to signify the upper-diagonal tr...
This is a concrete derived type whose instances are exclusively used to signify the upper-unit-diagon...
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
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 request upper-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request Skew-Hermitian transp...
This is a concrete derived type whose instances are exclusively used to request Hermitian (conjugate)...
This is a concrete derived type whose instances are exclusively used to request Orthogonal Transpose ...
This is a concrete derived type whose instances are exclusively used to request Skew-Symmetric transp...
This is a concrete derived type whose instances are exclusively used to request Symmetric transpose (...
This is a concrete derived type whose instances are exclusively used to request Unitary Transpose ( )...
This is a derived type for constructing concrete derived types to distinguish various procedure signa...