ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixDet.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
92
93!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94
96
97 use pm_kind, only: SK, IK, LK
102 use pm_array, only: nothing, nothing_type
103
104 implicit none
105
106 character(*, SK), parameter :: MODULE_NAME = "@pm_matrixDet"
107
108!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109
216 interface getMatDet
217
218 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219
220#if CK5_ENABLED
221 PURE module function getMatDet_CK5(mat) result(det)
222#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
223 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_CK5
224#endif
225 use pm_kind, only: CKG => CK5
226 complex(CKG) , intent(in), contiguous :: mat(:,:)
227 complex(CKG) :: det
228 end function
229#endif
230
231#if CK4_ENABLED
232 PURE module function getMatDet_CK4(mat) result(det)
233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
234 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_CK4
235#endif
236 use pm_kind, only: CKG => CK4
237 complex(CKG) , intent(in), contiguous :: mat(:,:)
238 complex(CKG) :: det
239 end function
240#endif
241
242#if CK3_ENABLED
243 PURE module function getMatDet_CK3(mat) result(det)
244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
245 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_CK3
246#endif
247 use pm_kind, only: CKG => CK3
248 complex(CKG) , intent(in), contiguous :: mat(:,:)
249 complex(CKG) :: det
250 end function
251#endif
252
253#if CK2_ENABLED
254 PURE module function getMatDet_CK2(mat) result(det)
255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
256 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_CK2
257#endif
258 use pm_kind, only: CKG => CK2
259 complex(CKG) , intent(in), contiguous :: mat(:,:)
260 complex(CKG) :: det
261 end function
262#endif
263
264#if CK1_ENABLED
265 PURE module function getMatDet_CK1(mat) result(det)
266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
267 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_CK1
268#endif
269 use pm_kind, only: CKG => CK1
270 complex(CKG) , intent(in), contiguous :: mat(:,:)
271 complex(CKG) :: det
272 end function
273#endif
274
275 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276
277#if RK5_ENABLED
278 PURE module function getMatDet_RK5(mat) result(det)
279#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
280 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_RK5
281#endif
282 use pm_kind, only: RKG => RK5
283 real(RKG) , intent(in), contiguous :: mat(:,:)
284 real(RKG) :: det
285 end function
286#endif
287
288#if RK4_ENABLED
289 PURE module function getMatDet_RK4(mat) result(det)
290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
291 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_RK4
292#endif
293 use pm_kind, only: RKG => RK4
294 real(RKG) , intent(in), contiguous :: mat(:,:)
295 real(RKG) :: det
296 end function
297#endif
298
299#if RK3_ENABLED
300 PURE module function getMatDet_RK3(mat) result(det)
301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
302 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_RK3
303#endif
304 use pm_kind, only: RKG => RK3
305 real(RKG) , intent(in), contiguous :: mat(:,:)
306 real(RKG) :: det
307 end function
308#endif
309
310#if RK2_ENABLED
311 PURE module function getMatDet_RK2(mat) result(det)
312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
313 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_RK2
314#endif
315 use pm_kind, only: RKG => RK2
316 real(RKG) , intent(in), contiguous :: mat(:,:)
317 real(RKG) :: det
318 end function
319#endif
320
321#if RK1_ENABLED
322 PURE module function getMatDet_RK1(mat) result(det)
323#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
324 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDet_RK1
325#endif
326 use pm_kind, only: RKG => RK1
327 real(RKG) , intent(in), contiguous :: mat(:,:)
328 real(RKG) :: det
329 end function
330#endif
331
332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333
334 end interface
335
336!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
337
395 interface setMatDet
396
397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
398
399#if CK5_ENABLED
400 PURE module subroutine setMatDet_CK5(mat, det, info)
401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
402 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_CK5
403#endif
404 use pm_kind, only: CKG => CK5
405 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
406 complex(CKG) , intent(out) :: det
407 integer(IK) , intent(out) :: info
408 end subroutine
409#endif
410
411#if CK4_ENABLED
412 PURE module subroutine setMatDet_CK4(mat, det, info)
413#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
414 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_CK4
415#endif
416 use pm_kind, only: CKG => CK4
417 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
418 complex(CKG) , intent(out) :: det
419 integer(IK) , intent(out) :: info
420 end subroutine
421#endif
422
423#if CK3_ENABLED
424 PURE module subroutine setMatDet_CK3(mat, det, info)
425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
426 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_CK3
427#endif
428 use pm_kind, only: CKG => CK3
429 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
430 complex(CKG) , intent(out) :: det
431 integer(IK) , intent(out) :: info
432 end subroutine
433#endif
434
435#if CK2_ENABLED
436 PURE module subroutine setMatDet_CK2(mat, det, info)
437#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
438 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_CK2
439#endif
440 use pm_kind, only: CKG => CK2
441 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
442 complex(CKG) , intent(out) :: det
443 integer(IK) , intent(out) :: info
444 end subroutine
445#endif
446
447#if CK1_ENABLED
448 PURE module subroutine setMatDet_CK1(mat, det, info)
449#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
450 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_CK1
451#endif
452 use pm_kind, only: CKG => CK1
453 complex(CKG) , intent(inout) , contiguous :: mat(:,:)
454 complex(CKG) , intent(out) :: det
455 integer(IK) , intent(out) :: info
456 end subroutine
457#endif
458
459 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460
461#if RK5_ENABLED
462 PURE module subroutine setMatDet_RK5(mat, det, info)
463#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
464 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_RK5
465#endif
466 use pm_kind, only: RKG => RK5
467 real(RKG) , intent(inout) , contiguous :: mat(:,:)
468 real(RKG) , intent(out) :: det
469 integer(IK) , intent(out) :: info
470 end subroutine
471#endif
472
473#if RK4_ENABLED
474 PURE module subroutine setMatDet_RK4(mat, det, info)
475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
476 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_RK4
477#endif
478 use pm_kind, only: RKG => RK4
479 real(RKG) , intent(inout) , contiguous :: mat(:,:)
480 real(RKG) , intent(out) :: det
481 integer(IK) , intent(out) :: info
482 end subroutine
483#endif
484
485#if RK3_ENABLED
486 PURE module subroutine setMatDet_RK3(mat, det, info)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_RK3
489#endif
490 use pm_kind, only: RKG => RK3
491 real(RKG) , intent(inout) , contiguous :: mat(:,:)
492 real(RKG) , intent(out) :: det
493 integer(IK) , intent(out) :: info
494 end subroutine
495#endif
496
497#if RK2_ENABLED
498 PURE module subroutine setMatDet_RK2(mat, det, info)
499#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
500 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_RK2
501#endif
502 use pm_kind, only: RKG => RK2
503 real(RKG) , intent(inout) , contiguous :: mat(:,:)
504 real(RKG) , intent(out) :: det
505 integer(IK) , intent(out) :: info
506 end subroutine
507#endif
508
509#if RK1_ENABLED
510 PURE module subroutine setMatDet_RK1(mat, det, info)
511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
512 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDet_RK1
513#endif
514 use pm_kind, only: RKG => RK1
515 real(RKG) , intent(inout) , contiguous :: mat(:,:)
516 real(RKG) , intent(out) :: det
517 integer(IK) , intent(out) :: info
518 end subroutine
519#endif
520
521 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
522
523 end interface
524
525!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526
599
601
602 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603
604#if CK5_ENABLED
605 PURE module function getMatDetSqrt_CK5(mat, subset) result(detSqrt)
606#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
607 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_CK5
608#endif
609 use pm_kind, only: CKG => CK5
610 class(subset_type) , intent(in), optional :: subset
611 complex(CKG) , intent(in), contiguous :: mat(:,:)
612 real(CKG) :: detSqrt
613 end function
614#endif
615
616#if CK4_ENABLED
617 PURE module function getMatDetSqrt_CK4(mat, subset) result(detSqrt)
618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
619 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_CK4
620#endif
621 use pm_kind, only: CKG => CK4
622 class(subset_type) , intent(in), optional :: subset
623 complex(CKG) , intent(in), contiguous :: mat(:,:)
624 real(CKG) :: detSqrt
625 end function
626#endif
627
628#if CK3_ENABLED
629 PURE module function getMatDetSqrt_CK3(mat, subset) result(detSqrt)
630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
631 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_CK3
632#endif
633 use pm_kind, only: CKG => CK3
634 class(subset_type) , intent(in), optional :: subset
635 complex(CKG) , intent(in), contiguous :: mat(:,:)
636 real(CKG) :: detSqrt
637 end function
638#endif
639
640#if CK2_ENABLED
641 PURE module function getMatDetSqrt_CK2(mat, subset) result(detSqrt)
642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
643 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_CK2
644#endif
645 use pm_kind, only: CKG => CK2
646 class(subset_type) , intent(in), optional :: subset
647 complex(CKG) , intent(in), contiguous :: mat(:,:)
648 real(CKG) :: detSqrt
649 end function
650#endif
651
652#if CK1_ENABLED
653 PURE module function getMatDetSqrt_CK1(mat, subset) result(detSqrt)
654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
655 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_CK1
656#endif
657 use pm_kind, only: CKG => CK1
658 class(subset_type) , intent(in), optional :: subset
659 complex(CKG) , intent(in), contiguous :: mat(:,:)
660 real(CKG) :: detSqrt
661 end function
662#endif
663
664 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
665
666#if RK5_ENABLED
667 PURE module function getMatDetSqrt_RK5(mat, subset) result(detSqrt)
668#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
669 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_RK5
670#endif
671 use pm_kind, only: RKG => RK5
672 class(subset_type) , intent(in), optional :: subset
673 real(RKG) , intent(in), contiguous :: mat(:,:)
674 real(RKG) :: detSqrt
675 end function
676#endif
677
678#if RK4_ENABLED
679 PURE module function getMatDetSqrt_RK4(mat, subset) result(detSqrt)
680#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
681 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_RK4
682#endif
683 use pm_kind, only: RKG => RK4
684 class(subset_type) , intent(in), optional :: subset
685 real(RKG) , intent(in), contiguous :: mat(:,:)
686 real(RKG) :: detSqrt
687 end function
688#endif
689
690#if RK3_ENABLED
691 PURE module function getMatDetSqrt_RK3(mat, subset) result(detSqrt)
692#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
693 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_RK3
694#endif
695 use pm_kind, only: RKG => RK3
696 class(subset_type) , intent(in), optional :: subset
697 real(RKG) , intent(in), contiguous :: mat(:,:)
698 real(RKG) :: detSqrt
699 end function
700#endif
701
702#if RK2_ENABLED
703 PURE module function getMatDetSqrt_RK2(mat, subset) result(detSqrt)
704#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
705 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_RK2
706#endif
707 use pm_kind, only: RKG => RK2
708 class(subset_type) , intent(in), optional :: subset
709 real(RKG) , intent(in), contiguous :: mat(:,:)
710 real(RKG) :: detSqrt
711 end function
712#endif
713
714#if RK1_ENABLED
715 PURE module function getMatDetSqrt_RK1(mat, subset) result(detSqrt)
716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
717 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrt_RK1
718#endif
719 use pm_kind, only: RKG => RK1
720 class(subset_type) , intent(in), optional :: subset
721 real(RKG) , intent(in), contiguous :: mat(:,:)
722 real(RKG) :: detSqrt
723 end function
724#endif
725
726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
727
728 end interface
729
730!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
731
819
820 ! nothing
821
823
824 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
825
826#if CK5_ENABLED
827 PURE module subroutine setMatDetSqrt_UXD_ONO_CK5(mat, subset, detSqrt, info, chol, operation)
828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
829 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_CK5
830#endif
831 use pm_kind, only: CKG => CK5
832 type(uppDia_type) , intent(in) :: subset
833 type(nothing_type) , intent(in) :: operation
834 complex(CKG) , intent(in) , contiguous :: mat(:,:)
835 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
836 real(CKG) , intent(out) :: detSqrt
837 integer(IK) , intent(out) :: info
838 end subroutine
839#endif
840
841#if CK4_ENABLED
842 PURE module subroutine setMatDetSqrt_UXD_ONO_CK4(mat, subset, detSqrt, info, chol, operation)
843#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
844 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_CK4
845#endif
846 use pm_kind, only: CKG => CK4
847 type(uppDia_type) , intent(in) :: subset
848 type(nothing_type) , intent(in) :: operation
849 complex(CKG) , intent(in) , contiguous :: mat(:,:)
850 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
851 real(CKG) , intent(out) :: detSqrt
852 integer(IK) , intent(out) :: info
853 end subroutine
854#endif
855
856#if CK3_ENABLED
857 PURE module subroutine setMatDetSqrt_UXD_ONO_CK3(mat, subset, detSqrt, info, chol, operation)
858#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
859 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_CK3
860#endif
861 use pm_kind, only: CKG => CK3
862 type(uppDia_type) , intent(in) :: subset
863 type(nothing_type) , intent(in) :: operation
864 complex(CKG) , intent(in) , contiguous :: mat(:,:)
865 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
866 real(CKG) , intent(out) :: detSqrt
867 integer(IK) , intent(out) :: info
868 end subroutine
869#endif
870
871#if CK2_ENABLED
872 PURE module subroutine setMatDetSqrt_UXD_ONO_CK2(mat, subset, detSqrt, info, chol, operation)
873#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
874 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_CK2
875#endif
876 use pm_kind, only: CKG => CK2
877 type(uppDia_type) , intent(in) :: subset
878 type(nothing_type) , intent(in) :: operation
879 complex(CKG) , intent(in) , contiguous :: mat(:,:)
880 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
881 real(CKG) , intent(out) :: detSqrt
882 integer(IK) , intent(out) :: info
883 end subroutine
884#endif
885
886#if CK1_ENABLED
887 PURE module subroutine setMatDetSqrt_UXD_ONO_CK1(mat, subset, detSqrt, info, chol, operation)
888#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
889 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_CK1
890#endif
891 use pm_kind, only: CKG => CK1
892 type(uppDia_type) , intent(in) :: subset
893 type(nothing_type) , intent(in) :: operation
894 complex(CKG) , intent(in) , contiguous :: mat(:,:)
895 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
896 real(CKG) , intent(out) :: detSqrt
897 integer(IK) , intent(out) :: info
898 end subroutine
899#endif
900
901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
902
903#if RK5_ENABLED
904 PURE module subroutine setMatDetSqrt_UXD_ONO_RK5(mat, subset, detSqrt, info, chol, operation)
905#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
906 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_RK5
907#endif
908 use pm_kind, only: RKG => RK5
909 type(uppDia_type) , intent(in) :: subset
910 type(nothing_type) , intent(in) :: operation
911 real(RKG) , intent(in) , contiguous :: mat(:,:)
912 real(RKG) , intent(inout) , contiguous :: chol(:,:)
913 real(RKG) , intent(out) :: detSqrt
914 integer(IK) , intent(out) :: info
915 end subroutine
916#endif
917
918#if RK4_ENABLED
919 PURE module subroutine setMatDetSqrt_UXD_ONO_RK4(mat, subset, detSqrt, info, chol, operation)
920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
921 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_RK4
922#endif
923 use pm_kind, only: RKG => RK4
924 type(uppDia_type) , intent(in) :: subset
925 type(nothing_type) , intent(in) :: operation
926 real(RKG) , intent(in) , contiguous :: mat(:,:)
927 real(RKG) , intent(inout) , contiguous :: chol(:,:)
928 real(RKG) , intent(out) :: detSqrt
929 integer(IK) , intent(out) :: info
930 end subroutine
931#endif
932
933#if RK3_ENABLED
934 PURE module subroutine setMatDetSqrt_UXD_ONO_RK3(mat, subset, detSqrt, info, chol, operation)
935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
936 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_RK3
937#endif
938 use pm_kind, only: RKG => RK3
939 type(uppDia_type) , intent(in) :: subset
940 type(nothing_type) , intent(in) :: operation
941 real(RKG) , intent(in) , contiguous :: mat(:,:)
942 real(RKG) , intent(inout) , contiguous :: chol(:,:)
943 real(RKG) , intent(out) :: detSqrt
944 integer(IK) , intent(out) :: info
945 end subroutine
946#endif
947
948#if RK2_ENABLED
949 PURE module subroutine setMatDetSqrt_UXD_ONO_RK2(mat, subset, detSqrt, info, chol, operation)
950#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
951 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_RK2
952#endif
953 use pm_kind, only: RKG => RK2
954 type(uppDia_type) , intent(in) :: subset
955 type(nothing_type) , intent(in) :: operation
956 real(RKG) , intent(in) , contiguous :: mat(:,:)
957 real(RKG) , intent(inout) , contiguous :: chol(:,:)
958 real(RKG) , intent(out) :: detSqrt
959 integer(IK) , intent(out) :: info
960 end subroutine
961#endif
962
963#if RK1_ENABLED
964 PURE module subroutine setMatDetSqrt_UXD_ONO_RK1(mat, subset, detSqrt, info, chol, operation)
965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
966 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_ONO_RK1
967#endif
968 use pm_kind, only: RKG => RK1
969 type(uppDia_type) , intent(in) :: subset
970 type(nothing_type) , intent(in) :: operation
971 real(RKG) , intent(in) , contiguous :: mat(:,:)
972 real(RKG) , intent(inout) , contiguous :: chol(:,:)
973 real(RKG) , intent(out) :: detSqrt
974 integer(IK) , intent(out) :: info
975 end subroutine
976#endif
977
978 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
979
980#if CK5_ENABLED
981 PURE module subroutine setMatDetSqrt_XLD_ONO_CK5(mat, subset, detSqrt, info, chol, operation)
982#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
983 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_CK5
984#endif
985 use pm_kind, only: CKG => CK5
986 type(lowDia_type) , intent(in) :: subset
987 type(nothing_type) , intent(in) :: operation
988 complex(CKG) , intent(in) , contiguous :: mat(:,:)
989 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
990 real(CKG) , intent(out) :: detSqrt
991 integer(IK) , intent(out) :: info
992 end subroutine
993#endif
994
995#if CK4_ENABLED
996 PURE module subroutine setMatDetSqrt_XLD_ONO_CK4(mat, subset, detSqrt, info, chol, operation)
997#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
998 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_CK4
999#endif
1000 use pm_kind, only: CKG => CK4
1001 type(lowDia_type) , intent(in) :: subset
1002 type(nothing_type) , intent(in) :: operation
1003 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1004 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1005 real(CKG) , intent(out) :: detSqrt
1006 integer(IK) , intent(out) :: info
1007 end subroutine
1008#endif
1009
1010#if CK3_ENABLED
1011 PURE module subroutine setMatDetSqrt_XLD_ONO_CK3(mat, subset, detSqrt, info, chol, operation)
1012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1013 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_CK3
1014#endif
1015 use pm_kind, only: CKG => CK3
1016 type(lowDia_type) , intent(in) :: subset
1017 type(nothing_type) , intent(in) :: operation
1018 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1019 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1020 real(CKG) , intent(out) :: detSqrt
1021 integer(IK) , intent(out) :: info
1022 end subroutine
1023#endif
1024
1025#if CK2_ENABLED
1026 PURE module subroutine setMatDetSqrt_XLD_ONO_CK2(mat, subset, detSqrt, info, chol, operation)
1027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1028 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_CK2
1029#endif
1030 use pm_kind, only: CKG => CK2
1031 type(lowDia_type) , intent(in) :: subset
1032 type(nothing_type) , intent(in) :: operation
1033 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1034 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1035 real(CKG) , intent(out) :: detSqrt
1036 integer(IK) , intent(out) :: info
1037 end subroutine
1038#endif
1039
1040#if CK1_ENABLED
1041 PURE module subroutine setMatDetSqrt_XLD_ONO_CK1(mat, subset, detSqrt, info, chol, operation)
1042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1043 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_CK1
1044#endif
1045 use pm_kind, only: CKG => CK1
1046 type(lowDia_type) , intent(in) :: subset
1047 type(nothing_type) , intent(in) :: operation
1048 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1049 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1050 real(CKG) , intent(out) :: detSqrt
1051 integer(IK) , intent(out) :: info
1052 end subroutine
1053#endif
1054
1055 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1056
1057#if RK5_ENABLED
1058 PURE module subroutine setMatDetSqrt_XLD_ONO_RK5(mat, subset, detSqrt, info, chol, operation)
1059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1060 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_RK5
1061#endif
1062 use pm_kind, only: RKG => RK5
1063 type(lowDia_type) , intent(in) :: subset
1064 type(nothing_type) , intent(in) :: operation
1065 real(RKG) , intent(in) , contiguous :: mat(:,:)
1066 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1067 real(RKG) , intent(out) :: detSqrt
1068 integer(IK) , intent(out) :: info
1069 end subroutine
1070#endif
1071
1072#if RK4_ENABLED
1073 PURE module subroutine setMatDetSqrt_XLD_ONO_RK4(mat, subset, detSqrt, info, chol, operation)
1074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1075 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_RK4
1076#endif
1077 use pm_kind, only: RKG => RK4
1078 type(lowDia_type) , intent(in) :: subset
1079 type(nothing_type) , intent(in) :: operation
1080 real(RKG) , intent(in) , contiguous :: mat(:,:)
1081 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1082 real(RKG) , intent(out) :: detSqrt
1083 integer(IK) , intent(out) :: info
1084 end subroutine
1085#endif
1086
1087#if RK3_ENABLED
1088 PURE module subroutine setMatDetSqrt_XLD_ONO_RK3(mat, subset, detSqrt, info, chol, operation)
1089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1090 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_RK3
1091#endif
1092 use pm_kind, only: RKG => RK3
1093 type(lowDia_type) , intent(in) :: subset
1094 type(nothing_type) , intent(in) :: operation
1095 real(RKG) , intent(in) , contiguous :: mat(:,:)
1096 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1097 real(RKG) , intent(out) :: detSqrt
1098 integer(IK) , intent(out) :: info
1099 end subroutine
1100#endif
1101
1102#if RK2_ENABLED
1103 PURE module subroutine setMatDetSqrt_XLD_ONO_RK2(mat, subset, detSqrt, info, chol, operation)
1104#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1105 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_RK2
1106#endif
1107 use pm_kind, only: RKG => RK2
1108 type(lowDia_type) , intent(in) :: subset
1109 type(nothing_type) , intent(in) :: operation
1110 real(RKG) , intent(in) , contiguous :: mat(:,:)
1111 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1112 real(RKG) , intent(out) :: detSqrt
1113 integer(IK) , intent(out) :: info
1114 end subroutine
1115#endif
1116
1117#if RK1_ENABLED
1118 PURE module subroutine setMatDetSqrt_XLD_ONO_RK1(mat, subset, detSqrt, info, chol, operation)
1119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1120 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_ONO_RK1
1121#endif
1122 use pm_kind, only: RKG => RK1
1123 type(lowDia_type) , intent(in) :: subset
1124 type(nothing_type) , intent(in) :: operation
1125 real(RKG) , intent(in) , contiguous :: mat(:,:)
1126 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1127 real(RKG) , intent(out) :: detSqrt
1128 integer(IK) , intent(out) :: info
1129 end subroutine
1130#endif
1131
1132 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1133
1134 end interface
1135
1136 ! transHerm
1137
1138 interface setMatDetSqrt
1139
1140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1141
1142#if CK5_ENABLED
1143 PURE module subroutine setMatDetSqrt_UXD_OTH_CK5(mat, subset, detSqrt, info, chol, operation)
1144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1145 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_CK5
1146#endif
1147 use pm_kind, only: CKG => CK5
1148 type(uppDia_type) , intent(in) :: subset
1149 type(transHerm_type), intent(in) :: operation
1150 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1151 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1152 real(CKG) , intent(out) :: detSqrt
1153 integer(IK) , intent(out) :: info
1154 end subroutine
1155#endif
1156
1157#if CK4_ENABLED
1158 PURE module subroutine setMatDetSqrt_UXD_OTH_CK4(mat, subset, detSqrt, info, chol, operation)
1159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1160 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_CK4
1161#endif
1162 use pm_kind, only: CKG => CK4
1163 type(uppDia_type) , intent(in) :: subset
1164 type(transHerm_type), intent(in) :: operation
1165 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1166 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1167 real(CKG) , intent(out) :: detSqrt
1168 integer(IK) , intent(out) :: info
1169 end subroutine
1170#endif
1171
1172#if CK3_ENABLED
1173 PURE module subroutine setMatDetSqrt_UXD_OTH_CK3(mat, subset, detSqrt, info, chol, operation)
1174#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1175 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_CK3
1176#endif
1177 use pm_kind, only: CKG => CK3
1178 type(uppDia_type) , intent(in) :: subset
1179 type(transHerm_type), intent(in) :: operation
1180 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1181 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1182 real(CKG) , intent(out) :: detSqrt
1183 integer(IK) , intent(out) :: info
1184 end subroutine
1185#endif
1186
1187#if CK2_ENABLED
1188 PURE module subroutine setMatDetSqrt_UXD_OTH_CK2(mat, subset, detSqrt, info, chol, operation)
1189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1190 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_CK2
1191#endif
1192 use pm_kind, only: CKG => CK2
1193 type(uppDia_type) , intent(in) :: subset
1194 type(transHerm_type), intent(in) :: operation
1195 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1196 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1197 real(CKG) , intent(out) :: detSqrt
1198 integer(IK) , intent(out) :: info
1199 end subroutine
1200#endif
1201
1202#if CK1_ENABLED
1203 PURE module subroutine setMatDetSqrt_UXD_OTH_CK1(mat, subset, detSqrt, info, chol, operation)
1204#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1205 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_CK1
1206#endif
1207 use pm_kind, only: CKG => CK1
1208 type(uppDia_type) , intent(in) :: subset
1209 type(transHerm_type), intent(in) :: operation
1210 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1211 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1212 real(CKG) , intent(out) :: detSqrt
1213 integer(IK) , intent(out) :: info
1214 end subroutine
1215#endif
1216
1217 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1218
1219#if RK5_ENABLED
1220 PURE module subroutine setMatDetSqrt_UXD_OTH_RK5(mat, subset, detSqrt, info, chol, operation)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_RK5
1223#endif
1224 use pm_kind, only: RKG => RK5
1225 type(uppDia_type) , intent(in) :: subset
1226 type(transHerm_type), intent(in) :: operation
1227 real(RKG) , intent(in) , contiguous :: mat(:,:)
1228 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1229 real(RKG) , intent(out) :: detSqrt
1230 integer(IK) , intent(out) :: info
1231 end subroutine
1232#endif
1233
1234#if RK4_ENABLED
1235 PURE module subroutine setMatDetSqrt_UXD_OTH_RK4(mat, subset, detSqrt, info, chol, operation)
1236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1237 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_RK4
1238#endif
1239 use pm_kind, only: RKG => RK4
1240 type(uppDia_type) , intent(in) :: subset
1241 type(transHerm_type), intent(in) :: operation
1242 real(RKG) , intent(in) , contiguous :: mat(:,:)
1243 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1244 real(RKG) , intent(out) :: detSqrt
1245 integer(IK) , intent(out) :: info
1246 end subroutine
1247#endif
1248
1249#if RK3_ENABLED
1250 PURE module subroutine setMatDetSqrt_UXD_OTH_RK3(mat, subset, detSqrt, info, chol, operation)
1251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1252 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_RK3
1253#endif
1254 use pm_kind, only: RKG => RK3
1255 type(uppDia_type) , intent(in) :: subset
1256 type(transHerm_type), intent(in) :: operation
1257 real(RKG) , intent(in) , contiguous :: mat(:,:)
1258 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1259 real(RKG) , intent(out) :: detSqrt
1260 integer(IK) , intent(out) :: info
1261 end subroutine
1262#endif
1263
1264#if RK2_ENABLED
1265 PURE module subroutine setMatDetSqrt_UXD_OTH_RK2(mat, subset, detSqrt, info, chol, operation)
1266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1267 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_RK2
1268#endif
1269 use pm_kind, only: RKG => RK2
1270 type(uppDia_type) , intent(in) :: subset
1271 type(transHerm_type), intent(in) :: operation
1272 real(RKG) , intent(in) , contiguous :: mat(:,:)
1273 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1274 real(RKG) , intent(out) :: detSqrt
1275 integer(IK) , intent(out) :: info
1276 end subroutine
1277#endif
1278
1279#if RK1_ENABLED
1280 PURE module subroutine setMatDetSqrt_UXD_OTH_RK1(mat, subset, detSqrt, info, chol, operation)
1281#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1282 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_UXD_OTH_RK1
1283#endif
1284 use pm_kind, only: RKG => RK1
1285 type(uppDia_type) , intent(in) :: subset
1286 type(transHerm_type), intent(in) :: operation
1287 real(RKG) , intent(in) , contiguous :: mat(:,:)
1288 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1289 real(RKG) , intent(out) :: detSqrt
1290 integer(IK) , intent(out) :: info
1291 end subroutine
1292#endif
1293
1294 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1295
1296#if CK5_ENABLED
1297 PURE module subroutine setMatDetSqrt_XLD_OTH_CK5(mat, subset, detSqrt, info, chol, operation)
1298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1299 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_CK5
1300#endif
1301 use pm_kind, only: CKG => CK5
1302 type(lowDia_type) , intent(in) :: subset
1303 type(transHerm_type), intent(in) :: operation
1304 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1305 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1306 real(CKG) , intent(out) :: detSqrt
1307 integer(IK) , intent(out) :: info
1308 end subroutine
1309#endif
1310
1311#if CK4_ENABLED
1312 PURE module subroutine setMatDetSqrt_XLD_OTH_CK4(mat, subset, detSqrt, info, chol, operation)
1313#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1314 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_CK4
1315#endif
1316 use pm_kind, only: CKG => CK4
1317 type(lowDia_type) , intent(in) :: subset
1318 type(transHerm_type), intent(in) :: operation
1319 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1320 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1321 real(CKG) , intent(out) :: detSqrt
1322 integer(IK) , intent(out) :: info
1323 end subroutine
1324#endif
1325
1326#if CK3_ENABLED
1327 PURE module subroutine setMatDetSqrt_XLD_OTH_CK3(mat, subset, detSqrt, info, chol, operation)
1328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1329 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_CK3
1330#endif
1331 use pm_kind, only: CKG => CK3
1332 type(lowDia_type) , intent(in) :: subset
1333 type(transHerm_type), intent(in) :: operation
1334 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1335 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1336 real(CKG) , intent(out) :: detSqrt
1337 integer(IK) , intent(out) :: info
1338 end subroutine
1339#endif
1340
1341#if CK2_ENABLED
1342 PURE module subroutine setMatDetSqrt_XLD_OTH_CK2(mat, subset, detSqrt, info, chol, operation)
1343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1344 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_CK2
1345#endif
1346 use pm_kind, only: CKG => CK2
1347 type(lowDia_type) , intent(in) :: subset
1348 type(transHerm_type), intent(in) :: operation
1349 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1350 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1351 real(CKG) , intent(out) :: detSqrt
1352 integer(IK) , intent(out) :: info
1353 end subroutine
1354#endif
1355
1356#if CK1_ENABLED
1357 PURE module subroutine setMatDetSqrt_XLD_OTH_CK1(mat, subset, detSqrt, info, chol, operation)
1358#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1359 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_CK1
1360#endif
1361 use pm_kind, only: CKG => CK1
1362 type(lowDia_type) , intent(in) :: subset
1363 type(transHerm_type), intent(in) :: operation
1364 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1365 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1366 real(CKG) , intent(out) :: detSqrt
1367 integer(IK) , intent(out) :: info
1368 end subroutine
1369#endif
1370
1371 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1372
1373#if RK5_ENABLED
1374 PURE module subroutine setMatDetSqrt_XLD_OTH_RK5(mat, subset, detSqrt, info, chol, operation)
1375#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1376 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_RK5
1377#endif
1378 use pm_kind, only: RKG => RK5
1379 type(lowDia_type) , intent(in) :: subset
1380 type(transHerm_type), intent(in) :: operation
1381 real(RKG) , intent(in) , contiguous :: mat(:,:)
1382 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1383 real(RKG) , intent(out) :: detSqrt
1384 integer(IK) , intent(out) :: info
1385 end subroutine
1386#endif
1387
1388#if RK4_ENABLED
1389 PURE module subroutine setMatDetSqrt_XLD_OTH_RK4(mat, subset, detSqrt, info, chol, operation)
1390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1391 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_RK4
1392#endif
1393 use pm_kind, only: RKG => RK4
1394 type(lowDia_type) , intent(in) :: subset
1395 type(transHerm_type), intent(in) :: operation
1396 real(RKG) , intent(in) , contiguous :: mat(:,:)
1397 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1398 real(RKG) , intent(out) :: detSqrt
1399 integer(IK) , intent(out) :: info
1400 end subroutine
1401#endif
1402
1403#if RK3_ENABLED
1404 PURE module subroutine setMatDetSqrt_XLD_OTH_RK3(mat, subset, detSqrt, info, chol, operation)
1405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1406 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_RK3
1407#endif
1408 use pm_kind, only: RKG => RK3
1409 type(lowDia_type) , intent(in) :: subset
1410 type(transHerm_type), intent(in) :: operation
1411 real(RKG) , intent(in) , contiguous :: mat(:,:)
1412 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1413 real(RKG) , intent(out) :: detSqrt
1414 integer(IK) , intent(out) :: info
1415 end subroutine
1416#endif
1417
1418#if RK2_ENABLED
1419 PURE module subroutine setMatDetSqrt_XLD_OTH_RK2(mat, subset, detSqrt, info, chol, operation)
1420#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1421 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_RK2
1422#endif
1423 use pm_kind, only: RKG => RK2
1424 type(lowDia_type) , intent(in) :: subset
1425 type(transHerm_type), intent(in) :: operation
1426 real(RKG) , intent(in) , contiguous :: mat(:,:)
1427 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1428 real(RKG) , intent(out) :: detSqrt
1429 integer(IK) , intent(out) :: info
1430 end subroutine
1431#endif
1432
1433#if RK1_ENABLED
1434 PURE module subroutine setMatDetSqrt_XLD_OTH_RK1(mat, subset, detSqrt, info, chol, operation)
1435#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1436 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrt_XLD_OTH_RK1
1437#endif
1438 use pm_kind, only: RKG => RK1
1439 type(lowDia_type) , intent(in) :: subset
1440 type(transHerm_type), intent(in) :: operation
1441 real(RKG) , intent(in) , contiguous :: mat(:,:)
1442 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1443 real(RKG) , intent(out) :: detSqrt
1444 integer(IK) , intent(out) :: info
1445 end subroutine
1446#endif
1447
1448 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1449
1450 end interface
1451
1452!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1453
1524
1526
1527 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1528
1529#if CK5_ENABLED
1530 PURE module function getMatDetSqrtLog_CK5(mat, subset) result(detSqrtLog)
1531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1532 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_CK5
1533#endif
1534 use pm_kind, only: CKG => CK5
1535 class(subset_type) , intent(in), optional :: subset
1536 complex(CKG) , intent(in), contiguous :: mat(:,:)
1537 real(CKG) :: detSqrtLog
1538 end function
1539#endif
1540
1541#if CK4_ENABLED
1542 PURE module function getMatDetSqrtLog_CK4(mat, subset) result(detSqrtLog)
1543#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1544 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_CK4
1545#endif
1546 use pm_kind, only: CKG => CK4
1547 class(subset_type) , intent(in), optional :: subset
1548 complex(CKG) , intent(in), contiguous :: mat(:,:)
1549 real(CKG) :: detSqrtLog
1550 end function
1551#endif
1552
1553#if CK3_ENABLED
1554 PURE module function getMatDetSqrtLog_CK3(mat, subset) result(detSqrtLog)
1555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1556 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_CK3
1557#endif
1558 use pm_kind, only: CKG => CK3
1559 class(subset_type) , intent(in), optional :: subset
1560 complex(CKG) , intent(in), contiguous :: mat(:,:)
1561 real(CKG) :: detSqrtLog
1562 end function
1563#endif
1564
1565#if CK2_ENABLED
1566 PURE module function getMatDetSqrtLog_CK2(mat, subset) result(detSqrtLog)
1567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1568 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_CK2
1569#endif
1570 use pm_kind, only: CKG => CK2
1571 class(subset_type) , intent(in), optional :: subset
1572 complex(CKG) , intent(in), contiguous :: mat(:,:)
1573 real(CKG) :: detSqrtLog
1574 end function
1575#endif
1576
1577#if CK1_ENABLED
1578 PURE module function getMatDetSqrtLog_CK1(mat, subset) result(detSqrtLog)
1579#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1580 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_CK1
1581#endif
1582 use pm_kind, only: CKG => CK1
1583 class(subset_type) , intent(in), optional :: subset
1584 complex(CKG) , intent(in), contiguous :: mat(:,:)
1585 real(CKG) :: detSqrtLog
1586 end function
1587#endif
1588
1589 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1590
1591#if RK5_ENABLED
1592 PURE module function getMatDetSqrtLog_RK5(mat, subset) result(detSqrtLog)
1593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1594 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_RK5
1595#endif
1596 use pm_kind, only: RKG => RK5
1597 class(subset_type) , intent(in), optional :: subset
1598 real(RKG) , intent(in), contiguous :: mat(:,:)
1599 real(RKG) :: detSqrtLog
1600 end function
1601#endif
1602
1603#if RK4_ENABLED
1604 PURE module function getMatDetSqrtLog_RK4(mat, subset) result(detSqrtLog)
1605#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1606 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_RK4
1607#endif
1608 use pm_kind, only: RKG => RK4
1609 class(subset_type) , intent(in), optional :: subset
1610 real(RKG) , intent(in), contiguous :: mat(:,:)
1611 real(RKG) :: detSqrtLog
1612 end function
1613#endif
1614
1615#if RK3_ENABLED
1616 PURE module function getMatDetSqrtLog_RK3(mat, subset) result(detSqrtLog)
1617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1618 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_RK3
1619#endif
1620 use pm_kind, only: RKG => RK3
1621 class(subset_type) , intent(in), optional :: subset
1622 real(RKG) , intent(in), contiguous :: mat(:,:)
1623 real(RKG) :: detSqrtLog
1624 end function
1625#endif
1626
1627#if RK2_ENABLED
1628 PURE module function getMatDetSqrtLog_RK2(mat, subset) result(detSqrtLog)
1629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1630 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_RK2
1631#endif
1632 use pm_kind, only: RKG => RK2
1633 class(subset_type) , intent(in), optional :: subset
1634 real(RKG) , intent(in), contiguous :: mat(:,:)
1635 real(RKG) :: detSqrtLog
1636 end function
1637#endif
1638
1639#if RK1_ENABLED
1640 PURE module function getMatDetSqrtLog_RK1(mat, subset) result(detSqrtLog)
1641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1642 !DEC$ ATTRIBUTES DLLEXPORT :: getMatDetSqrtLog_RK1
1643#endif
1644 use pm_kind, only: RKG => RK1
1645 class(subset_type) , intent(in), optional :: subset
1646 real(RKG) , intent(in), contiguous :: mat(:,:)
1647 real(RKG) :: detSqrtLog
1648 end function
1649#endif
1650
1651 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1652
1653 end interface
1654
1655!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1656
1744
1745 ! nothing
1746
1748
1749 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1750
1751#if CK5_ENABLED
1752 PURE module subroutine setMatDetSqrtLog_UXD_ONO_CK5(mat, subset, detSqrtLog, info, chol, operation)
1753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1754 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_CK5
1755#endif
1756 use pm_kind, only: CKG => CK5
1757 type(uppDia_type) , intent(in) :: subset
1758 type(nothing_type) , intent(in) :: operation
1759 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1760 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1761 real(CKG) , intent(out) :: detSqrtLog
1762 integer(IK) , intent(out) :: info
1763 end subroutine
1764#endif
1765
1766#if CK4_ENABLED
1767 PURE module subroutine setMatDetSqrtLog_UXD_ONO_CK4(mat, subset, detSqrtLog, info, chol, operation)
1768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1769 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_CK4
1770#endif
1771 use pm_kind, only: CKG => CK4
1772 type(uppDia_type) , intent(in) :: subset
1773 type(nothing_type) , intent(in) :: operation
1774 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1775 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1776 real(CKG) , intent(out) :: detSqrtLog
1777 integer(IK) , intent(out) :: info
1778 end subroutine
1779#endif
1780
1781#if CK3_ENABLED
1782 PURE module subroutine setMatDetSqrtLog_UXD_ONO_CK3(mat, subset, detSqrtLog, info, chol, operation)
1783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1784 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_CK3
1785#endif
1786 use pm_kind, only: CKG => CK3
1787 type(uppDia_type) , intent(in) :: subset
1788 type(nothing_type) , intent(in) :: operation
1789 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1790 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1791 real(CKG) , intent(out) :: detSqrtLog
1792 integer(IK) , intent(out) :: info
1793 end subroutine
1794#endif
1795
1796#if CK2_ENABLED
1797 PURE module subroutine setMatDetSqrtLog_UXD_ONO_CK2(mat, subset, detSqrtLog, info, chol, operation)
1798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_CK2
1800#endif
1801 use pm_kind, only: CKG => CK2
1802 type(uppDia_type) , intent(in) :: subset
1803 type(nothing_type) , intent(in) :: operation
1804 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1805 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1806 real(CKG) , intent(out) :: detSqrtLog
1807 integer(IK) , intent(out) :: info
1808 end subroutine
1809#endif
1810
1811#if CK1_ENABLED
1812 PURE module subroutine setMatDetSqrtLog_UXD_ONO_CK1(mat, subset, detSqrtLog, info, chol, operation)
1813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1814 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_CK1
1815#endif
1816 use pm_kind, only: CKG => CK1
1817 type(uppDia_type) , intent(in) :: subset
1818 type(nothing_type) , intent(in) :: operation
1819 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1820 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1821 real(CKG) , intent(out) :: detSqrtLog
1822 integer(IK) , intent(out) :: info
1823 end subroutine
1824#endif
1825
1826 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1827
1828#if RK5_ENABLED
1829 PURE module subroutine setMatDetSqrtLog_UXD_ONO_RK5(mat, subset, detSqrtLog, info, chol, operation)
1830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1831 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_RK5
1832#endif
1833 use pm_kind, only: RKG => RK5
1834 type(uppDia_type) , intent(in) :: subset
1835 type(nothing_type) , intent(in) :: operation
1836 real(RKG) , intent(in) , contiguous :: mat(:,:)
1837 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1838 real(RKG) , intent(out) :: detSqrtLog
1839 integer(IK) , intent(out) :: info
1840 end subroutine
1841#endif
1842
1843#if RK4_ENABLED
1844 PURE module subroutine setMatDetSqrtLog_UXD_ONO_RK4(mat, subset, detSqrtLog, info, chol, operation)
1845#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1846 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_RK4
1847#endif
1848 use pm_kind, only: RKG => RK4
1849 type(uppDia_type) , intent(in) :: subset
1850 type(nothing_type) , intent(in) :: operation
1851 real(RKG) , intent(in) , contiguous :: mat(:,:)
1852 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1853 real(RKG) , intent(out) :: detSqrtLog
1854 integer(IK) , intent(out) :: info
1855 end subroutine
1856#endif
1857
1858#if RK3_ENABLED
1859 PURE module subroutine setMatDetSqrtLog_UXD_ONO_RK3(mat, subset, detSqrtLog, info, chol, operation)
1860#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1861 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_RK3
1862#endif
1863 use pm_kind, only: RKG => RK3
1864 type(uppDia_type) , intent(in) :: subset
1865 type(nothing_type) , intent(in) :: operation
1866 real(RKG) , intent(in) , contiguous :: mat(:,:)
1867 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1868 real(RKG) , intent(out) :: detSqrtLog
1869 integer(IK) , intent(out) :: info
1870 end subroutine
1871#endif
1872
1873#if RK2_ENABLED
1874 PURE module subroutine setMatDetSqrtLog_UXD_ONO_RK2(mat, subset, detSqrtLog, info, chol, operation)
1875#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1876 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_RK2
1877#endif
1878 use pm_kind, only: RKG => RK2
1879 type(uppDia_type) , intent(in) :: subset
1880 type(nothing_type) , intent(in) :: operation
1881 real(RKG) , intent(in) , contiguous :: mat(:,:)
1882 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1883 real(RKG) , intent(out) :: detSqrtLog
1884 integer(IK) , intent(out) :: info
1885 end subroutine
1886#endif
1887
1888#if RK1_ENABLED
1889 PURE module subroutine setMatDetSqrtLog_UXD_ONO_RK1(mat, subset, detSqrtLog, info, chol, operation)
1890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1891 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_ONO_RK1
1892#endif
1893 use pm_kind, only: RKG => RK1
1894 type(uppDia_type) , intent(in) :: subset
1895 type(nothing_type) , intent(in) :: operation
1896 real(RKG) , intent(in) , contiguous :: mat(:,:)
1897 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1898 real(RKG) , intent(out) :: detSqrtLog
1899 integer(IK) , intent(out) :: info
1900 end subroutine
1901#endif
1902
1903 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1904
1905#if CK5_ENABLED
1906 PURE module subroutine setMatDetSqrtLog_XLD_ONO_CK5(mat, subset, detSqrtLog, info, chol, operation)
1907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1908 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_CK5
1909#endif
1910 use pm_kind, only: CKG => CK5
1911 type(lowDia_type) , intent(in) :: subset
1912 type(nothing_type) , intent(in) :: operation
1913 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1914 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1915 real(CKG) , intent(out) :: detSqrtLog
1916 integer(IK) , intent(out) :: info
1917 end subroutine
1918#endif
1919
1920#if CK4_ENABLED
1921 PURE module subroutine setMatDetSqrtLog_XLD_ONO_CK4(mat, subset, detSqrtLog, info, chol, operation)
1922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1923 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_CK4
1924#endif
1925 use pm_kind, only: CKG => CK4
1926 type(lowDia_type) , intent(in) :: subset
1927 type(nothing_type) , intent(in) :: operation
1928 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1929 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1930 real(CKG) , intent(out) :: detSqrtLog
1931 integer(IK) , intent(out) :: info
1932 end subroutine
1933#endif
1934
1935#if CK3_ENABLED
1936 PURE module subroutine setMatDetSqrtLog_XLD_ONO_CK3(mat, subset, detSqrtLog, info, chol, operation)
1937#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1938 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_CK3
1939#endif
1940 use pm_kind, only: CKG => CK3
1941 type(lowDia_type) , intent(in) :: subset
1942 type(nothing_type) , intent(in) :: operation
1943 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1944 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1945 real(CKG) , intent(out) :: detSqrtLog
1946 integer(IK) , intent(out) :: info
1947 end subroutine
1948#endif
1949
1950#if CK2_ENABLED
1951 PURE module subroutine setMatDetSqrtLog_XLD_ONO_CK2(mat, subset, detSqrtLog, info, chol, operation)
1952#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1953 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_CK2
1954#endif
1955 use pm_kind, only: CKG => CK2
1956 type(lowDia_type) , intent(in) :: subset
1957 type(nothing_type) , intent(in) :: operation
1958 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1959 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1960 real(CKG) , intent(out) :: detSqrtLog
1961 integer(IK) , intent(out) :: info
1962 end subroutine
1963#endif
1964
1965#if CK1_ENABLED
1966 PURE module subroutine setMatDetSqrtLog_XLD_ONO_CK1(mat, subset, detSqrtLog, info, chol, operation)
1967#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1968 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_CK1
1969#endif
1970 use pm_kind, only: CKG => CK1
1971 type(lowDia_type) , intent(in) :: subset
1972 type(nothing_type) , intent(in) :: operation
1973 complex(CKG) , intent(in) , contiguous :: mat(:,:)
1974 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
1975 real(CKG) , intent(out) :: detSqrtLog
1976 integer(IK) , intent(out) :: info
1977 end subroutine
1978#endif
1979
1980 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1981
1982#if RK5_ENABLED
1983 PURE module subroutine setMatDetSqrtLog_XLD_ONO_RK5(mat, subset, detSqrtLog, info, chol, operation)
1984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1985 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_RK5
1986#endif
1987 use pm_kind, only: RKG => RK5
1988 type(lowDia_type) , intent(in) :: subset
1989 type(nothing_type) , intent(in) :: operation
1990 real(RKG) , intent(in) , contiguous :: mat(:,:)
1991 real(RKG) , intent(inout) , contiguous :: chol(:,:)
1992 real(RKG) , intent(out) :: detSqrtLog
1993 integer(IK) , intent(out) :: info
1994 end subroutine
1995#endif
1996
1997#if RK4_ENABLED
1998 PURE module subroutine setMatDetSqrtLog_XLD_ONO_RK4(mat, subset, detSqrtLog, info, chol, operation)
1999#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2000 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_RK4
2001#endif
2002 use pm_kind, only: RKG => RK4
2003 type(lowDia_type) , intent(in) :: subset
2004 type(nothing_type) , intent(in) :: operation
2005 real(RKG) , intent(in) , contiguous :: mat(:,:)
2006 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2007 real(RKG) , intent(out) :: detSqrtLog
2008 integer(IK) , intent(out) :: info
2009 end subroutine
2010#endif
2011
2012#if RK3_ENABLED
2013 PURE module subroutine setMatDetSqrtLog_XLD_ONO_RK3(mat, subset, detSqrtLog, info, chol, operation)
2014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2015 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_RK3
2016#endif
2017 use pm_kind, only: RKG => RK3
2018 type(lowDia_type) , intent(in) :: subset
2019 type(nothing_type) , intent(in) :: operation
2020 real(RKG) , intent(in) , contiguous :: mat(:,:)
2021 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2022 real(RKG) , intent(out) :: detSqrtLog
2023 integer(IK) , intent(out) :: info
2024 end subroutine
2025#endif
2026
2027#if RK2_ENABLED
2028 PURE module subroutine setMatDetSqrtLog_XLD_ONO_RK2(mat, subset, detSqrtLog, info, chol, operation)
2029#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2030 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_RK2
2031#endif
2032 use pm_kind, only: RKG => RK2
2033 type(lowDia_type) , intent(in) :: subset
2034 type(nothing_type) , intent(in) :: operation
2035 real(RKG) , intent(in) , contiguous :: mat(:,:)
2036 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2037 real(RKG) , intent(out) :: detSqrtLog
2038 integer(IK) , intent(out) :: info
2039 end subroutine
2040#endif
2041
2042#if RK1_ENABLED
2043 PURE module subroutine setMatDetSqrtLog_XLD_ONO_RK1(mat, subset, detSqrtLog, info, chol, operation)
2044#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2045 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_ONO_RK1
2046#endif
2047 use pm_kind, only: RKG => RK1
2048 type(lowDia_type) , intent(in) :: subset
2049 type(nothing_type) , intent(in) :: operation
2050 real(RKG) , intent(in) , contiguous :: mat(:,:)
2051 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2052 real(RKG) , intent(out) :: detSqrtLog
2053 integer(IK) , intent(out) :: info
2054 end subroutine
2055#endif
2056
2057 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058
2059 end interface
2060
2061 ! transHerm
2062
2063 interface setMatDetSqrtLog
2064
2065 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2066
2067#if CK5_ENABLED
2068 PURE module subroutine setMatDetSqrtLog_UXD_OTH_CK5(mat, subset, detSqrtLog, info, chol, operation)
2069#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2070 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_CK5
2071#endif
2072 use pm_kind, only: CKG => CK5
2073 type(uppDia_type) , intent(in) :: subset
2074 type(transHerm_type), intent(in) :: operation
2075 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2076 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2077 real(CKG) , intent(out) :: detSqrtLog
2078 integer(IK) , intent(out) :: info
2079 end subroutine
2080#endif
2081
2082#if CK4_ENABLED
2083 PURE module subroutine setMatDetSqrtLog_UXD_OTH_CK4(mat, subset, detSqrtLog, info, chol, operation)
2084#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2085 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_CK4
2086#endif
2087 use pm_kind, only: CKG => CK4
2088 type(uppDia_type) , intent(in) :: subset
2089 type(transHerm_type), intent(in) :: operation
2090 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2091 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2092 real(CKG) , intent(out) :: detSqrtLog
2093 integer(IK) , intent(out) :: info
2094 end subroutine
2095#endif
2096
2097#if CK3_ENABLED
2098 PURE module subroutine setMatDetSqrtLog_UXD_OTH_CK3(mat, subset, detSqrtLog, info, chol, operation)
2099#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2100 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_CK3
2101#endif
2102 use pm_kind, only: CKG => CK3
2103 type(uppDia_type) , intent(in) :: subset
2104 type(transHerm_type), intent(in) :: operation
2105 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2106 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2107 real(CKG) , intent(out) :: detSqrtLog
2108 integer(IK) , intent(out) :: info
2109 end subroutine
2110#endif
2111
2112#if CK2_ENABLED
2113 PURE module subroutine setMatDetSqrtLog_UXD_OTH_CK2(mat, subset, detSqrtLog, info, chol, operation)
2114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2115 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_CK2
2116#endif
2117 use pm_kind, only: CKG => CK2
2118 type(uppDia_type) , intent(in) :: subset
2119 type(transHerm_type), intent(in) :: operation
2120 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2121 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2122 real(CKG) , intent(out) :: detSqrtLog
2123 integer(IK) , intent(out) :: info
2124 end subroutine
2125#endif
2126
2127#if CK1_ENABLED
2128 PURE module subroutine setMatDetSqrtLog_UXD_OTH_CK1(mat, subset, detSqrtLog, info, chol, operation)
2129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2130 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_CK1
2131#endif
2132 use pm_kind, only: CKG => CK1
2133 type(uppDia_type) , intent(in) :: subset
2134 type(transHerm_type), intent(in) :: operation
2135 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2136 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2137 real(CKG) , intent(out) :: detSqrtLog
2138 integer(IK) , intent(out) :: info
2139 end subroutine
2140#endif
2141
2142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2143
2144#if RK5_ENABLED
2145 PURE module subroutine setMatDetSqrtLog_UXD_OTH_RK5(mat, subset, detSqrtLog, info, chol, operation)
2146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2147 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_RK5
2148#endif
2149 use pm_kind, only: RKG => RK5
2150 type(uppDia_type) , intent(in) :: subset
2151 type(transHerm_type), intent(in) :: operation
2152 real(RKG) , intent(in) , contiguous :: mat(:,:)
2153 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2154 real(RKG) , intent(out) :: detSqrtLog
2155 integer(IK) , intent(out) :: info
2156 end subroutine
2157#endif
2158
2159#if RK4_ENABLED
2160 PURE module subroutine setMatDetSqrtLog_UXD_OTH_RK4(mat, subset, detSqrtLog, info, chol, operation)
2161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2162 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_RK4
2163#endif
2164 use pm_kind, only: RKG => RK4
2165 type(uppDia_type) , intent(in) :: subset
2166 type(transHerm_type), intent(in) :: operation
2167 real(RKG) , intent(in) , contiguous :: mat(:,:)
2168 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2169 real(RKG) , intent(out) :: detSqrtLog
2170 integer(IK) , intent(out) :: info
2171 end subroutine
2172#endif
2173
2174#if RK3_ENABLED
2175 PURE module subroutine setMatDetSqrtLog_UXD_OTH_RK3(mat, subset, detSqrtLog, info, chol, operation)
2176#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2177 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_RK3
2178#endif
2179 use pm_kind, only: RKG => RK3
2180 type(uppDia_type) , intent(in) :: subset
2181 type(transHerm_type), intent(in) :: operation
2182 real(RKG) , intent(in) , contiguous :: mat(:,:)
2183 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2184 real(RKG) , intent(out) :: detSqrtLog
2185 integer(IK) , intent(out) :: info
2186 end subroutine
2187#endif
2188
2189#if RK2_ENABLED
2190 PURE module subroutine setMatDetSqrtLog_UXD_OTH_RK2(mat, subset, detSqrtLog, info, chol, operation)
2191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2192 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_RK2
2193#endif
2194 use pm_kind, only: RKG => RK2
2195 type(uppDia_type) , intent(in) :: subset
2196 type(transHerm_type), intent(in) :: operation
2197 real(RKG) , intent(in) , contiguous :: mat(:,:)
2198 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2199 real(RKG) , intent(out) :: detSqrtLog
2200 integer(IK) , intent(out) :: info
2201 end subroutine
2202#endif
2203
2204#if RK1_ENABLED
2205 PURE module subroutine setMatDetSqrtLog_UXD_OTH_RK1(mat, subset, detSqrtLog, info, chol, operation)
2206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2207 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_UXD_OTH_RK1
2208#endif
2209 use pm_kind, only: RKG => RK1
2210 type(uppDia_type) , intent(in) :: subset
2211 type(transHerm_type), intent(in) :: operation
2212 real(RKG) , intent(in) , contiguous :: mat(:,:)
2213 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2214 real(RKG) , intent(out) :: detSqrtLog
2215 integer(IK) , intent(out) :: info
2216 end subroutine
2217#endif
2218
2219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2220
2221#if CK5_ENABLED
2222 PURE module subroutine setMatDetSqrtLog_XLD_OTH_CK5(mat, subset, detSqrtLog, info, chol, operation)
2223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2224 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_CK5
2225#endif
2226 use pm_kind, only: CKG => CK5
2227 type(lowDia_type) , intent(in) :: subset
2228 type(transHerm_type), intent(in) :: operation
2229 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2230 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2231 real(CKG) , intent(out) :: detSqrtLog
2232 integer(IK) , intent(out) :: info
2233 end subroutine
2234#endif
2235
2236#if CK4_ENABLED
2237 PURE module subroutine setMatDetSqrtLog_XLD_OTH_CK4(mat, subset, detSqrtLog, info, chol, operation)
2238#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2239 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_CK4
2240#endif
2241 use pm_kind, only: CKG => CK4
2242 type(lowDia_type) , intent(in) :: subset
2243 type(transHerm_type), intent(in) :: operation
2244 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2245 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2246 real(CKG) , intent(out) :: detSqrtLog
2247 integer(IK) , intent(out) :: info
2248 end subroutine
2249#endif
2250
2251#if CK3_ENABLED
2252 PURE module subroutine setMatDetSqrtLog_XLD_OTH_CK3(mat, subset, detSqrtLog, info, chol, operation)
2253#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2254 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_CK3
2255#endif
2256 use pm_kind, only: CKG => CK3
2257 type(lowDia_type) , intent(in) :: subset
2258 type(transHerm_type), intent(in) :: operation
2259 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2260 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2261 real(CKG) , intent(out) :: detSqrtLog
2262 integer(IK) , intent(out) :: info
2263 end subroutine
2264#endif
2265
2266#if CK2_ENABLED
2267 PURE module subroutine setMatDetSqrtLog_XLD_OTH_CK2(mat, subset, detSqrtLog, info, chol, operation)
2268#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2269 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_CK2
2270#endif
2271 use pm_kind, only: CKG => CK2
2272 type(lowDia_type) , intent(in) :: subset
2273 type(transHerm_type), intent(in) :: operation
2274 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2275 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2276 real(CKG) , intent(out) :: detSqrtLog
2277 integer(IK) , intent(out) :: info
2278 end subroutine
2279#endif
2280
2281#if CK1_ENABLED
2282 PURE module subroutine setMatDetSqrtLog_XLD_OTH_CK1(mat, subset, detSqrtLog, info, chol, operation)
2283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2284 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_CK1
2285#endif
2286 use pm_kind, only: CKG => CK1
2287 type(lowDia_type) , intent(in) :: subset
2288 type(transHerm_type), intent(in) :: operation
2289 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2290 complex(CKG) , intent(inout) , contiguous :: chol(:,:)
2291 real(CKG) , intent(out) :: detSqrtLog
2292 integer(IK) , intent(out) :: info
2293 end subroutine
2294#endif
2295
2296 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2297
2298#if RK5_ENABLED
2299 PURE module subroutine setMatDetSqrtLog_XLD_OTH_RK5(mat, subset, detSqrtLog, info, chol, operation)
2300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2301 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_RK5
2302#endif
2303 use pm_kind, only: RKG => RK5
2304 type(lowDia_type) , intent(in) :: subset
2305 type(transHerm_type), intent(in) :: operation
2306 real(RKG) , intent(in) , contiguous :: mat(:,:)
2307 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2308 real(RKG) , intent(out) :: detSqrtLog
2309 integer(IK) , intent(out) :: info
2310 end subroutine
2311#endif
2312
2313#if RK4_ENABLED
2314 PURE module subroutine setMatDetSqrtLog_XLD_OTH_RK4(mat, subset, detSqrtLog, info, chol, operation)
2315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2316 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_RK4
2317#endif
2318 use pm_kind, only: RKG => RK4
2319 type(lowDia_type) , intent(in) :: subset
2320 type(transHerm_type), intent(in) :: operation
2321 real(RKG) , intent(in) , contiguous :: mat(:,:)
2322 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2323 real(RKG) , intent(out) :: detSqrtLog
2324 integer(IK) , intent(out) :: info
2325 end subroutine
2326#endif
2327
2328#if RK3_ENABLED
2329 PURE module subroutine setMatDetSqrtLog_XLD_OTH_RK3(mat, subset, detSqrtLog, info, chol, operation)
2330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2331 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_RK3
2332#endif
2333 use pm_kind, only: RKG => RK3
2334 type(lowDia_type) , intent(in) :: subset
2335 type(transHerm_type), intent(in) :: operation
2336 real(RKG) , intent(in) , contiguous :: mat(:,:)
2337 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2338 real(RKG) , intent(out) :: detSqrtLog
2339 integer(IK) , intent(out) :: info
2340 end subroutine
2341#endif
2342
2343#if RK2_ENABLED
2344 PURE module subroutine setMatDetSqrtLog_XLD_OTH_RK2(mat, subset, detSqrtLog, info, chol, operation)
2345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2346 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_RK2
2347#endif
2348 use pm_kind, only: RKG => RK2
2349 type(lowDia_type) , intent(in) :: subset
2350 type(transHerm_type), intent(in) :: operation
2351 real(RKG) , intent(in) , contiguous :: mat(:,:)
2352 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2353 real(RKG) , intent(out) :: detSqrtLog
2354 integer(IK) , intent(out) :: info
2355 end subroutine
2356#endif
2357
2358#if RK1_ENABLED
2359 PURE module subroutine setMatDetSqrtLog_XLD_OTH_RK1(mat, subset, detSqrtLog, info, chol, operation)
2360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2361 !DEC$ ATTRIBUTES DLLEXPORT :: setMatDetSqrtLog_XLD_OTH_RK1
2362#endif
2363 use pm_kind, only: RKG => RK1
2364 type(lowDia_type) , intent(in) :: subset
2365 type(transHerm_type), intent(in) :: operation
2366 real(RKG) , intent(in) , contiguous :: mat(:,:)
2367 real(RKG) , intent(inout) , contiguous :: chol(:,:)
2368 real(RKG) , intent(out) :: detSqrtLog
2369 integer(IK) , intent(out) :: info
2370 end subroutine
2371#endif
2372
2373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2374
2375 end interface
2376
2377!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2378
2379end module pm_matrixDet ! LCOV_EXCL_LINE
Generate and return the natural logarithm of the square-root of the determinant of the input positive...
Generate and return the square-root of the determinant of the input positive-definite square matrix.
Generate and return the determinant of the input general square matrix.
Return the natural logarithm of the square-root of the determinant of the input positive-definite squ...
Return the determinant of the input positive-definite square matrix.
Return the determinant of the input square matrix.
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_array.F90:44
character(*, SK), parameter MODULE_NAME
Definition: pm_array.F90:50
type(nothing_type), parameter nothing
This is a scalar parameter object of type nothing_type that is exclusively used to request no action ...
Definition: pm_array.F90:167
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter CK2
Definition: pm_kind.F90:453
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 SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
This module contains procedures and generic interfaces relevant to the computation of the determinant...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
This module contains abstract and concrete derived types and procedures related to various common mat...
type(transHerm_type), parameter transHerm
This is a scalar parameter object of type transHerm_type that is exclusively used to request Hermitia...
This is a concrete derived type whose instances are exclusively used to request no action on a given ...
Definition: pm_array.F90:132
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request Hermitian (conjugate)...