https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_matrixDet@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 38 121 31.4 %
Date: 2024-04-08 03:18:57 Functions: 28 96 29.2 %
Legend: Lines: hit not hit

          Line data    Source code
       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             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_matrixDet](@ref pm_matrixDet).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Apr 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_matrixDet) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_matrixChol, only: setMatChol, iteration
      40             :     use pm_matrixCopy, only: setMatCopy, rdpack
      41             :     use pm_matrixLUP, only: setMatLUP
      42             :     implicit none
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : contains
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define getMatDet_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define CK_ENABLED 1
      55             : 
      56             : #if CK5_ENABLED
      57             :     module procedure getMatDet_CK5
      58             :         use pm_kind, only: TKC => CK5
      59             : #include "pm_matrixDet@routines.inc.F90"
      60             :     end procedure
      61             : #endif
      62             : 
      63             : #if CK4_ENABLED
      64          30 :     module procedure getMatDet_CK4
      65             :         use pm_kind, only: TKC => CK4
      66             : #include "pm_matrixDet@routines.inc.F90"
      67          30 :     end procedure
      68             : #endif
      69             : 
      70             : #if CK3_ENABLED
      71           0 :     module procedure getMatDet_CK3
      72             :         use pm_kind, only: TKC => CK3
      73             : #include "pm_matrixDet@routines.inc.F90"
      74           0 :     end procedure
      75             : #endif
      76             : 
      77             : #if CK2_ENABLED
      78          15 :     module procedure getMatDet_CK2
      79             :         use pm_kind, only: TKC => CK2
      80             : #include "pm_matrixDet@routines.inc.F90"
      81          15 :     end procedure
      82             : #endif
      83             : 
      84             : #if CK1_ENABLED
      85           0 :     module procedure getMatDet_CK1
      86             :         use pm_kind, only: TKC => CK1
      87             : #include "pm_matrixDet@routines.inc.F90"
      88           0 :     end procedure
      89             : #endif
      90             : 
      91             : #undef CK_ENABLED
      92             : 
      93             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      94             : 
      95             : #define RK_ENABLED 1
      96             : 
      97             : #if RK5_ENABLED
      98             :     module procedure getMatDet_RK5
      99             :         use pm_kind, only: TKC => RK5
     100             : #include "pm_matrixDet@routines.inc.F90"
     101             :     end procedure
     102             : #endif
     103             : 
     104             : #if RK4_ENABLED
     105          30 :     module procedure getMatDet_RK4
     106             :         use pm_kind, only: TKC => RK4
     107             : #include "pm_matrixDet@routines.inc.F90"
     108          30 :     end procedure
     109             : #endif
     110             : 
     111             : #if RK3_ENABLED
     112           0 :     module procedure getMatDet_RK3
     113             :         use pm_kind, only: TKC => RK3
     114             : #include "pm_matrixDet@routines.inc.F90"
     115           0 :     end procedure
     116             : #endif
     117             : 
     118             : #if RK2_ENABLED
     119           0 :     module procedure getMatDet_RK2
     120             :         use pm_kind, only: TKC => RK2
     121             : #include "pm_matrixDet@routines.inc.F90"
     122           0 :     end procedure
     123             : #endif
     124             : 
     125             : #if RK1_ENABLED
     126          55 :     module procedure getMatDet_RK1
     127             :         use pm_kind, only: TKC => RK1
     128             : #include "pm_matrixDet@routines.inc.F90"
     129          55 :     end procedure
     130             : #endif
     131             : 
     132             : #undef RK_ENABLED
     133             : 
     134             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     135             : 
     136             : #undef getMatDet_ENABLED
     137             : 
     138             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     139             : 
     140             : #define setMatDet_ENABLED 1
     141             : 
     142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     143             : 
     144             : #define CK_ENABLED 1
     145             : 
     146             : #if CK5_ENABLED
     147             :     module procedure setMatDet_CK5
     148             :         use pm_kind, only: TKC => CK5
     149             : #include "pm_matrixDet@routines.inc.F90"
     150             :     end procedure
     151             : #endif
     152             : 
     153             : #if CK4_ENABLED
     154          10 :     module procedure setMatDet_CK4
     155             :         use pm_kind, only: TKC => CK4
     156             : #include "pm_matrixDet@routines.inc.F90"
     157             :     end procedure
     158             : #endif
     159             : 
     160             : #if CK3_ENABLED
     161           0 :     module procedure setMatDet_CK3
     162             :         use pm_kind, only: TKC => CK3
     163             : #include "pm_matrixDet@routines.inc.F90"
     164             :     end procedure
     165             : #endif
     166             : 
     167             : #if CK2_ENABLED
     168           0 :     module procedure setMatDet_CK2
     169             :         use pm_kind, only: TKC => CK2
     170             : #include "pm_matrixDet@routines.inc.F90"
     171             :     end procedure
     172             : #endif
     173             : 
     174             : #if CK1_ENABLED
     175           0 :     module procedure setMatDet_CK1
     176             :         use pm_kind, only: TKC => CK1
     177             : #include "pm_matrixDet@routines.inc.F90"
     178             :     end procedure
     179             : #endif
     180             : 
     181             : #undef CK_ENABLED
     182             : 
     183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     184             : 
     185             : #define RK_ENABLED 1
     186             : 
     187             : #if RK5_ENABLED
     188             :     module procedure setMatDet_RK5
     189             :         use pm_kind, only: TKC => RK5
     190             : #include "pm_matrixDet@routines.inc.F90"
     191             :     end procedure
     192             : #endif
     193             : 
     194             : #if RK4_ENABLED
     195          10 :     module procedure setMatDet_RK4
     196             :         use pm_kind, only: TKC => RK4
     197             : #include "pm_matrixDet@routines.inc.F90"
     198             :     end procedure
     199             : #endif
     200             : 
     201             : #if RK3_ENABLED
     202           0 :     module procedure setMatDet_RK3
     203             :         use pm_kind, only: TKC => RK3
     204             : #include "pm_matrixDet@routines.inc.F90"
     205             :     end procedure
     206             : #endif
     207             : 
     208             : #if RK2_ENABLED
     209           0 :     module procedure setMatDet_RK2
     210             :         use pm_kind, only: TKC => RK2
     211             : #include "pm_matrixDet@routines.inc.F90"
     212             :     end procedure
     213             : #endif
     214             : 
     215             : #if RK1_ENABLED
     216           0 :     module procedure setMatDet_RK1
     217             :         use pm_kind, only: TKC => RK1
     218             : #include "pm_matrixDet@routines.inc.F90"
     219             :     end procedure
     220             : #endif
     221             : 
     222             : #undef RK_ENABLED
     223             : 
     224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     225             : 
     226             : #undef setMatDet_ENABLED
     227             : 
     228             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     229             : 
     230             : #define getMatDetSqrt_ENABLED 1
     231             : 
     232             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     233             : 
     234             : #define CK_ENABLED 1
     235             : 
     236             : #if CK5_ENABLED
     237             :     module procedure getMatDetSqrt_CK5
     238             :         use pm_kind, only: TKC => CK5
     239             : #include "pm_matrixDet@routines.inc.F90"
     240             :     end procedure
     241             : #endif
     242             : 
     243             : #if CK4_ENABLED
     244           0 :     module procedure getMatDetSqrt_CK4
     245             :         use pm_kind, only: TKC => CK4
     246             : #include "pm_matrixDet@routines.inc.F90"
     247           0 :     end procedure
     248             : #endif
     249             : 
     250             : #if CK3_ENABLED
     251           0 :     module procedure getMatDetSqrt_CK3
     252             :         use pm_kind, only: TKC => CK3
     253             : #include "pm_matrixDet@routines.inc.F90"
     254           0 :     end procedure
     255             : #endif
     256             : 
     257             : #if CK2_ENABLED
     258           0 :     module procedure getMatDetSqrt_CK2
     259             :         use pm_kind, only: TKC => CK2
     260             : #include "pm_matrixDet@routines.inc.F90"
     261           0 :     end procedure
     262             : #endif
     263             : 
     264             : #if CK1_ENABLED
     265           8 :     module procedure getMatDetSqrt_CK1
     266             :         use pm_kind, only: TKC => CK1
     267             : #include "pm_matrixDet@routines.inc.F90"
     268           8 :     end procedure
     269             : #endif
     270             : 
     271             : #undef CK_ENABLED
     272             : 
     273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     274             : 
     275             : #define RK_ENABLED 1
     276             : 
     277             : #if RK5_ENABLED
     278             :     module procedure getMatDetSqrt_RK5
     279             :         use pm_kind, only: TKC => RK5
     280             : #include "pm_matrixDet@routines.inc.F90"
     281             :     end procedure
     282             : #endif
     283             : 
     284             : #if RK4_ENABLED
     285           0 :     module procedure getMatDetSqrt_RK4
     286             :         use pm_kind, only: TKC => RK4
     287             : #include "pm_matrixDet@routines.inc.F90"
     288           0 :     end procedure
     289             : #endif
     290             : 
     291             : #if RK3_ENABLED
     292           0 :     module procedure getMatDetSqrt_RK3
     293             :         use pm_kind, only: TKC => RK3
     294             : #include "pm_matrixDet@routines.inc.F90"
     295           0 :     end procedure
     296             : #endif
     297             : 
     298             : #if RK2_ENABLED
     299           0 :     module procedure getMatDetSqrt_RK2
     300             :         use pm_kind, only: TKC => RK2
     301             : #include "pm_matrixDet@routines.inc.F90"
     302           0 :     end procedure
     303             : #endif
     304             : 
     305             : #if RK1_ENABLED
     306          40 :     module procedure getMatDetSqrt_RK1
     307             :         use pm_kind, only: TKC => RK1
     308             : #include "pm_matrixDet@routines.inc.F90"
     309          40 :     end procedure
     310             : #endif
     311             : 
     312             : #undef RK_ENABLED
     313             : 
     314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     315             : 
     316             : #undef getMatDetSqrt_ENABLED
     317             : 
     318             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             : 
     320             : #define setMatDetSqrt_ENABLED 1
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     325             : 
     326             : #define ONO_ENABLED 1
     327             : 
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     331             : 
     332             : #define UXD_ENABLED 1
     333             : 
     334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     335             : 
     336             : #define CK_ENABLED 1
     337             : 
     338             : #if CK5_ENABLED
     339             :     module procedure setMatDetSqrt_UXD_ONO_CK5
     340             :         use pm_kind, only: TKC => CK5
     341             : #include "pm_matrixDet@routines.inc.F90"
     342             :     end procedure
     343             : #endif
     344             : 
     345             : #if CK4_ENABLED
     346           0 :     module procedure setMatDetSqrt_UXD_ONO_CK4
     347             :         use pm_kind, only: TKC => CK4
     348             : #include "pm_matrixDet@routines.inc.F90"
     349             :     end procedure
     350             : #endif
     351             : 
     352             : #if CK3_ENABLED
     353           0 :     module procedure setMatDetSqrt_UXD_ONO_CK3
     354             :         use pm_kind, only: TKC => CK3
     355             : #include "pm_matrixDet@routines.inc.F90"
     356             :     end procedure
     357             : #endif
     358             : 
     359             : #if CK2_ENABLED
     360           0 :     module procedure setMatDetSqrt_UXD_ONO_CK2
     361             :         use pm_kind, only: TKC => CK2
     362             : #include "pm_matrixDet@routines.inc.F90"
     363             :     end procedure
     364             : #endif
     365             : 
     366             : #if CK1_ENABLED
     367           6 :     module procedure setMatDetSqrt_UXD_ONO_CK1
     368             :         use pm_kind, only: TKC => CK1
     369             : #include "pm_matrixDet@routines.inc.F90"
     370             :     end procedure
     371             : #endif
     372             : 
     373             : #undef CK_ENABLED
     374             : 
     375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     376             : 
     377             : #define RK_ENABLED 1
     378             : 
     379             : #if RK5_ENABLED
     380             :     module procedure setMatDetSqrt_UXD_ONO_RK5
     381             :         use pm_kind, only: TKC => RK5
     382             : #include "pm_matrixDet@routines.inc.F90"
     383             :     end procedure
     384             : #endif
     385             : 
     386             : #if RK4_ENABLED
     387           0 :     module procedure setMatDetSqrt_UXD_ONO_RK4
     388             :         use pm_kind, only: TKC => RK4
     389             : #include "pm_matrixDet@routines.inc.F90"
     390             :     end procedure
     391             : #endif
     392             : 
     393             : #if RK3_ENABLED
     394           0 :     module procedure setMatDetSqrt_UXD_ONO_RK3
     395             :         use pm_kind, only: TKC => RK3
     396             : #include "pm_matrixDet@routines.inc.F90"
     397             :     end procedure
     398             : #endif
     399             : 
     400             : #if RK2_ENABLED
     401           0 :     module procedure setMatDetSqrt_UXD_ONO_RK2
     402             :         use pm_kind, only: TKC => RK2
     403             : #include "pm_matrixDet@routines.inc.F90"
     404             :     end procedure
     405             : #endif
     406             : 
     407             : #if RK1_ENABLED
     408          30 :     module procedure setMatDetSqrt_UXD_ONO_RK1
     409             :         use pm_kind, only: TKC => RK1
     410             : #include "pm_matrixDet@routines.inc.F90"
     411             :     end procedure
     412             : #endif
     413             : 
     414             : #undef RK_ENABLED
     415             : 
     416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     417             : 
     418             : #undef UXD_ENABLED
     419             : 
     420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     423             : 
     424             : #define XLD_ENABLED 1
     425             : 
     426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     427             : 
     428             : #define CK_ENABLED 1
     429             : 
     430             : #if CK5_ENABLED
     431             :     module procedure setMatDetSqrt_XLD_ONO_CK5
     432             :         use pm_kind, only: TKC => CK5
     433             : #include "pm_matrixDet@routines.inc.F90"
     434             :     end procedure
     435             : #endif
     436             : 
     437             : #if CK4_ENABLED
     438           0 :     module procedure setMatDetSqrt_XLD_ONO_CK4
     439             :         use pm_kind, only: TKC => CK4
     440             : #include "pm_matrixDet@routines.inc.F90"
     441             :     end procedure
     442             : #endif
     443             : 
     444             : #if CK3_ENABLED
     445           0 :     module procedure setMatDetSqrt_XLD_ONO_CK3
     446             :         use pm_kind, only: TKC => CK3
     447             : #include "pm_matrixDet@routines.inc.F90"
     448             :     end procedure
     449             : #endif
     450             : 
     451             : #if CK2_ENABLED
     452           0 :     module procedure setMatDetSqrt_XLD_ONO_CK2
     453             :         use pm_kind, only: TKC => CK2
     454             : #include "pm_matrixDet@routines.inc.F90"
     455             :     end procedure
     456             : #endif
     457             : 
     458             : #if CK1_ENABLED
     459           2 :     module procedure setMatDetSqrt_XLD_ONO_CK1
     460             :         use pm_kind, only: TKC => CK1
     461             : #include "pm_matrixDet@routines.inc.F90"
     462             :     end procedure
     463             : #endif
     464             : 
     465             : #undef CK_ENABLED
     466             : 
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             : 
     469             : #define RK_ENABLED 1
     470             : 
     471             : #if RK5_ENABLED
     472             :     module procedure setMatDetSqrt_XLD_ONO_RK5
     473             :         use pm_kind, only: TKC => RK5
     474             : #include "pm_matrixDet@routines.inc.F90"
     475             :     end procedure
     476             : #endif
     477             : 
     478             : #if RK4_ENABLED
     479           0 :     module procedure setMatDetSqrt_XLD_ONO_RK4
     480             :         use pm_kind, only: TKC => RK4
     481             : #include "pm_matrixDet@routines.inc.F90"
     482             :     end procedure
     483             : #endif
     484             : 
     485             : #if RK3_ENABLED
     486           0 :     module procedure setMatDetSqrt_XLD_ONO_RK3
     487             :         use pm_kind, only: TKC => RK3
     488             : #include "pm_matrixDet@routines.inc.F90"
     489             :     end procedure
     490             : #endif
     491             : 
     492             : #if RK2_ENABLED
     493           0 :     module procedure setMatDetSqrt_XLD_ONO_RK2
     494             :         use pm_kind, only: TKC => RK2
     495             : #include "pm_matrixDet@routines.inc.F90"
     496             :     end procedure
     497             : #endif
     498             : 
     499             : #if RK1_ENABLED
     500          10 :     module procedure setMatDetSqrt_XLD_ONO_RK1
     501             :         use pm_kind, only: TKC => RK1
     502             : #include "pm_matrixDet@routines.inc.F90"
     503             :     end procedure
     504             : #endif
     505             : 
     506             : #undef RK_ENABLED
     507             : 
     508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     509             : 
     510             : #undef XLD_ENABLED
     511             : 
     512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     515             : 
     516             : #undef ONO_ENABLED
     517             : 
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     521             : 
     522             : #define OTH_ENABLED 1
     523             : 
     524             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     527             : 
     528             : #define UXD_ENABLED 1
     529             : 
     530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     531             : 
     532             : #define CK_ENABLED 1
     533             : 
     534             : #if CK5_ENABLED
     535             :     module procedure setMatDetSqrt_UXD_OTH_CK5
     536             :         use pm_kind, only: TKC => CK5
     537             : #include "pm_matrixDet@routines.inc.F90"
     538             :     end procedure
     539             : #endif
     540             : 
     541             : #if CK4_ENABLED
     542           0 :     module procedure setMatDetSqrt_UXD_OTH_CK4
     543             :         use pm_kind, only: TKC => CK4
     544             : #include "pm_matrixDet@routines.inc.F90"
     545             :     end procedure
     546             : #endif
     547             : 
     548             : #if CK3_ENABLED
     549           0 :     module procedure setMatDetSqrt_UXD_OTH_CK3
     550             :         use pm_kind, only: TKC => CK3
     551             : #include "pm_matrixDet@routines.inc.F90"
     552             :     end procedure
     553             : #endif
     554             : 
     555             : #if CK2_ENABLED
     556           0 :     module procedure setMatDetSqrt_UXD_OTH_CK2
     557             :         use pm_kind, only: TKC => CK2
     558             : #include "pm_matrixDet@routines.inc.F90"
     559             :     end procedure
     560             : #endif
     561             : 
     562             : #if CK1_ENABLED
     563           2 :     module procedure setMatDetSqrt_UXD_OTH_CK1
     564             :         use pm_kind, only: TKC => CK1
     565             : #include "pm_matrixDet@routines.inc.F90"
     566             :     end procedure
     567             : #endif
     568             : 
     569             : #undef CK_ENABLED
     570             : 
     571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     572             : 
     573             : #define RK_ENABLED 1
     574             : 
     575             : #if RK5_ENABLED
     576             :     module procedure setMatDetSqrt_UXD_OTH_RK5
     577             :         use pm_kind, only: TKC => RK5
     578             : #include "pm_matrixDet@routines.inc.F90"
     579             :     end procedure
     580             : #endif
     581             : 
     582             : #if RK4_ENABLED
     583           0 :     module procedure setMatDetSqrt_UXD_OTH_RK4
     584             :         use pm_kind, only: TKC => RK4
     585             : #include "pm_matrixDet@routines.inc.F90"
     586             :     end procedure
     587             : #endif
     588             : 
     589             : #if RK3_ENABLED
     590           0 :     module procedure setMatDetSqrt_UXD_OTH_RK3
     591             :         use pm_kind, only: TKC => RK3
     592             : #include "pm_matrixDet@routines.inc.F90"
     593             :     end procedure
     594             : #endif
     595             : 
     596             : #if RK2_ENABLED
     597           0 :     module procedure setMatDetSqrt_UXD_OTH_RK2
     598             :         use pm_kind, only: TKC => RK2
     599             : #include "pm_matrixDet@routines.inc.F90"
     600             :     end procedure
     601             : #endif
     602             : 
     603             : #if RK1_ENABLED
     604          10 :     module procedure setMatDetSqrt_UXD_OTH_RK1
     605             :         use pm_kind, only: TKC => RK1
     606             : #include "pm_matrixDet@routines.inc.F90"
     607             :     end procedure
     608             : #endif
     609             : 
     610             : #undef RK_ENABLED
     611             : 
     612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     613             : 
     614             : #undef UXD_ENABLED
     615             : 
     616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             : 
     620             : #define XLD_ENABLED 1
     621             : 
     622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     623             : 
     624             : #define CK_ENABLED 1
     625             : 
     626             : #if CK5_ENABLED
     627             :     module procedure setMatDetSqrt_XLD_OTH_CK5
     628             :         use pm_kind, only: TKC => CK5
     629             : #include "pm_matrixDet@routines.inc.F90"
     630             :     end procedure
     631             : #endif
     632             : 
     633             : #if CK4_ENABLED
     634           0 :     module procedure setMatDetSqrt_XLD_OTH_CK4
     635             :         use pm_kind, only: TKC => CK4
     636             : #include "pm_matrixDet@routines.inc.F90"
     637             :     end procedure
     638             : #endif
     639             : 
     640             : #if CK3_ENABLED
     641           0 :     module procedure setMatDetSqrt_XLD_OTH_CK3
     642             :         use pm_kind, only: TKC => CK3
     643             : #include "pm_matrixDet@routines.inc.F90"
     644             :     end procedure
     645             : #endif
     646             : 
     647             : #if CK2_ENABLED
     648           0 :     module procedure setMatDetSqrt_XLD_OTH_CK2
     649             :         use pm_kind, only: TKC => CK2
     650             : #include "pm_matrixDet@routines.inc.F90"
     651             :     end procedure
     652             : #endif
     653             : 
     654             : #if CK1_ENABLED
     655           2 :     module procedure setMatDetSqrt_XLD_OTH_CK1
     656             :         use pm_kind, only: TKC => CK1
     657             : #include "pm_matrixDet@routines.inc.F90"
     658             :     end procedure
     659             : #endif
     660             : 
     661             : #undef CK_ENABLED
     662             : 
     663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     664             : 
     665             : #define RK_ENABLED 1
     666             : 
     667             : #if RK5_ENABLED
     668             :     module procedure setMatDetSqrt_XLD_OTH_RK5
     669             :         use pm_kind, only: TKC => RK5
     670             : #include "pm_matrixDet@routines.inc.F90"
     671             :     end procedure
     672             : #endif
     673             : 
     674             : #if RK4_ENABLED
     675           0 :     module procedure setMatDetSqrt_XLD_OTH_RK4
     676             :         use pm_kind, only: TKC => RK4
     677             : #include "pm_matrixDet@routines.inc.F90"
     678             :     end procedure
     679             : #endif
     680             : 
     681             : #if RK3_ENABLED
     682           0 :     module procedure setMatDetSqrt_XLD_OTH_RK3
     683             :         use pm_kind, only: TKC => RK3
     684             : #include "pm_matrixDet@routines.inc.F90"
     685             :     end procedure
     686             : #endif
     687             : 
     688             : #if RK2_ENABLED
     689           0 :     module procedure setMatDetSqrt_XLD_OTH_RK2
     690             :         use pm_kind, only: TKC => RK2
     691             : #include "pm_matrixDet@routines.inc.F90"
     692             :     end procedure
     693             : #endif
     694             : 
     695             : #if RK1_ENABLED
     696          10 :     module procedure setMatDetSqrt_XLD_OTH_RK1
     697             :         use pm_kind, only: TKC => RK1
     698             : #include "pm_matrixDet@routines.inc.F90"
     699             :     end procedure
     700             : #endif
     701             : 
     702             : #undef RK_ENABLED
     703             : 
     704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     705             : 
     706             : #undef XLD_ENABLED
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     711             : 
     712             : #undef OTH_ENABLED
     713             : 
     714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     716             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     717             : 
     718             : #undef setMatDetSqrt_ENABLED
     719             : 
     720             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     721             : 
     722             : #define getMatDetSqrtLog_ENABLED 1
     723             : 
     724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     725             : 
     726             : #define CK_ENABLED 1
     727             : 
     728             : #if CK5_ENABLED
     729             :     module procedure getMatDetSqrtLog_CK5
     730             :         use pm_kind, only: TKC => CK5
     731             : #include "pm_matrixDet@routines.inc.F90"
     732             :     end procedure
     733             : #endif
     734             : 
     735             : #if CK4_ENABLED
     736           0 :     module procedure getMatDetSqrtLog_CK4
     737             :         use pm_kind, only: TKC => CK4
     738             : #include "pm_matrixDet@routines.inc.F90"
     739           0 :     end procedure
     740             : #endif
     741             : 
     742             : #if CK3_ENABLED
     743           0 :     module procedure getMatDetSqrtLog_CK3
     744             :         use pm_kind, only: TKC => CK3
     745             : #include "pm_matrixDet@routines.inc.F90"
     746           0 :     end procedure
     747             : #endif
     748             : 
     749             : #if CK2_ENABLED
     750           0 :     module procedure getMatDetSqrtLog_CK2
     751             :         use pm_kind, only: TKC => CK2
     752             : #include "pm_matrixDet@routines.inc.F90"
     753           0 :     end procedure
     754             : #endif
     755             : 
     756             : #if CK1_ENABLED
     757           8 :     module procedure getMatDetSqrtLog_CK1
     758             :         use pm_kind, only: TKC => CK1
     759             : #include "pm_matrixDet@routines.inc.F90"
     760           8 :     end procedure
     761             : #endif
     762             : 
     763             : #undef CK_ENABLED
     764             : 
     765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     766             : 
     767             : #define RK_ENABLED 1
     768             : 
     769             : #if RK5_ENABLED
     770             :     module procedure getMatDetSqrtLog_RK5
     771             :         use pm_kind, only: TKC => RK5
     772             : #include "pm_matrixDet@routines.inc.F90"
     773             :     end procedure
     774             : #endif
     775             : 
     776             : #if RK4_ENABLED
     777           0 :     module procedure getMatDetSqrtLog_RK4
     778             :         use pm_kind, only: TKC => RK4
     779             : #include "pm_matrixDet@routines.inc.F90"
     780           0 :     end procedure
     781             : #endif
     782             : 
     783             : #if RK3_ENABLED
     784           0 :     module procedure getMatDetSqrtLog_RK3
     785             :         use pm_kind, only: TKC => RK3
     786             : #include "pm_matrixDet@routines.inc.F90"
     787           0 :     end procedure
     788             : #endif
     789             : 
     790             : #if RK2_ENABLED
     791      250002 :     module procedure getMatDetSqrtLog_RK2
     792             :         use pm_kind, only: TKC => RK2
     793             : #include "pm_matrixDet@routines.inc.F90"
     794      250002 :     end procedure
     795             : #endif
     796             : 
     797             : #if RK1_ENABLED
     798          44 :     module procedure getMatDetSqrtLog_RK1
     799             :         use pm_kind, only: TKC => RK1
     800             : #include "pm_matrixDet@routines.inc.F90"
     801          44 :     end procedure
     802             : #endif
     803             : 
     804             : #undef RK_ENABLED
     805             : 
     806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     807             : 
     808             : #undef getMatDetSqrtLog_ENABLED
     809             : 
     810             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     811             : 
     812             : #define setMatDetSqrtLog_ENABLED 1
     813             : 
     814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     817             : 
     818             : #define ONO_ENABLED 1
     819             : 
     820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     823             : 
     824             : #define UXD_ENABLED 1
     825             : 
     826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     827             : 
     828             : #define CK_ENABLED 1
     829             : 
     830             : #if CK5_ENABLED
     831             :     module procedure setMatDetSqrtLog_UXD_ONO_CK5
     832             :         use pm_kind, only: TKC => CK5
     833             : #include "pm_matrixDet@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if CK4_ENABLED
     838           0 :     module procedure setMatDetSqrtLog_UXD_ONO_CK4
     839             :         use pm_kind, only: TKC => CK4
     840             : #include "pm_matrixDet@routines.inc.F90"
     841             :     end procedure
     842             : #endif
     843             : 
     844             : #if CK3_ENABLED
     845           0 :     module procedure setMatDetSqrtLog_UXD_ONO_CK3
     846             :         use pm_kind, only: TKC => CK3
     847             : #include "pm_matrixDet@routines.inc.F90"
     848             :     end procedure
     849             : #endif
     850             : 
     851             : #if CK2_ENABLED
     852           0 :     module procedure setMatDetSqrtLog_UXD_ONO_CK2
     853             :         use pm_kind, only: TKC => CK2
     854             : #include "pm_matrixDet@routines.inc.F90"
     855             :     end procedure
     856             : #endif
     857             : 
     858             : #if CK1_ENABLED
     859           6 :     module procedure setMatDetSqrtLog_UXD_ONO_CK1
     860             :         use pm_kind, only: TKC => CK1
     861             : #include "pm_matrixDet@routines.inc.F90"
     862             :     end procedure
     863             : #endif
     864             : 
     865             : #undef CK_ENABLED
     866             : 
     867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     868             : 
     869             : #define RK_ENABLED 1
     870             : 
     871             : #if RK5_ENABLED
     872             :     module procedure setMatDetSqrtLog_UXD_ONO_RK5
     873             :         use pm_kind, only: TKC => RK5
     874             : #include "pm_matrixDet@routines.inc.F90"
     875             :     end procedure
     876             : #endif
     877             : 
     878             : #if RK4_ENABLED
     879           0 :     module procedure setMatDetSqrtLog_UXD_ONO_RK4
     880             :         use pm_kind, only: TKC => RK4
     881             : #include "pm_matrixDet@routines.inc.F90"
     882             :     end procedure
     883             : #endif
     884             : 
     885             : #if RK3_ENABLED
     886           0 :     module procedure setMatDetSqrtLog_UXD_ONO_RK3
     887             :         use pm_kind, only: TKC => RK3
     888             : #include "pm_matrixDet@routines.inc.F90"
     889             :     end procedure
     890             : #endif
     891             : 
     892             : #if RK2_ENABLED
     893      250002 :     module procedure setMatDetSqrtLog_UXD_ONO_RK2
     894             :         use pm_kind, only: TKC => RK2
     895             : #include "pm_matrixDet@routines.inc.F90"
     896             :     end procedure
     897             : #endif
     898             : 
     899             : #if RK1_ENABLED
     900          35 :     module procedure setMatDetSqrtLog_UXD_ONO_RK1
     901             :         use pm_kind, only: TKC => RK1
     902             : #include "pm_matrixDet@routines.inc.F90"
     903             :     end procedure
     904             : #endif
     905             : 
     906             : #undef RK_ENABLED
     907             : 
     908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     909             : 
     910             : #undef UXD_ENABLED
     911             : 
     912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     913             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     914             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     915             : 
     916             : #define XLD_ENABLED 1
     917             : 
     918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     919             : 
     920             : #define CK_ENABLED 1
     921             : 
     922             : #if CK5_ENABLED
     923             :     module procedure setMatDetSqrtLog_XLD_ONO_CK5
     924             :         use pm_kind, only: TKC => CK5
     925             : #include "pm_matrixDet@routines.inc.F90"
     926             :     end procedure
     927             : #endif
     928             : 
     929             : #if CK4_ENABLED
     930           0 :     module procedure setMatDetSqrtLog_XLD_ONO_CK4
     931             :         use pm_kind, only: TKC => CK4
     932             : #include "pm_matrixDet@routines.inc.F90"
     933             :     end procedure
     934             : #endif
     935             : 
     936             : #if CK3_ENABLED
     937           0 :     module procedure setMatDetSqrtLog_XLD_ONO_CK3
     938             :         use pm_kind, only: TKC => CK3
     939             : #include "pm_matrixDet@routines.inc.F90"
     940             :     end procedure
     941             : #endif
     942             : 
     943             : #if CK2_ENABLED
     944           0 :     module procedure setMatDetSqrtLog_XLD_ONO_CK2
     945             :         use pm_kind, only: TKC => CK2
     946             : #include "pm_matrixDet@routines.inc.F90"
     947             :     end procedure
     948             : #endif
     949             : 
     950             : #if CK1_ENABLED
     951           2 :     module procedure setMatDetSqrtLog_XLD_ONO_CK1
     952             :         use pm_kind, only: TKC => CK1
     953             : #include "pm_matrixDet@routines.inc.F90"
     954             :     end procedure
     955             : #endif
     956             : 
     957             : #undef CK_ENABLED
     958             : 
     959             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     960             : 
     961             : #define RK_ENABLED 1
     962             : 
     963             : #if RK5_ENABLED
     964             :     module procedure setMatDetSqrtLog_XLD_ONO_RK5
     965             :         use pm_kind, only: TKC => RK5
     966             : #include "pm_matrixDet@routines.inc.F90"
     967             :     end procedure
     968             : #endif
     969             : 
     970             : #if RK4_ENABLED
     971           0 :     module procedure setMatDetSqrtLog_XLD_ONO_RK4
     972             :         use pm_kind, only: TKC => RK4
     973             : #include "pm_matrixDet@routines.inc.F90"
     974             :     end procedure
     975             : #endif
     976             : 
     977             : #if RK3_ENABLED
     978           0 :     module procedure setMatDetSqrtLog_XLD_ONO_RK3
     979             :         use pm_kind, only: TKC => RK3
     980             : #include "pm_matrixDet@routines.inc.F90"
     981             :     end procedure
     982             : #endif
     983             : 
     984             : #if RK2_ENABLED
     985           0 :     module procedure setMatDetSqrtLog_XLD_ONO_RK2
     986             :         use pm_kind, only: TKC => RK2
     987             : #include "pm_matrixDet@routines.inc.F90"
     988             :     end procedure
     989             : #endif
     990             : 
     991             : #if RK1_ENABLED
     992          10 :     module procedure setMatDetSqrtLog_XLD_ONO_RK1
     993             :         use pm_kind, only: TKC => RK1
     994             : #include "pm_matrixDet@routines.inc.F90"
     995             :     end procedure
     996             : #endif
     997             : 
     998             : #undef RK_ENABLED
     999             : 
    1000             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1001             : 
    1002             : #undef XLD_ENABLED
    1003             : 
    1004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1005             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1006             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1007             : 
    1008             : #undef ONO_ENABLED
    1009             : 
    1010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1012             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1013             : 
    1014             : #define OTH_ENABLED 1
    1015             : 
    1016             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1017             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1018             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1019             : 
    1020             : #define UXD_ENABLED 1
    1021             : 
    1022             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1023             : 
    1024             : #define CK_ENABLED 1
    1025             : 
    1026             : #if CK5_ENABLED
    1027             :     module procedure setMatDetSqrtLog_UXD_OTH_CK5
    1028             :         use pm_kind, only: TKC => CK5
    1029             : #include "pm_matrixDet@routines.inc.F90"
    1030             :     end procedure
    1031             : #endif
    1032             : 
    1033             : #if CK4_ENABLED
    1034           0 :     module procedure setMatDetSqrtLog_UXD_OTH_CK4
    1035             :         use pm_kind, only: TKC => CK4
    1036             : #include "pm_matrixDet@routines.inc.F90"
    1037             :     end procedure
    1038             : #endif
    1039             : 
    1040             : #if CK3_ENABLED
    1041           0 :     module procedure setMatDetSqrtLog_UXD_OTH_CK3
    1042             :         use pm_kind, only: TKC => CK3
    1043             : #include "pm_matrixDet@routines.inc.F90"
    1044             :     end procedure
    1045             : #endif
    1046             : 
    1047             : #if CK2_ENABLED
    1048           0 :     module procedure setMatDetSqrtLog_UXD_OTH_CK2
    1049             :         use pm_kind, only: TKC => CK2
    1050             : #include "pm_matrixDet@routines.inc.F90"
    1051             :     end procedure
    1052             : #endif
    1053             : 
    1054             : #if CK1_ENABLED
    1055           2 :     module procedure setMatDetSqrtLog_UXD_OTH_CK1
    1056             :         use pm_kind, only: TKC => CK1
    1057             : #include "pm_matrixDet@routines.inc.F90"
    1058             :     end procedure
    1059             : #endif
    1060             : 
    1061             : #undef CK_ENABLED
    1062             : 
    1063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             : 
    1065             : #define RK_ENABLED 1
    1066             : 
    1067             : #if RK5_ENABLED
    1068             :     module procedure setMatDetSqrtLog_UXD_OTH_RK5
    1069             :         use pm_kind, only: TKC => RK5
    1070             : #include "pm_matrixDet@routines.inc.F90"
    1071             :     end procedure
    1072             : #endif
    1073             : 
    1074             : #if RK4_ENABLED
    1075           0 :     module procedure setMatDetSqrtLog_UXD_OTH_RK4
    1076             :         use pm_kind, only: TKC => RK4
    1077             : #include "pm_matrixDet@routines.inc.F90"
    1078             :     end procedure
    1079             : #endif
    1080             : 
    1081             : #if RK3_ENABLED
    1082           0 :     module procedure setMatDetSqrtLog_UXD_OTH_RK3
    1083             :         use pm_kind, only: TKC => RK3
    1084             : #include "pm_matrixDet@routines.inc.F90"
    1085             :     end procedure
    1086             : #endif
    1087             : 
    1088             : #if RK2_ENABLED
    1089           0 :     module procedure setMatDetSqrtLog_UXD_OTH_RK2
    1090             :         use pm_kind, only: TKC => RK2
    1091             : #include "pm_matrixDet@routines.inc.F90"
    1092             :     end procedure
    1093             : #endif
    1094             : 
    1095             : #if RK1_ENABLED
    1096          12 :     module procedure setMatDetSqrtLog_UXD_OTH_RK1
    1097             :         use pm_kind, only: TKC => RK1
    1098             : #include "pm_matrixDet@routines.inc.F90"
    1099             :     end procedure
    1100             : #endif
    1101             : 
    1102             : #undef RK_ENABLED
    1103             : 
    1104             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1105             : 
    1106             : #undef UXD_ENABLED
    1107             : 
    1108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1111             : 
    1112             : #define XLD_ENABLED 1
    1113             : 
    1114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1115             : 
    1116             : #define CK_ENABLED 1
    1117             : 
    1118             : #if CK5_ENABLED
    1119             :     module procedure setMatDetSqrtLog_XLD_OTH_CK5
    1120             :         use pm_kind, only: TKC => CK5
    1121             : #include "pm_matrixDet@routines.inc.F90"
    1122             :     end procedure
    1123             : #endif
    1124             : 
    1125             : #if CK4_ENABLED
    1126           0 :     module procedure setMatDetSqrtLog_XLD_OTH_CK4
    1127             :         use pm_kind, only: TKC => CK4
    1128             : #include "pm_matrixDet@routines.inc.F90"
    1129             :     end procedure
    1130             : #endif
    1131             : 
    1132             : #if CK3_ENABLED
    1133           0 :     module procedure setMatDetSqrtLog_XLD_OTH_CK3
    1134             :         use pm_kind, only: TKC => CK3
    1135             : #include "pm_matrixDet@routines.inc.F90"
    1136             :     end procedure
    1137             : #endif
    1138             : 
    1139             : #if CK2_ENABLED
    1140           0 :     module procedure setMatDetSqrtLog_XLD_OTH_CK2
    1141             :         use pm_kind, only: TKC => CK2
    1142             : #include "pm_matrixDet@routines.inc.F90"
    1143             :     end procedure
    1144             : #endif
    1145             : 
    1146             : #if CK1_ENABLED
    1147           2 :     module procedure setMatDetSqrtLog_XLD_OTH_CK1
    1148             :         use pm_kind, only: TKC => CK1
    1149             : #include "pm_matrixDet@routines.inc.F90"
    1150             :     end procedure
    1151             : #endif
    1152             : 
    1153             : #undef CK_ENABLED
    1154             : 
    1155             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1156             : 
    1157             : #define RK_ENABLED 1
    1158             : 
    1159             : #if RK5_ENABLED
    1160             :     module procedure setMatDetSqrtLog_XLD_OTH_RK5
    1161             :         use pm_kind, only: TKC => RK5
    1162             : #include "pm_matrixDet@routines.inc.F90"
    1163             :     end procedure
    1164             : #endif
    1165             : 
    1166             : #if RK4_ENABLED
    1167           0 :     module procedure setMatDetSqrtLog_XLD_OTH_RK4
    1168             :         use pm_kind, only: TKC => RK4
    1169             : #include "pm_matrixDet@routines.inc.F90"
    1170             :     end procedure
    1171             : #endif
    1172             : 
    1173             : #if RK3_ENABLED
    1174           0 :     module procedure setMatDetSqrtLog_XLD_OTH_RK3
    1175             :         use pm_kind, only: TKC => RK3
    1176             : #include "pm_matrixDet@routines.inc.F90"
    1177             :     end procedure
    1178             : #endif
    1179             : 
    1180             : #if RK2_ENABLED
    1181           0 :     module procedure setMatDetSqrtLog_XLD_OTH_RK2
    1182             :         use pm_kind, only: TKC => RK2
    1183             : #include "pm_matrixDet@routines.inc.F90"
    1184             :     end procedure
    1185             : #endif
    1186             : 
    1187             : #if RK1_ENABLED
    1188          10 :     module procedure setMatDetSqrtLog_XLD_OTH_RK1
    1189             :         use pm_kind, only: TKC => RK1
    1190             : #include "pm_matrixDet@routines.inc.F90"
    1191             :     end procedure
    1192             : #endif
    1193             : 
    1194             : #undef RK_ENABLED
    1195             : 
    1196             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1197             : 
    1198             : #undef XLD_ENABLED
    1199             : 
    1200             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1203             : 
    1204             : #undef OTH_ENABLED
    1205             : 
    1206             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1207             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1208             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1209             : 
    1210             : #undef setMatDetSqrtLog_ENABLED
    1211             : 
    1212             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1213             : 
    1214             : #undef CHECK_ASSERTION
    1215             : 
    1216      250051 : end submodule routines

ParaMonte: Parallel Monte Carlo and Machine Learning Library 
The Computational Data Science Lab
© Copyright 2012 - 2024