ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_container.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
110
111!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112
114
115 use pm_kind, only: SK, IK, LK, CK, RK
116
117 implicit none
118
119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
122
191 type :: css_type
192 character(:, SK), allocatable :: val
193 end type
194
196 interface css_type
197 pure elemental module function css_typer_D0(val, trimmed) result(container)
198#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
199 !DEC$ ATTRIBUTES DLLEXPORT :: css_typer_D0
200#endif
201 use pm_kind, only: SKG => SK
202 character(*,SKG) , intent(in) :: val
203 logical(LK) , intent(in) , optional :: trimmed
204 type(css_type) :: container
205 end function
206 end interface
208
209 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210
261 type :: csi_type
262 integer(IK), allocatable :: val
263 end type
264
266 interface csi_type
267 pure elemental module function csi_typer_D0(val) result(container)
268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
269 !DEC$ ATTRIBUTES DLLEXPORT :: csi_typer_D0
270#endif
271 use pm_kind, only: IKG => IK
272 integer(IKG) , intent(in) :: val
273 type(csi_type) :: container
274 end function
275 end interface
277
278 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279
330 type :: csl_type
331 logical(LK), allocatable :: val
332 end type
333
335 interface csl_type
336 pure elemental module function csl_typer_D0(val) result(container)
337#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
338 !DEC$ ATTRIBUTES DLLEXPORT :: csl_typer_D0
339#endif
340 use pm_kind, only: LKG => LK
341 logical(LKG) , intent(in) :: val
342 type(csl_type) :: container
343 end function
344 end interface
346
347 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
348
399 type :: csc_type
400 complex(CK), allocatable :: val
401 end type
402
404 interface csc_type
405 pure elemental module function csc_typer_D0(val) result(container)
406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
407 !DEC$ ATTRIBUTES DLLEXPORT :: csc_typer_D0
408#endif
409 use pm_kind, only: CKG => CK
410 complex(CKG) , intent(in) :: val
411 type(csc_type) :: container
412 end function
413 end interface
415
416 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
417
468 type :: csr_type
469 real(RK), allocatable :: val
470 end type
471
473 interface csr_type
474 pure elemental module function csr_typer_D0(val) result(container)
475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
476 !DEC$ ATTRIBUTES DLLEXPORT :: csr_typer_D0
477#endif
478 use pm_kind, only: RKG => RK
479 real(RKG) , intent(in) :: val
480 type(csr_type) :: container
481 end function
482 end interface
484
485 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
486
533 type :: csp_type
534 class(*), allocatable :: val
535 end type
536
538 interface csp_type
539 pure elemental module function csp_typer_D0(val) result(container)
540#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
541 !DEC$ ATTRIBUTES DLLEXPORT :: csp_typer_D0
542#endif
543 use pm_kind, only: RKG => RK
544 class(*) , intent(in) :: val
545 type(csp_type) :: container
546 end function
547 end interface
549
550 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
552 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
553
558 type :: cvs_type
559 character(:, SK) , allocatable :: val(:)
560 end type
561
566 type :: cvi_type
567 integer(IK) , allocatable :: val(:)
568 end type
569
574 type :: cvl_type
575 logical(LK) , allocatable :: val(:)
576 end type
577
582 type :: cvc_type
583 complex(CK) , allocatable :: val(:)
584 end type
585
590 type :: cvr_type
591 real(RK) , allocatable :: val(:)
592 end type
593
601 type :: cvp_type
602 class(*) , allocatable :: val(:)
603 end type
604
605 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
606 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608
613 type :: cms_type
614 character(:, SK) , allocatable :: val(:,:)
615 end type
616
621 type :: cmi_type
622 integer(IK) , allocatable :: val(:,:)
623 end type
624
629 type :: cml_type
630 logical(LK) , allocatable :: val(:,:)
631 end type
632
637 type :: cmc_type
638 complex(CK) , allocatable :: val(:,:)
639 end type
640
645 type :: cmr_type
646 real(RK) , allocatable :: val(:,:)
647 end type
648
656 type :: cmp_type
657 class(*) , allocatable :: val(:,:)
658 end type
659
660 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
661 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
662 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663
668 type :: ccs_type
669 character(:, SK) , allocatable :: val(:,:,:)
670 end type
671
676 type :: cci_type
677 integer(IK) , allocatable :: val(:,:,:)
678 end type
679
684 type :: ccl_type
685 logical(LK) , allocatable :: val(:,:,:)
686 end type
687
692 type :: ccc_type
693 complex(CK) , allocatable :: val(:,:,:)
694 end type
695
700 type :: ccr_type
701 real(RK) , allocatable :: val(:,:,:)
702 end type
703
711 type :: ccp_type
712 class(*) , allocatable :: val(:,:,:)
713 end type
714
715 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
716 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
717 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
718
719#if PDT_ENABLED
720
783 type :: css_pdt(kind)
784 integer , kind :: kind = SK
785 character(:, kind) , allocatable :: val
786 end type
787
789 interface css_pdt
790
791#if SK5_ENABLED
792 pure elemental module function constructCon_D0_PSSK5(val, trimmed) result(container)
793#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
794 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSSK5
795#endif
796 use pm_kind, only: SKG => SK5
797 character(*,SKG) , intent(in) :: val
798 logical(LK) , intent(in) , optional :: trimmed
799 type(css_pdt(SKG)) :: container
800 end function
801#endif
802
803#if SK4_ENABLED
804 pure elemental module function constructCon_D0_PSSK4(val, trimmed) result(container)
805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
806 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSSK4
807#endif
808 use pm_kind, only: SKG => SK4
809 character(*,SKG) , intent(in) :: val
810 logical(LK) , intent(in) , optional :: trimmed
811 type(css_pdt(SKG)) :: container
812 end function
813#endif
814
815#if SK3_ENABLED
816 pure elemental module function constructCon_D0_PSSK3(val, trimmed) result(container)
817#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
818 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSSK3
819#endif
820 use pm_kind, only: SKG => SK3
821 character(*,SKG) , intent(in) :: val
822 logical(LK) , intent(in) , optional :: trimmed
823 type(css_pdt(SKG)) :: container
824 end function
825#endif
826
827#if SK2_ENABLED
828 pure elemental module function constructCon_D0_PSSK2(val, trimmed) result(container)
829#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
830 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSSK2
831#endif
832 use pm_kind, only: SKG => SK2
833 character(*,SKG) , intent(in) :: val
834 logical(LK) , intent(in) , optional :: trimmed
835 type(css_pdt(SKG)) :: container
836 end function
837#endif
838
839#if SK1_ENABLED
840 pure elemental module function constructCon_D0_PSSK1(val, trimmed) result(container)
841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
842 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSSK1
843#endif
844 use pm_kind, only: SKG => SK1
845 character(*,SKG) , intent(in) :: val
846 logical(LK) , intent(in) , optional :: trimmed
847 type(css_pdt(SKG)) :: container
848 end function
849#endif
850
851 end interface
853
854 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
855
858 type :: cvs_pdt(kind)
859 integer , kind :: kind = SK
860 character(:, kind) , allocatable :: val(:)
861 end type
862
863 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
864
867 type :: cms_pdt(kind)
868 integer , kind :: kind = SK
869 character(:, kind) , allocatable :: val(:,:)
870 end type
871
872 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
873
876 type :: ccs_pdt(kind)
877 integer , kind :: kind = SK
878 character(:, kind) , allocatable :: val(:,:,:)
879 end type
880
881 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
884
929 type :: csi_pdt(kind)
930 integer , kind :: kind = IK
931 integer(kind) , allocatable :: val
932 end type
933
935 interface csi_pdt
936
937#if IK5_ENABLED
938 pure elemental module function constructCon_D0_PSIK5(val) result(container)
939#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
940 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSIK5
941#endif
942 use pm_kind, only: IKG => IK5
943 integer(IKG) , intent(in) :: val
944 type(csi_pdt(IKG)) :: container
945 end function
946#endif
947
948#if IK4_ENABLED
949 pure elemental module function constructCon_D0_PSIK4(val) result(container)
950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSIK4
952#endif
953 use pm_kind, only: IKG => IK4
954 integer(IKG) , intent(in) :: val
955 type(csi_pdt(IKG)) :: container
956 end function
957#endif
958
959#if IK3_ENABLED
960 pure elemental module function constructCon_D0_PSIK3(val) result(container)
961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
962 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSIK3
963#endif
964 use pm_kind, only: IKG => IK3
965 integer(IKG) , intent(in) :: val
966 type(csi_pdt(IKG)) :: container
967 end function
968#endif
969
970#if IK2_ENABLED
971 pure elemental module function constructCon_D0_PSIK2(val) result(container)
972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
973 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSIK2
974#endif
975 use pm_kind, only: IKG => IK2
976 integer(IKG) , intent(in) :: val
977 type(csi_pdt(IKG)) :: container
978 end function
979#endif
980
981#if IK1_ENABLED
982 pure elemental module function constructCon_D0_PSIK1(val) result(container)
983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
984 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSIK1
985#endif
986 use pm_kind, only: IKG => IK1
987 integer(IKG) , intent(in) :: val
988 type(csi_pdt(IKG)) :: container
989 end function
990#endif
991
992 end interface
994
995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
996
999 type :: cvi_pdt(kind)
1000 integer , kind :: kind = IK
1001 integer(kind) , allocatable :: val(:)
1002 end type
1003
1004 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1005
1008 type :: cmi_pdt(kind)
1009 integer , kind :: kind = IK
1010 integer(kind) , allocatable :: val(:,:)
1011 end type
1012
1015 type :: cci_pdt(kind)
1016 integer , kind :: kind = IK
1017 integer(kind) , allocatable :: val(:,:,:)
1018 end type
1019
1020 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1021 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1022 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1023
1068 type :: csl_pdt(kind)
1069 integer , kind :: kind = LK
1070 integer(kind) , allocatable :: val
1071 end type
1072
1074 interface csl_pdt
1075
1076#if LK5_ENABLED
1077 pure elemental module function constructCon_D0_PSLK5(val) result(container)
1078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1079 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSLK5
1080#endif
1081 use pm_kind, only: LKG => LK5
1082 integer(LKG) , intent(in) :: val
1083 type(csl_pdt(LKG)) :: container
1084 end function
1085#endif
1086
1087#if LK4_ENABLED
1088 pure elemental module function constructCon_D0_PSLK4(val) result(container)
1089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSLK4
1091#endif
1092 use pm_kind, only: LKG => LK4
1093 integer(LKG) , intent(in) :: val
1094 type(csl_pdt(LKG)) :: container
1095 end function
1096#endif
1097
1098#if LK3_ENABLED
1099 pure elemental module function constructCon_D0_PSLK3(val) result(container)
1100#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1101 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSLK3
1102#endif
1103 use pm_kind, only: LKG => LK3
1104 integer(LKG) , intent(in) :: val
1105 type(csl_pdt(LKG)) :: container
1106 end function
1107#endif
1108
1109#if LK2_ENABLED
1110 pure elemental module function constructCon_D0_PSLK2(val) result(container)
1111#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1112 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSLK2
1113#endif
1114 use pm_kind, only: LKG => LK2
1115 integer(LKG) , intent(in) :: val
1116 type(csl_pdt(LKG)) :: container
1117 end function
1118#endif
1119
1120#if LK1_ENABLED
1121 pure elemental module function constructCon_D0_PSLK1(val) result(container)
1122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1123 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSLK1
1124#endif
1125 use pm_kind, only: LKG => LK1
1126 integer(LKG) , intent(in) :: val
1127 type(csl_pdt(LKG)) :: container
1128 end function
1129#endif
1130
1131 end interface
1133
1134 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1135
1138 type :: cvl_pdt(kind)
1139 integer , kind :: kind = LK
1140 logical(kind) , allocatable :: val(:)
1141 end type
1142
1145 type :: cml_pdt(kind)
1146 integer , kind :: kind = LK
1147 logical(kind) , allocatable :: val(:,:)
1148 end type
1149
1150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1151
1154 type :: ccl_pdt(kind)
1155 integer , kind :: kind = LK
1156 logical(kind) , allocatable :: val(:,:,:)
1157 end type
1158
1159 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1160 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1162
1207 type :: csc_pdt(kind)
1208 integer , kind :: kind = CK
1209 complex(kind) , allocatable :: val
1210 end type
1211
1213 interface csc_pdt
1214
1215#if CK5_ENABLED
1216 pure elemental module function constructCon_D0_PSCK5(val) result(container)
1217#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1218 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSCK5
1219#endif
1220 use pm_kind, only: CKG => CK5
1221 complex(CKG) , intent(in) :: val
1222 type(csc_pdt(CKG)) :: container
1223 end function
1224#endif
1225
1226#if CK4_ENABLED
1227 pure elemental module function constructCon_D0_PSCK4(val) result(container)
1228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1229 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSCK4
1230#endif
1231 use pm_kind, only: CKG => CK4
1232 complex(CKG) , intent(in) :: val
1233 type(csc_pdt(CKG)) :: container
1234 end function
1235#endif
1236
1237#if CK3_ENABLED
1238 pure elemental module function constructCon_D0_PSCK3(val) result(container)
1239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1240 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSCK3
1241#endif
1242 use pm_kind, only: CKG => CK3
1243 complex(CKG) , intent(in) :: val
1244 type(csc_pdt(CKG)) :: container
1245 end function
1246#endif
1247
1248#if CK2_ENABLED
1249 pure elemental module function constructCon_D0_PSCK2(val) result(container)
1250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1251 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSCK2
1252#endif
1253 use pm_kind, only: CKG => CK2
1254 complex(CKG) , intent(in) :: val
1255 type(csc_pdt(CKG)) :: container
1256 end function
1257#endif
1258
1259#if CK1_ENABLED
1260 pure elemental module function constructCon_D0_PSCK1(val) result(container)
1261#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1262 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSCK1
1263#endif
1264 use pm_kind, only: CKG => CK1
1265 complex(CKG) , intent(in) :: val
1266 type(csc_pdt(CKG)) :: container
1267 end function
1268#endif
1269
1270 end interface
1272
1273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1274
1277 type :: cvc_pdt(kind)
1278 integer , kind :: kind = CK
1279 complex(kind) , allocatable :: val(:)
1280 end type
1281
1282 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1283
1286 type :: cmc_pdt(kind)
1287 integer , kind :: kind = CK
1288 complex(kind) , allocatable :: val(:,:)
1289 end type
1290
1293 type :: ccc_pdt(kind)
1294 integer , kind :: kind = CK
1295 complex(kind) , allocatable :: val(:,:,:)
1296 end type
1297
1298 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1300 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1301
1346 type :: csr_pdt(kind)
1347 integer , kind :: kind = RK
1348 real(kind) , allocatable :: val
1349 end type
1350
1352 interface csr_pdt
1353
1354#if RK5_ENABLED
1355 pure elemental module function constructCon_D0_PSRK5(val) result(container)
1356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1357 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSRK5
1358#endif
1359 use pm_kind, only: RKG => RK5
1360 real(RKG) , intent(in) :: val
1361 type(csr_pdt(RKG)) :: container
1362 end function
1363#endif
1364
1365#if RK4_ENABLED
1366 pure elemental module function constructCon_D0_PSRK4(val) result(container)
1367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1368 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSRK4
1369#endif
1370 use pm_kind, only: RKG => RK4
1371 real(RKG) , intent(in) :: val
1372 type(csr_pdt(RKG)) :: container
1373 end function
1374#endif
1375
1376#if RK3_ENABLED
1377 pure elemental module function constructCon_D0_PSRK3(val) result(container)
1378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1379 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSRK3
1380#endif
1381 use pm_kind, only: RKG => RK3
1382 real(RKG) , intent(in) :: val
1383 type(csr_pdt(RKG)) :: container
1384 end function
1385#endif
1386
1387#if RK2_ENABLED
1388 pure elemental module function constructCon_D0_PSRK2(val) result(container)
1389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1390 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSRK2
1391#endif
1392 use pm_kind, only: RKG => RK2
1393 real(RKG) , intent(in) :: val
1394 type(csr_pdt(RKG)) :: container
1395 end function
1396#endif
1397
1398#if RK1_ENABLED
1399 pure elemental module function constructCon_D0_PSRK1(val) result(container)
1400#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1401 !DEC$ ATTRIBUTES DLLEXPORT :: constructCon_D0_PSRK1
1402#endif
1403 use pm_kind, only: RKG => RK1
1404 real(RKG) , intent(in) :: val
1405 type(csr_pdt(RKG)) :: container
1406 end function
1407#endif
1408
1409 end interface
1411
1412 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1413
1416 type :: cvr_pdt(kind)
1417 integer , kind :: kind = RK
1418 real(kind) , allocatable :: val(:)
1419 end type
1420
1423 type :: cmr_pdt(kind)
1424 integer , kind :: kind = RK
1425 real(kind) , allocatable :: val(:,:)
1426 end type
1427
1428 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1429
1432 type :: ccr_pdt(kind)
1433 integer , kind :: kind = RK
1434 real(kind) , allocatable :: val(:,:,:)
1435 end type
1436
1437#endif
1438!PDT_ENABLED
1439
1440!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1441!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1442!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1443
1518 interface operator(<)
1519
1520 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1521
1522 pure elemental module function isless_D0_D0_BSSK(con1, con2) result(itis)
1523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1524 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_BSSK
1525#endif
1526 type(css_type) , intent(in) :: con1
1527 type(css_type) , intent(in) :: con2
1528 logical(LK) :: itis
1529 end function
1530
1531 pure elemental module function isless_D0_D0_BSIK(con1, con2) result(itis)
1532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1533 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_BSIK
1534#endif
1535 type(csi_type) , intent(in) :: con1
1536 type(csi_type) , intent(in) :: con2
1537 logical(LK) :: itis
1538 end function
1539
1540 pure elemental module function isless_D0_D0_BSLK(con1, con2) result(itis)
1541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1542 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_BSLK
1543#endif
1544 type(csl_type) , intent(in) :: con1
1545 type(csl_type) , intent(in) :: con2
1546 logical(LK) :: itis
1547 end function
1548
1549 pure elemental module function isless_D0_D0_BSCK(con1, con2) result(itis)
1550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1551 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_BSCK
1552#endif
1553 type(csc_type) , intent(in) :: con1
1554 type(csc_type) , intent(in) :: con2
1555 logical(LK) :: itis
1556 end function
1557
1558 pure elemental module function isless_D0_D0_BSRK(con1, con2) result(itis)
1559#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1560 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_BSRK
1561#endif
1562 type(csr_type) , intent(in) :: con1
1563 type(csr_type) , intent(in) :: con2
1564 logical(LK) :: itis
1565 end function
1566
1567#if PDT_ENABLED
1568
1569 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1570
1571#if SK5_ENABLED
1572 pure elemental module function isless_D0_D0_PSSK5(con1, con2) result(itis)
1573#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1574 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSSK5
1575#endif
1576 use pm_kind, only: SKG => SK5
1577 type(css_pdt(SKG)) , intent(in) :: con1
1578 type(css_pdt(SKG)) , intent(in) :: con2
1579 logical(LK) :: itis
1580 end function
1581#endif
1582
1583#if SK4_ENABLED
1584 pure elemental module function isless_D0_D0_PSSK4(con1, con2) result(itis)
1585#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1586 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSSK4
1587#endif
1588 use pm_kind, only: SKG => SK4
1589 type(css_pdt(SKG)) , intent(in) :: con1
1590 type(css_pdt(SKG)) , intent(in) :: con2
1591 logical(LK) :: itis
1592 end function
1593#endif
1594
1595#if SK3_ENABLED
1596 pure elemental module function isless_D0_D0_PSSK3(con1, con2) result(itis)
1597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1598 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSSK3
1599#endif
1600 use pm_kind, only: SKG => SK3
1601 type(css_pdt(SKG)) , intent(in) :: con1
1602 type(css_pdt(SKG)) , intent(in) :: con2
1603 logical(LK) :: itis
1604 end function
1605#endif
1606
1607#if SK2_ENABLED
1608 pure elemental module function isless_D0_D0_PSSK2(con1, con2) result(itis)
1609#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1610 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSSK2
1611#endif
1612 use pm_kind, only: SKG => SK2
1613 type(css_pdt(SKG)) , intent(in) :: con1
1614 type(css_pdt(SKG)) , intent(in) :: con2
1615 logical(LK) :: itis
1616 end function
1617#endif
1618
1619#if SK1_ENABLED
1620 pure elemental module function isless_D0_D0_PSSK1(con1, con2) result(itis)
1621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1622 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSSK1
1623#endif
1624 use pm_kind, only: SKG => SK1
1625 type(css_pdt(SKG)) , intent(in) :: con1
1626 type(css_pdt(SKG)) , intent(in) :: con2
1627 logical(LK) :: itis
1628 end function
1629#endif
1630
1631 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1632
1633#if IK5_ENABLED
1634 pure elemental module function isless_D0_D0_PSIK5(con1, con2) result(itis)
1635#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1636 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSIK5
1637#endif
1638 use pm_kind, only: IKG => IK5
1639 type(csi_pdt(IKG)) , intent(in) :: con1
1640 type(csi_pdt(IKG)) , intent(in) :: con2
1641 logical(LK) :: itis
1642 end function
1643#endif
1644
1645#if IK4_ENABLED
1646 pure elemental module function isless_D0_D0_PSIK4(con1, con2) result(itis)
1647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1648 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSIK4
1649#endif
1650 use pm_kind, only: IKG => IK4
1651 type(csi_pdt(IKG)) , intent(in) :: con1
1652 type(csi_pdt(IKG)) , intent(in) :: con2
1653 logical(LK) :: itis
1654 end function
1655#endif
1656
1657#if IK3_ENABLED
1658 pure elemental module function isless_D0_D0_PSIK3(con1, con2) result(itis)
1659#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1660 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSIK3
1661#endif
1662 use pm_kind, only: IKG => IK3
1663 type(csi_pdt(IKG)) , intent(in) :: con1
1664 type(csi_pdt(IKG)) , intent(in) :: con2
1665 logical(LK) :: itis
1666 end function
1667#endif
1668
1669#if IK2_ENABLED
1670 pure elemental module function isless_D0_D0_PSIK2(con1, con2) result(itis)
1671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1672 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSIK2
1673#endif
1674 use pm_kind, only: IKG => IK2
1675 type(csi_pdt(IKG)) , intent(in) :: con1
1676 type(csi_pdt(IKG)) , intent(in) :: con2
1677 logical(LK) :: itis
1678 end function
1679#endif
1680
1681#if IK1_ENABLED
1682 pure elemental module function isless_D0_D0_PSIK1(con1, con2) result(itis)
1683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1684 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSIK1
1685#endif
1686 use pm_kind, only: IKG => IK1
1687 type(csi_pdt(IKG)) , intent(in) :: con1
1688 type(csi_pdt(IKG)) , intent(in) :: con2
1689 logical(LK) :: itis
1690 end function
1691#endif
1692
1693 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1694
1695#if LK5_ENABLED
1696 pure elemental module function isless_D0_D0_PSLK5(con1, con2) result(itis)
1697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1698 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSLK5
1699#endif
1700 use pm_kind, only: LKG => LK5
1701 type(csl_pdt(LKG)) , intent(in) :: con1
1702 type(csl_pdt(LKG)) , intent(in) :: con2
1703 logical(LK) :: itis
1704 end function
1705#endif
1706
1707#if LK4_ENABLED
1708 pure elemental module function isless_D0_D0_PSLK4(con1, con2) result(itis)
1709#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1710 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSLK4
1711#endif
1712 use pm_kind, only: LKG => LK4
1713 type(csl_pdt(LKG)) , intent(in) :: con1
1714 type(csl_pdt(LKG)) , intent(in) :: con2
1715 logical(LK) :: itis
1716 end function
1717#endif
1718
1719#if LK3_ENABLED
1720 pure elemental module function isless_D0_D0_PSLK3(con1, con2) result(itis)
1721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1722 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSLK3
1723#endif
1724 use pm_kind, only: LKG => LK3
1725 type(csl_pdt(LKG)) , intent(in) :: con1
1726 type(csl_pdt(LKG)) , intent(in) :: con2
1727 logical(LK) :: itis
1728 end function
1729#endif
1730
1731#if LK2_ENABLED
1732 pure elemental module function isless_D0_D0_PSLK2(con1, con2) result(itis)
1733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1734 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSLK2
1735#endif
1736 use pm_kind, only: LKG => LK2
1737 type(csl_pdt(LKG)) , intent(in) :: con1
1738 type(csl_pdt(LKG)) , intent(in) :: con2
1739 logical(LK) :: itis
1740 end function
1741#endif
1742
1743#if LK1_ENABLED
1744 pure elemental module function isless_D0_D0_PSLK1(con1, con2) result(itis)
1745#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1746 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSLK1
1747#endif
1748 use pm_kind, only: LKG => LK1
1749 type(csl_pdt(LKG)) , intent(in) :: con1
1750 type(csl_pdt(LKG)) , intent(in) :: con2
1751 logical(LK) :: itis
1752 end function
1753#endif
1754
1755 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1756
1757#if CK5_ENABLED
1758 pure elemental module function isless_D0_D0_PSCK5(con1, con2) result(itis)
1759#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1760 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSCK5
1761#endif
1762 use pm_kind, only: CKG => CK5
1763 type(csc_pdt(CKG)) , intent(in) :: con1
1764 type(csc_pdt(CKG)) , intent(in) :: con2
1765 logical(LK) :: itis
1766 end function
1767#endif
1768
1769#if CK4_ENABLED
1770 pure elemental module function isless_D0_D0_PSCK4(con1, con2) result(itis)
1771#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1772 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSCK4
1773#endif
1774 use pm_kind, only: CKG => CK4
1775 type(csc_pdt(CKG)) , intent(in) :: con1
1776 type(csc_pdt(CKG)) , intent(in) :: con2
1777 logical(LK) :: itis
1778 end function
1779#endif
1780
1781#if CK3_ENABLED
1782 pure elemental module function isless_D0_D0_PSCK3(con1, con2) result(itis)
1783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1784 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSCK3
1785#endif
1786 use pm_kind, only: CKG => CK3
1787 type(csc_pdt(CKG)) , intent(in) :: con1
1788 type(csc_pdt(CKG)) , intent(in) :: con2
1789 logical(LK) :: itis
1790 end function
1791#endif
1792
1793#if CK2_ENABLED
1794 pure elemental module function isless_D0_D0_PSCK2(con1, con2) result(itis)
1795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1796 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSCK2
1797#endif
1798 use pm_kind, only: CKG => CK2
1799 type(csc_pdt(CKG)) , intent(in) :: con1
1800 type(csc_pdt(CKG)) , intent(in) :: con2
1801 logical(LK) :: itis
1802 end function
1803#endif
1804
1805#if CK1_ENABLED
1806 pure elemental module function isless_D0_D0_PSCK1(con1, con2) result(itis)
1807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1808 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSCK1
1809#endif
1810 use pm_kind, only: CKG => CK1
1811 type(csc_pdt(CKG)) , intent(in) :: con1
1812 type(csc_pdt(CKG)) , intent(in) :: con2
1813 logical(LK) :: itis
1814 end function
1815#endif
1816
1817 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1818
1819#if RK5_ENABLED
1820 pure elemental module function isless_D0_D0_PSRK5(con1, con2) result(itis)
1821#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1822 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSRK5
1823#endif
1824 use pm_kind, only: RKG => RK5
1825 type(csr_pdt(RKG)) , intent(in) :: con1
1826 type(csr_pdt(RKG)) , intent(in) :: con2
1827 logical(LK) :: itis
1828 end function
1829#endif
1830
1831#if RK4_ENABLED
1832 pure elemental module function isless_D0_D0_PSRK4(con1, con2) result(itis)
1833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1834 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSRK4
1835#endif
1836 use pm_kind, only: RKG => RK4
1837 type(csr_pdt(RKG)) , intent(in) :: con1
1838 type(csr_pdt(RKG)) , intent(in) :: con2
1839 logical(LK) :: itis
1840 end function
1841#endif
1842
1843#if RK3_ENABLED
1844 pure elemental module function isless_D0_D0_PSRK3(con1, con2) result(itis)
1845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1846 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSRK3
1847#endif
1848 use pm_kind, only: RKG => RK3
1849 type(csr_pdt(RKG)) , intent(in) :: con1
1850 type(csr_pdt(RKG)) , intent(in) :: con2
1851 logical(LK) :: itis
1852 end function
1853#endif
1854
1855#if RK2_ENABLED
1856 pure elemental module function isless_D0_D0_PSRK2(con1, con2) result(itis)
1857#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1858 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSRK2
1859#endif
1860 use pm_kind, only: RKG => RK2
1861 type(csr_pdt(RKG)) , intent(in) :: con1
1862 type(csr_pdt(RKG)) , intent(in) :: con2
1863 logical(LK) :: itis
1864 end function
1865#endif
1866
1867#if RK1_ENABLED
1868 pure elemental module function isless_D0_D0_PSRK1(con1, con2) result(itis)
1869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1870 !DEC$ ATTRIBUTES DLLEXPORT :: isless_D0_D0_PSRK1
1871#endif
1872 use pm_kind, only: RKG => RK1
1873 type(csr_pdt(RKG)) , intent(in) :: con1
1874 type(csr_pdt(RKG)) , intent(in) :: con2
1875 logical(LK) :: itis
1876 end function
1877#endif
1878
1879 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1880
1881#endif
1882!PDT_ENABLED
1883
1884 end interface
1885
1886!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1887
2004 interface operator(>)
2005
2006 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2007
2008 pure elemental module function ismore_D0_D0_BSSK(con1, con2) result(itis)
2009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2010 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_BSSK
2011#endif
2012 type(css_type) , intent(in) :: con1
2013 type(css_type) , intent(in) :: con2
2014 logical(LK) :: itis
2015 end function
2016
2017 pure elemental module function ismore_D0_D0_BSIK(con1, con2) result(itis)
2018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2019 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_BSIK
2020#endif
2021 type(csi_type) , intent(in) :: con1
2022 type(csi_type) , intent(in) :: con2
2023 logical(LK) :: itis
2024 end function
2025
2026 pure elemental module function ismore_D0_D0_BSLK(con1, con2) result(itis)
2027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2028 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_BSLK
2029#endif
2030 type(csl_type) , intent(in) :: con1
2031 type(csl_type) , intent(in) :: con2
2032 logical(LK) :: itis
2033 end function
2034
2035 pure elemental module function ismore_D0_D0_BSCK(con1, con2) result(itis)
2036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2037 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_BSCK
2038#endif
2039 type(csc_type) , intent(in) :: con1
2040 type(csc_type) , intent(in) :: con2
2041 logical(LK) :: itis
2042 end function
2043
2044 pure elemental module function ismore_D0_D0_BSRK(con1, con2) result(itis)
2045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2046 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_BSRK
2047#endif
2048 type(csr_type) , intent(in) :: con1
2049 type(csr_type) , intent(in) :: con2
2050 logical(LK) :: itis
2051 end function
2052
2053#if PDT_ENABLED
2054
2055 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2056
2057#if SK5_ENABLED
2058 pure elemental module function ismore_D0_D0_PSSK5(con1, con2) result(itis)
2059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2060 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSSK5
2061#endif
2062 use pm_kind, only: SKG => SK5
2063 type(css_pdt(SKG)) , intent(in) :: con1
2064 type(css_pdt(SKG)) , intent(in) :: con2
2065 logical(LK) :: itis
2066 end function
2067#endif
2068
2069#if SK4_ENABLED
2070 pure elemental module function ismore_D0_D0_PSSK4(con1, con2) result(itis)
2071#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2072 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSSK4
2073#endif
2074 use pm_kind, only: SKG => SK4
2075 type(css_pdt(SKG)) , intent(in) :: con1
2076 type(css_pdt(SKG)) , intent(in) :: con2
2077 logical(LK) :: itis
2078 end function
2079#endif
2080
2081#if SK3_ENABLED
2082 pure elemental module function ismore_D0_D0_PSSK3(con1, con2) result(itis)
2083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2084 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSSK3
2085#endif
2086 use pm_kind, only: SKG => SK3
2087 type(css_pdt(SKG)) , intent(in) :: con1
2088 type(css_pdt(SKG)) , intent(in) :: con2
2089 logical(LK) :: itis
2090 end function
2091#endif
2092
2093#if SK2_ENABLED
2094 pure elemental module function ismore_D0_D0_PSSK2(con1, con2) result(itis)
2095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2096 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSSK2
2097#endif
2098 use pm_kind, only: SKG => SK2
2099 type(css_pdt(SKG)) , intent(in) :: con1
2100 type(css_pdt(SKG)) , intent(in) :: con2
2101 logical(LK) :: itis
2102 end function
2103#endif
2104
2105#if SK1_ENABLED
2106 pure elemental module function ismore_D0_D0_PSSK1(con1, con2) result(itis)
2107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2108 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSSK1
2109#endif
2110 use pm_kind, only: SKG => SK1
2111 type(css_pdt(SKG)) , intent(in) :: con1
2112 type(css_pdt(SKG)) , intent(in) :: con2
2113 logical(LK) :: itis
2114 end function
2115#endif
2116
2117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2118
2119#if IK5_ENABLED
2120 pure elemental module function ismore_D0_D0_PSIK5(con1, con2) result(itis)
2121#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2122 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSIK5
2123#endif
2124 use pm_kind, only: IKG => IK5
2125 type(csi_pdt(IKG)) , intent(in) :: con1
2126 type(csi_pdt(IKG)) , intent(in) :: con2
2127 logical(LK) :: itis
2128 end function
2129#endif
2130
2131#if IK4_ENABLED
2132 pure elemental module function ismore_D0_D0_PSIK4(con1, con2) result(itis)
2133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2134 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSIK4
2135#endif
2136 use pm_kind, only: IKG => IK4
2137 type(csi_pdt(IKG)) , intent(in) :: con1
2138 type(csi_pdt(IKG)) , intent(in) :: con2
2139 logical(LK) :: itis
2140 end function
2141#endif
2142
2143#if IK3_ENABLED
2144 pure elemental module function ismore_D0_D0_PSIK3(con1, con2) result(itis)
2145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2146 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSIK3
2147#endif
2148 use pm_kind, only: IKG => IK3
2149 type(csi_pdt(IKG)) , intent(in) :: con1
2150 type(csi_pdt(IKG)) , intent(in) :: con2
2151 logical(LK) :: itis
2152 end function
2153#endif
2154
2155#if IK2_ENABLED
2156 pure elemental module function ismore_D0_D0_PSIK2(con1, con2) result(itis)
2157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2158 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSIK2
2159#endif
2160 use pm_kind, only: IKG => IK2
2161 type(csi_pdt(IKG)) , intent(in) :: con1
2162 type(csi_pdt(IKG)) , intent(in) :: con2
2163 logical(LK) :: itis
2164 end function
2165#endif
2166
2167#if IK1_ENABLED
2168 pure elemental module function ismore_D0_D0_PSIK1(con1, con2) result(itis)
2169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2170 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSIK1
2171#endif
2172 use pm_kind, only: IKG => IK1
2173 type(csi_pdt(IKG)) , intent(in) :: con1
2174 type(csi_pdt(IKG)) , intent(in) :: con2
2175 logical(LK) :: itis
2176 end function
2177#endif
2178
2179 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2180
2181#if LK5_ENABLED
2182 pure elemental module function ismore_D0_D0_PSLK5(con1, con2) result(itis)
2183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2184 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSLK5
2185#endif
2186 use pm_kind, only: LKG => LK5
2187 type(csl_pdt(LKG)) , intent(in) :: con1
2188 type(csl_pdt(LKG)) , intent(in) :: con2
2189 logical(LK) :: itis
2190 end function
2191#endif
2192
2193#if LK4_ENABLED
2194 pure elemental module function ismore_D0_D0_PSLK4(con1, con2) result(itis)
2195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2196 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSLK4
2197#endif
2198 use pm_kind, only: LKG => LK4
2199 type(csl_pdt(LKG)) , intent(in) :: con1
2200 type(csl_pdt(LKG)) , intent(in) :: con2
2201 logical(LK) :: itis
2202 end function
2203#endif
2204
2205#if LK3_ENABLED
2206 pure elemental module function ismore_D0_D0_PSLK3(con1, con2) result(itis)
2207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2208 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSLK3
2209#endif
2210 use pm_kind, only: LKG => LK3
2211 type(csl_pdt(LKG)) , intent(in) :: con1
2212 type(csl_pdt(LKG)) , intent(in) :: con2
2213 logical(LK) :: itis
2214 end function
2215#endif
2216
2217#if LK2_ENABLED
2218 pure elemental module function ismore_D0_D0_PSLK2(con1, con2) result(itis)
2219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2220 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSLK2
2221#endif
2222 use pm_kind, only: LKG => LK2
2223 type(csl_pdt(LKG)) , intent(in) :: con1
2224 type(csl_pdt(LKG)) , intent(in) :: con2
2225 logical(LK) :: itis
2226 end function
2227#endif
2228
2229#if LK1_ENABLED
2230 pure elemental module function ismore_D0_D0_PSLK1(con1, con2) result(itis)
2231#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2232 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSLK1
2233#endif
2234 use pm_kind, only: LKG => LK1
2235 type(csl_pdt(LKG)) , intent(in) :: con1
2236 type(csl_pdt(LKG)) , intent(in) :: con2
2237 logical(LK) :: itis
2238 end function
2239#endif
2240
2241 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2242
2243#if CK5_ENABLED
2244 pure elemental module function ismore_D0_D0_PSCK5(con1, con2) result(itis)
2245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2246 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSCK5
2247#endif
2248 use pm_kind, only: CKG => CK5
2249 type(csc_pdt(CKG)) , intent(in) :: con1
2250 type(csc_pdt(CKG)) , intent(in) :: con2
2251 logical(LK) :: itis
2252 end function
2253#endif
2254
2255#if CK4_ENABLED
2256 pure elemental module function ismore_D0_D0_PSCK4(con1, con2) result(itis)
2257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2258 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSCK4
2259#endif
2260 use pm_kind, only: CKG => CK4
2261 type(csc_pdt(CKG)) , intent(in) :: con1
2262 type(csc_pdt(CKG)) , intent(in) :: con2
2263 logical(LK) :: itis
2264 end function
2265#endif
2266
2267#if CK3_ENABLED
2268 pure elemental module function ismore_D0_D0_PSCK3(con1, con2) result(itis)
2269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2270 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSCK3
2271#endif
2272 use pm_kind, only: CKG => CK3
2273 type(csc_pdt(CKG)) , intent(in) :: con1
2274 type(csc_pdt(CKG)) , intent(in) :: con2
2275 logical(LK) :: itis
2276 end function
2277#endif
2278
2279#if CK2_ENABLED
2280 pure elemental module function ismore_D0_D0_PSCK2(con1, con2) result(itis)
2281#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2282 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSCK2
2283#endif
2284 use pm_kind, only: CKG => CK2
2285 type(csc_pdt(CKG)) , intent(in) :: con1
2286 type(csc_pdt(CKG)) , intent(in) :: con2
2287 logical(LK) :: itis
2288 end function
2289#endif
2290
2291#if CK1_ENABLED
2292 pure elemental module function ismore_D0_D0_PSCK1(con1, con2) result(itis)
2293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2294 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSCK1
2295#endif
2296 use pm_kind, only: CKG => CK1
2297 type(csc_pdt(CKG)) , intent(in) :: con1
2298 type(csc_pdt(CKG)) , intent(in) :: con2
2299 logical(LK) :: itis
2300 end function
2301#endif
2302
2303 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2304
2305#if RK5_ENABLED
2306 pure elemental module function ismore_D0_D0_PSRK5(con1, con2) result(itis)
2307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2308 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSRK5
2309#endif
2310 use pm_kind, only: RKG => RK5
2311 type(csr_pdt(RKG)) , intent(in) :: con1
2312 type(csr_pdt(RKG)) , intent(in) :: con2
2313 logical(LK) :: itis
2314 end function
2315#endif
2316
2317#if RK4_ENABLED
2318 pure elemental module function ismore_D0_D0_PSRK4(con1, con2) result(itis)
2319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2320 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSRK4
2321#endif
2322 use pm_kind, only: RKG => RK4
2323 type(csr_pdt(RKG)) , intent(in) :: con1
2324 type(csr_pdt(RKG)) , intent(in) :: con2
2325 logical(LK) :: itis
2326 end function
2327#endif
2328
2329#if RK3_ENABLED
2330 pure elemental module function ismore_D0_D0_PSRK3(con1, con2) result(itis)
2331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2332 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSRK3
2333#endif
2334 use pm_kind, only: RKG => RK3
2335 type(csr_pdt(RKG)) , intent(in) :: con1
2336 type(csr_pdt(RKG)) , intent(in) :: con2
2337 logical(LK) :: itis
2338 end function
2339#endif
2340
2341#if RK2_ENABLED
2342 pure elemental module function ismore_D0_D0_PSRK2(con1, con2) result(itis)
2343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2344 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSRK2
2345#endif
2346 use pm_kind, only: RKG => RK2
2347 type(csr_pdt(RKG)) , intent(in) :: con1
2348 type(csr_pdt(RKG)) , intent(in) :: con2
2349 logical(LK) :: itis
2350 end function
2351#endif
2352
2353#if RK1_ENABLED
2354 pure elemental module function ismore_D0_D0_PSRK1(con1, con2) result(itis)
2355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2356 !DEC$ ATTRIBUTES DLLEXPORT :: ismore_D0_D0_PSRK1
2357#endif
2358 use pm_kind, only: RKG => RK1
2359 type(csr_pdt(RKG)) , intent(in) :: con1
2360 type(csr_pdt(RKG)) , intent(in) :: con2
2361 logical(LK) :: itis
2362 end function
2363#endif
2364
2365 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2366
2367#endif
2368!PDT_ENABLED
2369
2370 end interface
2371
2372!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2373
2448 interface operator(<=)
2449
2450 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2451
2452 pure elemental module function isleq_D0_D0_BSSK(con1, con2) result(itis)
2453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2454 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_BSSK
2455#endif
2456 type(css_type) , intent(in) :: con1
2457 type(css_type) , intent(in) :: con2
2458 logical(LK) :: itis
2459 end function
2460
2461 pure elemental module function isleq_D0_D0_BSIK(con1, con2) result(itis)
2462#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2463 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_BSIK
2464#endif
2465 type(csi_type) , intent(in) :: con1
2466 type(csi_type) , intent(in) :: con2
2467 logical(LK) :: itis
2468 end function
2469
2470 pure elemental module function isleq_D0_D0_BSLK(con1, con2) result(itis)
2471#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2472 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_BSLK
2473#endif
2474 type(csl_type) , intent(in) :: con1
2475 type(csl_type) , intent(in) :: con2
2476 logical(LK) :: itis
2477 end function
2478
2479 pure elemental module function isleq_D0_D0_BSCK(con1, con2) result(itis)
2480#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2481 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_BSCK
2482#endif
2483 type(csc_type) , intent(in) :: con1
2484 type(csc_type) , intent(in) :: con2
2485 logical(LK) :: itis
2486 end function
2487
2488 pure elemental module function isleq_D0_D0_BSRK(con1, con2) result(itis)
2489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2490 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_BSRK
2491#endif
2492 type(csr_type) , intent(in) :: con1
2493 type(csr_type) , intent(in) :: con2
2494 logical(LK) :: itis
2495 end function
2496
2497#if PDT_ENABLED
2498
2499 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2500
2501#if SK5_ENABLED
2502 pure elemental module function isleq_D0_D0_PSSK5(con1, con2) result(itis)
2503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2504 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSSK5
2505#endif
2506 use pm_kind, only: SKG => SK5
2507 type(css_pdt(SKG)) , intent(in) :: con1
2508 type(css_pdt(SKG)) , intent(in) :: con2
2509 logical(LK) :: itis
2510 end function
2511#endif
2512
2513#if SK4_ENABLED
2514 pure elemental module function isleq_D0_D0_PSSK4(con1, con2) result(itis)
2515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2516 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSSK4
2517#endif
2518 use pm_kind, only: SKG => SK4
2519 type(css_pdt(SKG)) , intent(in) :: con1
2520 type(css_pdt(SKG)) , intent(in) :: con2
2521 logical(LK) :: itis
2522 end function
2523#endif
2524
2525#if SK3_ENABLED
2526 pure elemental module function isleq_D0_D0_PSSK3(con1, con2) result(itis)
2527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2528 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSSK3
2529#endif
2530 use pm_kind, only: SKG => SK3
2531 type(css_pdt(SKG)) , intent(in) :: con1
2532 type(css_pdt(SKG)) , intent(in) :: con2
2533 logical(LK) :: itis
2534 end function
2535#endif
2536
2537#if SK2_ENABLED
2538 pure elemental module function isleq_D0_D0_PSSK2(con1, con2) result(itis)
2539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2540 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSSK2
2541#endif
2542 use pm_kind, only: SKG => SK2
2543 type(css_pdt(SKG)) , intent(in) :: con1
2544 type(css_pdt(SKG)) , intent(in) :: con2
2545 logical(LK) :: itis
2546 end function
2547#endif
2548
2549#if SK1_ENABLED
2550 pure elemental module function isleq_D0_D0_PSSK1(con1, con2) result(itis)
2551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2552 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSSK1
2553#endif
2554 use pm_kind, only: SKG => SK1
2555 type(css_pdt(SKG)) , intent(in) :: con1
2556 type(css_pdt(SKG)) , intent(in) :: con2
2557 logical(LK) :: itis
2558 end function
2559#endif
2560
2561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2562
2563#if IK5_ENABLED
2564 pure elemental module function isleq_D0_D0_PSIK5(con1, con2) result(itis)
2565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2566 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSIK5
2567#endif
2568 use pm_kind, only: IKG => IK5
2569 type(csi_pdt(IKG)) , intent(in) :: con1
2570 type(csi_pdt(IKG)) , intent(in) :: con2
2571 logical(LK) :: itis
2572 end function
2573#endif
2574
2575#if IK4_ENABLED
2576 pure elemental module function isleq_D0_D0_PSIK4(con1, con2) result(itis)
2577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2578 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSIK4
2579#endif
2580 use pm_kind, only: IKG => IK4
2581 type(csi_pdt(IKG)) , intent(in) :: con1
2582 type(csi_pdt(IKG)) , intent(in) :: con2
2583 logical(LK) :: itis
2584 end function
2585#endif
2586
2587#if IK3_ENABLED
2588 pure elemental module function isleq_D0_D0_PSIK3(con1, con2) result(itis)
2589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2590 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSIK3
2591#endif
2592 use pm_kind, only: IKG => IK3
2593 type(csi_pdt(IKG)) , intent(in) :: con1
2594 type(csi_pdt(IKG)) , intent(in) :: con2
2595 logical(LK) :: itis
2596 end function
2597#endif
2598
2599#if IK2_ENABLED
2600 pure elemental module function isleq_D0_D0_PSIK2(con1, con2) result(itis)
2601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2602 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSIK2
2603#endif
2604 use pm_kind, only: IKG => IK2
2605 type(csi_pdt(IKG)) , intent(in) :: con1
2606 type(csi_pdt(IKG)) , intent(in) :: con2
2607 logical(LK) :: itis
2608 end function
2609#endif
2610
2611#if IK1_ENABLED
2612 pure elemental module function isleq_D0_D0_PSIK1(con1, con2) result(itis)
2613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2614 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSIK1
2615#endif
2616 use pm_kind, only: IKG => IK1
2617 type(csi_pdt(IKG)) , intent(in) :: con1
2618 type(csi_pdt(IKG)) , intent(in) :: con2
2619 logical(LK) :: itis
2620 end function
2621#endif
2622
2623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2624
2625#if LK5_ENABLED
2626 pure elemental module function isleq_D0_D0_PSLK5(con1, con2) result(itis)
2627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2628 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSLK5
2629#endif
2630 use pm_kind, only: LKG => LK5
2631 type(csl_pdt(LKG)) , intent(in) :: con1
2632 type(csl_pdt(LKG)) , intent(in) :: con2
2633 logical(LK) :: itis
2634 end function
2635#endif
2636
2637#if LK4_ENABLED
2638 pure elemental module function isleq_D0_D0_PSLK4(con1, con2) result(itis)
2639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2640 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSLK4
2641#endif
2642 use pm_kind, only: LKG => LK4
2643 type(csl_pdt(LKG)) , intent(in) :: con1
2644 type(csl_pdt(LKG)) , intent(in) :: con2
2645 logical(LK) :: itis
2646 end function
2647#endif
2648
2649#if LK3_ENABLED
2650 pure elemental module function isleq_D0_D0_PSLK3(con1, con2) result(itis)
2651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2652 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSLK3
2653#endif
2654 use pm_kind, only: LKG => LK3
2655 type(csl_pdt(LKG)) , intent(in) :: con1
2656 type(csl_pdt(LKG)) , intent(in) :: con2
2657 logical(LK) :: itis
2658 end function
2659#endif
2660
2661#if LK2_ENABLED
2662 pure elemental module function isleq_D0_D0_PSLK2(con1, con2) result(itis)
2663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2664 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSLK2
2665#endif
2666 use pm_kind, only: LKG => LK2
2667 type(csl_pdt(LKG)) , intent(in) :: con1
2668 type(csl_pdt(LKG)) , intent(in) :: con2
2669 logical(LK) :: itis
2670 end function
2671#endif
2672
2673#if LK1_ENABLED
2674 pure elemental module function isleq_D0_D0_PSLK1(con1, con2) result(itis)
2675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2676 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSLK1
2677#endif
2678 use pm_kind, only: LKG => LK1
2679 type(csl_pdt(LKG)) , intent(in) :: con1
2680 type(csl_pdt(LKG)) , intent(in) :: con2
2681 logical(LK) :: itis
2682 end function
2683#endif
2684
2685 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2686
2687#if CK5_ENABLED
2688 pure elemental module function isleq_D0_D0_PSCK5(con1, con2) result(itis)
2689#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2690 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSCK5
2691#endif
2692 use pm_kind, only: CKG => CK5
2693 type(csc_pdt(CKG)) , intent(in) :: con1
2694 type(csc_pdt(CKG)) , intent(in) :: con2
2695 logical(LK) :: itis
2696 end function
2697#endif
2698
2699#if CK4_ENABLED
2700 pure elemental module function isleq_D0_D0_PSCK4(con1, con2) result(itis)
2701#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2702 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSCK4
2703#endif
2704 use pm_kind, only: CKG => CK4
2705 type(csc_pdt(CKG)) , intent(in) :: con1
2706 type(csc_pdt(CKG)) , intent(in) :: con2
2707 logical(LK) :: itis
2708 end function
2709#endif
2710
2711#if CK3_ENABLED
2712 pure elemental module function isleq_D0_D0_PSCK3(con1, con2) result(itis)
2713#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2714 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSCK3
2715#endif
2716 use pm_kind, only: CKG => CK3
2717 type(csc_pdt(CKG)) , intent(in) :: con1
2718 type(csc_pdt(CKG)) , intent(in) :: con2
2719 logical(LK) :: itis
2720 end function
2721#endif
2722
2723#if CK2_ENABLED
2724 pure elemental module function isleq_D0_D0_PSCK2(con1, con2) result(itis)
2725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2726 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSCK2
2727#endif
2728 use pm_kind, only: CKG => CK2
2729 type(csc_pdt(CKG)) , intent(in) :: con1
2730 type(csc_pdt(CKG)) , intent(in) :: con2
2731 logical(LK) :: itis
2732 end function
2733#endif
2734
2735#if CK1_ENABLED
2736 pure elemental module function isleq_D0_D0_PSCK1(con1, con2) result(itis)
2737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2738 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSCK1
2739#endif
2740 use pm_kind, only: CKG => CK1
2741 type(csc_pdt(CKG)) , intent(in) :: con1
2742 type(csc_pdt(CKG)) , intent(in) :: con2
2743 logical(LK) :: itis
2744 end function
2745#endif
2746
2747 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2748
2749#if RK5_ENABLED
2750 pure elemental module function isleq_D0_D0_PSRK5(con1, con2) result(itis)
2751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2752 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSRK5
2753#endif
2754 use pm_kind, only: RKG => RK5
2755 type(csr_pdt(RKG)) , intent(in) :: con1
2756 type(csr_pdt(RKG)) , intent(in) :: con2
2757 logical(LK) :: itis
2758 end function
2759#endif
2760
2761#if RK4_ENABLED
2762 pure elemental module function isleq_D0_D0_PSRK4(con1, con2) result(itis)
2763#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2764 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSRK4
2765#endif
2766 use pm_kind, only: RKG => RK4
2767 type(csr_pdt(RKG)) , intent(in) :: con1
2768 type(csr_pdt(RKG)) , intent(in) :: con2
2769 logical(LK) :: itis
2770 end function
2771#endif
2772
2773#if RK3_ENABLED
2774 pure elemental module function isleq_D0_D0_PSRK3(con1, con2) result(itis)
2775#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2776 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSRK3
2777#endif
2778 use pm_kind, only: RKG => RK3
2779 type(csr_pdt(RKG)) , intent(in) :: con1
2780 type(csr_pdt(RKG)) , intent(in) :: con2
2781 logical(LK) :: itis
2782 end function
2783#endif
2784
2785#if RK2_ENABLED
2786 pure elemental module function isleq_D0_D0_PSRK2(con1, con2) result(itis)
2787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2788 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSRK2
2789#endif
2790 use pm_kind, only: RKG => RK2
2791 type(csr_pdt(RKG)) , intent(in) :: con1
2792 type(csr_pdt(RKG)) , intent(in) :: con2
2793 logical(LK) :: itis
2794 end function
2795#endif
2796
2797#if RK1_ENABLED
2798 pure elemental module function isleq_D0_D0_PSRK1(con1, con2) result(itis)
2799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2800 !DEC$ ATTRIBUTES DLLEXPORT :: isleq_D0_D0_PSRK1
2801#endif
2802 use pm_kind, only: RKG => RK1
2803 type(csr_pdt(RKG)) , intent(in) :: con1
2804 type(csr_pdt(RKG)) , intent(in) :: con2
2805 logical(LK) :: itis
2806 end function
2807#endif
2808
2809 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2810
2811#endif
2812!PDT_ENABLED
2813
2814 end interface
2815
2816!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2817
2892 interface operator(>=)
2893
2894 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2895
2896 pure elemental module function ismeq_D0_D0_BSSK(con1, con2) result(itis)
2897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2898 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_BSSK
2899#endif
2900 type(css_type) , intent(in) :: con1
2901 type(css_type) , intent(in) :: con2
2902 logical(LK) :: itis
2903 end function
2904
2905 pure elemental module function ismeq_D0_D0_BSIK(con1, con2) result(itis)
2906#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2907 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_BSIK
2908#endif
2909 type(csi_type) , intent(in) :: con1
2910 type(csi_type) , intent(in) :: con2
2911 logical(LK) :: itis
2912 end function
2913
2914 pure elemental module function ismeq_D0_D0_BSLK(con1, con2) result(itis)
2915#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2916 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_BSLK
2917#endif
2918 type(csl_type) , intent(in) :: con1
2919 type(csl_type) , intent(in) :: con2
2920 logical(LK) :: itis
2921 end function
2922
2923 pure elemental module function ismeq_D0_D0_BSCK(con1, con2) result(itis)
2924#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2925 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_BSCK
2926#endif
2927 type(csc_type) , intent(in) :: con1
2928 type(csc_type) , intent(in) :: con2
2929 logical(LK) :: itis
2930 end function
2931
2932 pure elemental module function ismeq_D0_D0_BSRK(con1, con2) result(itis)
2933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2934 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_BSRK
2935#endif
2936 type(csr_type) , intent(in) :: con1
2937 type(csr_type) , intent(in) :: con2
2938 logical(LK) :: itis
2939 end function
2940
2941#if PDT_ENABLED
2942
2943 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2944
2945#if SK5_ENABLED
2946 pure elemental module function ismeq_D0_D0_PSSK5(con1, con2) result(itis)
2947#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2948 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSSK5
2949#endif
2950 use pm_kind, only: SKG => SK5
2951 type(css_pdt(SKG)) , intent(in) :: con1
2952 type(css_pdt(SKG)) , intent(in) :: con2
2953 logical(LK) :: itis
2954 end function
2955#endif
2956
2957#if SK4_ENABLED
2958 pure elemental module function ismeq_D0_D0_PSSK4(con1, con2) result(itis)
2959#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2960 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSSK4
2961#endif
2962 use pm_kind, only: SKG => SK4
2963 type(css_pdt(SKG)) , intent(in) :: con1
2964 type(css_pdt(SKG)) , intent(in) :: con2
2965 logical(LK) :: itis
2966 end function
2967#endif
2968
2969#if SK3_ENABLED
2970 pure elemental module function ismeq_D0_D0_PSSK3(con1, con2) result(itis)
2971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2972 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSSK3
2973#endif
2974 use pm_kind, only: SKG => SK3
2975 type(css_pdt(SKG)) , intent(in) :: con1
2976 type(css_pdt(SKG)) , intent(in) :: con2
2977 logical(LK) :: itis
2978 end function
2979#endif
2980
2981#if SK2_ENABLED
2982 pure elemental module function ismeq_D0_D0_PSSK2(con1, con2) result(itis)
2983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2984 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSSK2
2985#endif
2986 use pm_kind, only: SKG => SK2
2987 type(css_pdt(SKG)) , intent(in) :: con1
2988 type(css_pdt(SKG)) , intent(in) :: con2
2989 logical(LK) :: itis
2990 end function
2991#endif
2992
2993#if SK1_ENABLED
2994 pure elemental module function ismeq_D0_D0_PSSK1(con1, con2) result(itis)
2995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2996 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSSK1
2997#endif
2998 use pm_kind, only: SKG => SK1
2999 type(css_pdt(SKG)) , intent(in) :: con1
3000 type(css_pdt(SKG)) , intent(in) :: con2
3001 logical(LK) :: itis
3002 end function
3003#endif
3004
3005 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3006
3007#if IK5_ENABLED
3008 pure elemental module function ismeq_D0_D0_PSIK5(con1, con2) result(itis)
3009#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3010 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSIK5
3011#endif
3012 use pm_kind, only: IKG => IK5
3013 type(csi_pdt(IKG)) , intent(in) :: con1
3014 type(csi_pdt(IKG)) , intent(in) :: con2
3015 logical(LK) :: itis
3016 end function
3017#endif
3018
3019#if IK4_ENABLED
3020 pure elemental module function ismeq_D0_D0_PSIK4(con1, con2) result(itis)
3021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3022 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSIK4
3023#endif
3024 use pm_kind, only: IKG => IK4
3025 type(csi_pdt(IKG)) , intent(in) :: con1
3026 type(csi_pdt(IKG)) , intent(in) :: con2
3027 logical(LK) :: itis
3028 end function
3029#endif
3030
3031#if IK3_ENABLED
3032 pure elemental module function ismeq_D0_D0_PSIK3(con1, con2) result(itis)
3033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3034 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSIK3
3035#endif
3036 use pm_kind, only: IKG => IK3
3037 type(csi_pdt(IKG)) , intent(in) :: con1
3038 type(csi_pdt(IKG)) , intent(in) :: con2
3039 logical(LK) :: itis
3040 end function
3041#endif
3042
3043#if IK2_ENABLED
3044 pure elemental module function ismeq_D0_D0_PSIK2(con1, con2) result(itis)
3045#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3046 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSIK2
3047#endif
3048 use pm_kind, only: IKG => IK2
3049 type(csi_pdt(IKG)) , intent(in) :: con1
3050 type(csi_pdt(IKG)) , intent(in) :: con2
3051 logical(LK) :: itis
3052 end function
3053#endif
3054
3055#if IK1_ENABLED
3056 pure elemental module function ismeq_D0_D0_PSIK1(con1, con2) result(itis)
3057#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3058 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSIK1
3059#endif
3060 use pm_kind, only: IKG => IK1
3061 type(csi_pdt(IKG)) , intent(in) :: con1
3062 type(csi_pdt(IKG)) , intent(in) :: con2
3063 logical(LK) :: itis
3064 end function
3065#endif
3066
3067 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3068
3069#if LK5_ENABLED
3070 pure elemental module function ismeq_D0_D0_PSLK5(con1, con2) result(itis)
3071#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3072 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSLK5
3073#endif
3074 use pm_kind, only: LKG => LK5
3075 type(csl_pdt(LKG)) , intent(in) :: con1
3076 type(csl_pdt(LKG)) , intent(in) :: con2
3077 logical(LK) :: itis
3078 end function
3079#endif
3080
3081#if LK4_ENABLED
3082 pure elemental module function ismeq_D0_D0_PSLK4(con1, con2) result(itis)
3083#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3084 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSLK4
3085#endif
3086 use pm_kind, only: LKG => LK4
3087 type(csl_pdt(LKG)) , intent(in) :: con1
3088 type(csl_pdt(LKG)) , intent(in) :: con2
3089 logical(LK) :: itis
3090 end function
3091#endif
3092
3093#if LK3_ENABLED
3094 pure elemental module function ismeq_D0_D0_PSLK3(con1, con2) result(itis)
3095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3096 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSLK3
3097#endif
3098 use pm_kind, only: LKG => LK3
3099 type(csl_pdt(LKG)) , intent(in) :: con1
3100 type(csl_pdt(LKG)) , intent(in) :: con2
3101 logical(LK) :: itis
3102 end function
3103#endif
3104
3105#if LK2_ENABLED
3106 pure elemental module function ismeq_D0_D0_PSLK2(con1, con2) result(itis)
3107#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3108 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSLK2
3109#endif
3110 use pm_kind, only: LKG => LK2
3111 type(csl_pdt(LKG)) , intent(in) :: con1
3112 type(csl_pdt(LKG)) , intent(in) :: con2
3113 logical(LK) :: itis
3114 end function
3115#endif
3116
3117#if LK1_ENABLED
3118 pure elemental module function ismeq_D0_D0_PSLK1(con1, con2) result(itis)
3119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3120 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSLK1
3121#endif
3122 use pm_kind, only: LKG => LK1
3123 type(csl_pdt(LKG)) , intent(in) :: con1
3124 type(csl_pdt(LKG)) , intent(in) :: con2
3125 logical(LK) :: itis
3126 end function
3127#endif
3128
3129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3130
3131#if CK5_ENABLED
3132 pure elemental module function ismeq_D0_D0_PSCK5(con1, con2) result(itis)
3133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3134 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSCK5
3135#endif
3136 use pm_kind, only: CKG => CK5
3137 type(csc_pdt(CKG)) , intent(in) :: con1
3138 type(csc_pdt(CKG)) , intent(in) :: con2
3139 logical(LK) :: itis
3140 end function
3141#endif
3142
3143#if CK4_ENABLED
3144 pure elemental module function ismeq_D0_D0_PSCK4(con1, con2) result(itis)
3145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3146 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSCK4
3147#endif
3148 use pm_kind, only: CKG => CK4
3149 type(csc_pdt(CKG)) , intent(in) :: con1
3150 type(csc_pdt(CKG)) , intent(in) :: con2
3151 logical(LK) :: itis
3152 end function
3153#endif
3154
3155#if CK3_ENABLED
3156 pure elemental module function ismeq_D0_D0_PSCK3(con1, con2) result(itis)
3157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3158 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSCK3
3159#endif
3160 use pm_kind, only: CKG => CK3
3161 type(csc_pdt(CKG)) , intent(in) :: con1
3162 type(csc_pdt(CKG)) , intent(in) :: con2
3163 logical(LK) :: itis
3164 end function
3165#endif
3166
3167#if CK2_ENABLED
3168 pure elemental module function ismeq_D0_D0_PSCK2(con1, con2) result(itis)
3169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3170 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSCK2
3171#endif
3172 use pm_kind, only: CKG => CK2
3173 type(csc_pdt(CKG)) , intent(in) :: con1
3174 type(csc_pdt(CKG)) , intent(in) :: con2
3175 logical(LK) :: itis
3176 end function
3177#endif
3178
3179#if CK1_ENABLED
3180 pure elemental module function ismeq_D0_D0_PSCK1(con1, con2) result(itis)
3181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3182 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSCK1
3183#endif
3184 use pm_kind, only: CKG => CK1
3185 type(csc_pdt(CKG)) , intent(in) :: con1
3186 type(csc_pdt(CKG)) , intent(in) :: con2
3187 logical(LK) :: itis
3188 end function
3189#endif
3190
3191 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3192
3193#if RK5_ENABLED
3194 pure elemental module function ismeq_D0_D0_PSRK5(con1, con2) result(itis)
3195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3196 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSRK5
3197#endif
3198 use pm_kind, only: RKG => RK5
3199 type(csr_pdt(RKG)) , intent(in) :: con1
3200 type(csr_pdt(RKG)) , intent(in) :: con2
3201 logical(LK) :: itis
3202 end function
3203#endif
3204
3205#if RK4_ENABLED
3206 pure elemental module function ismeq_D0_D0_PSRK4(con1, con2) result(itis)
3207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3208 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSRK4
3209#endif
3210 use pm_kind, only: RKG => RK4
3211 type(csr_pdt(RKG)) , intent(in) :: con1
3212 type(csr_pdt(RKG)) , intent(in) :: con2
3213 logical(LK) :: itis
3214 end function
3215#endif
3216
3217#if RK3_ENABLED
3218 pure elemental module function ismeq_D0_D0_PSRK3(con1, con2) result(itis)
3219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3220 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSRK3
3221#endif
3222 use pm_kind, only: RKG => RK3
3223 type(csr_pdt(RKG)) , intent(in) :: con1
3224 type(csr_pdt(RKG)) , intent(in) :: con2
3225 logical(LK) :: itis
3226 end function
3227#endif
3228
3229#if RK2_ENABLED
3230 pure elemental module function ismeq_D0_D0_PSRK2(con1, con2) result(itis)
3231#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3232 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSRK2
3233#endif
3234 use pm_kind, only: RKG => RK2
3235 type(csr_pdt(RKG)) , intent(in) :: con1
3236 type(csr_pdt(RKG)) , intent(in) :: con2
3237 logical(LK) :: itis
3238 end function
3239#endif
3240
3241#if RK1_ENABLED
3242 pure elemental module function ismeq_D0_D0_PSRK1(con1, con2) result(itis)
3243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3244 !DEC$ ATTRIBUTES DLLEXPORT :: ismeq_D0_D0_PSRK1
3245#endif
3246 use pm_kind, only: RKG => RK1
3247 type(csr_pdt(RKG)) , intent(in) :: con1
3248 type(csr_pdt(RKG)) , intent(in) :: con2
3249 logical(LK) :: itis
3250 end function
3251#endif
3252
3253 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3254
3255#endif
3256!PDT_ENABLED
3257
3258 end interface
3259
3260!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3261
3336 interface operator(/=)
3337
3338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3339
3340 pure elemental module function isneq_D0_D0_BSSK(con1, con2) result(itis)
3341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3342 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_BSSK
3343#endif
3344 type(css_type) , intent(in) :: con1
3345 type(css_type) , intent(in) :: con2
3346 logical(LK) :: itis
3347 end function
3348
3349 pure elemental module function isneq_D0_D0_BSIK(con1, con2) result(itis)
3350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3351 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_BSIK
3352#endif
3353 type(csi_type) , intent(in) :: con1
3354 type(csi_type) , intent(in) :: con2
3355 logical(LK) :: itis
3356 end function
3357
3358 pure elemental module function isneq_D0_D0_BSLK(con1, con2) result(itis)
3359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3360 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_BSLK
3361#endif
3362 type(csl_type) , intent(in) :: con1
3363 type(csl_type) , intent(in) :: con2
3364 logical(LK) :: itis
3365 end function
3366
3367 pure elemental module function isneq_D0_D0_BSCK(con1, con2) result(itis)
3368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3369 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_BSCK
3370#endif
3371 type(csc_type) , intent(in) :: con1
3372 type(csc_type) , intent(in) :: con2
3373 logical(LK) :: itis
3374 end function
3375
3376 pure elemental module function isneq_D0_D0_BSRK(con1, con2) result(itis)
3377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3378 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_BSRK
3379#endif
3380 type(csr_type) , intent(in) :: con1
3381 type(csr_type) , intent(in) :: con2
3382 logical(LK) :: itis
3383 end function
3384
3385#if PDT_ENABLED
3386
3387 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3388
3389#if SK5_ENABLED
3390 pure elemental module function isneq_D0_D0_PSSK5(con1, con2) result(itis)
3391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3392 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSSK5
3393#endif
3394 use pm_kind, only: SKG => SK5
3395 type(css_pdt(SKG)) , intent(in) :: con1
3396 type(css_pdt(SKG)) , intent(in) :: con2
3397 logical(LK) :: itis
3398 end function
3399#endif
3400
3401#if SK4_ENABLED
3402 pure elemental module function isneq_D0_D0_PSSK4(con1, con2) result(itis)
3403#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3404 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSSK4
3405#endif
3406 use pm_kind, only: SKG => SK4
3407 type(css_pdt(SKG)) , intent(in) :: con1
3408 type(css_pdt(SKG)) , intent(in) :: con2
3409 logical(LK) :: itis
3410 end function
3411#endif
3412
3413#if SK3_ENABLED
3414 pure elemental module function isneq_D0_D0_PSSK3(con1, con2) result(itis)
3415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3416 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSSK3
3417#endif
3418 use pm_kind, only: SKG => SK3
3419 type(css_pdt(SKG)) , intent(in) :: con1
3420 type(css_pdt(SKG)) , intent(in) :: con2
3421 logical(LK) :: itis
3422 end function
3423#endif
3424
3425#if SK2_ENABLED
3426 pure elemental module function isneq_D0_D0_PSSK2(con1, con2) result(itis)
3427#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3428 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSSK2
3429#endif
3430 use pm_kind, only: SKG => SK2
3431 type(css_pdt(SKG)) , intent(in) :: con1
3432 type(css_pdt(SKG)) , intent(in) :: con2
3433 logical(LK) :: itis
3434 end function
3435#endif
3436
3437#if SK1_ENABLED
3438 pure elemental module function isneq_D0_D0_PSSK1(con1, con2) result(itis)
3439#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3440 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSSK1
3441#endif
3442 use pm_kind, only: SKG => SK1
3443 type(css_pdt(SKG)) , intent(in) :: con1
3444 type(css_pdt(SKG)) , intent(in) :: con2
3445 logical(LK) :: itis
3446 end function
3447#endif
3448
3449 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3450
3451#if IK5_ENABLED
3452 pure elemental module function isneq_D0_D0_PSIK5(con1, con2) result(itis)
3453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3454 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSIK5
3455#endif
3456 use pm_kind, only: IKG => IK5
3457 type(csi_pdt(IKG)) , intent(in) :: con1
3458 type(csi_pdt(IKG)) , intent(in) :: con2
3459 logical(LK) :: itis
3460 end function
3461#endif
3462
3463#if IK4_ENABLED
3464 pure elemental module function isneq_D0_D0_PSIK4(con1, con2) result(itis)
3465#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3466 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSIK4
3467#endif
3468 use pm_kind, only: IKG => IK4
3469 type(csi_pdt(IKG)) , intent(in) :: con1
3470 type(csi_pdt(IKG)) , intent(in) :: con2
3471 logical(LK) :: itis
3472 end function
3473#endif
3474
3475#if IK3_ENABLED
3476 pure elemental module function isneq_D0_D0_PSIK3(con1, con2) result(itis)
3477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3478 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSIK3
3479#endif
3480 use pm_kind, only: IKG => IK3
3481 type(csi_pdt(IKG)) , intent(in) :: con1
3482 type(csi_pdt(IKG)) , intent(in) :: con2
3483 logical(LK) :: itis
3484 end function
3485#endif
3486
3487#if IK2_ENABLED
3488 pure elemental module function isneq_D0_D0_PSIK2(con1, con2) result(itis)
3489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3490 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSIK2
3491#endif
3492 use pm_kind, only: IKG => IK2
3493 type(csi_pdt(IKG)) , intent(in) :: con1
3494 type(csi_pdt(IKG)) , intent(in) :: con2
3495 logical(LK) :: itis
3496 end function
3497#endif
3498
3499#if IK1_ENABLED
3500 pure elemental module function isneq_D0_D0_PSIK1(con1, con2) result(itis)
3501#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3502 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSIK1
3503#endif
3504 use pm_kind, only: IKG => IK1
3505 type(csi_pdt(IKG)) , intent(in) :: con1
3506 type(csi_pdt(IKG)) , intent(in) :: con2
3507 logical(LK) :: itis
3508 end function
3509#endif
3510
3511 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3512
3513#if LK5_ENABLED
3514 pure elemental module function isneq_D0_D0_PSLK5(con1, con2) result(itis)
3515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSLK5
3517#endif
3518 use pm_kind, only: LKG => LK5
3519 type(csl_pdt(LKG)) , intent(in) :: con1
3520 type(csl_pdt(LKG)) , intent(in) :: con2
3521 logical(LK) :: itis
3522 end function
3523#endif
3524
3525#if LK4_ENABLED
3526 pure elemental module function isneq_D0_D0_PSLK4(con1, con2) result(itis)
3527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3528 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSLK4
3529#endif
3530 use pm_kind, only: LKG => LK4
3531 type(csl_pdt(LKG)) , intent(in) :: con1
3532 type(csl_pdt(LKG)) , intent(in) :: con2
3533 logical(LK) :: itis
3534 end function
3535#endif
3536
3537#if LK3_ENABLED
3538 pure elemental module function isneq_D0_D0_PSLK3(con1, con2) result(itis)
3539#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3540 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSLK3
3541#endif
3542 use pm_kind, only: LKG => LK3
3543 type(csl_pdt(LKG)) , intent(in) :: con1
3544 type(csl_pdt(LKG)) , intent(in) :: con2
3545 logical(LK) :: itis
3546 end function
3547#endif
3548
3549#if LK2_ENABLED
3550 pure elemental module function isneq_D0_D0_PSLK2(con1, con2) result(itis)
3551#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3552 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSLK2
3553#endif
3554 use pm_kind, only: LKG => LK2
3555 type(csl_pdt(LKG)) , intent(in) :: con1
3556 type(csl_pdt(LKG)) , intent(in) :: con2
3557 logical(LK) :: itis
3558 end function
3559#endif
3560
3561#if LK1_ENABLED
3562 pure elemental module function isneq_D0_D0_PSLK1(con1, con2) result(itis)
3563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3564 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSLK1
3565#endif
3566 use pm_kind, only: LKG => LK1
3567 type(csl_pdt(LKG)) , intent(in) :: con1
3568 type(csl_pdt(LKG)) , intent(in) :: con2
3569 logical(LK) :: itis
3570 end function
3571#endif
3572
3573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3574
3575#if CK5_ENABLED
3576 pure elemental module function isneq_D0_D0_PSCK5(con1, con2) result(itis)
3577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3578 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSCK5
3579#endif
3580 use pm_kind, only: CKG => CK5
3581 type(csc_pdt(CKG)) , intent(in) :: con1
3582 type(csc_pdt(CKG)) , intent(in) :: con2
3583 logical(LK) :: itis
3584 end function
3585#endif
3586
3587#if CK4_ENABLED
3588 pure elemental module function isneq_D0_D0_PSCK4(con1, con2) result(itis)
3589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3590 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSCK4
3591#endif
3592 use pm_kind, only: CKG => CK4
3593 type(csc_pdt(CKG)) , intent(in) :: con1
3594 type(csc_pdt(CKG)) , intent(in) :: con2
3595 logical(LK) :: itis
3596 end function
3597#endif
3598
3599#if CK3_ENABLED
3600 pure elemental module function isneq_D0_D0_PSCK3(con1, con2) result(itis)
3601#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3602 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSCK3
3603#endif
3604 use pm_kind, only: CKG => CK3
3605 type(csc_pdt(CKG)) , intent(in) :: con1
3606 type(csc_pdt(CKG)) , intent(in) :: con2
3607 logical(LK) :: itis
3608 end function
3609#endif
3610
3611#if CK2_ENABLED
3612 pure elemental module function isneq_D0_D0_PSCK2(con1, con2) result(itis)
3613#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3614 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSCK2
3615#endif
3616 use pm_kind, only: CKG => CK2
3617 type(csc_pdt(CKG)) , intent(in) :: con1
3618 type(csc_pdt(CKG)) , intent(in) :: con2
3619 logical(LK) :: itis
3620 end function
3621#endif
3622
3623#if CK1_ENABLED
3624 pure elemental module function isneq_D0_D0_PSCK1(con1, con2) result(itis)
3625#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3626 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSCK1
3627#endif
3628 use pm_kind, only: CKG => CK1
3629 type(csc_pdt(CKG)) , intent(in) :: con1
3630 type(csc_pdt(CKG)) , intent(in) :: con2
3631 logical(LK) :: itis
3632 end function
3633#endif
3634
3635 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3636
3637#if RK5_ENABLED
3638 pure elemental module function isneq_D0_D0_PSRK5(con1, con2) result(itis)
3639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3640 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSRK5
3641#endif
3642 use pm_kind, only: RKG => RK5
3643 type(csr_pdt(RKG)) , intent(in) :: con1
3644 type(csr_pdt(RKG)) , intent(in) :: con2
3645 logical(LK) :: itis
3646 end function
3647#endif
3648
3649#if RK4_ENABLED
3650 pure elemental module function isneq_D0_D0_PSRK4(con1, con2) result(itis)
3651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3652 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSRK4
3653#endif
3654 use pm_kind, only: RKG => RK4
3655 type(csr_pdt(RKG)) , intent(in) :: con1
3656 type(csr_pdt(RKG)) , intent(in) :: con2
3657 logical(LK) :: itis
3658 end function
3659#endif
3660
3661#if RK3_ENABLED
3662 pure elemental module function isneq_D0_D0_PSRK3(con1, con2) result(itis)
3663#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3664 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSRK3
3665#endif
3666 use pm_kind, only: RKG => RK3
3667 type(csr_pdt(RKG)) , intent(in) :: con1
3668 type(csr_pdt(RKG)) , intent(in) :: con2
3669 logical(LK) :: itis
3670 end function
3671#endif
3672
3673#if RK2_ENABLED
3674 pure elemental module function isneq_D0_D0_PSRK2(con1, con2) result(itis)
3675#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3676 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSRK2
3677#endif
3678 use pm_kind, only: RKG => RK2
3679 type(csr_pdt(RKG)) , intent(in) :: con1
3680 type(csr_pdt(RKG)) , intent(in) :: con2
3681 logical(LK) :: itis
3682 end function
3683#endif
3684
3685#if RK1_ENABLED
3686 pure elemental module function isneq_D0_D0_PSRK1(con1, con2) result(itis)
3687#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3688 !DEC$ ATTRIBUTES DLLEXPORT :: isneq_D0_D0_PSRK1
3689#endif
3690 use pm_kind, only: RKG => RK1
3691 type(csr_pdt(RKG)) , intent(in) :: con1
3692 type(csr_pdt(RKG)) , intent(in) :: con2
3693 logical(LK) :: itis
3694 end function
3695#endif
3696
3697 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3698
3699#endif
3700!PDT_ENABLED
3701
3702 end interface
3703
3704!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3705
3781 interface operator(==)
3782
3783 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3784
3785 pure elemental module function iseq_D0_D0_BSSK(con1, con2) result(itis)
3786#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3787 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_BSSK
3788#endif
3789 type(css_type) , intent(in) :: con1
3790 type(css_type) , intent(in) :: con2
3791 logical(LK) :: itis
3792 end function
3793
3794 pure elemental module function iseq_D0_D0_BSIK(con1, con2) result(itis)
3795#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3796 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_BSIK
3797#endif
3798 type(csi_type) , intent(in) :: con1
3799 type(csi_type) , intent(in) :: con2
3800 logical(LK) :: itis
3801 end function
3802
3803 pure elemental module function iseq_D0_D0_BSLK(con1, con2) result(itis)
3804#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3805 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_BSLK
3806#endif
3807 type(csl_type) , intent(in) :: con1
3808 type(csl_type) , intent(in) :: con2
3809 logical(LK) :: itis
3810 end function
3811
3812 pure elemental module function iseq_D0_D0_BSCK(con1, con2) result(itis)
3813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3814 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_BSCK
3815#endif
3816 type(csc_type) , intent(in) :: con1
3817 type(csc_type) , intent(in) :: con2
3818 logical(LK) :: itis
3819 end function
3820
3821 pure elemental module function iseq_D0_D0_BSRK(con1, con2) result(itis)
3822#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3823 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_BSRK
3824#endif
3825 type(csr_type) , intent(in) :: con1
3826 type(csr_type) , intent(in) :: con2
3827 logical(LK) :: itis
3828 end function
3829
3830#if PDT_ENABLED
3831
3832 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3833
3834#if SK5_ENABLED
3835 pure elemental module function iseq_D0_D0_PSSK5(con1, con2) result(itis)
3836#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3837 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSSK5
3838#endif
3839 use pm_kind, only: SKG => SK5
3840 type(css_pdt(SKG)) , intent(in) :: con1
3841 type(css_pdt(SKG)) , intent(in) :: con2
3842 logical(LK) :: itis
3843 end function
3844#endif
3845
3846#if SK4_ENABLED
3847 pure elemental module function iseq_D0_D0_PSSK4(con1, con2) result(itis)
3848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3849 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSSK4
3850#endif
3851 use pm_kind, only: SKG => SK4
3852 type(css_pdt(SKG)) , intent(in) :: con1
3853 type(css_pdt(SKG)) , intent(in) :: con2
3854 logical(LK) :: itis
3855 end function
3856#endif
3857
3858#if SK3_ENABLED
3859 pure elemental module function iseq_D0_D0_PSSK3(con1, con2) result(itis)
3860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3861 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSSK3
3862#endif
3863 use pm_kind, only: SKG => SK3
3864 type(css_pdt(SKG)) , intent(in) :: con1
3865 type(css_pdt(SKG)) , intent(in) :: con2
3866 logical(LK) :: itis
3867 end function
3868#endif
3869
3870#if SK2_ENABLED
3871 pure elemental module function iseq_D0_D0_PSSK2(con1, con2) result(itis)
3872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3873 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSSK2
3874#endif
3875 use pm_kind, only: SKG => SK2
3876 type(css_pdt(SKG)) , intent(in) :: con1
3877 type(css_pdt(SKG)) , intent(in) :: con2
3878 logical(LK) :: itis
3879 end function
3880#endif
3881
3882#if SK1_ENABLED
3883 pure elemental module function iseq_D0_D0_PSSK1(con1, con2) result(itis)
3884#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3885 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSSK1
3886#endif
3887 use pm_kind, only: SKG => SK1
3888 type(css_pdt(SKG)) , intent(in) :: con1
3889 type(css_pdt(SKG)) , intent(in) :: con2
3890 logical(LK) :: itis
3891 end function
3892#endif
3893
3894 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3895
3896#if IK5_ENABLED
3897 pure elemental module function iseq_D0_D0_PSIK5(con1, con2) result(itis)
3898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3899 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSIK5
3900#endif
3901 use pm_kind, only: IKG => IK5
3902 type(csi_pdt(IKG)) , intent(in) :: con1
3903 type(csi_pdt(IKG)) , intent(in) :: con2
3904 logical(LK) :: itis
3905 end function
3906#endif
3907
3908#if IK4_ENABLED
3909 pure elemental module function iseq_D0_D0_PSIK4(con1, con2) result(itis)
3910#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3911 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSIK4
3912#endif
3913 use pm_kind, only: IKG => IK4
3914 type(csi_pdt(IKG)) , intent(in) :: con1
3915 type(csi_pdt(IKG)) , intent(in) :: con2
3916 logical(LK) :: itis
3917 end function
3918#endif
3919
3920#if IK3_ENABLED
3921 pure elemental module function iseq_D0_D0_PSIK3(con1, con2) result(itis)
3922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3923 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSIK3
3924#endif
3925 use pm_kind, only: IKG => IK3
3926 type(csi_pdt(IKG)) , intent(in) :: con1
3927 type(csi_pdt(IKG)) , intent(in) :: con2
3928 logical(LK) :: itis
3929 end function
3930#endif
3931
3932#if IK2_ENABLED
3933 pure elemental module function iseq_D0_D0_PSIK2(con1, con2) result(itis)
3934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3935 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSIK2
3936#endif
3937 use pm_kind, only: IKG => IK2
3938 type(csi_pdt(IKG)) , intent(in) :: con1
3939 type(csi_pdt(IKG)) , intent(in) :: con2
3940 logical(LK) :: itis
3941 end function
3942#endif
3943
3944#if IK1_ENABLED
3945 pure elemental module function iseq_D0_D0_PSIK1(con1, con2) result(itis)
3946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3947 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSIK1
3948#endif
3949 use pm_kind, only: IKG => IK1
3950 type(csi_pdt(IKG)) , intent(in) :: con1
3951 type(csi_pdt(IKG)) , intent(in) :: con2
3952 logical(LK) :: itis
3953 end function
3954#endif
3955
3956 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3957
3958#if LK5_ENABLED
3959 pure elemental module function iseq_D0_D0_PSLK5(con1, con2) result(itis)
3960#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3961 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSLK5
3962#endif
3963 use pm_kind, only: LKG => LK5
3964 type(csl_pdt(LKG)) , intent(in) :: con1
3965 type(csl_pdt(LKG)) , intent(in) :: con2
3966 logical(LK) :: itis
3967 end function
3968#endif
3969
3970#if LK4_ENABLED
3971 pure elemental module function iseq_D0_D0_PSLK4(con1, con2) result(itis)
3972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3973 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSLK4
3974#endif
3975 use pm_kind, only: LKG => LK4
3976 type(csl_pdt(LKG)) , intent(in) :: con1
3977 type(csl_pdt(LKG)) , intent(in) :: con2
3978 logical(LK) :: itis
3979 end function
3980#endif
3981
3982#if LK3_ENABLED
3983 pure elemental module function iseq_D0_D0_PSLK3(con1, con2) result(itis)
3984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3985 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSLK3
3986#endif
3987 use pm_kind, only: LKG => LK3
3988 type(csl_pdt(LKG)) , intent(in) :: con1
3989 type(csl_pdt(LKG)) , intent(in) :: con2
3990 logical(LK) :: itis
3991 end function
3992#endif
3993
3994#if LK2_ENABLED
3995 pure elemental module function iseq_D0_D0_PSLK2(con1, con2) result(itis)
3996#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3997 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSLK2
3998#endif
3999 use pm_kind, only: LKG => LK2
4000 type(csl_pdt(LKG)) , intent(in) :: con1
4001 type(csl_pdt(LKG)) , intent(in) :: con2
4002 logical(LK) :: itis
4003 end function
4004#endif
4005
4006#if LK1_ENABLED
4007 pure elemental module function iseq_D0_D0_PSLK1(con1, con2) result(itis)
4008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4009 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSLK1
4010#endif
4011 use pm_kind, only: LKG => LK1
4012 type(csl_pdt(LKG)) , intent(in) :: con1
4013 type(csl_pdt(LKG)) , intent(in) :: con2
4014 logical(LK) :: itis
4015 end function
4016#endif
4017
4018 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4019
4020#if CK5_ENABLED
4021 pure elemental module function iseq_D0_D0_PSCK5(con1, con2) result(itis)
4022#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4023 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSCK5
4024#endif
4025 use pm_kind, only: CKG => CK5
4026 type(csc_pdt(CKG)) , intent(in) :: con1
4027 type(csc_pdt(CKG)) , intent(in) :: con2
4028 logical(LK) :: itis
4029 end function
4030#endif
4031
4032#if CK4_ENABLED
4033 pure elemental module function iseq_D0_D0_PSCK4(con1, con2) result(itis)
4034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4035 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSCK4
4036#endif
4037 use pm_kind, only: CKG => CK4
4038 type(csc_pdt(CKG)) , intent(in) :: con1
4039 type(csc_pdt(CKG)) , intent(in) :: con2
4040 logical(LK) :: itis
4041 end function
4042#endif
4043
4044#if CK3_ENABLED
4045 pure elemental module function iseq_D0_D0_PSCK3(con1, con2) result(itis)
4046#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4047 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSCK3
4048#endif
4049 use pm_kind, only: CKG => CK3
4050 type(csc_pdt(CKG)) , intent(in) :: con1
4051 type(csc_pdt(CKG)) , intent(in) :: con2
4052 logical(LK) :: itis
4053 end function
4054#endif
4055
4056#if CK2_ENABLED
4057 pure elemental module function iseq_D0_D0_PSCK2(con1, con2) result(itis)
4058#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4059 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSCK2
4060#endif
4061 use pm_kind, only: CKG => CK2
4062 type(csc_pdt(CKG)) , intent(in) :: con1
4063 type(csc_pdt(CKG)) , intent(in) :: con2
4064 logical(LK) :: itis
4065 end function
4066#endif
4067
4068#if CK1_ENABLED
4069 pure elemental module function iseq_D0_D0_PSCK1(con1, con2) result(itis)
4070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4071 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSCK1
4072#endif
4073 use pm_kind, only: CKG => CK1
4074 type(csc_pdt(CKG)) , intent(in) :: con1
4075 type(csc_pdt(CKG)) , intent(in) :: con2
4076 logical(LK) :: itis
4077 end function
4078#endif
4079
4080 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4081
4082#if RK5_ENABLED
4083 pure elemental module function iseq_D0_D0_PSRK5(con1, con2) result(itis)
4084#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4085 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSRK5
4086#endif
4087 use pm_kind, only: RKG => RK5
4088 type(csr_pdt(RKG)) , intent(in) :: con1
4089 type(csr_pdt(RKG)) , intent(in) :: con2
4090 logical(LK) :: itis
4091 end function
4092#endif
4093
4094#if RK4_ENABLED
4095 pure elemental module function iseq_D0_D0_PSRK4(con1, con2) result(itis)
4096#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4097 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSRK4
4098#endif
4099 use pm_kind, only: RKG => RK4
4100 type(csr_pdt(RKG)) , intent(in) :: con1
4101 type(csr_pdt(RKG)) , intent(in) :: con2
4102 logical(LK) :: itis
4103 end function
4104#endif
4105
4106#if RK3_ENABLED
4107 pure elemental module function iseq_D0_D0_PSRK3(con1, con2) result(itis)
4108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4109 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSRK3
4110#endif
4111 use pm_kind, only: RKG => RK3
4112 type(csr_pdt(RKG)) , intent(in) :: con1
4113 type(csr_pdt(RKG)) , intent(in) :: con2
4114 logical(LK) :: itis
4115 end function
4116#endif
4117
4118#if RK2_ENABLED
4119 pure elemental module function iseq_D0_D0_PSRK2(con1, con2) result(itis)
4120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4121 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSRK2
4122#endif
4123 use pm_kind, only: RKG => RK2
4124 type(csr_pdt(RKG)) , intent(in) :: con1
4125 type(csr_pdt(RKG)) , intent(in) :: con2
4126 logical(LK) :: itis
4127 end function
4128#endif
4129
4130#if RK1_ENABLED
4131 pure elemental module function iseq_D0_D0_PSRK1(con1, con2) result(itis)
4132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4133 !DEC$ ATTRIBUTES DLLEXPORT :: iseq_D0_D0_PSRK1
4134#endif
4135 use pm_kind, only: RKG => RK1
4136 type(csr_pdt(RKG)) , intent(in) :: con1
4137 type(csr_pdt(RKG)) , intent(in) :: con2
4138 logical(LK) :: itis
4139 end function
4140#endif
4141
4142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4143
4144#endif
4145!PDT_ENABLED
4146
4147 end interface
4148
4149!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4150
4227 interface assignment(=)
4228
4229 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4230
4231 pure elemental module subroutine assign_D0_D0_BSSK(destin, source)
4232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4233 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_BSSK
4234#endif
4235 type(css_type) , intent(out) :: destin
4236 type(css_type) , intent(in) :: source
4237 end subroutine
4238
4239 pure elemental module subroutine assign_D0_D0_BSIK(destin, source)
4240#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4241 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_BSIK
4242#endif
4243 type(csi_type) , intent(out) :: destin
4244 type(csi_type) , intent(in) :: source
4245 end subroutine
4246
4247 pure elemental module subroutine assign_D0_D0_BSLK(destin, source)
4248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4249 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_BSLK
4250#endif
4251 type(csl_type) , intent(out) :: destin
4252 type(csl_type) , intent(in) :: source
4253 end subroutine
4254
4255 pure elemental module subroutine assign_D0_D0_BSCK(destin, source)
4256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4257 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_BSCK
4258#endif
4259 type(csc_type) , intent(out) :: destin
4260 type(csc_type) , intent(in) :: source
4261 end subroutine
4262
4263 pure elemental module subroutine assign_D0_D0_BSRK(destin, source)
4264#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4265 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_BSRK
4266#endif
4267 type(csr_type) , intent(out) :: destin
4268 type(csr_type) , intent(in) :: source
4269 end subroutine
4270
4271#if PDT_ENABLED
4272
4273 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4274
4275#if SK5_ENABLED
4276 pure elemental module subroutine assign_D0_D0_PSSK5(destin, source)
4277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4278 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSSK5
4279#endif
4280 use pm_kind, only: SKG => SK5
4281 type(css_pdt(SKG)) , intent(out) :: destin
4282 type(css_pdt(SKG)) , intent(in) :: source
4283 end subroutine
4284#endif
4285
4286#if SK4_ENABLED
4287 pure elemental module subroutine assign_D0_D0_PSSK4(destin, source)
4288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4289 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSSK4
4290#endif
4291 use pm_kind, only: SKG => SK4
4292 type(css_pdt(SKG)) , intent(out) :: destin
4293 type(css_pdt(SKG)) , intent(in) :: source
4294 end subroutine
4295#endif
4296
4297#if SK3_ENABLED
4298 pure elemental module subroutine assign_D0_D0_PSSK3(destin, source)
4299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4300 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSSK3
4301#endif
4302 use pm_kind, only: SKG => SK3
4303 type(css_pdt(SKG)) , intent(out) :: destin
4304 type(css_pdt(SKG)) , intent(in) :: source
4305 end subroutine
4306#endif
4307
4308#if SK2_ENABLED
4309 pure elemental module subroutine assign_D0_D0_PSSK2(destin, source)
4310#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4311 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSSK2
4312#endif
4313 use pm_kind, only: SKG => SK2
4314 type(css_pdt(SKG)) , intent(out) :: destin
4315 type(css_pdt(SKG)) , intent(in) :: source
4316 end subroutine
4317#endif
4318
4319#if SK1_ENABLED
4320 pure elemental module subroutine assign_D0_D0_PSSK1(destin, source)
4321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4322 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSSK1
4323#endif
4324 use pm_kind, only: SKG => SK1
4325 type(css_pdt(SKG)) , intent(out) :: destin
4326 type(css_pdt(SKG)) , intent(in) :: source
4327 end subroutine
4328#endif
4329
4330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4331
4332#if IK5_ENABLED
4333 pure elemental module subroutine assign_D0_D0_PSIK5(destin, source)
4334#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4335 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSIK5
4336#endif
4337 use pm_kind, only: IKG => IK5
4338 type(csi_pdt(IKG)) , intent(out) :: destin
4339 type(csi_pdt(IKG)) , intent(in) :: source
4340 end subroutine
4341#endif
4342
4343#if IK4_ENABLED
4344 pure elemental module subroutine assign_D0_D0_PSIK4(destin, source)
4345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4346 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSIK4
4347#endif
4348 use pm_kind, only: IKG => IK4
4349 type(csi_pdt(IKG)) , intent(out) :: destin
4350 type(csi_pdt(IKG)) , intent(in) :: source
4351 end subroutine
4352#endif
4353
4354#if IK3_ENABLED
4355 pure elemental module subroutine assign_D0_D0_PSIK3(destin, source)
4356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4357 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSIK3
4358#endif
4359 use pm_kind, only: IKG => IK3
4360 type(csi_pdt(IKG)) , intent(out) :: destin
4361 type(csi_pdt(IKG)) , intent(in) :: source
4362 end subroutine
4363#endif
4364
4365#if IK2_ENABLED
4366 pure elemental module subroutine assign_D0_D0_PSIK2(destin, source)
4367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4368 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSIK2
4369#endif
4370 use pm_kind, only: IKG => IK2
4371 type(csi_pdt(IKG)) , intent(out) :: destin
4372 type(csi_pdt(IKG)) , intent(in) :: source
4373 end subroutine
4374#endif
4375
4376#if IK1_ENABLED
4377 pure elemental module subroutine assign_D0_D0_PSIK1(destin, source)
4378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4379 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSIK1
4380#endif
4381 use pm_kind, only: IKG => IK1
4382 type(csi_pdt(IKG)) , intent(out) :: destin
4383 type(csi_pdt(IKG)) , intent(in) :: source
4384 end subroutine
4385#endif
4386
4387 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4388
4389#if LK5_ENABLED
4390 pure elemental module subroutine assign_D0_D0_PSLK5(destin, source)
4391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4392 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSLK5
4393#endif
4394 use pm_kind, only: LKG => LK5
4395 type(csl_pdt(LKG)) , intent(out) :: destin
4396 type(csl_pdt(LKG)) , intent(in) :: source
4397 end subroutine
4398#endif
4399
4400#if LK4_ENABLED
4401 pure elemental module subroutine assign_D0_D0_PSLK4(destin, source)
4402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4403 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSLK4
4404#endif
4405 use pm_kind, only: LKG => LK4
4406 type(csl_pdt(LKG)) , intent(out) :: destin
4407 type(csl_pdt(LKG)) , intent(in) :: source
4408 end subroutine
4409#endif
4410
4411#if LK3_ENABLED
4412 pure elemental module subroutine assign_D0_D0_PSLK3(destin, source)
4413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4414 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSLK3
4415#endif
4416 use pm_kind, only: LKG => LK3
4417 type(csl_pdt(LKG)) , intent(out) :: destin
4418 type(csl_pdt(LKG)) , intent(in) :: source
4419 end subroutine
4420#endif
4421
4422#if LK2_ENABLED
4423 pure elemental module subroutine assign_D0_D0_PSLK2(destin, source)
4424#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4425 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSLK2
4426#endif
4427 use pm_kind, only: LKG => LK2
4428 type(csl_pdt(LKG)) , intent(out) :: destin
4429 type(csl_pdt(LKG)) , intent(in) :: source
4430 end subroutine
4431#endif
4432
4433#if LK1_ENABLED
4434 pure elemental module subroutine assign_D0_D0_PSLK1(destin, source)
4435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4436 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSLK1
4437#endif
4438 use pm_kind, only: LKG => LK1
4439 type(csl_pdt(LKG)) , intent(out) :: destin
4440 type(csl_pdt(LKG)) , intent(in) :: source
4441 end subroutine
4442#endif
4443
4444 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4445
4446#if CK5_ENABLED
4447 pure elemental module subroutine assign_D0_D0_PSCK5(destin, source)
4448#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4449 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSCK5
4450#endif
4451 use pm_kind, only: CKG => CK5
4452 type(csc_pdt(CKG)) , intent(out) :: destin
4453 type(csc_pdt(CKG)) , intent(in) :: source
4454 end subroutine
4455#endif
4456
4457#if CK4_ENABLED
4458 pure elemental module subroutine assign_D0_D0_PSCK4(destin, source)
4459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4460 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSCK4
4461#endif
4462 use pm_kind, only: CKG => CK4
4463 type(csc_pdt(CKG)) , intent(out) :: destin
4464 type(csc_pdt(CKG)) , intent(in) :: source
4465 end subroutine
4466#endif
4467
4468#if CK3_ENABLED
4469 pure elemental module subroutine assign_D0_D0_PSCK3(destin, source)
4470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4471 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSCK3
4472#endif
4473 use pm_kind, only: CKG => CK3
4474 type(csc_pdt(CKG)) , intent(out) :: destin
4475 type(csc_pdt(CKG)) , intent(in) :: source
4476 end subroutine
4477#endif
4478
4479#if CK2_ENABLED
4480 pure elemental module subroutine assign_D0_D0_PSCK2(destin, source)
4481#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4482 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSCK2
4483#endif
4484 use pm_kind, only: CKG => CK2
4485 type(csc_pdt(CKG)) , intent(out) :: destin
4486 type(csc_pdt(CKG)) , intent(in) :: source
4487 end subroutine
4488#endif
4489
4490#if CK1_ENABLED
4491 pure elemental module subroutine assign_D0_D0_PSCK1(destin, source)
4492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4493 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSCK1
4494#endif
4495 use pm_kind, only: CKG => CK1
4496 type(csc_pdt(CKG)) , intent(out) :: destin
4497 type(csc_pdt(CKG)) , intent(in) :: source
4498 end subroutine
4499#endif
4500
4501 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4502
4503#if RK5_ENABLED
4504 pure elemental module subroutine assign_D0_D0_PSRK5(destin, source)
4505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4506 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSRK5
4507#endif
4508 use pm_kind, only: RKG => RK5
4509 type(csr_pdt(RKG)) , intent(out) :: destin
4510 type(csr_pdt(RKG)) , intent(in) :: source
4511 end subroutine
4512#endif
4513
4514#if RK4_ENABLED
4515 pure elemental module subroutine assign_D0_D0_PSRK4(destin, source)
4516#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4517 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSRK4
4518#endif
4519 use pm_kind, only: RKG => RK4
4520 type(csr_pdt(RKG)) , intent(out) :: destin
4521 type(csr_pdt(RKG)) , intent(in) :: source
4522 end subroutine
4523#endif
4524
4525#if RK3_ENABLED
4526 pure elemental module subroutine assign_D0_D0_PSRK3(destin, source)
4527#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4528 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSRK3
4529#endif
4530 use pm_kind, only: RKG => RK3
4531 type(csr_pdt(RKG)) , intent(out) :: destin
4532 type(csr_pdt(RKG)) , intent(in) :: source
4533 end subroutine
4534#endif
4535
4536#if RK2_ENABLED
4537 pure elemental module subroutine assign_D0_D0_PSRK2(destin, source)
4538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4539 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSRK2
4540#endif
4541 use pm_kind, only: RKG => RK2
4542 type(csr_pdt(RKG)) , intent(out) :: destin
4543 type(csr_pdt(RKG)) , intent(in) :: source
4544 end subroutine
4545#endif
4546
4547#if RK1_ENABLED
4548 pure elemental module subroutine assign_D0_D0_PSRK1(destin, source)
4549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4550 !DEC$ ATTRIBUTES DLLEXPORT :: assign_D0_D0_PSRK1
4551#endif
4552 use pm_kind, only: RKG => RK1
4553 type(csr_pdt(RKG)) , intent(out) :: destin
4554 type(csr_pdt(RKG)) , intent(in) :: source
4555 end subroutine
4556#endif
4557
4558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4559
4560#endif
4561!PDT_ENABLED
4562
4563 end interface
4564
4565 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4566
4567 ! > \brief
4568 ! > This is the [csis_type](@ref pm_container::csis_type) type for generating instances of <b>c</b>ontainer of <b>s</b>calar of <b>i</b>nteger and <b>s</b>tring.<br>
4569 ! >
4570 ! > \details
4571 ! > The [csis_type](@ref pm_container::csis_type) container is frequently used within the ParaMonte library for encapsulate an `integer` number and its conversion to string.<br>
4572 ! > The constructor of this derived type takes the following arguments.<br>
4573 ! >
4574 ! > \param[in] int : The input scalar or array of arbitrary rank of type `integer` of default kind \IK.<br>
4575 ! > \param[in] str : The input scalar or array of arbitrary rank of type `character` of default kind \SK.<br>
4576 ! >
4577 ! > \return
4578 ! > `container` : The output object of type [csis_type](@ref pm_container::csis_type) of the same kind, rank, and shape
4579 ! > as the input array-like arguments `val`, each element of which contains the corresponding element of the input `val`.
4580 ! >
4581 ! > \interface{csis_type}
4582 ! > \code{.F90}
4583 ! >
4584 ! > use pm_kind, only: SK
4585 ! > use pm_container, only: csis_type
4586 ! > type(csis_type), allocatable :: containers(:)
4587 ! > type(csis_type) :: container
4588 ! >
4589 ! > container = csis_type(val, trimmed = trimmed)
4590 ! >
4591 ! > ! example
4592 ! >
4593 ! > container = csis_type(SK_"aaa")
4594 ! > containers = csis_type([character(3, SK) :: "a", "aa", "aaa"])
4595 ! > containers = csis_type([character(3, SK) :: "a", "aa", "aaa"], trimmed = .false._LK)
4596 ! >
4597 ! > \endcode
4598 ! >
4599 ! > \pure
4600 ! >
4601 ! > \elemental
4602 ! >
4603 ! > \remark
4604 ! > The existence of this **derived type** is primarily motivated by the persistent bugs in the
4605 ! > implementations of `allocatable` parameterized derived types in gfortran compilers < 12.<br>
4606 ! > As such, this definition might be redundant once gfortran PDT bugs are resolved.<br>
4607 ! >
4608 ! > \see
4609 ! > [css_pdt](@ref pm_container::css_pdt)<br>
4610 ! > [cvs_pdt](@ref pm_container::cvs_pdt)<br>
4611 ! > [cms_pdt](@ref pm_container::cms_pdt)<br>
4612 ! > [ccs_pdt](@ref pm_container::ccs_pdt)<br>
4613 ! > [css_type](@ref pm_container::css_type)<br>
4614 ! > [cvs_type](@ref pm_container::cvs_type)<br>
4615 ! > [cms_type](@ref pm_container::cms_type)<br>
4616 ! > [ccs_type](@ref pm_container::ccs_type)<br>
4617 ! >
4618 ! > \example{csis_type}
4619 ! > \include{lineno} example/pm_container/csis_type/main.F90
4620 ! > \compile
4621 ! > \output
4622 ! > \include{lineno} example/pm_container/csis_type/main.out.F90
4623 ! >
4624 ! > \test
4625 ! > [test_pm_container](@ref test_pm_container)
4626 ! >
4627 ! > \final{csis_type}
4628 ! >
4629 ! > \author
4630 ! > \FatemehBagheri, Tuesday April 30, 2019, 12:58 PM, SEIR, UTA
4631 ! > \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
4632 !type :: csis_type
4633 ! integer(IK) :: int
4634 ! character(:, SK), allocatable :: str
4635 !end type
4636
4637!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4638
4639! !> \brief
4640! !> Generate and return the extraction of the `val` component of the input scalar container.
4641! !>
4642! !> \details
4643! !> In simple words, this generic interface extracts the value of the input container(s).<br>
4644! !> When the input container(s) is of type [css_type](@ref pm_container::css_type),
4645! !> the output values will have a length type parameter that
4646! !> is the maximum of the input `val` components.<br>
4647! !>
4648! !> \param[in] con : The input scalar or array of arbitrary rank `1` of,
4649! !> <ol>
4650! !> <li> type [css_type](@ref pm_container::css_type)
4651! !> <li> type [csi_type](@ref pm_container::csi_type)
4652! !> <li> type [csl_type](@ref pm_container::csl_type)
4653! !> <li> type [csc_type](@ref pm_container::csc_type)
4654! !> <li> type [csr_type](@ref pm_container::csr_type)
4655! !> </ol>
4656! !>
4657! !> \return
4658! !> `val` : The output scalar or array of the same rank and shape as the input array-like argument `con`,
4659! !> of the same type, kind, and value as the `val` component of the input container(s).
4660! !>
4661! !> \interface{getVal}
4662! !> \code{.F90}
4663! !>
4664! !> use pm_container, only: getVal
4665! !>
4666! !> val(@shape(con)) = getVal(con(..))
4667! !>
4668! !> \endcode
4669! !>
4670! !> \note
4671! !> If the `val` component of the input argument `con` is unallocated,
4672! !> the output `val` will remain uninitialized on output.
4673! !>
4674! !> \pure
4675! !>
4676! !> \elemental
4677! !>
4678! !> \see
4679! !> [getCharSeq](@ref pm_str::getCharSeq)<br>
4680! !> [getCharVec](@ref pm_str::getCharVec)<br>
4681! !>
4682! !> \example{getVal}
4683! !> \include{lineno} example/pm_container/getVal/main.F90
4684! !> \compilef{getVal}
4685! !> \output{getVal}
4686! !> \include{lineno} example/pm_container/getVal/main.out.F90
4687! !>
4688! !> \test
4689! !> [test_pm_container](@ref test_pm_container)
4690! !>
4691! !> \todo
4692! !> \pvlow The functionality of this generic interface can be extended to input containers of higher rank component.<br>
4693! !>
4694! !> \final{getVal}
4695! !>
4696! !> \author
4697! !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
4698! interface getVal
4699!
4700! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4701!
4702! pure elemental module function getVal_D0_BSSK(con) result(val)
4703!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4704! !DEC$ ATTRIBUTES DLLEXPORT :: getVal_D0_BSSK
4705!#endif
4706! use pm_kind, only: SKG => SK
4707! type(css_type) , intent(in) :: con
4708! character(len(con%val, IK),SKG) :: val
4709! end function
4710!
4711! pure elemental module function getVal_D0_BSIK(con) result(val)
4712!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4713! !DEC$ ATTRIBUTES DLLEXPORT :: getVal_D0_BSIK
4714!#endif
4715! use pm_kind, only: IKG => IK
4716! type(csi_type) , intent(in) :: con
4717! integer(IKG) :: val
4718! end function
4719!
4720! pure elemental module function getVal_D0_BSLK(con) result(val)
4721!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4722! !DEC$ ATTRIBUTES DLLEXPORT :: getVal_D0_BSLK
4723!#endif
4724! use pm_kind, only: LKG => LK
4725! type(csl_type) , intent(in) :: con
4726! logical(LKG) :: val
4727! end function
4728!
4729! pure elemental module function getVal_D0_BSCK(con) result(val)
4730!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4731! !DEC$ ATTRIBUTES DLLEXPORT :: getVal_D0_BSCK
4732!#endif
4733! use pm_kind, only: CKG => CK
4734! type(csc_type) , intent(in) :: con
4735! complex(CKG) :: val
4736! end function
4737!
4738! pure elemental module function getVal_D0_BSRK(con) result(val)
4739!#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4740! !DEC$ ATTRIBUTES DLLEXPORT :: getVal_D0_BSRK
4741!#endif
4742! use pm_kind, only: RKG => RK
4743! type(csr_type) , intent(in) :: con
4744! real(RKG) :: val
4745! end function
4746!
4747!
4748! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4749!
4750! end interface
4751
4752!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4753
4754end module pm_container ! LCOV_EXCL_LINE
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 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 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 LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK
The default complex kind in the ParaMonte library: real64 in Fortran, c_double_complex in C-Fortran I...
Definition: pm_kind.F90:542
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 is the parameterized derived type for generating a container of a cube component of type complex...
This is the derived type for generating a container of a cube component of type complex of default ki...
This is the parameterized derived type for generating a container of a cube component of type integer...
This is the derived type for generating a container of a cube component of type integer of default ki...
This is the parameterized derived type for generating a container of a cube component of type logical...
This is the derived type for generating a container of a cube component of type logical of default ki...
This is the derived type for generating a container of a cube component of type unlimited polymorphic...
This is the parameterized derived type for generating a container of a cube component of type real of...
This is the derived type for generating a container of a cube component of type real of default kind ...
This is the parameterized derived type for generating a container of a cube component of type charact...
This is the derived type for generating a container of a cube component of type character of default ...
This is the parameterized derived type for generating a container of a matrix component of type compl...
This is the derived type for generating a container of a matrix component of type complex of default ...
This is the parameterized derived type for generating a container of a matrix component of type integ...
This is the derived type for generating a container of a matrix component of type integer of default ...
This is the parameterized derived type for generating a container of a matrix component of type logic...
This is the derived type for generating a container of a matrix component of type logical of default ...
This is the derived type for generating a container of a matrix component of type unlimited polymorph...
This is the parameterized derived type for generating a container of a matrix component of type real ...
This is the derived type for generating a container of a matrix component of type real of default kin...
This is the parameterized derived type for generating a container of a matrix component of type chara...
This is the derived type for generating a container of a matrix component of type character of defaul...
This is the csc_pdt parameterized type for generating instances of container of scalar of complex obj...
This is the csc_type type for generating instances of container of scalar of logical objects.
This is the csi_pdt parameterized type for generating instances of container of scalar of integer obj...
This is the csi_type type for generating instances of container of scalar of integer objects.
This is the csl_pdt parameterized type for generating instances of container of scalar of logical obj...
This is the csl_type type for generating instances of container of scalar of logical objects.
This is the csp_type type for generating instances of container of scalar unlimited polymorphic objec...
This is the csr_pdt parameterized type for generating instances of container of scalar of real object...
This is the csr_type type for generating instances of container of scalar of logical objects.
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 the parameterized derived type for generating a container of an allocatable vector component ...
This is the derived type for generating a container of a vector component of type complex of default ...
This is the parameterized derived type for generating a container of a vector component of type integ...
This is the derived type for generating a container of a vector component of type integer of default ...
This is the parameterized derived type for generating a container of an allocatable vector component ...
This is the derived type for generating a container of a vector component of type logical of default ...
This is the derived type for generating a container of a vector component of type unlimited polymorph...
This is the parameterized derived type for generating a container of an allocatable vector component ...
This is the derived type for generating a container of a vector component of type real of default kin...
This is the parameterized derived type for generating a container of a vector component of type chara...
This is the derived type for generating a container of a vector component of type character of defaul...