https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayUnique@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 400 400 100.0 %
Date: 2024-04-08 03:18:57 Functions: 240 240 100.0 %
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 procedures implementations of the generic interfaces of [pm_arrayUnique](@ref pm_arrayUnique).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayUnique) routines
      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_arrayRemap, only: getRemapped, setRemapped
      40             :     use pm_arraySort, only: setSorted
      41             :     use pm_array, only: reverse
      42             : 
      43             :     implicit none
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : contains
      48             : 
      49             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             : 
      51             : #define isUnique_ENABLED 1
      52             : 
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define DefCom_ENABLED 1
      58             : 
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define D0_ENABLED 1
      64             : 
      65             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      66             : 
      67             : #define SK_ENABLED 1
      68             : 
      69             : #if SK5_ENABLED
      70             :     module procedure isUniqueDefCom_D0_SK5
      71             :         use pm_kind, only: SKC => SK5
      72             : #include "pm_arrayUnique@routines.inc.F90"
      73             :     end procedure
      74             : #endif
      75             : 
      76             : #if SK4_ENABLED
      77             :     module procedure isUniqueDefCom_D0_SK4
      78             :         use pm_kind, only: SKC => SK4
      79             : #include "pm_arrayUnique@routines.inc.F90"
      80             :     end procedure
      81             : #endif
      82             : 
      83             : #if SK3_ENABLED
      84             :     module procedure isUniqueDefCom_D0_SK3
      85             :         use pm_kind, only: SKC => SK3
      86             : #include "pm_arrayUnique@routines.inc.F90"
      87             :     end procedure
      88             : #endif
      89             : 
      90             : #if SK2_ENABLED
      91             :     module procedure isUniqueDefCom_D0_SK2
      92             :         use pm_kind, only: SKC => SK2
      93             : #include "pm_arrayUnique@routines.inc.F90"
      94             :     end procedure
      95             : #endif
      96             : 
      97             : #if SK1_ENABLED
      98         307 :     module procedure isUniqueDefCom_D0_SK1
      99             :         use pm_kind, only: SKC => SK1
     100             : #include "pm_arrayUnique@routines.inc.F90"
     101         307 :     end procedure
     102             : #endif
     103             : 
     104             : #undef SK_ENABLED
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #undef D0_ENABLED
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define D1_ENABLED 1
     115             : 
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define SK_ENABLED 1
     119             : 
     120             : #if SK5_ENABLED
     121             :     module procedure isUniqueDefCom_D1_SK5
     122             :         use pm_kind, only: SKC => SK5
     123             : #include "pm_arrayUnique@routines.inc.F90"
     124             :     end procedure
     125             : #endif
     126             : 
     127             : #if SK4_ENABLED
     128             :     module procedure isUniqueDefCom_D1_SK4
     129             :         use pm_kind, only: SKC => SK4
     130             : #include "pm_arrayUnique@routines.inc.F90"
     131             :     end procedure
     132             : #endif
     133             : 
     134             : #if SK3_ENABLED
     135             :     module procedure isUniqueDefCom_D1_SK3
     136             :         use pm_kind, only: SKC => SK3
     137             : #include "pm_arrayUnique@routines.inc.F90"
     138             :     end procedure
     139             : #endif
     140             : 
     141             : #if SK2_ENABLED
     142             :     module procedure isUniqueDefCom_D1_SK2
     143             :         use pm_kind, only: SKC => SK2
     144             : #include "pm_arrayUnique@routines.inc.F90"
     145             :     end procedure
     146             : #endif
     147             : 
     148             : #if SK1_ENABLED
     149         307 :     module procedure isUniqueDefCom_D1_SK1
     150             :         use pm_kind, only: SKC => SK1
     151             : #include "pm_arrayUnique@routines.inc.F90"
     152         307 :     end procedure
     153             : #endif
     154             : 
     155             : #undef SK_ENABLED
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #define IK_ENABLED 1
     160             : 
     161             : #if IK5_ENABLED
     162         300 :     module procedure isUniqueDefCom_D1_IK5
     163             :         use pm_kind, only: IKC => IK5
     164             : #include "pm_arrayUnique@routines.inc.F90"
     165         300 :     end procedure
     166             : #endif
     167             : 
     168             : #if IK4_ENABLED
     169         300 :     module procedure isUniqueDefCom_D1_IK4
     170             :         use pm_kind, only: IKC => IK4
     171             : #include "pm_arrayUnique@routines.inc.F90"
     172         300 :     end procedure
     173             : #endif
     174             : 
     175             : #if IK3_ENABLED
     176         306 :     module procedure isUniqueDefCom_D1_IK3
     177             :         use pm_kind, only: IKC => IK3
     178             : #include "pm_arrayUnique@routines.inc.F90"
     179         306 :     end procedure
     180             : #endif
     181             : 
     182             : #if IK2_ENABLED
     183         300 :     module procedure isUniqueDefCom_D1_IK2
     184             :         use pm_kind, only: IKC => IK2
     185             : #include "pm_arrayUnique@routines.inc.F90"
     186         300 :     end procedure
     187             : #endif
     188             : 
     189             : #if IK1_ENABLED
     190         300 :     module procedure isUniqueDefCom_D1_IK1
     191             :         use pm_kind, only: IKC => IK1
     192             : #include "pm_arrayUnique@routines.inc.F90"
     193         300 :     end procedure
     194             : #endif
     195             : 
     196             : #undef IK_ENABLED
     197             : 
     198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     199             : 
     200             : #define LK_ENABLED 1
     201             : 
     202             : #if LK5_ENABLED
     203         300 :     module procedure isUniqueDefCom_D1_LK5
     204             :         use pm_kind, only: LKC => LK5
     205             : #include "pm_arrayUnique@routines.inc.F90"
     206         300 :     end procedure
     207             : #endif
     208             : 
     209             : #if LK4_ENABLED
     210         300 :     module procedure isUniqueDefCom_D1_LK4
     211             :         use pm_kind, only: LKC => LK4
     212             : #include "pm_arrayUnique@routines.inc.F90"
     213         300 :     end procedure
     214             : #endif
     215             : 
     216             : #if LK3_ENABLED
     217         307 :     module procedure isUniqueDefCom_D1_LK3
     218             :         use pm_kind, only: LKC => LK3
     219             : #include "pm_arrayUnique@routines.inc.F90"
     220         307 :     end procedure
     221             : #endif
     222             : 
     223             : #if LK2_ENABLED
     224         300 :     module procedure isUniqueDefCom_D1_LK2
     225             :         use pm_kind, only: LKC => LK2
     226             : #include "pm_arrayUnique@routines.inc.F90"
     227         300 :     end procedure
     228             : #endif
     229             : 
     230             : #if LK1_ENABLED
     231         300 :     module procedure isUniqueDefCom_D1_LK1
     232             :         use pm_kind, only: LKC => LK1
     233             : #include "pm_arrayUnique@routines.inc.F90"
     234         300 :     end procedure
     235             : #endif
     236             : 
     237             : #undef LK_ENABLED
     238             : 
     239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     240             : 
     241             : #define CK_ENABLED 1
     242             : 
     243             : #if CK5_ENABLED
     244             :     module procedure isUniqueDefCom_D1_CK5
     245             :         use pm_kind, only: CKC => CK5
     246             : #include "pm_arrayUnique@routines.inc.F90"
     247             :     end procedure
     248             : #endif
     249             : 
     250             : #if CK4_ENABLED
     251         300 :     module procedure isUniqueDefCom_D1_CK4
     252             :         use pm_kind, only: CKC => CK4
     253             : #include "pm_arrayUnique@routines.inc.F90"
     254         300 :     end procedure
     255             : #endif
     256             : 
     257             : #if CK3_ENABLED
     258         300 :     module procedure isUniqueDefCom_D1_CK3
     259             :         use pm_kind, only: CKC => CK3
     260             : #include "pm_arrayUnique@routines.inc.F90"
     261         300 :     end procedure
     262             : #endif
     263             : 
     264             : #if CK2_ENABLED
     265         300 :     module procedure isUniqueDefCom_D1_CK2
     266             :         use pm_kind, only: CKC => CK2
     267             : #include "pm_arrayUnique@routines.inc.F90"
     268         300 :     end procedure
     269             : #endif
     270             : 
     271             : #if CK1_ENABLED
     272         306 :     module procedure isUniqueDefCom_D1_CK1
     273             :         use pm_kind, only: CKC => CK1
     274             : #include "pm_arrayUnique@routines.inc.F90"
     275         306 :     end procedure
     276             : #endif
     277             : 
     278             : #undef CK_ENABLED
     279             : 
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             : 
     282             : #define RK_ENABLED 1
     283             : 
     284             : #if RK5_ENABLED
     285             :     module procedure isUniqueDefCom_D1_RK5
     286             :         use pm_kind, only: RKC => RK5
     287             : #include "pm_arrayUnique@routines.inc.F90"
     288             :     end procedure
     289             : #endif
     290             : 
     291             : #if RK4_ENABLED
     292         300 :     module procedure isUniqueDefCom_D1_RK4
     293             :         use pm_kind, only: RKC => RK4
     294             : #include "pm_arrayUnique@routines.inc.F90"
     295         300 :     end procedure
     296             : #endif
     297             : 
     298             : #if RK3_ENABLED
     299         300 :     module procedure isUniqueDefCom_D1_RK3
     300             :         use pm_kind, only: RKC => RK3
     301             : #include "pm_arrayUnique@routines.inc.F90"
     302         300 :     end procedure
     303             : #endif
     304             : 
     305             : #if RK2_ENABLED
     306         300 :     module procedure isUniqueDefCom_D1_RK2
     307             :         use pm_kind, only: RKC => RK2
     308             : #include "pm_arrayUnique@routines.inc.F90"
     309         300 :     end procedure
     310             : #endif
     311             : 
     312             : #if RK1_ENABLED
     313         306 :     module procedure isUniqueDefCom_D1_RK1
     314             :         use pm_kind, only: RKC => RK1
     315             : #include "pm_arrayUnique@routines.inc.F90"
     316         306 :     end procedure
     317             : #endif
     318             : 
     319             : #undef RK_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             : 
     323             : #undef D1_ENABLED
     324             : 
     325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #undef DefCom_ENABLED
     330             : 
     331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     332             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     334             : 
     335             : #define CusCom_ENABLED 1
     336             : 
     337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     340             : 
     341             : #define D0_ENABLED 1
     342             : 
     343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     344             : 
     345             : #define SK_ENABLED 1
     346             : 
     347             : #if SK5_ENABLED
     348             :     module procedure isUniqueCusCom_D0_SK5
     349             :         use pm_kind, only: SKC => SK5
     350             : #include "pm_arrayUnique@routines.inc.F90"
     351             :     end procedure
     352             : #endif
     353             : 
     354             : #if SK4_ENABLED
     355             :     module procedure isUniqueCusCom_D0_SK4
     356             :         use pm_kind, only: SKC => SK4
     357             : #include "pm_arrayUnique@routines.inc.F90"
     358             :     end procedure
     359             : #endif
     360             : 
     361             : #if SK3_ENABLED
     362             :     module procedure isUniqueCusCom_D0_SK3
     363             :         use pm_kind, only: SKC => SK3
     364             : #include "pm_arrayUnique@routines.inc.F90"
     365             :     end procedure
     366             : #endif
     367             : 
     368             : #if SK2_ENABLED
     369             :     module procedure isUniqueCusCom_D0_SK2
     370             :         use pm_kind, only: SKC => SK2
     371             : #include "pm_arrayUnique@routines.inc.F90"
     372             :     end procedure
     373             : #endif
     374             : 
     375             : #if SK1_ENABLED
     376         301 :     module procedure isUniqueCusCom_D0_SK1
     377             :         use pm_kind, only: SKC => SK1
     378             : #include "pm_arrayUnique@routines.inc.F90"
     379         301 :     end procedure
     380             : #endif
     381             : 
     382             : #undef SK_ENABLED
     383             : 
     384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     385             : 
     386             : #undef D0_ENABLED
     387             : 
     388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             : 
     392             : #define D1_ENABLED 1
     393             : 
     394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     395             : 
     396             : #define SK_ENABLED 1
     397             : 
     398             : #if SK5_ENABLED
     399             :     module procedure isUniqueCusCom_D1_SK5
     400             :         use pm_kind, only: SKC => SK5
     401             : #include "pm_arrayUnique@routines.inc.F90"
     402             :     end procedure
     403             : #endif
     404             : 
     405             : #if SK4_ENABLED
     406             :     module procedure isUniqueCusCom_D1_SK4
     407             :         use pm_kind, only: SKC => SK4
     408             : #include "pm_arrayUnique@routines.inc.F90"
     409             :     end procedure
     410             : #endif
     411             : 
     412             : #if SK3_ENABLED
     413             :     module procedure isUniqueCusCom_D1_SK3
     414             :         use pm_kind, only: SKC => SK3
     415             : #include "pm_arrayUnique@routines.inc.F90"
     416             :     end procedure
     417             : #endif
     418             : 
     419             : #if SK2_ENABLED
     420             :     module procedure isUniqueCusCom_D1_SK2
     421             :         use pm_kind, only: SKC => SK2
     422             : #include "pm_arrayUnique@routines.inc.F90"
     423             :     end procedure
     424             : #endif
     425             : 
     426             : #if SK1_ENABLED
     427         300 :     module procedure isUniqueCusCom_D1_SK1
     428             :         use pm_kind, only: SKC => SK1
     429             : #include "pm_arrayUnique@routines.inc.F90"
     430         300 :     end procedure
     431             : #endif
     432             : 
     433             : #undef SK_ENABLED
     434             : 
     435             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     436             : 
     437             : #define IK_ENABLED 1
     438             : 
     439             : #if IK5_ENABLED
     440         300 :     module procedure isUniqueCusCom_D1_IK5
     441             :         use pm_kind, only: IKC => IK5
     442             : #include "pm_arrayUnique@routines.inc.F90"
     443         300 :     end procedure
     444             : #endif
     445             : 
     446             : #if IK4_ENABLED
     447         300 :     module procedure isUniqueCusCom_D1_IK4
     448             :         use pm_kind, only: IKC => IK4
     449             : #include "pm_arrayUnique@routines.inc.F90"
     450         300 :     end procedure
     451             : #endif
     452             : 
     453             : #if IK3_ENABLED
     454         300 :     module procedure isUniqueCusCom_D1_IK3
     455             :         use pm_kind, only: IKC => IK3
     456             : #include "pm_arrayUnique@routines.inc.F90"
     457         300 :     end procedure
     458             : #endif
     459             : 
     460             : #if IK2_ENABLED
     461         300 :     module procedure isUniqueCusCom_D1_IK2
     462             :         use pm_kind, only: IKC => IK2
     463             : #include "pm_arrayUnique@routines.inc.F90"
     464         300 :     end procedure
     465             : #endif
     466             : 
     467             : #if IK1_ENABLED
     468         300 :     module procedure isUniqueCusCom_D1_IK1
     469             :         use pm_kind, only: IKC => IK1
     470             : #include "pm_arrayUnique@routines.inc.F90"
     471         300 :     end procedure
     472             : #endif
     473             : 
     474             : #undef IK_ENABLED
     475             : 
     476             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     477             : 
     478             : #define LK_ENABLED 1
     479             : 
     480             : #if LK5_ENABLED
     481         300 :     module procedure isUniqueCusCom_D1_LK5
     482             :         use pm_kind, only: LKC => LK5
     483             : #include "pm_arrayUnique@routines.inc.F90"
     484         300 :     end procedure
     485             : #endif
     486             : 
     487             : #if LK4_ENABLED
     488         300 :     module procedure isUniqueCusCom_D1_LK4
     489             :         use pm_kind, only: LKC => LK4
     490             : #include "pm_arrayUnique@routines.inc.F90"
     491         300 :     end procedure
     492             : #endif
     493             : 
     494             : #if LK3_ENABLED
     495         300 :     module procedure isUniqueCusCom_D1_LK3
     496             :         use pm_kind, only: LKC => LK3
     497             : #include "pm_arrayUnique@routines.inc.F90"
     498         300 :     end procedure
     499             : #endif
     500             : 
     501             : #if LK2_ENABLED
     502         300 :     module procedure isUniqueCusCom_D1_LK2
     503             :         use pm_kind, only: LKC => LK2
     504             : #include "pm_arrayUnique@routines.inc.F90"
     505         300 :     end procedure
     506             : #endif
     507             : 
     508             : #if LK1_ENABLED
     509         300 :     module procedure isUniqueCusCom_D1_LK1
     510             :         use pm_kind, only: LKC => LK1
     511             : #include "pm_arrayUnique@routines.inc.F90"
     512         300 :     end procedure
     513             : #endif
     514             : 
     515             : #undef LK_ENABLED
     516             : 
     517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     518             : 
     519             : #define CK_ENABLED 1
     520             : 
     521             : #if CK5_ENABLED
     522             :     module procedure isUniqueCusCom_D1_CK5
     523             :         use pm_kind, only: CKC => CK5
     524             : #include "pm_arrayUnique@routines.inc.F90"
     525             :     end procedure
     526             : #endif
     527             : 
     528             : #if CK4_ENABLED
     529         300 :     module procedure isUniqueCusCom_D1_CK4
     530             :         use pm_kind, only: CKC => CK4
     531             : #include "pm_arrayUnique@routines.inc.F90"
     532         300 :     end procedure
     533             : #endif
     534             : 
     535             : #if CK3_ENABLED
     536         300 :     module procedure isUniqueCusCom_D1_CK3
     537             :         use pm_kind, only: CKC => CK3
     538             : #include "pm_arrayUnique@routines.inc.F90"
     539         300 :     end procedure
     540             : #endif
     541             : 
     542             : #if CK2_ENABLED
     543         300 :     module procedure isUniqueCusCom_D1_CK2
     544             :         use pm_kind, only: CKC => CK2
     545             : #include "pm_arrayUnique@routines.inc.F90"
     546         300 :     end procedure
     547             : #endif
     548             : 
     549             : #if CK1_ENABLED
     550         300 :     module procedure isUniqueCusCom_D1_CK1
     551             :         use pm_kind, only: CKC => CK1
     552             : #include "pm_arrayUnique@routines.inc.F90"
     553         300 :     end procedure
     554             : #endif
     555             : 
     556             : #undef CK_ENABLED
     557             : 
     558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     559             : 
     560             : #define RK_ENABLED 1
     561             : 
     562             : #if RK5_ENABLED
     563             :     module procedure isUniqueCusCom_D1_RK5
     564             :         use pm_kind, only: RKC => RK5
     565             : #include "pm_arrayUnique@routines.inc.F90"
     566             :     end procedure
     567             : #endif
     568             : 
     569             : #if RK4_ENABLED
     570         300 :     module procedure isUniqueCusCom_D1_RK4
     571             :         use pm_kind, only: RKC => RK4
     572             : #include "pm_arrayUnique@routines.inc.F90"
     573         300 :     end procedure
     574             : #endif
     575             : 
     576             : #if RK3_ENABLED
     577         300 :     module procedure isUniqueCusCom_D1_RK3
     578             :         use pm_kind, only: RKC => RK3
     579             : #include "pm_arrayUnique@routines.inc.F90"
     580         300 :     end procedure
     581             : #endif
     582             : 
     583             : #if RK2_ENABLED
     584         301 :     module procedure isUniqueCusCom_D1_RK2
     585             :         use pm_kind, only: RKC => RK2
     586             : #include "pm_arrayUnique@routines.inc.F90"
     587         301 :     end procedure
     588             : #endif
     589             : 
     590             : #if RK1_ENABLED
     591         300 :     module procedure isUniqueCusCom_D1_RK1
     592             :         use pm_kind, only: RKC => RK1
     593             : #include "pm_arrayUnique@routines.inc.F90"
     594         300 :     end procedure
     595             : #endif
     596             : 
     597             : #undef RK_ENABLED
     598             : 
     599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     600             : 
     601             : #undef D1_ENABLED
     602             : 
     603             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             : 
     607             : #undef CusCom_ENABLED
     608             : 
     609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             : 
     613             : #undef isUnique_ENABLED
     614             : 
     615             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     616             : 
     617             : #define isUniqueAll_ENABLED 1
     618             : 
     619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     622             : 
     623             : #define DefCom_ENABLED 1
     624             : 
     625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     628             : 
     629             : #define D0_ENABLED 1
     630             : 
     631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     632             : 
     633             : #define SK_ENABLED 1
     634             : 
     635             : #if SK5_ENABLED
     636             :     module procedure isUniqueAllDefCom_D0_SK5
     637             :         use pm_kind, only: SKC => SK5
     638             : #include "pm_arrayUnique@routines.inc.F90"
     639             :     end procedure
     640             : #endif
     641             : 
     642             : #if SK4_ENABLED
     643             :     module procedure isUniqueAllDefCom_D0_SK4
     644             :         use pm_kind, only: SKC => SK4
     645             : #include "pm_arrayUnique@routines.inc.F90"
     646             :     end procedure
     647             : #endif
     648             : 
     649             : #if SK3_ENABLED
     650             :     module procedure isUniqueAllDefCom_D0_SK3
     651             :         use pm_kind, only: SKC => SK3
     652             : #include "pm_arrayUnique@routines.inc.F90"
     653             :     end procedure
     654             : #endif
     655             : 
     656             : #if SK2_ENABLED
     657             :     module procedure isUniqueAllDefCom_D0_SK2
     658             :         use pm_kind, only: SKC => SK2
     659             : #include "pm_arrayUnique@routines.inc.F90"
     660             :     end procedure
     661             : #endif
     662             : 
     663             : #if SK1_ENABLED
     664         330 :     module procedure isUniqueAllDefCom_D0_SK1
     665             :         use pm_kind, only: SKC => SK1
     666             : #include "pm_arrayUnique@routines.inc.F90"
     667             :     end procedure
     668             : #endif
     669             : 
     670             : #undef SK_ENABLED
     671             : 
     672             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     673             : 
     674             : #undef D0_ENABLED
     675             : 
     676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     679             : 
     680             : #define D1_ENABLED 1
     681             : 
     682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     683             : 
     684             : #define SK_ENABLED 1
     685             : 
     686             : #if SK5_ENABLED
     687             :     module procedure isUniqueAllDefCom_D1_SK5
     688             :         use pm_kind, only: SKC => SK5
     689             : #include "pm_arrayUnique@routines.inc.F90"
     690             :     end procedure
     691             : #endif
     692             : 
     693             : #if SK4_ENABLED
     694             :     module procedure isUniqueAllDefCom_D1_SK4
     695             :         use pm_kind, only: SKC => SK4
     696             : #include "pm_arrayUnique@routines.inc.F90"
     697             :     end procedure
     698             : #endif
     699             : 
     700             : #if SK3_ENABLED
     701             :     module procedure isUniqueAllDefCom_D1_SK3
     702             :         use pm_kind, only: SKC => SK3
     703             : #include "pm_arrayUnique@routines.inc.F90"
     704             :     end procedure
     705             : #endif
     706             : 
     707             : #if SK2_ENABLED
     708             :     module procedure isUniqueAllDefCom_D1_SK2
     709             :         use pm_kind, only: SKC => SK2
     710             : #include "pm_arrayUnique@routines.inc.F90"
     711             :     end procedure
     712             : #endif
     713             : 
     714             : #if SK1_ENABLED
     715         213 :     module procedure isUniqueAllDefCom_D1_SK1
     716             :         use pm_kind, only: SKC => SK1
     717             : #include "pm_arrayUnique@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #undef SK_ENABLED
     722             : 
     723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     724             : 
     725             : #define IK_ENABLED 1
     726             : 
     727             : #if IK5_ENABLED
     728         336 :     module procedure isUniqueAllDefCom_D1_IK5
     729             :         use pm_kind, only: IKC => IK5
     730             : #include "pm_arrayUnique@routines.inc.F90"
     731             :     end procedure
     732             : #endif
     733             : 
     734             : #if IK4_ENABLED
     735         353 :     module procedure isUniqueAllDefCom_D1_IK4
     736             :         use pm_kind, only: IKC => IK4
     737             : #include "pm_arrayUnique@routines.inc.F90"
     738             :     end procedure
     739             : #endif
     740             : 
     741             : #if IK3_ENABLED
     742         347 :     module procedure isUniqueAllDefCom_D1_IK3
     743             :         use pm_kind, only: IKC => IK3
     744             : #include "pm_arrayUnique@routines.inc.F90"
     745             :     end procedure
     746             : #endif
     747             : 
     748             : #if IK2_ENABLED
     749         338 :     module procedure isUniqueAllDefCom_D1_IK2
     750             :         use pm_kind, only: IKC => IK2
     751             : #include "pm_arrayUnique@routines.inc.F90"
     752             :     end procedure
     753             : #endif
     754             : 
     755             : #if IK1_ENABLED
     756         322 :     module procedure isUniqueAllDefCom_D1_IK1
     757             :         use pm_kind, only: IKC => IK1
     758             : #include "pm_arrayUnique@routines.inc.F90"
     759             :     end procedure
     760             : #endif
     761             : 
     762             : #undef IK_ENABLED
     763             : 
     764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     765             : 
     766             : #define LK_ENABLED 1
     767             : 
     768             : #if LK5_ENABLED
     769         220 :     module procedure isUniqueAllDefCom_D1_LK5
     770             :         use pm_kind, only: LKC => LK5
     771             : #include "pm_arrayUnique@routines.inc.F90"
     772             :     end procedure
     773             : #endif
     774             : 
     775             : #if LK4_ENABLED
     776         225 :     module procedure isUniqueAllDefCom_D1_LK4
     777             :         use pm_kind, only: LKC => LK4
     778             : #include "pm_arrayUnique@routines.inc.F90"
     779             :     end procedure
     780             : #endif
     781             : 
     782             : #if LK3_ENABLED
     783         232 :     module procedure isUniqueAllDefCom_D1_LK3
     784             :         use pm_kind, only: LKC => LK3
     785             : #include "pm_arrayUnique@routines.inc.F90"
     786             :     end procedure
     787             : #endif
     788             : 
     789             : #if LK2_ENABLED
     790         211 :     module procedure isUniqueAllDefCom_D1_LK2
     791             :         use pm_kind, only: LKC => LK2
     792             : #include "pm_arrayUnique@routines.inc.F90"
     793             :     end procedure
     794             : #endif
     795             : 
     796             : #if LK1_ENABLED
     797         223 :     module procedure isUniqueAllDefCom_D1_LK1
     798             :         use pm_kind, only: LKC => LK1
     799             : #include "pm_arrayUnique@routines.inc.F90"
     800             :     end procedure
     801             : #endif
     802             : 
     803             : #undef LK_ENABLED
     804             : 
     805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     806             : 
     807             : #define CK_ENABLED 1
     808             : 
     809             : #if CK5_ENABLED
     810             :     module procedure isUniqueAllDefCom_D1_CK5
     811             :         use pm_kind, only: CKC => CK5
     812             : #include "pm_arrayUnique@routines.inc.F90"
     813             :     end procedure
     814             : #endif
     815             : 
     816             : #if CK4_ENABLED
     817         216 :     module procedure isUniqueAllDefCom_D1_CK4
     818             :         use pm_kind, only: CKC => CK4
     819             : #include "pm_arrayUnique@routines.inc.F90"
     820             :     end procedure
     821             : #endif
     822             : 
     823             : #if CK3_ENABLED
     824         201 :     module procedure isUniqueAllDefCom_D1_CK3
     825             :         use pm_kind, only: CKC => CK3
     826             : #include "pm_arrayUnique@routines.inc.F90"
     827             :     end procedure
     828             : #endif
     829             : 
     830             : #if CK2_ENABLED
     831         210 :     module procedure isUniqueAllDefCom_D1_CK2
     832             :         use pm_kind, only: CKC => CK2
     833             : #include "pm_arrayUnique@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if CK1_ENABLED
     838         214 :     module procedure isUniqueAllDefCom_D1_CK1
     839             :         use pm_kind, only: CKC => CK1
     840             : #include "pm_arrayUnique@routines.inc.F90"
     841             :     end procedure
     842             : #endif
     843             : 
     844             : #undef CK_ENABLED
     845             : 
     846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     847             : 
     848             : #define RK_ENABLED 1
     849             : 
     850             : #if RK5_ENABLED
     851             :     module procedure isUniqueAllDefCom_D1_RK5
     852             :         use pm_kind, only: RKC => RK5
     853             : #include "pm_arrayUnique@routines.inc.F90"
     854             :     end procedure
     855             : #endif
     856             : 
     857             : #if RK4_ENABLED
     858         343 :     module procedure isUniqueAllDefCom_D1_RK4
     859             :         use pm_kind, only: RKC => RK4
     860             : #include "pm_arrayUnique@routines.inc.F90"
     861             :     end procedure
     862             : #endif
     863             : 
     864             : #if RK3_ENABLED
     865         347 :     module procedure isUniqueAllDefCom_D1_RK3
     866             :         use pm_kind, only: RKC => RK3
     867             : #include "pm_arrayUnique@routines.inc.F90"
     868             :     end procedure
     869             : #endif
     870             : 
     871             : #if RK2_ENABLED
     872         334 :     module procedure isUniqueAllDefCom_D1_RK2
     873             :         use pm_kind, only: RKC => RK2
     874             : #include "pm_arrayUnique@routines.inc.F90"
     875             :     end procedure
     876             : #endif
     877             : 
     878             : #if RK1_ENABLED
     879         341 :     module procedure isUniqueAllDefCom_D1_RK1
     880             :         use pm_kind, only: RKC => RK1
     881             : #include "pm_arrayUnique@routines.inc.F90"
     882             :     end procedure
     883             : #endif
     884             : 
     885             : #undef RK_ENABLED
     886             : 
     887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     888             : 
     889             : #undef D1_ENABLED
     890             : 
     891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     894             : 
     895             : #undef DefCom_ENABLED
     896             : 
     897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     898             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     900             : 
     901             : #define CusCom_ENABLED 1
     902             : 
     903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     906             : 
     907             : #define D0_ENABLED 1
     908             : 
     909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     910             : 
     911             : #define SK_ENABLED 1
     912             : 
     913             : #if SK5_ENABLED
     914             :     module procedure isUniqueAllCusCom_D0_SK5
     915             :         use pm_kind, only: SKC => SK5
     916             : #include "pm_arrayUnique@routines.inc.F90"
     917             :     end procedure
     918             : #endif
     919             : 
     920             : #if SK4_ENABLED
     921             :     module procedure isUniqueAllCusCom_D0_SK4
     922             :         use pm_kind, only: SKC => SK4
     923             : #include "pm_arrayUnique@routines.inc.F90"
     924             :     end procedure
     925             : #endif
     926             : 
     927             : #if SK3_ENABLED
     928             :     module procedure isUniqueAllCusCom_D0_SK3
     929             :         use pm_kind, only: SKC => SK3
     930             : #include "pm_arrayUnique@routines.inc.F90"
     931             :     end procedure
     932             : #endif
     933             : 
     934             : #if SK2_ENABLED
     935             :     module procedure isUniqueAllCusCom_D0_SK2
     936             :         use pm_kind, only: SKC => SK2
     937             : #include "pm_arrayUnique@routines.inc.F90"
     938             :     end procedure
     939             : #endif
     940             : 
     941             : #if SK1_ENABLED
     942         101 :     module procedure isUniqueAllCusCom_D0_SK1
     943             :         use pm_kind, only: SKC => SK1
     944             : #include "pm_arrayUnique@routines.inc.F90"
     945             :     end procedure
     946             : #endif
     947             : 
     948             : #undef SK_ENABLED
     949             : 
     950             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     951             : 
     952             : #undef D0_ENABLED
     953             : 
     954             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     957             : 
     958             : #define D1_ENABLED 1
     959             : 
     960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     961             : 
     962             : #define SK_ENABLED 1
     963             : 
     964             : #if SK5_ENABLED
     965             :     module procedure isUniqueAllCusCom_D1_SK5
     966             :         use pm_kind, only: SKC => SK5
     967             : #include "pm_arrayUnique@routines.inc.F90"
     968             :     end procedure
     969             : #endif
     970             : 
     971             : #if SK4_ENABLED
     972             :     module procedure isUniqueAllCusCom_D1_SK4
     973             :         use pm_kind, only: SKC => SK4
     974             : #include "pm_arrayUnique@routines.inc.F90"
     975             :     end procedure
     976             : #endif
     977             : 
     978             : #if SK3_ENABLED
     979             :     module procedure isUniqueAllCusCom_D1_SK3
     980             :         use pm_kind, only: SKC => SK3
     981             : #include "pm_arrayUnique@routines.inc.F90"
     982             :     end procedure
     983             : #endif
     984             : 
     985             : #if SK2_ENABLED
     986             :     module procedure isUniqueAllCusCom_D1_SK2
     987             :         use pm_kind, only: SKC => SK2
     988             : #include "pm_arrayUnique@routines.inc.F90"
     989             :     end procedure
     990             : #endif
     991             : 
     992             : #if SK1_ENABLED
     993         100 :     module procedure isUniqueAllCusCom_D1_SK1
     994             :         use pm_kind, only: SKC => SK1
     995             : #include "pm_arrayUnique@routines.inc.F90"
     996             :     end procedure
     997             : #endif
     998             : 
     999             : #undef SK_ENABLED
    1000             : 
    1001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1002             : 
    1003             : #define IK_ENABLED 1
    1004             : 
    1005             : #if IK5_ENABLED
    1006         100 :     module procedure isUniqueAllCusCom_D1_IK5
    1007             :         use pm_kind, only: IKC => IK5
    1008             : #include "pm_arrayUnique@routines.inc.F90"
    1009             :     end procedure
    1010             : #endif
    1011             : 
    1012             : #if IK4_ENABLED
    1013         100 :     module procedure isUniqueAllCusCom_D1_IK4
    1014             :         use pm_kind, only: IKC => IK4
    1015             : #include "pm_arrayUnique@routines.inc.F90"
    1016             :     end procedure
    1017             : #endif
    1018             : 
    1019             : #if IK3_ENABLED
    1020         100 :     module procedure isUniqueAllCusCom_D1_IK3
    1021             :         use pm_kind, only: IKC => IK3
    1022             : #include "pm_arrayUnique@routines.inc.F90"
    1023             :     end procedure
    1024             : #endif
    1025             : 
    1026             : #if IK2_ENABLED
    1027         100 :     module procedure isUniqueAllCusCom_D1_IK2
    1028             :         use pm_kind, only: IKC => IK2
    1029             : #include "pm_arrayUnique@routines.inc.F90"
    1030             :     end procedure
    1031             : #endif
    1032             : 
    1033             : #if IK1_ENABLED
    1034         100 :     module procedure isUniqueAllCusCom_D1_IK1
    1035             :         use pm_kind, only: IKC => IK1
    1036             : #include "pm_arrayUnique@routines.inc.F90"
    1037             :     end procedure
    1038             : #endif
    1039             : 
    1040             : #undef IK_ENABLED
    1041             : 
    1042             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1043             : 
    1044             : #define LK_ENABLED 1
    1045             : 
    1046             : #if LK5_ENABLED
    1047         100 :     module procedure isUniqueAllCusCom_D1_LK5
    1048             :         use pm_kind, only: LKC => LK5
    1049             : #include "pm_arrayUnique@routines.inc.F90"
    1050             :     end procedure
    1051             : #endif
    1052             : 
    1053             : #if LK4_ENABLED
    1054         100 :     module procedure isUniqueAllCusCom_D1_LK4
    1055             :         use pm_kind, only: LKC => LK4
    1056             : #include "pm_arrayUnique@routines.inc.F90"
    1057             :     end procedure
    1058             : #endif
    1059             : 
    1060             : #if LK3_ENABLED
    1061         100 :     module procedure isUniqueAllCusCom_D1_LK3
    1062             :         use pm_kind, only: LKC => LK3
    1063             : #include "pm_arrayUnique@routines.inc.F90"
    1064             :     end procedure
    1065             : #endif
    1066             : 
    1067             : #if LK2_ENABLED
    1068         100 :     module procedure isUniqueAllCusCom_D1_LK2
    1069             :         use pm_kind, only: LKC => LK2
    1070             : #include "pm_arrayUnique@routines.inc.F90"
    1071             :     end procedure
    1072             : #endif
    1073             : 
    1074             : #if LK1_ENABLED
    1075         100 :     module procedure isUniqueAllCusCom_D1_LK1
    1076             :         use pm_kind, only: LKC => LK1
    1077             : #include "pm_arrayUnique@routines.inc.F90"
    1078             :     end procedure
    1079             : #endif
    1080             : 
    1081             : #undef LK_ENABLED
    1082             : 
    1083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1084             : 
    1085             : #define CK_ENABLED 1
    1086             : 
    1087             : #if CK5_ENABLED
    1088             :     module procedure isUniqueAllCusCom_D1_CK5
    1089             :         use pm_kind, only: CKC => CK5
    1090             : #include "pm_arrayUnique@routines.inc.F90"
    1091             :     end procedure
    1092             : #endif
    1093             : 
    1094             : #if CK4_ENABLED
    1095         100 :     module procedure isUniqueAllCusCom_D1_CK4
    1096             :         use pm_kind, only: CKC => CK4
    1097             : #include "pm_arrayUnique@routines.inc.F90"
    1098             :     end procedure
    1099             : #endif
    1100             : 
    1101             : #if CK3_ENABLED
    1102         100 :     module procedure isUniqueAllCusCom_D1_CK3
    1103             :         use pm_kind, only: CKC => CK3
    1104             : #include "pm_arrayUnique@routines.inc.F90"
    1105             :     end procedure
    1106             : #endif
    1107             : 
    1108             : #if CK2_ENABLED
    1109         100 :     module procedure isUniqueAllCusCom_D1_CK2
    1110             :         use pm_kind, only: CKC => CK2
    1111             : #include "pm_arrayUnique@routines.inc.F90"
    1112             :     end procedure
    1113             : #endif
    1114             : 
    1115             : #if CK1_ENABLED
    1116         100 :     module procedure isUniqueAllCusCom_D1_CK1
    1117             :         use pm_kind, only: CKC => CK1
    1118             : #include "pm_arrayUnique@routines.inc.F90"
    1119             :     end procedure
    1120             : #endif
    1121             : 
    1122             : #undef CK_ENABLED
    1123             : 
    1124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1125             : 
    1126             : #define RK_ENABLED 1
    1127             : 
    1128             : #if RK5_ENABLED
    1129             :     module procedure isUniqueAllCusCom_D1_RK5
    1130             :         use pm_kind, only: RKC => RK5
    1131             : #include "pm_arrayUnique@routines.inc.F90"
    1132             :     end procedure
    1133             : #endif
    1134             : 
    1135             : #if RK4_ENABLED
    1136         100 :     module procedure isUniqueAllCusCom_D1_RK4
    1137             :         use pm_kind, only: RKC => RK4
    1138             : #include "pm_arrayUnique@routines.inc.F90"
    1139             :     end procedure
    1140             : #endif
    1141             : 
    1142             : #if RK3_ENABLED
    1143         100 :     module procedure isUniqueAllCusCom_D1_RK3
    1144             :         use pm_kind, only: RKC => RK3
    1145             : #include "pm_arrayUnique@routines.inc.F90"
    1146             :     end procedure
    1147             : #endif
    1148             : 
    1149             : #if RK2_ENABLED
    1150         101 :     module procedure isUniqueAllCusCom_D1_RK2
    1151             :         use pm_kind, only: RKC => RK2
    1152             : #include "pm_arrayUnique@routines.inc.F90"
    1153             :     end procedure
    1154             : #endif
    1155             : 
    1156             : #if RK1_ENABLED
    1157         100 :     module procedure isUniqueAllCusCom_D1_RK1
    1158             :         use pm_kind, only: RKC => RK1
    1159             : #include "pm_arrayUnique@routines.inc.F90"
    1160             :     end procedure
    1161             : #endif
    1162             : 
    1163             : #undef RK_ENABLED
    1164             : 
    1165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1166             : 
    1167             : #undef D1_ENABLED
    1168             : 
    1169             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1172             : 
    1173             : #undef CusCom_ENABLED
    1174             : 
    1175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1178             : 
    1179             : #undef isUniqueAll_ENABLED
    1180             : 
    1181             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1182             : 
    1183             : #define isUniqueAny_ENABLED 1
    1184             : 
    1185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1188             : 
    1189             : #define DefCom_ENABLED 1
    1190             : 
    1191             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1192             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1194             : 
    1195             : #define D0_ENABLED 1
    1196             : 
    1197             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1198             : 
    1199             : #define SK_ENABLED 1
    1200             : 
    1201             : #if SK5_ENABLED
    1202             :     module procedure isUniqueAnyDefCom_D0_SK5
    1203             :         use pm_kind, only: SKC => SK5
    1204             : #include "pm_arrayUnique@routines.inc.F90"
    1205             :     end procedure
    1206             : #endif
    1207             : 
    1208             : #if SK4_ENABLED
    1209             :     module procedure isUniqueAnyDefCom_D0_SK4
    1210             :         use pm_kind, only: SKC => SK4
    1211             : #include "pm_arrayUnique@routines.inc.F90"
    1212             :     end procedure
    1213             : #endif
    1214             : 
    1215             : #if SK3_ENABLED
    1216             :     module procedure isUniqueAnyDefCom_D0_SK3
    1217             :         use pm_kind, only: SKC => SK3
    1218             : #include "pm_arrayUnique@routines.inc.F90"
    1219             :     end procedure
    1220             : #endif
    1221             : 
    1222             : #if SK2_ENABLED
    1223             :     module procedure isUniqueAnyDefCom_D0_SK2
    1224             :         use pm_kind, only: SKC => SK2
    1225             : #include "pm_arrayUnique@routines.inc.F90"
    1226             :     end procedure
    1227             : #endif
    1228             : 
    1229             : #if SK1_ENABLED
    1230         107 :     module procedure isUniqueAnyDefCom_D0_SK1
    1231             :         use pm_kind, only: SKC => SK1
    1232             : #include "pm_arrayUnique@routines.inc.F90"
    1233             :     end procedure
    1234             : #endif
    1235             : 
    1236             : #undef SK_ENABLED
    1237             : 
    1238             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1239             : 
    1240             : #undef D0_ENABLED
    1241             : 
    1242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1245             : 
    1246             : #define D1_ENABLED 1
    1247             : 
    1248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1249             : 
    1250             : #define SK_ENABLED 1
    1251             : 
    1252             : #if SK5_ENABLED
    1253             :     module procedure isUniqueAnyDefCom_D1_SK5
    1254             :         use pm_kind, only: SKC => SK5
    1255             : #include "pm_arrayUnique@routines.inc.F90"
    1256             :     end procedure
    1257             : #endif
    1258             : 
    1259             : #if SK4_ENABLED
    1260             :     module procedure isUniqueAnyDefCom_D1_SK4
    1261             :         use pm_kind, only: SKC => SK4
    1262             : #include "pm_arrayUnique@routines.inc.F90"
    1263             :     end procedure
    1264             : #endif
    1265             : 
    1266             : #if SK3_ENABLED
    1267             :     module procedure isUniqueAnyDefCom_D1_SK3
    1268             :         use pm_kind, only: SKC => SK3
    1269             : #include "pm_arrayUnique@routines.inc.F90"
    1270             :     end procedure
    1271             : #endif
    1272             : 
    1273             : #if SK2_ENABLED
    1274             :     module procedure isUniqueAnyDefCom_D1_SK2
    1275             :         use pm_kind, only: SKC => SK2
    1276             : #include "pm_arrayUnique@routines.inc.F90"
    1277             :     end procedure
    1278             : #endif
    1279             : 
    1280             : #if SK1_ENABLED
    1281         107 :     module procedure isUniqueAnyDefCom_D1_SK1
    1282             :         use pm_kind, only: SKC => SK1
    1283             : #include "pm_arrayUnique@routines.inc.F90"
    1284             :     end procedure
    1285             : #endif
    1286             : 
    1287             : #undef SK_ENABLED
    1288             : 
    1289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1290             : 
    1291             : #define IK_ENABLED 1
    1292             : 
    1293             : #if IK5_ENABLED
    1294         100 :     module procedure isUniqueAnyDefCom_D1_IK5
    1295             :         use pm_kind, only: IKC => IK5
    1296             : #include "pm_arrayUnique@routines.inc.F90"
    1297             :     end procedure
    1298             : #endif
    1299             : 
    1300             : #if IK4_ENABLED
    1301         100 :     module procedure isUniqueAnyDefCom_D1_IK4
    1302             :         use pm_kind, only: IKC => IK4
    1303             : #include "pm_arrayUnique@routines.inc.F90"
    1304             :     end procedure
    1305             : #endif
    1306             : 
    1307             : #if IK3_ENABLED
    1308         106 :     module procedure isUniqueAnyDefCom_D1_IK3
    1309             :         use pm_kind, only: IKC => IK3
    1310             : #include "pm_arrayUnique@routines.inc.F90"
    1311             :     end procedure
    1312             : #endif
    1313             : 
    1314             : #if IK2_ENABLED
    1315         100 :     module procedure isUniqueAnyDefCom_D1_IK2
    1316             :         use pm_kind, only: IKC => IK2
    1317             : #include "pm_arrayUnique@routines.inc.F90"
    1318             :     end procedure
    1319             : #endif
    1320             : 
    1321             : #if IK1_ENABLED
    1322         100 :     module procedure isUniqueAnyDefCom_D1_IK1
    1323             :         use pm_kind, only: IKC => IK1
    1324             : #include "pm_arrayUnique@routines.inc.F90"
    1325             :     end procedure
    1326             : #endif
    1327             : 
    1328             : #undef IK_ENABLED
    1329             : 
    1330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1331             : 
    1332             : #define LK_ENABLED 1
    1333             : 
    1334             : #if LK5_ENABLED
    1335         100 :     module procedure isUniqueAnyDefCom_D1_LK5
    1336             :         use pm_kind, only: LKC => LK5
    1337             : #include "pm_arrayUnique@routines.inc.F90"
    1338             :     end procedure
    1339             : #endif
    1340             : 
    1341             : #if LK4_ENABLED
    1342         100 :     module procedure isUniqueAnyDefCom_D1_LK4
    1343             :         use pm_kind, only: LKC => LK4
    1344             : #include "pm_arrayUnique@routines.inc.F90"
    1345             :     end procedure
    1346             : #endif
    1347             : 
    1348             : #if LK3_ENABLED
    1349         107 :     module procedure isUniqueAnyDefCom_D1_LK3
    1350             :         use pm_kind, only: LKC => LK3
    1351             : #include "pm_arrayUnique@routines.inc.F90"
    1352             :     end procedure
    1353             : #endif
    1354             : 
    1355             : #if LK2_ENABLED
    1356         100 :     module procedure isUniqueAnyDefCom_D1_LK2
    1357             :         use pm_kind, only: LKC => LK2
    1358             : #include "pm_arrayUnique@routines.inc.F90"
    1359             :     end procedure
    1360             : #endif
    1361             : 
    1362             : #if LK1_ENABLED
    1363         100 :     module procedure isUniqueAnyDefCom_D1_LK1
    1364             :         use pm_kind, only: LKC => LK1
    1365             : #include "pm_arrayUnique@routines.inc.F90"
    1366             :     end procedure
    1367             : #endif
    1368             : 
    1369             : #undef LK_ENABLED
    1370             : 
    1371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1372             : 
    1373             : #define CK_ENABLED 1
    1374             : 
    1375             : #if CK5_ENABLED
    1376             :     module procedure isUniqueAnyDefCom_D1_CK5
    1377             :         use pm_kind, only: CKC => CK5
    1378             : #include "pm_arrayUnique@routines.inc.F90"
    1379             :     end procedure
    1380             : #endif
    1381             : 
    1382             : #if CK4_ENABLED
    1383         100 :     module procedure isUniqueAnyDefCom_D1_CK4
    1384             :         use pm_kind, only: CKC => CK4
    1385             : #include "pm_arrayUnique@routines.inc.F90"
    1386             :     end procedure
    1387             : #endif
    1388             : 
    1389             : #if CK3_ENABLED
    1390         100 :     module procedure isUniqueAnyDefCom_D1_CK3
    1391             :         use pm_kind, only: CKC => CK3
    1392             : #include "pm_arrayUnique@routines.inc.F90"
    1393             :     end procedure
    1394             : #endif
    1395             : 
    1396             : #if CK2_ENABLED
    1397         100 :     module procedure isUniqueAnyDefCom_D1_CK2
    1398             :         use pm_kind, only: CKC => CK2
    1399             : #include "pm_arrayUnique@routines.inc.F90"
    1400             :     end procedure
    1401             : #endif
    1402             : 
    1403             : #if CK1_ENABLED
    1404         106 :     module procedure isUniqueAnyDefCom_D1_CK1
    1405             :         use pm_kind, only: CKC => CK1
    1406             : #include "pm_arrayUnique@routines.inc.F90"
    1407             :     end procedure
    1408             : #endif
    1409             : 
    1410             : #undef CK_ENABLED
    1411             : 
    1412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1413             : 
    1414             : #define RK_ENABLED 1
    1415             : 
    1416             : #if RK5_ENABLED
    1417             :     module procedure isUniqueAnyDefCom_D1_RK5
    1418             :         use pm_kind, only: RKC => RK5
    1419             : #include "pm_arrayUnique@routines.inc.F90"
    1420             :     end procedure
    1421             : #endif
    1422             : 
    1423             : #if RK4_ENABLED
    1424         100 :     module procedure isUniqueAnyDefCom_D1_RK4
    1425             :         use pm_kind, only: RKC => RK4
    1426             : #include "pm_arrayUnique@routines.inc.F90"
    1427             :     end procedure
    1428             : #endif
    1429             : 
    1430             : #if RK3_ENABLED
    1431         100 :     module procedure isUniqueAnyDefCom_D1_RK3
    1432             :         use pm_kind, only: RKC => RK3
    1433             : #include "pm_arrayUnique@routines.inc.F90"
    1434             :     end procedure
    1435             : #endif
    1436             : 
    1437             : #if RK2_ENABLED
    1438         100 :     module procedure isUniqueAnyDefCom_D1_RK2
    1439             :         use pm_kind, only: RKC => RK2
    1440             : #include "pm_arrayUnique@routines.inc.F90"
    1441             :     end procedure
    1442             : #endif
    1443             : 
    1444             : #if RK1_ENABLED
    1445         106 :     module procedure isUniqueAnyDefCom_D1_RK1
    1446             :         use pm_kind, only: RKC => RK1
    1447             : #include "pm_arrayUnique@routines.inc.F90"
    1448             :     end procedure
    1449             : #endif
    1450             : 
    1451             : #undef RK_ENABLED
    1452             : 
    1453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1454             : 
    1455             : #undef D1_ENABLED
    1456             : 
    1457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1460             : 
    1461             : #undef DefCom_ENABLED
    1462             : 
    1463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1466             : 
    1467             : #define CusCom_ENABLED 1
    1468             : 
    1469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473             : #define D0_ENABLED 1
    1474             : 
    1475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1476             : 
    1477             : #define SK_ENABLED 1
    1478             : 
    1479             : #if SK5_ENABLED
    1480             :     module procedure isUniqueAnyCusCom_D0_SK5
    1481             :         use pm_kind, only: SKC => SK5
    1482             : #include "pm_arrayUnique@routines.inc.F90"
    1483             :     end procedure
    1484             : #endif
    1485             : 
    1486             : #if SK4_ENABLED
    1487             :     module procedure isUniqueAnyCusCom_D0_SK4
    1488             :         use pm_kind, only: SKC => SK4
    1489             : #include "pm_arrayUnique@routines.inc.F90"
    1490             :     end procedure
    1491             : #endif
    1492             : 
    1493             : #if SK3_ENABLED
    1494             :     module procedure isUniqueAnyCusCom_D0_SK3
    1495             :         use pm_kind, only: SKC => SK3
    1496             : #include "pm_arrayUnique@routines.inc.F90"
    1497             :     end procedure
    1498             : #endif
    1499             : 
    1500             : #if SK2_ENABLED
    1501             :     module procedure isUniqueAnyCusCom_D0_SK2
    1502             :         use pm_kind, only: SKC => SK2
    1503             : #include "pm_arrayUnique@routines.inc.F90"
    1504             :     end procedure
    1505             : #endif
    1506             : 
    1507             : #if SK1_ENABLED
    1508         101 :     module procedure isUniqueAnyCusCom_D0_SK1
    1509             :         use pm_kind, only: SKC => SK1
    1510             : #include "pm_arrayUnique@routines.inc.F90"
    1511             :     end procedure
    1512             : #endif
    1513             : 
    1514             : #undef SK_ENABLED
    1515             : 
    1516             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1517             : 
    1518             : #undef D0_ENABLED
    1519             : 
    1520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1522             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1523             : 
    1524             : #define D1_ENABLED 1
    1525             : 
    1526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1527             : 
    1528             : #define SK_ENABLED 1
    1529             : 
    1530             : #if SK5_ENABLED
    1531             :     module procedure isUniqueAnyCusCom_D1_SK5
    1532             :         use pm_kind, only: SKC => SK5
    1533             : #include "pm_arrayUnique@routines.inc.F90"
    1534             :     end procedure
    1535             : #endif
    1536             : 
    1537             : #if SK4_ENABLED
    1538             :     module procedure isUniqueAnyCusCom_D1_SK4
    1539             :         use pm_kind, only: SKC => SK4
    1540             : #include "pm_arrayUnique@routines.inc.F90"
    1541             :     end procedure
    1542             : #endif
    1543             : 
    1544             : #if SK3_ENABLED
    1545             :     module procedure isUniqueAnyCusCom_D1_SK3
    1546             :         use pm_kind, only: SKC => SK3
    1547             : #include "pm_arrayUnique@routines.inc.F90"
    1548             :     end procedure
    1549             : #endif
    1550             : 
    1551             : #if SK2_ENABLED
    1552             :     module procedure isUniqueAnyCusCom_D1_SK2
    1553             :         use pm_kind, only: SKC => SK2
    1554             : #include "pm_arrayUnique@routines.inc.F90"
    1555             :     end procedure
    1556             : #endif
    1557             : 
    1558             : #if SK1_ENABLED
    1559         100 :     module procedure isUniqueAnyCusCom_D1_SK1
    1560             :         use pm_kind, only: SKC => SK1
    1561             : #include "pm_arrayUnique@routines.inc.F90"
    1562             :     end procedure
    1563             : #endif
    1564             : 
    1565             : #undef SK_ENABLED
    1566             : 
    1567             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1568             : 
    1569             : #define IK_ENABLED 1
    1570             : 
    1571             : #if IK5_ENABLED
    1572         100 :     module procedure isUniqueAnyCusCom_D1_IK5
    1573             :         use pm_kind, only: IKC => IK5
    1574             : #include "pm_arrayUnique@routines.inc.F90"
    1575             :     end procedure
    1576             : #endif
    1577             : 
    1578             : #if IK4_ENABLED
    1579         100 :     module procedure isUniqueAnyCusCom_D1_IK4
    1580             :         use pm_kind, only: IKC => IK4
    1581             : #include "pm_arrayUnique@routines.inc.F90"
    1582             :     end procedure
    1583             : #endif
    1584             : 
    1585             : #if IK3_ENABLED
    1586         100 :     module procedure isUniqueAnyCusCom_D1_IK3
    1587             :         use pm_kind, only: IKC => IK3
    1588             : #include "pm_arrayUnique@routines.inc.F90"
    1589             :     end procedure
    1590             : #endif
    1591             : 
    1592             : #if IK2_ENABLED
    1593         100 :     module procedure isUniqueAnyCusCom_D1_IK2
    1594             :         use pm_kind, only: IKC => IK2
    1595             : #include "pm_arrayUnique@routines.inc.F90"
    1596             :     end procedure
    1597             : #endif
    1598             : 
    1599             : #if IK1_ENABLED
    1600         100 :     module procedure isUniqueAnyCusCom_D1_IK1
    1601             :         use pm_kind, only: IKC => IK1
    1602             : #include "pm_arrayUnique@routines.inc.F90"
    1603             :     end procedure
    1604             : #endif
    1605             : 
    1606             : #undef IK_ENABLED
    1607             : 
    1608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1609             : 
    1610             : #define LK_ENABLED 1
    1611             : 
    1612             : #if LK5_ENABLED
    1613         100 :     module procedure isUniqueAnyCusCom_D1_LK5
    1614             :         use pm_kind, only: LKC => LK5
    1615             : #include "pm_arrayUnique@routines.inc.F90"
    1616             :     end procedure
    1617             : #endif
    1618             : 
    1619             : #if LK4_ENABLED
    1620         100 :     module procedure isUniqueAnyCusCom_D1_LK4
    1621             :         use pm_kind, only: LKC => LK4
    1622             : #include "pm_arrayUnique@routines.inc.F90"
    1623             :     end procedure
    1624             : #endif
    1625             : 
    1626             : #if LK3_ENABLED
    1627         100 :     module procedure isUniqueAnyCusCom_D1_LK3
    1628             :         use pm_kind, only: LKC => LK3
    1629             : #include "pm_arrayUnique@routines.inc.F90"
    1630             :     end procedure
    1631             : #endif
    1632             : 
    1633             : #if LK2_ENABLED
    1634         100 :     module procedure isUniqueAnyCusCom_D1_LK2
    1635             :         use pm_kind, only: LKC => LK2
    1636             : #include "pm_arrayUnique@routines.inc.F90"
    1637             :     end procedure
    1638             : #endif
    1639             : 
    1640             : #if LK1_ENABLED
    1641         100 :     module procedure isUniqueAnyCusCom_D1_LK1
    1642             :         use pm_kind, only: LKC => LK1
    1643             : #include "pm_arrayUnique@routines.inc.F90"
    1644             :     end procedure
    1645             : #endif
    1646             : 
    1647             : #undef LK_ENABLED
    1648             : 
    1649             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1650             : 
    1651             : #define CK_ENABLED 1
    1652             : 
    1653             : #if CK5_ENABLED
    1654             :     module procedure isUniqueAnyCusCom_D1_CK5
    1655             :         use pm_kind, only: CKC => CK5
    1656             : #include "pm_arrayUnique@routines.inc.F90"
    1657             :     end procedure
    1658             : #endif
    1659             : 
    1660             : #if CK4_ENABLED
    1661         100 :     module procedure isUniqueAnyCusCom_D1_CK4
    1662             :         use pm_kind, only: CKC => CK4
    1663             : #include "pm_arrayUnique@routines.inc.F90"
    1664             :     end procedure
    1665             : #endif
    1666             : 
    1667             : #if CK3_ENABLED
    1668         100 :     module procedure isUniqueAnyCusCom_D1_CK3
    1669             :         use pm_kind, only: CKC => CK3
    1670             : #include "pm_arrayUnique@routines.inc.F90"
    1671             :     end procedure
    1672             : #endif
    1673             : 
    1674             : #if CK2_ENABLED
    1675         100 :     module procedure isUniqueAnyCusCom_D1_CK2
    1676             :         use pm_kind, only: CKC => CK2
    1677             : #include "pm_arrayUnique@routines.inc.F90"
    1678             :     end procedure
    1679             : #endif
    1680             : 
    1681             : #if CK1_ENABLED
    1682         100 :     module procedure isUniqueAnyCusCom_D1_CK1
    1683             :         use pm_kind, only: CKC => CK1
    1684             : #include "pm_arrayUnique@routines.inc.F90"
    1685             :     end procedure
    1686             : #endif
    1687             : 
    1688             : #undef CK_ENABLED
    1689             : 
    1690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1691             : 
    1692             : #define RK_ENABLED 1
    1693             : 
    1694             : #if RK5_ENABLED
    1695             :     module procedure isUniqueAnyCusCom_D1_RK5
    1696             :         use pm_kind, only: RKC => RK5
    1697             : #include "pm_arrayUnique@routines.inc.F90"
    1698             :     end procedure
    1699             : #endif
    1700             : 
    1701             : #if RK4_ENABLED
    1702         100 :     module procedure isUniqueAnyCusCom_D1_RK4
    1703             :         use pm_kind, only: RKC => RK4
    1704             : #include "pm_arrayUnique@routines.inc.F90"
    1705             :     end procedure
    1706             : #endif
    1707             : 
    1708             : #if RK3_ENABLED
    1709         100 :     module procedure isUniqueAnyCusCom_D1_RK3
    1710             :         use pm_kind, only: RKC => RK3
    1711             : #include "pm_arrayUnique@routines.inc.F90"
    1712             :     end procedure
    1713             : #endif
    1714             : 
    1715             : #if RK2_ENABLED
    1716         101 :     module procedure isUniqueAnyCusCom_D1_RK2
    1717             :         use pm_kind, only: RKC => RK2
    1718             : #include "pm_arrayUnique@routines.inc.F90"
    1719             :     end procedure
    1720             : #endif
    1721             : 
    1722             : #if RK1_ENABLED
    1723         100 :     module procedure isUniqueAnyCusCom_D1_RK1
    1724             :         use pm_kind, only: RKC => RK1
    1725             : #include "pm_arrayUnique@routines.inc.F90"
    1726             :     end procedure
    1727             : #endif
    1728             : 
    1729             : #undef RK_ENABLED
    1730             : 
    1731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1732             : 
    1733             : #undef D1_ENABLED
    1734             : 
    1735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1738             : 
    1739             : #undef CusCom_ENABLED
    1740             : 
    1741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1744             : 
    1745             : #undef isUniqueAny_ENABLED
    1746             : 
    1747             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1748             : 
    1749             : #define getUnique_ENABLED 1
    1750             : 
    1751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1754             : 
    1755             : #define UniArb_ENABLED 1
    1756             : 
    1757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             : 
    1761             : #define DefCom_ENABLED 1
    1762             : 
    1763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1766             : 
    1767             : #define D0_ENABLED 1
    1768             : 
    1769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1770             : 
    1771             : #define SK_ENABLED 1
    1772             : 
    1773             : #if SK5_ENABLED
    1774             :     module procedure getUniArbDefCom_D0_SK5
    1775             :         use pm_kind, only: SKC => SK5
    1776             : #include "pm_arrayUnique@routines.inc.F90"
    1777             :     end procedure
    1778             : #endif
    1779             : 
    1780             : #if SK4_ENABLED
    1781             :     module procedure getUniArbDefCom_D0_SK4
    1782             :         use pm_kind, only: SKC => SK4
    1783             : #include "pm_arrayUnique@routines.inc.F90"
    1784             :     end procedure
    1785             : #endif
    1786             : 
    1787             : #if SK3_ENABLED
    1788             :     module procedure getUniArbDefCom_D0_SK3
    1789             :         use pm_kind, only: SKC => SK3
    1790             : #include "pm_arrayUnique@routines.inc.F90"
    1791             :     end procedure
    1792             : #endif
    1793             : 
    1794             : #if SK2_ENABLED
    1795             :     module procedure getUniArbDefCom_D0_SK2
    1796             :         use pm_kind, only: SKC => SK2
    1797             : #include "pm_arrayUnique@routines.inc.F90"
    1798             :     end procedure
    1799             : #endif
    1800             : 
    1801             : #if SK1_ENABLED
    1802         218 :     module procedure getUniArbDefCom_D0_SK1
    1803             :         use pm_kind, only: SKC => SK1
    1804             : #include "pm_arrayUnique@routines.inc.F90"
    1805         218 :     end procedure
    1806             : #endif
    1807             : 
    1808             : #undef SK_ENABLED
    1809             : 
    1810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1811             : 
    1812             : #undef D0_ENABLED
    1813             : 
    1814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1817             : 
    1818             : #define D1_ENABLED 1
    1819             : 
    1820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1821             : 
    1822             : #define SK_ENABLED 1
    1823             : 
    1824             : #if SK5_ENABLED
    1825             :     module procedure getUniArbDefCom_D1_SK5
    1826             :         use pm_kind, only: SKC => SK5
    1827             : #include "pm_arrayUnique@routines.inc.F90"
    1828             :     end procedure
    1829             : #endif
    1830             : 
    1831             : #if SK4_ENABLED
    1832             :     module procedure getUniArbDefCom_D1_SK4
    1833             :         use pm_kind, only: SKC => SK4
    1834             : #include "pm_arrayUnique@routines.inc.F90"
    1835             :     end procedure
    1836             : #endif
    1837             : 
    1838             : #if SK3_ENABLED
    1839             :     module procedure getUniArbDefCom_D1_SK3
    1840             :         use pm_kind, only: SKC => SK3
    1841             : #include "pm_arrayUnique@routines.inc.F90"
    1842             :     end procedure
    1843             : #endif
    1844             : 
    1845             : #if SK2_ENABLED
    1846             :     module procedure getUniArbDefCom_D1_SK2
    1847             :         use pm_kind, only: SKC => SK2
    1848             : #include "pm_arrayUnique@routines.inc.F90"
    1849             :     end procedure
    1850             : #endif
    1851             : 
    1852             : #if SK1_ENABLED
    1853         218 :     module procedure getUniArbDefCom_D1_SK1
    1854             :         use pm_kind, only: SKC => SK1
    1855             : #include "pm_arrayUnique@routines.inc.F90"
    1856         218 :     end procedure
    1857             : #endif
    1858             : 
    1859             : #undef SK_ENABLED
    1860             : 
    1861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1862             : 
    1863             : #define IK_ENABLED 1
    1864             : 
    1865             : #if IK5_ENABLED
    1866         468 :     module procedure getUniArbDefCom_D1_IK5
    1867             :         use pm_kind, only: IKC => IK5
    1868             : #include "pm_arrayUnique@routines.inc.F90"
    1869         468 :     end procedure
    1870             : #endif
    1871             : 
    1872             : #if IK4_ENABLED
    1873         468 :     module procedure getUniArbDefCom_D1_IK4
    1874             :         use pm_kind, only: IKC => IK4
    1875             : #include "pm_arrayUnique@routines.inc.F90"
    1876         468 :     end procedure
    1877             : #endif
    1878             : 
    1879             : #if IK3_ENABLED
    1880       95948 :     module procedure getUniArbDefCom_D1_IK3
    1881             :         use pm_kind, only: IKC => IK3
    1882             : #include "pm_arrayUnique@routines.inc.F90"
    1883       95948 :     end procedure
    1884             : #endif
    1885             : 
    1886             : #if IK2_ENABLED
    1887         468 :     module procedure getUniArbDefCom_D1_IK2
    1888             :         use pm_kind, only: IKC => IK2
    1889             : #include "pm_arrayUnique@routines.inc.F90"
    1890         468 :     end procedure
    1891             : #endif
    1892             : 
    1893             : #if IK1_ENABLED
    1894         468 :     module procedure getUniArbDefCom_D1_IK1
    1895             :         use pm_kind, only: IKC => IK1
    1896             : #include "pm_arrayUnique@routines.inc.F90"
    1897         468 :     end procedure
    1898             : #endif
    1899             : 
    1900             : #undef IK_ENABLED
    1901             : 
    1902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1903             : 
    1904             : #define LK_ENABLED 1
    1905             : 
    1906             : #if LK5_ENABLED
    1907         213 :     module procedure getUniArbDefCom_D1_LK5
    1908             :         use pm_kind, only: LKC => LK5
    1909             : #include "pm_arrayUnique@routines.inc.F90"
    1910         213 :     end procedure
    1911             : #endif
    1912             : 
    1913             : #if LK4_ENABLED
    1914         213 :     module procedure getUniArbDefCom_D1_LK4
    1915             :         use pm_kind, only: LKC => LK4
    1916             : #include "pm_arrayUnique@routines.inc.F90"
    1917         213 :     end procedure
    1918             : #endif
    1919             : 
    1920             : #if LK3_ENABLED
    1921         213 :     module procedure getUniArbDefCom_D1_LK3
    1922             :         use pm_kind, only: LKC => LK3
    1923             : #include "pm_arrayUnique@routines.inc.F90"
    1924         213 :     end procedure
    1925             : #endif
    1926             : 
    1927             : #if LK2_ENABLED
    1928         213 :     module procedure getUniArbDefCom_D1_LK2
    1929             :         use pm_kind, only: LKC => LK2
    1930             : #include "pm_arrayUnique@routines.inc.F90"
    1931         213 :     end procedure
    1932             : #endif
    1933             : 
    1934             : #if LK1_ENABLED
    1935         213 :     module procedure getUniArbDefCom_D1_LK1
    1936             :         use pm_kind, only: LKC => LK1
    1937             : #include "pm_arrayUnique@routines.inc.F90"
    1938         213 :     end procedure
    1939             : #endif
    1940             : 
    1941             : #undef LK_ENABLED
    1942             : 
    1943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1944             : 
    1945             : #define CK_ENABLED 1
    1946             : 
    1947             : #if CK5_ENABLED
    1948             :     module procedure getUniArbDefCom_D1_CK5
    1949             :         use pm_kind, only: CKC => CK5
    1950             : #include "pm_arrayUnique@routines.inc.F90"
    1951             :     end procedure
    1952             : #endif
    1953             : 
    1954             : #if CK4_ENABLED
    1955         213 :     module procedure getUniArbDefCom_D1_CK4
    1956             :         use pm_kind, only: CKC => CK4
    1957             : #include "pm_arrayUnique@routines.inc.F90"
    1958         213 :     end procedure
    1959             : #endif
    1960             : 
    1961             : #if CK3_ENABLED
    1962         213 :     module procedure getUniArbDefCom_D1_CK3
    1963             :         use pm_kind, only: CKC => CK3
    1964             : #include "pm_arrayUnique@routines.inc.F90"
    1965         213 :     end procedure
    1966             : #endif
    1967             : 
    1968             : #if CK2_ENABLED
    1969         214 :     module procedure getUniArbDefCom_D1_CK2
    1970             :         use pm_kind, only: CKC => CK2
    1971             : #include "pm_arrayUnique@routines.inc.F90"
    1972         214 :     end procedure
    1973             : #endif
    1974             : 
    1975             : #if CK1_ENABLED
    1976         215 :     module procedure getUniArbDefCom_D1_CK1
    1977             :         use pm_kind, only: CKC => CK1
    1978             : #include "pm_arrayUnique@routines.inc.F90"
    1979         215 :     end procedure
    1980             : #endif
    1981             : 
    1982             : #undef CK_ENABLED
    1983             : 
    1984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1985             : 
    1986             : #define RK_ENABLED 1
    1987             : 
    1988             : #if RK5_ENABLED
    1989             :     module procedure getUniArbDefCom_D1_RK5
    1990             :         use pm_kind, only: RKC => RK5
    1991             : #include "pm_arrayUnique@routines.inc.F90"
    1992             :     end procedure
    1993             : #endif
    1994             : 
    1995             : #if RK4_ENABLED
    1996         213 :     module procedure getUniArbDefCom_D1_RK4
    1997             :         use pm_kind, only: RKC => RK4
    1998             : #include "pm_arrayUnique@routines.inc.F90"
    1999         213 :     end procedure
    2000             : #endif
    2001             : 
    2002             : #if RK3_ENABLED
    2003         213 :     module procedure getUniArbDefCom_D1_RK3
    2004             :         use pm_kind, only: RKC => RK3
    2005             : #include "pm_arrayUnique@routines.inc.F90"
    2006         213 :     end procedure
    2007             : #endif
    2008             : 
    2009             : #if RK2_ENABLED
    2010         214 :     module procedure getUniArbDefCom_D1_RK2
    2011             :         use pm_kind, only: RKC => RK2
    2012             : #include "pm_arrayUnique@routines.inc.F90"
    2013         214 :     end procedure
    2014             : #endif
    2015             : 
    2016             : #if RK1_ENABLED
    2017         215 :     module procedure getUniArbDefCom_D1_RK1
    2018             :         use pm_kind, only: RKC => RK1
    2019             : #include "pm_arrayUnique@routines.inc.F90"
    2020         215 :     end procedure
    2021             : #endif
    2022             : 
    2023             : #undef RK_ENABLED
    2024             : 
    2025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2026             : 
    2027             : #undef D1_ENABLED
    2028             : 
    2029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2032             : 
    2033             : #undef DefCom_ENABLED
    2034             : 
    2035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2038             : 
    2039             : #define CusCom_ENABLED 1
    2040             : 
    2041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2042             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2044             : 
    2045             : #define D0_ENABLED 1
    2046             : 
    2047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2048             : 
    2049             : #define SK_ENABLED 1
    2050             : 
    2051             : #if SK5_ENABLED
    2052             :     module procedure getUniArbCusCom_D0_SK5
    2053             :         use pm_kind, only: SKC => SK5
    2054             : #include "pm_arrayUnique@routines.inc.F90"
    2055             :     end procedure
    2056             : #endif
    2057             : 
    2058             : #if SK4_ENABLED
    2059             :     module procedure getUniArbCusCom_D0_SK4
    2060             :         use pm_kind, only: SKC => SK4
    2061             : #include "pm_arrayUnique@routines.inc.F90"
    2062             :     end procedure
    2063             : #endif
    2064             : 
    2065             : #if SK3_ENABLED
    2066             :     module procedure getUniArbCusCom_D0_SK3
    2067             :         use pm_kind, only: SKC => SK3
    2068             : #include "pm_arrayUnique@routines.inc.F90"
    2069             :     end procedure
    2070             : #endif
    2071             : 
    2072             : #if SK2_ENABLED
    2073             :     module procedure getUniArbCusCom_D0_SK2
    2074             :         use pm_kind, only: SKC => SK2
    2075             : #include "pm_arrayUnique@routines.inc.F90"
    2076             :     end procedure
    2077             : #endif
    2078             : 
    2079             : #if SK1_ENABLED
    2080           6 :     module procedure getUniArbCusCom_D0_SK1
    2081             :         use pm_kind, only: SKC => SK1
    2082             : #include "pm_arrayUnique@routines.inc.F90"
    2083           6 :     end procedure
    2084             : #endif
    2085             : 
    2086             : #undef SK_ENABLED
    2087             : 
    2088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2089             : 
    2090             : #undef D0_ENABLED
    2091             : 
    2092             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2093             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2095             : 
    2096             : #define D1_ENABLED 1
    2097             : 
    2098             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2099             : 
    2100             : #define SK_ENABLED 1
    2101             : 
    2102             : #if SK5_ENABLED
    2103             :     module procedure getUniArbCusCom_D1_SK5
    2104             :         use pm_kind, only: SKC => SK5
    2105             : #include "pm_arrayUnique@routines.inc.F90"
    2106             :     end procedure
    2107             : #endif
    2108             : 
    2109             : #if SK4_ENABLED
    2110             :     module procedure getUniArbCusCom_D1_SK4
    2111             :         use pm_kind, only: SKC => SK4
    2112             : #include "pm_arrayUnique@routines.inc.F90"
    2113             :     end procedure
    2114             : #endif
    2115             : 
    2116             : #if SK3_ENABLED
    2117             :     module procedure getUniArbCusCom_D1_SK3
    2118             :         use pm_kind, only: SKC => SK3
    2119             : #include "pm_arrayUnique@routines.inc.F90"
    2120             :     end procedure
    2121             : #endif
    2122             : 
    2123             : #if SK2_ENABLED
    2124             :     module procedure getUniArbCusCom_D1_SK2
    2125             :         use pm_kind, only: SKC => SK2
    2126             : #include "pm_arrayUnique@routines.inc.F90"
    2127             :     end procedure
    2128             : #endif
    2129             : 
    2130             : #if SK1_ENABLED
    2131           5 :     module procedure getUniArbCusCom_D1_SK1
    2132             :         use pm_kind, only: SKC => SK1
    2133             : #include "pm_arrayUnique@routines.inc.F90"
    2134           5 :     end procedure
    2135             : #endif
    2136             : 
    2137             : #undef SK_ENABLED
    2138             : 
    2139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2140             : 
    2141             : #define IK_ENABLED 1
    2142             : 
    2143             : #if IK5_ENABLED
    2144           5 :     module procedure getUniArbCusCom_D1_IK5
    2145             :         use pm_kind, only: IKC => IK5
    2146             : #include "pm_arrayUnique@routines.inc.F90"
    2147           5 :     end procedure
    2148             : #endif
    2149             : 
    2150             : #if IK4_ENABLED
    2151           5 :     module procedure getUniArbCusCom_D1_IK4
    2152             :         use pm_kind, only: IKC => IK4
    2153             : #include "pm_arrayUnique@routines.inc.F90"
    2154           5 :     end procedure
    2155             : #endif
    2156             : 
    2157             : #if IK3_ENABLED
    2158           5 :     module procedure getUniArbCusCom_D1_IK3
    2159             :         use pm_kind, only: IKC => IK3
    2160             : #include "pm_arrayUnique@routines.inc.F90"
    2161           5 :     end procedure
    2162             : #endif
    2163             : 
    2164             : #if IK2_ENABLED
    2165           5 :     module procedure getUniArbCusCom_D1_IK2
    2166             :         use pm_kind, only: IKC => IK2
    2167             : #include "pm_arrayUnique@routines.inc.F90"
    2168           5 :     end procedure
    2169             : #endif
    2170             : 
    2171             : #if IK1_ENABLED
    2172           5 :     module procedure getUniArbCusCom_D1_IK1
    2173             :         use pm_kind, only: IKC => IK1
    2174             : #include "pm_arrayUnique@routines.inc.F90"
    2175           5 :     end procedure
    2176             : #endif
    2177             : 
    2178             : #undef IK_ENABLED
    2179             : 
    2180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2181             : 
    2182             : #define LK_ENABLED 1
    2183             : 
    2184             : #if LK5_ENABLED
    2185           5 :     module procedure getUniArbCusCom_D1_LK5
    2186             :         use pm_kind, only: LKC => LK5
    2187             : #include "pm_arrayUnique@routines.inc.F90"
    2188           5 :     end procedure
    2189             : #endif
    2190             : 
    2191             : #if LK4_ENABLED
    2192           5 :     module procedure getUniArbCusCom_D1_LK4
    2193             :         use pm_kind, only: LKC => LK4
    2194             : #include "pm_arrayUnique@routines.inc.F90"
    2195           5 :     end procedure
    2196             : #endif
    2197             : 
    2198             : #if LK3_ENABLED
    2199           5 :     module procedure getUniArbCusCom_D1_LK3
    2200             :         use pm_kind, only: LKC => LK3
    2201             : #include "pm_arrayUnique@routines.inc.F90"
    2202           5 :     end procedure
    2203             : #endif
    2204             : 
    2205             : #if LK2_ENABLED
    2206           5 :     module procedure getUniArbCusCom_D1_LK2
    2207             :         use pm_kind, only: LKC => LK2
    2208             : #include "pm_arrayUnique@routines.inc.F90"
    2209           5 :     end procedure
    2210             : #endif
    2211             : 
    2212             : #if LK1_ENABLED
    2213           5 :     module procedure getUniArbCusCom_D1_LK1
    2214             :         use pm_kind, only: LKC => LK1
    2215             : #include "pm_arrayUnique@routines.inc.F90"
    2216           5 :     end procedure
    2217             : #endif
    2218             : 
    2219             : #undef LK_ENABLED
    2220             : 
    2221             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2222             : 
    2223             : #define CK_ENABLED 1
    2224             : 
    2225             : #if CK5_ENABLED
    2226             :     module procedure getUniArbCusCom_D1_CK5
    2227             :         use pm_kind, only: CKC => CK5
    2228             : #include "pm_arrayUnique@routines.inc.F90"
    2229             :     end procedure
    2230             : #endif
    2231             : 
    2232             : #if CK4_ENABLED
    2233           5 :     module procedure getUniArbCusCom_D1_CK4
    2234             :         use pm_kind, only: CKC => CK4
    2235             : #include "pm_arrayUnique@routines.inc.F90"
    2236           5 :     end procedure
    2237             : #endif
    2238             : 
    2239             : #if CK3_ENABLED
    2240           5 :     module procedure getUniArbCusCom_D1_CK3
    2241             :         use pm_kind, only: CKC => CK3
    2242             : #include "pm_arrayUnique@routines.inc.F90"
    2243           5 :     end procedure
    2244             : #endif
    2245             : 
    2246             : #if CK2_ENABLED
    2247           5 :     module procedure getUniArbCusCom_D1_CK2
    2248             :         use pm_kind, only: CKC => CK2
    2249             : #include "pm_arrayUnique@routines.inc.F90"
    2250           5 :     end procedure
    2251             : #endif
    2252             : 
    2253             : #if CK1_ENABLED
    2254           5 :     module procedure getUniArbCusCom_D1_CK1
    2255             :         use pm_kind, only: CKC => CK1
    2256             : #include "pm_arrayUnique@routines.inc.F90"
    2257           5 :     end procedure
    2258             : #endif
    2259             : 
    2260             : #undef CK_ENABLED
    2261             : 
    2262             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2263             : 
    2264             : #define RK_ENABLED 1
    2265             : 
    2266             : #if RK5_ENABLED
    2267             :     module procedure getUniArbCusCom_D1_RK5
    2268             :         use pm_kind, only: RKC => RK5
    2269             : #include "pm_arrayUnique@routines.inc.F90"
    2270             :     end procedure
    2271             : #endif
    2272             : 
    2273             : #if RK4_ENABLED
    2274           5 :     module procedure getUniArbCusCom_D1_RK4
    2275             :         use pm_kind, only: RKC => RK4
    2276             : #include "pm_arrayUnique@routines.inc.F90"
    2277           5 :     end procedure
    2278             : #endif
    2279             : 
    2280             : #if RK3_ENABLED
    2281           5 :     module procedure getUniArbCusCom_D1_RK3
    2282             :         use pm_kind, only: RKC => RK3
    2283             : #include "pm_arrayUnique@routines.inc.F90"
    2284           5 :     end procedure
    2285             : #endif
    2286             : 
    2287             : #if RK2_ENABLED
    2288           6 :     module procedure getUniArbCusCom_D1_RK2
    2289             :         use pm_kind, only: RKC => RK2
    2290             : #include "pm_arrayUnique@routines.inc.F90"
    2291           6 :     end procedure
    2292             : #endif
    2293             : 
    2294             : #if RK1_ENABLED
    2295           5 :     module procedure getUniArbCusCom_D1_RK1
    2296             :         use pm_kind, only: RKC => RK1
    2297             : #include "pm_arrayUnique@routines.inc.F90"
    2298           5 :     end procedure
    2299             : #endif
    2300             : 
    2301             : #undef RK_ENABLED
    2302             : 
    2303             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2304             : 
    2305             : #undef D1_ENABLED
    2306             : 
    2307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2308             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2310             : 
    2311             : #undef CusCom_ENABLED
    2312             : 
    2313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2316             : 
    2317             : #undef UniArb_ENABLED
    2318             : 
    2319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2322             : 
    2323             : #undef getUnique_ENABLED
    2324             : 
    2325             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2326             : 
    2327             : #define setUnique_ENABLED 1
    2328             : 
    2329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2332             : 
    2333             : #define UniArb_ENABLED 1
    2334             : 
    2335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2338             : 
    2339             : #define DefCom_ENABLED 1
    2340             : 
    2341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2344             : 
    2345             : #define D0_ENABLED 1
    2346             : 
    2347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2348             : 
    2349             : #define SK_ENABLED 1
    2350             : 
    2351             : #if SK5_ENABLED
    2352             :     module procedure setUniArbDefCom_D0_SK5
    2353             :         use pm_kind, only: SKC => SK5
    2354             : #include "pm_arrayUnique@routines.inc.F90"
    2355             :     end procedure
    2356             : #endif
    2357             : 
    2358             : #if SK4_ENABLED
    2359             :     module procedure setUniArbDefCom_D0_SK4
    2360             :         use pm_kind, only: SKC => SK4
    2361             : #include "pm_arrayUnique@routines.inc.F90"
    2362             :     end procedure
    2363             : #endif
    2364             : 
    2365             : #if SK3_ENABLED
    2366             :     module procedure setUniArbDefCom_D0_SK3
    2367             :         use pm_kind, only: SKC => SK3
    2368             : #include "pm_arrayUnique@routines.inc.F90"
    2369             :     end procedure
    2370             : #endif
    2371             : 
    2372             : #if SK2_ENABLED
    2373             :     module procedure setUniArbDefCom_D0_SK2
    2374             :         use pm_kind, only: SKC => SK2
    2375             : #include "pm_arrayUnique@routines.inc.F90"
    2376             :     end procedure
    2377             : #endif
    2378             : 
    2379             : #if SK1_ENABLED
    2380          41 :     module procedure setUniArbDefCom_D0_SK1
    2381             :         use pm_kind, only: SKC => SK1
    2382             : #include "pm_arrayUnique@routines.inc.F90"
    2383          41 :     end procedure
    2384             : #endif
    2385             : 
    2386             : #undef SK_ENABLED
    2387             : 
    2388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2389             : 
    2390             : #undef D0_ENABLED
    2391             : 
    2392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2395             : 
    2396             : #define D1_ENABLED 1
    2397             : 
    2398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2399             : 
    2400             : #define SK_ENABLED 1
    2401             : 
    2402             : #if SK5_ENABLED
    2403             :     module procedure setUniArbDefCom_D1_SK5
    2404             :         use pm_kind, only: SKC => SK5
    2405             : #include "pm_arrayUnique@routines.inc.F90"
    2406             :     end procedure
    2407             : #endif
    2408             : 
    2409             : #if SK4_ENABLED
    2410             :     module procedure setUniArbDefCom_D1_SK4
    2411             :         use pm_kind, only: SKC => SK4
    2412             : #include "pm_arrayUnique@routines.inc.F90"
    2413             :     end procedure
    2414             : #endif
    2415             : 
    2416             : #if SK3_ENABLED
    2417             :     module procedure setUniArbDefCom_D1_SK3
    2418             :         use pm_kind, only: SKC => SK3
    2419             : #include "pm_arrayUnique@routines.inc.F90"
    2420             :     end procedure
    2421             : #endif
    2422             : 
    2423             : #if SK2_ENABLED
    2424             :     module procedure setUniArbDefCom_D1_SK2
    2425             :         use pm_kind, only: SKC => SK2
    2426             : #include "pm_arrayUnique@routines.inc.F90"
    2427             :     end procedure
    2428             : #endif
    2429             : 
    2430             : #if SK1_ENABLED
    2431          49 :     module procedure setUniArbDefCom_D1_SK1
    2432             :         use pm_kind, only: SKC => SK1
    2433             : #include "pm_arrayUnique@routines.inc.F90"
    2434          49 :     end procedure
    2435             : #endif
    2436             : 
    2437             : #undef SK_ENABLED
    2438             : 
    2439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2440             : 
    2441             : #define IK_ENABLED 1
    2442             : 
    2443             : #if IK5_ENABLED
    2444          40 :     module procedure setUniArbDefCom_D1_IK5
    2445             :         use pm_kind, only: IKC => IK5
    2446             : #include "pm_arrayUnique@routines.inc.F90"
    2447          40 :     end procedure
    2448             : #endif
    2449             : 
    2450             : #if IK4_ENABLED
    2451          40 :     module procedure setUniArbDefCom_D1_IK4
    2452             :         use pm_kind, only: IKC => IK4
    2453             : #include "pm_arrayUnique@routines.inc.F90"
    2454          40 :     end procedure
    2455             : #endif
    2456             : 
    2457             : #if IK3_ENABLED
    2458          42 :     module procedure setUniArbDefCom_D1_IK3
    2459             :         use pm_kind, only: IKC => IK3
    2460             : #include "pm_arrayUnique@routines.inc.F90"
    2461          42 :     end procedure
    2462             : #endif
    2463             : 
    2464             : #if IK2_ENABLED
    2465          40 :     module procedure setUniArbDefCom_D1_IK2
    2466             :         use pm_kind, only: IKC => IK2
    2467             : #include "pm_arrayUnique@routines.inc.F90"
    2468          40 :     end procedure
    2469             : #endif
    2470             : 
    2471             : #if IK1_ENABLED
    2472          40 :     module procedure setUniArbDefCom_D1_IK1
    2473             :         use pm_kind, only: IKC => IK1
    2474             : #include "pm_arrayUnique@routines.inc.F90"
    2475          40 :     end procedure
    2476             : #endif
    2477             : 
    2478             : #undef IK_ENABLED
    2479             : 
    2480             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2481             : 
    2482             : #define LK_ENABLED 1
    2483             : 
    2484             : #if LK5_ENABLED
    2485          40 :     module procedure setUniArbDefCom_D1_LK5
    2486             :         use pm_kind, only: LKC => LK5
    2487             : #include "pm_arrayUnique@routines.inc.F90"
    2488          40 :     end procedure
    2489             : #endif
    2490             : 
    2491             : #if LK4_ENABLED
    2492          40 :     module procedure setUniArbDefCom_D1_LK4
    2493             :         use pm_kind, only: LKC => LK4
    2494             : #include "pm_arrayUnique@routines.inc.F90"
    2495          40 :     end procedure
    2496             : #endif
    2497             : 
    2498             : #if LK3_ENABLED
    2499          40 :     module procedure setUniArbDefCom_D1_LK3
    2500             :         use pm_kind, only: LKC => LK3
    2501             : #include "pm_arrayUnique@routines.inc.F90"
    2502          40 :     end procedure
    2503             : #endif
    2504             : 
    2505             : #if LK2_ENABLED
    2506          40 :     module procedure setUniArbDefCom_D1_LK2
    2507             :         use pm_kind, only: LKC => LK2
    2508             : #include "pm_arrayUnique@routines.inc.F90"
    2509          40 :     end procedure
    2510             : #endif
    2511             : 
    2512             : #if LK1_ENABLED
    2513          40 :     module procedure setUniArbDefCom_D1_LK1
    2514             :         use pm_kind, only: LKC => LK1
    2515             : #include "pm_arrayUnique@routines.inc.F90"
    2516          40 :     end procedure
    2517             : #endif
    2518             : 
    2519             : #undef LK_ENABLED
    2520             : 
    2521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2522             : 
    2523             : #define CK_ENABLED 1
    2524             : 
    2525             : #if CK5_ENABLED
    2526             :     module procedure setUniArbDefCom_D1_CK5
    2527             :         use pm_kind, only: CKC => CK5
    2528             : #include "pm_arrayUnique@routines.inc.F90"
    2529             :     end procedure
    2530             : #endif
    2531             : 
    2532             : #if CK4_ENABLED
    2533          40 :     module procedure setUniArbDefCom_D1_CK4
    2534             :         use pm_kind, only: CKC => CK4
    2535             : #include "pm_arrayUnique@routines.inc.F90"
    2536          40 :     end procedure
    2537             : #endif
    2538             : 
    2539             : #if CK3_ENABLED
    2540          40 :     module procedure setUniArbDefCom_D1_CK3
    2541             :         use pm_kind, only: CKC => CK3
    2542             : #include "pm_arrayUnique@routines.inc.F90"
    2543          40 :     end procedure
    2544             : #endif
    2545             : 
    2546             : #if CK2_ENABLED
    2547          41 :     module procedure setUniArbDefCom_D1_CK2
    2548             :         use pm_kind, only: CKC => CK2
    2549             : #include "pm_arrayUnique@routines.inc.F90"
    2550          41 :     end procedure
    2551             : #endif
    2552             : 
    2553             : #if CK1_ENABLED
    2554          40 :     module procedure setUniArbDefCom_D1_CK1
    2555             :         use pm_kind, only: CKC => CK1
    2556             : #include "pm_arrayUnique@routines.inc.F90"
    2557          40 :     end procedure
    2558             : #endif
    2559             : 
    2560             : #undef CK_ENABLED
    2561             : 
    2562             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2563             : 
    2564             : #define RK_ENABLED 1
    2565             : 
    2566             : #if RK5_ENABLED
    2567             :     module procedure setUniArbDefCom_D1_RK5
    2568             :         use pm_kind, only: RKC => RK5
    2569             : #include "pm_arrayUnique@routines.inc.F90"
    2570             :     end procedure
    2571             : #endif
    2572             : 
    2573             : #if RK4_ENABLED
    2574          40 :     module procedure setUniArbDefCom_D1_RK4
    2575             :         use pm_kind, only: RKC => RK4
    2576             : #include "pm_arrayUnique@routines.inc.F90"
    2577          40 :     end procedure
    2578             : #endif
    2579             : 
    2580             : #if RK3_ENABLED
    2581          40 :     module procedure setUniArbDefCom_D1_RK3
    2582             :         use pm_kind, only: RKC => RK3
    2583             : #include "pm_arrayUnique@routines.inc.F90"
    2584          40 :     end procedure
    2585             : #endif
    2586             : 
    2587             : #if RK2_ENABLED
    2588          41 :     module procedure setUniArbDefCom_D1_RK2
    2589             :         use pm_kind, only: RKC => RK2
    2590             : #include "pm_arrayUnique@routines.inc.F90"
    2591          41 :     end procedure
    2592             : #endif
    2593             : 
    2594             : #if RK1_ENABLED
    2595          40 :     module procedure setUniArbDefCom_D1_RK1
    2596             :         use pm_kind, only: RKC => RK1
    2597             : #include "pm_arrayUnique@routines.inc.F90"
    2598          40 :     end procedure
    2599             : #endif
    2600             : 
    2601             : #undef RK_ENABLED
    2602             : 
    2603             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2604             : 
    2605             : #undef D1_ENABLED
    2606             : 
    2607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2610             : 
    2611             : #undef DefCom_ENABLED
    2612             : 
    2613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2616             : 
    2617             : #define CusCom_ENABLED 1
    2618             : 
    2619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2622             : 
    2623             : #define D0_ENABLED 1
    2624             : 
    2625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2626             : 
    2627             : #define SK_ENABLED 1
    2628             : 
    2629             : #if SK5_ENABLED
    2630             :     module procedure setUniArbCusCom_D0_SK5
    2631             :         use pm_kind, only: SKC => SK5
    2632             : #include "pm_arrayUnique@routines.inc.F90"
    2633             :     end procedure
    2634             : #endif
    2635             : 
    2636             : #if SK4_ENABLED
    2637             :     module procedure setUniArbCusCom_D0_SK4
    2638             :         use pm_kind, only: SKC => SK4
    2639             : #include "pm_arrayUnique@routines.inc.F90"
    2640             :     end procedure
    2641             : #endif
    2642             : 
    2643             : #if SK3_ENABLED
    2644             :     module procedure setUniArbCusCom_D0_SK3
    2645             :         use pm_kind, only: SKC => SK3
    2646             : #include "pm_arrayUnique@routines.inc.F90"
    2647             :     end procedure
    2648             : #endif
    2649             : 
    2650             : #if SK2_ENABLED
    2651             :     module procedure setUniArbCusCom_D0_SK2
    2652             :         use pm_kind, only: SKC => SK2
    2653             : #include "pm_arrayUnique@routines.inc.F90"
    2654             :     end procedure
    2655             : #endif
    2656             : 
    2657             : #if SK1_ENABLED
    2658          41 :     module procedure setUniArbCusCom_D0_SK1
    2659             :         use pm_kind, only: SKC => SK1
    2660             : #include "pm_arrayUnique@routines.inc.F90"
    2661          41 :     end procedure
    2662             : #endif
    2663             : 
    2664             : #undef SK_ENABLED
    2665             : 
    2666             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2667             : 
    2668             : #undef D0_ENABLED
    2669             : 
    2670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2672             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2673             : 
    2674             : #define D1_ENABLED 1
    2675             : 
    2676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2677             : 
    2678             : #define SK_ENABLED 1
    2679             : 
    2680             : #if SK5_ENABLED
    2681             :     module procedure setUniArbCusCom_D1_SK5
    2682             :         use pm_kind, only: SKC => SK5
    2683             : #include "pm_arrayUnique@routines.inc.F90"
    2684             :     end procedure
    2685             : #endif
    2686             : 
    2687             : #if SK4_ENABLED
    2688             :     module procedure setUniArbCusCom_D1_SK4
    2689             :         use pm_kind, only: SKC => SK4
    2690             : #include "pm_arrayUnique@routines.inc.F90"
    2691             :     end procedure
    2692             : #endif
    2693             : 
    2694             : #if SK3_ENABLED
    2695             :     module procedure setUniArbCusCom_D1_SK3
    2696             :         use pm_kind, only: SKC => SK3
    2697             : #include "pm_arrayUnique@routines.inc.F90"
    2698             :     end procedure
    2699             : #endif
    2700             : 
    2701             : #if SK2_ENABLED
    2702             :     module procedure setUniArbCusCom_D1_SK2
    2703             :         use pm_kind, only: SKC => SK2
    2704             : #include "pm_arrayUnique@routines.inc.F90"
    2705             :     end procedure
    2706             : #endif
    2707             : 
    2708             : #if SK1_ENABLED
    2709          48 :     module procedure setUniArbCusCom_D1_SK1
    2710             :         use pm_kind, only: SKC => SK1
    2711             : #include "pm_arrayUnique@routines.inc.F90"
    2712          48 :     end procedure
    2713             : #endif
    2714             : 
    2715             : #undef SK_ENABLED
    2716             : 
    2717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2718             : 
    2719             : #define IK_ENABLED 1
    2720             : 
    2721             : #if IK5_ENABLED
    2722          40 :     module procedure setUniArbCusCom_D1_IK5
    2723             :         use pm_kind, only: IKC => IK5
    2724             : #include "pm_arrayUnique@routines.inc.F90"
    2725          40 :     end procedure
    2726             : #endif
    2727             : 
    2728             : #if IK4_ENABLED
    2729          40 :     module procedure setUniArbCusCom_D1_IK4
    2730             :         use pm_kind, only: IKC => IK4
    2731             : #include "pm_arrayUnique@routines.inc.F90"
    2732          40 :     end procedure
    2733             : #endif
    2734             : 
    2735             : #if IK3_ENABLED
    2736          40 :     module procedure setUniArbCusCom_D1_IK3
    2737             :         use pm_kind, only: IKC => IK3
    2738             : #include "pm_arrayUnique@routines.inc.F90"
    2739          40 :     end procedure
    2740             : #endif
    2741             : 
    2742             : #if IK2_ENABLED
    2743          40 :     module procedure setUniArbCusCom_D1_IK2
    2744             :         use pm_kind, only: IKC => IK2
    2745             : #include "pm_arrayUnique@routines.inc.F90"
    2746          40 :     end procedure
    2747             : #endif
    2748             : 
    2749             : #if IK1_ENABLED
    2750          40 :     module procedure setUniArbCusCom_D1_IK1
    2751             :         use pm_kind, only: IKC => IK1
    2752             : #include "pm_arrayUnique@routines.inc.F90"
    2753          40 :     end procedure
    2754             : #endif
    2755             : 
    2756             : #undef IK_ENABLED
    2757             : 
    2758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2759             : 
    2760             : #define LK_ENABLED 1
    2761             : 
    2762             : #if LK5_ENABLED
    2763          40 :     module procedure setUniArbCusCom_D1_LK5
    2764             :         use pm_kind, only: LKC => LK5
    2765             : #include "pm_arrayUnique@routines.inc.F90"
    2766          40 :     end procedure
    2767             : #endif
    2768             : 
    2769             : #if LK4_ENABLED
    2770          40 :     module procedure setUniArbCusCom_D1_LK4
    2771             :         use pm_kind, only: LKC => LK4
    2772             : #include "pm_arrayUnique@routines.inc.F90"
    2773          40 :     end procedure
    2774             : #endif
    2775             : 
    2776             : #if LK3_ENABLED
    2777          40 :     module procedure setUniArbCusCom_D1_LK3
    2778             :         use pm_kind, only: LKC => LK3
    2779             : #include "pm_arrayUnique@routines.inc.F90"
    2780          40 :     end procedure
    2781             : #endif
    2782             : 
    2783             : #if LK2_ENABLED
    2784          40 :     module procedure setUniArbCusCom_D1_LK2
    2785             :         use pm_kind, only: LKC => LK2
    2786             : #include "pm_arrayUnique@routines.inc.F90"
    2787          40 :     end procedure
    2788             : #endif
    2789             : 
    2790             : #if LK1_ENABLED
    2791          40 :     module procedure setUniArbCusCom_D1_LK1
    2792             :         use pm_kind, only: LKC => LK1
    2793             : #include "pm_arrayUnique@routines.inc.F90"
    2794          40 :     end procedure
    2795             : #endif
    2796             : 
    2797             : #undef LK_ENABLED
    2798             : 
    2799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2800             : 
    2801             : #define CK_ENABLED 1
    2802             : 
    2803             : #if CK5_ENABLED
    2804             :     module procedure setUniArbCusCom_D1_CK5
    2805             :         use pm_kind, only: CKC => CK5
    2806             : #include "pm_arrayUnique@routines.inc.F90"
    2807             :     end procedure
    2808             : #endif
    2809             : 
    2810             : #if CK4_ENABLED
    2811          40 :     module procedure setUniArbCusCom_D1_CK4
    2812             :         use pm_kind, only: CKC => CK4
    2813             : #include "pm_arrayUnique@routines.inc.F90"
    2814          40 :     end procedure
    2815             : #endif
    2816             : 
    2817             : #if CK3_ENABLED
    2818          40 :     module procedure setUniArbCusCom_D1_CK3
    2819             :         use pm_kind, only: CKC => CK3
    2820             : #include "pm_arrayUnique@routines.inc.F90"
    2821          40 :     end procedure
    2822             : #endif
    2823             : 
    2824             : #if CK2_ENABLED
    2825          40 :     module procedure setUniArbCusCom_D1_CK2
    2826             :         use pm_kind, only: CKC => CK2
    2827             : #include "pm_arrayUnique@routines.inc.F90"
    2828          40 :     end procedure
    2829             : #endif
    2830             : 
    2831             : #if CK1_ENABLED
    2832          40 :     module procedure setUniArbCusCom_D1_CK1
    2833             :         use pm_kind, only: CKC => CK1
    2834             : #include "pm_arrayUnique@routines.inc.F90"
    2835          40 :     end procedure
    2836             : #endif
    2837             : 
    2838             : #undef CK_ENABLED
    2839             : 
    2840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2841             : 
    2842             : #define RK_ENABLED 1
    2843             : 
    2844             : #if RK5_ENABLED
    2845             :     module procedure setUniArbCusCom_D1_RK5
    2846             :         use pm_kind, only: RKC => RK5
    2847             : #include "pm_arrayUnique@routines.inc.F90"
    2848             :     end procedure
    2849             : #endif
    2850             : 
    2851             : #if RK4_ENABLED
    2852          40 :     module procedure setUniArbCusCom_D1_RK4
    2853             :         use pm_kind, only: RKC => RK4
    2854             : #include "pm_arrayUnique@routines.inc.F90"
    2855          40 :     end procedure
    2856             : #endif
    2857             : 
    2858             : #if RK3_ENABLED
    2859          40 :     module procedure setUniArbCusCom_D1_RK3
    2860             :         use pm_kind, only: RKC => RK3
    2861             : #include "pm_arrayUnique@routines.inc.F90"
    2862          40 :     end procedure
    2863             : #endif
    2864             : 
    2865             : #if RK2_ENABLED
    2866          41 :     module procedure setUniArbCusCom_D1_RK2
    2867             :         use pm_kind, only: RKC => RK2
    2868             : #include "pm_arrayUnique@routines.inc.F90"
    2869          41 :     end procedure
    2870             : #endif
    2871             : 
    2872             : #if RK1_ENABLED
    2873          40 :     module procedure setUniArbCusCom_D1_RK1
    2874             :         use pm_kind, only: RKC => RK1
    2875             : #include "pm_arrayUnique@routines.inc.F90"
    2876          40 :     end procedure
    2877             : #endif
    2878             : 
    2879             : #undef RK_ENABLED
    2880             : 
    2881             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2882             : 
    2883             : #undef D1_ENABLED
    2884             : 
    2885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2888             : 
    2889             : #undef CusCom_ENABLED
    2890             : 
    2891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2894             : 
    2895             : #undef UniArb_ENABLED
    2896             : 
    2897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2898             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2900             : 
    2901             : #define UniFix_ENABLED 1
    2902             : 
    2903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2906             : 
    2907             : #define DefCom_ENABLED 1
    2908             : 
    2909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2910             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2912             : 
    2913             : #define D0_ENABLED 1
    2914             : 
    2915             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2916             : 
    2917             : #define SK_ENABLED 1
    2918             : 
    2919             : #if SK5_ENABLED
    2920             :     module procedure setUniFixDefCom_D0_SK5
    2921             :         use pm_kind, only: SKC => SK5
    2922             : #include "pm_arrayUnique@routines.inc.F90"
    2923             :     end procedure
    2924             : #endif
    2925             : 
    2926             : #if SK4_ENABLED
    2927             :     module procedure setUniFixDefCom_D0_SK4
    2928             :         use pm_kind, only: SKC => SK4
    2929             : #include "pm_arrayUnique@routines.inc.F90"
    2930             :     end procedure
    2931             : #endif
    2932             : 
    2933             : #if SK3_ENABLED
    2934             :     module procedure setUniFixDefCom_D0_SK3
    2935             :         use pm_kind, only: SKC => SK3
    2936             : #include "pm_arrayUnique@routines.inc.F90"
    2937             :     end procedure
    2938             : #endif
    2939             : 
    2940             : #if SK2_ENABLED
    2941             :     module procedure setUniFixDefCom_D0_SK2
    2942             :         use pm_kind, only: SKC => SK2
    2943             : #include "pm_arrayUnique@routines.inc.F90"
    2944             :     end procedure
    2945             : #endif
    2946             : 
    2947             : #if SK1_ENABLED
    2948          87 :     module procedure setUniFixDefCom_D0_SK1
    2949             :         use pm_kind, only: SKC => SK1
    2950             : #include "pm_arrayUnique@routines.inc.F90"
    2951          35 :     end procedure
    2952             : #endif
    2953             : 
    2954             : #undef SK_ENABLED
    2955             : 
    2956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2957             : 
    2958             : #undef D0_ENABLED
    2959             : 
    2960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2961             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2963             : 
    2964             : #define D1_ENABLED 1
    2965             : 
    2966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2967             : 
    2968             : #define SK_ENABLED 1
    2969             : 
    2970             : #if SK5_ENABLED
    2971             :     module procedure setUniFixDefCom_D1_SK5
    2972             :         use pm_kind, only: SKC => SK5
    2973             : #include "pm_arrayUnique@routines.inc.F90"
    2974             :     end procedure
    2975             : #endif
    2976             : 
    2977             : #if SK4_ENABLED
    2978             :     module procedure setUniFixDefCom_D1_SK4
    2979             :         use pm_kind, only: SKC => SK4
    2980             : #include "pm_arrayUnique@routines.inc.F90"
    2981             :     end procedure
    2982             : #endif
    2983             : 
    2984             : #if SK3_ENABLED
    2985             :     module procedure setUniFixDefCom_D1_SK3
    2986             :         use pm_kind, only: SKC => SK3
    2987             : #include "pm_arrayUnique@routines.inc.F90"
    2988             :     end procedure
    2989             : #endif
    2990             : 
    2991             : #if SK2_ENABLED
    2992             :     module procedure setUniFixDefCom_D1_SK2
    2993             :         use pm_kind, only: SKC => SK2
    2994             : #include "pm_arrayUnique@routines.inc.F90"
    2995             :     end procedure
    2996             : #endif
    2997             : 
    2998             : #if SK1_ENABLED
    2999         110 :     module procedure setUniFixDefCom_D1_SK1
    3000             :         use pm_kind, only: SKC => SK1
    3001             : #include "pm_arrayUnique@routines.inc.F90"
    3002          42 :     end procedure
    3003             : #endif
    3004             : 
    3005             : #undef SK_ENABLED
    3006             : 
    3007             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3008             : 
    3009             : #define IK_ENABLED 1
    3010             : 
    3011             : #if IK5_ENABLED
    3012          87 :     module procedure setUniFixDefCom_D1_IK5
    3013             :         use pm_kind, only: IKC => IK5
    3014             : #include "pm_arrayUnique@routines.inc.F90"
    3015          35 :     end procedure
    3016             : #endif
    3017             : 
    3018             : #if IK4_ENABLED
    3019          87 :     module procedure setUniFixDefCom_D1_IK4
    3020             :         use pm_kind, only: IKC => IK4
    3021             : #include "pm_arrayUnique@routines.inc.F90"
    3022          35 :     end procedure
    3023             : #endif
    3024             : 
    3025             : #if IK3_ENABLED
    3026         100 :     module procedure setUniFixDefCom_D1_IK3
    3027             :         use pm_kind, only: IKC => IK3
    3028             : #include "pm_arrayUnique@routines.inc.F90"
    3029          48 :     end procedure
    3030             : #endif
    3031             : 
    3032             : #if IK2_ENABLED
    3033          87 :     module procedure setUniFixDefCom_D1_IK2
    3034             :         use pm_kind, only: IKC => IK2
    3035             : #include "pm_arrayUnique@routines.inc.F90"
    3036          35 :     end procedure
    3037             : #endif
    3038             : 
    3039             : #if IK1_ENABLED
    3040          87 :     module procedure setUniFixDefCom_D1_IK1
    3041             :         use pm_kind, only: IKC => IK1
    3042             : #include "pm_arrayUnique@routines.inc.F90"
    3043          35 :     end procedure
    3044             : #endif
    3045             : 
    3046             : #undef IK_ENABLED
    3047             : 
    3048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3049             : 
    3050             : #define LK_ENABLED 1
    3051             : 
    3052             : #if LK5_ENABLED
    3053          71 :     module procedure setUniFixDefCom_D1_LK5
    3054             :         use pm_kind, only: LKC => LK5
    3055             : #include "pm_arrayUnique@routines.inc.F90"
    3056          35 :     end procedure
    3057             : #endif
    3058             : 
    3059             : #if LK4_ENABLED
    3060          71 :     module procedure setUniFixDefCom_D1_LK4
    3061             :         use pm_kind, only: LKC => LK4
    3062             : #include "pm_arrayUnique@routines.inc.F90"
    3063          35 :     end procedure
    3064             : #endif
    3065             : 
    3066             : #if LK3_ENABLED
    3067          71 :     module procedure setUniFixDefCom_D1_LK3
    3068             :         use pm_kind, only: LKC => LK3
    3069             : #include "pm_arrayUnique@routines.inc.F90"
    3070          35 :     end procedure
    3071             : #endif
    3072             : 
    3073             : #if LK2_ENABLED
    3074          71 :     module procedure setUniFixDefCom_D1_LK2
    3075             :         use pm_kind, only: LKC => LK2
    3076             : #include "pm_arrayUnique@routines.inc.F90"
    3077          35 :     end procedure
    3078             : #endif
    3079             : 
    3080             : #if LK1_ENABLED
    3081          71 :     module procedure setUniFixDefCom_D1_LK1
    3082             :         use pm_kind, only: LKC => LK1
    3083             : #include "pm_arrayUnique@routines.inc.F90"
    3084          35 :     end procedure
    3085             : #endif
    3086             : 
    3087             : #undef LK_ENABLED
    3088             : 
    3089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3090             : 
    3091             : #define CK_ENABLED 1
    3092             : 
    3093             : #if CK5_ENABLED
    3094             :     module procedure setUniFixDefCom_D1_CK5
    3095             :         use pm_kind, only: CKC => CK5
    3096             : #include "pm_arrayUnique@routines.inc.F90"
    3097             :     end procedure
    3098             : #endif
    3099             : 
    3100             : #if CK4_ENABLED
    3101          87 :     module procedure setUniFixDefCom_D1_CK4
    3102             :         use pm_kind, only: CKC => CK4
    3103             : #include "pm_arrayUnique@routines.inc.F90"
    3104          35 :     end procedure
    3105             : #endif
    3106             : 
    3107             : #if CK3_ENABLED
    3108          87 :     module procedure setUniFixDefCom_D1_CK3
    3109             :         use pm_kind, only: CKC => CK3
    3110             : #include "pm_arrayUnique@routines.inc.F90"
    3111          35 :     end procedure
    3112             : #endif
    3113             : 
    3114             : #if CK2_ENABLED
    3115          87 :     module procedure setUniFixDefCom_D1_CK2
    3116             :         use pm_kind, only: CKC => CK2
    3117             : #include "pm_arrayUnique@routines.inc.F90"
    3118          35 :     end procedure
    3119             : #endif
    3120             : 
    3121             : #if CK1_ENABLED
    3122          87 :     module procedure setUniFixDefCom_D1_CK1
    3123             :         use pm_kind, only: CKC => CK1
    3124             : #include "pm_arrayUnique@routines.inc.F90"
    3125          35 :     end procedure
    3126             : #endif
    3127             : 
    3128             : #undef CK_ENABLED
    3129             : 
    3130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3131             : 
    3132             : #define RK_ENABLED 1
    3133             : 
    3134             : #if RK5_ENABLED
    3135             :     module procedure setUniFixDefCom_D1_RK5
    3136             :         use pm_kind, only: RKC => RK5
    3137             : #include "pm_arrayUnique@routines.inc.F90"
    3138             :     end procedure
    3139             : #endif
    3140             : 
    3141             : #if RK4_ENABLED
    3142          87 :     module procedure setUniFixDefCom_D1_RK4
    3143             :         use pm_kind, only: RKC => RK4
    3144             : #include "pm_arrayUnique@routines.inc.F90"
    3145          35 :     end procedure
    3146             : #endif
    3147             : 
    3148             : #if RK3_ENABLED
    3149          87 :     module procedure setUniFixDefCom_D1_RK3
    3150             :         use pm_kind, only: RKC => RK3
    3151             : #include "pm_arrayUnique@routines.inc.F90"
    3152          35 :     end procedure
    3153             : #endif
    3154             : 
    3155             : #if RK2_ENABLED
    3156          87 :     module procedure setUniFixDefCom_D1_RK2
    3157             :         use pm_kind, only: RKC => RK2
    3158             : #include "pm_arrayUnique@routines.inc.F90"
    3159          35 :     end procedure
    3160             : #endif
    3161             : 
    3162             : #if RK1_ENABLED
    3163          87 :     module procedure setUniFixDefCom_D1_RK1
    3164             :         use pm_kind, only: RKC => RK1
    3165             : #include "pm_arrayUnique@routines.inc.F90"
    3166          35 :     end procedure
    3167             : #endif
    3168             : 
    3169             : #undef RK_ENABLED
    3170             : 
    3171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3172             : 
    3173             : #undef D1_ENABLED
    3174             : 
    3175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3178             : 
    3179             : #undef DefCom_ENABLED
    3180             : 
    3181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3182             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3184             : 
    3185             : #define CusCom_ENABLED 1
    3186             : 
    3187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3190             : 
    3191             : #define D0_ENABLED 1
    3192             : 
    3193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3194             : 
    3195             : #define SK_ENABLED 1
    3196             : 
    3197             : #if SK5_ENABLED
    3198             :     module procedure setUniFixCusCom_D0_SK5
    3199             :         use pm_kind, only: SKC => SK5
    3200             : #include "pm_arrayUnique@routines.inc.F90"
    3201             :     end procedure
    3202             : #endif
    3203             : 
    3204             : #if SK4_ENABLED
    3205             :     module procedure setUniFixCusCom_D0_SK4
    3206             :         use pm_kind, only: SKC => SK4
    3207             : #include "pm_arrayUnique@routines.inc.F90"
    3208             :     end procedure
    3209             : #endif
    3210             : 
    3211             : #if SK3_ENABLED
    3212             :     module procedure setUniFixCusCom_D0_SK3
    3213             :         use pm_kind, only: SKC => SK3
    3214             : #include "pm_arrayUnique@routines.inc.F90"
    3215             :     end procedure
    3216             : #endif
    3217             : 
    3218             : #if SK2_ENABLED
    3219             :     module procedure setUniFixCusCom_D0_SK2
    3220             :         use pm_kind, only: SKC => SK2
    3221             : #include "pm_arrayUnique@routines.inc.F90"
    3222             :     end procedure
    3223             : #endif
    3224             : 
    3225             : #if SK1_ENABLED
    3226          87 :     module procedure setUniFixCusCom_D0_SK1
    3227             :         use pm_kind, only: SKC => SK1
    3228             : #include "pm_arrayUnique@routines.inc.F90"
    3229          35 :     end procedure
    3230             : #endif
    3231             : 
    3232             : #undef SK_ENABLED
    3233             : 
    3234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3235             : 
    3236             : #undef D0_ENABLED
    3237             : 
    3238             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3241             : 
    3242             : #define D1_ENABLED 1
    3243             : 
    3244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3245             : 
    3246             : #define SK_ENABLED 1
    3247             : 
    3248             : #if SK5_ENABLED
    3249             :     module procedure setUniFixCusCom_D1_SK5
    3250             :         use pm_kind, only: SKC => SK5
    3251             : #include "pm_arrayUnique@routines.inc.F90"
    3252             :     end procedure
    3253             : #endif
    3254             : 
    3255             : #if SK4_ENABLED
    3256             :     module procedure setUniFixCusCom_D1_SK4
    3257             :         use pm_kind, only: SKC => SK4
    3258             : #include "pm_arrayUnique@routines.inc.F90"
    3259             :     end procedure
    3260             : #endif
    3261             : 
    3262             : #if SK3_ENABLED
    3263             :     module procedure setUniFixCusCom_D1_SK3
    3264             :         use pm_kind, only: SKC => SK3
    3265             : #include "pm_arrayUnique@routines.inc.F90"
    3266             :     end procedure
    3267             : #endif
    3268             : 
    3269             : #if SK2_ENABLED
    3270             :     module procedure setUniFixCusCom_D1_SK2
    3271             :         use pm_kind, only: SKC => SK2
    3272             : #include "pm_arrayUnique@routines.inc.F90"
    3273             :     end procedure
    3274             : #endif
    3275             : 
    3276             : #if SK1_ENABLED
    3277         110 :     module procedure setUniFixCusCom_D1_SK1
    3278             :         use pm_kind, only: SKC => SK1
    3279             : #include "pm_arrayUnique@routines.inc.F90"
    3280          42 :     end procedure
    3281             : #endif
    3282             : 
    3283             : #undef SK_ENABLED
    3284             : 
    3285             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3286             : 
    3287             : #define IK_ENABLED 1
    3288             : 
    3289             : #if IK5_ENABLED
    3290          87 :     module procedure setUniFixCusCom_D1_IK5
    3291             :         use pm_kind, only: IKC => IK5
    3292             : #include "pm_arrayUnique@routines.inc.F90"
    3293          35 :     end procedure
    3294             : #endif
    3295             : 
    3296             : #if IK4_ENABLED
    3297          87 :     module procedure setUniFixCusCom_D1_IK4
    3298             :         use pm_kind, only: IKC => IK4
    3299             : #include "pm_arrayUnique@routines.inc.F90"
    3300          35 :     end procedure
    3301             : #endif
    3302             : 
    3303             : #if IK3_ENABLED
    3304          87 :     module procedure setUniFixCusCom_D1_IK3
    3305             :         use pm_kind, only: IKC => IK3
    3306             : #include "pm_arrayUnique@routines.inc.F90"
    3307          35 :     end procedure
    3308             : #endif
    3309             : 
    3310             : #if IK2_ENABLED
    3311          87 :     module procedure setUniFixCusCom_D1_IK2
    3312             :         use pm_kind, only: IKC => IK2
    3313             : #include "pm_arrayUnique@routines.inc.F90"
    3314          35 :     end procedure
    3315             : #endif
    3316             : 
    3317             : #if IK1_ENABLED
    3318          87 :     module procedure setUniFixCusCom_D1_IK1
    3319             :         use pm_kind, only: IKC => IK1
    3320             : #include "pm_arrayUnique@routines.inc.F90"
    3321          35 :     end procedure
    3322             : #endif
    3323             : 
    3324             : #undef IK_ENABLED
    3325             : 
    3326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3327             : 
    3328             : #define LK_ENABLED 1
    3329             : 
    3330             : #if LK5_ENABLED
    3331          71 :     module procedure setUniFixCusCom_D1_LK5
    3332             :         use pm_kind, only: LKC => LK5
    3333             : #include "pm_arrayUnique@routines.inc.F90"
    3334          35 :     end procedure
    3335             : #endif
    3336             : 
    3337             : #if LK4_ENABLED
    3338          71 :     module procedure setUniFixCusCom_D1_LK4
    3339             :         use pm_kind, only: LKC => LK4
    3340             : #include "pm_arrayUnique@routines.inc.F90"
    3341          35 :     end procedure
    3342             : #endif
    3343             : 
    3344             : #if LK3_ENABLED
    3345          71 :     module procedure setUniFixCusCom_D1_LK3
    3346             :         use pm_kind, only: LKC => LK3
    3347             : #include "pm_arrayUnique@routines.inc.F90"
    3348          35 :     end procedure
    3349             : #endif
    3350             : 
    3351             : #if LK2_ENABLED
    3352          71 :     module procedure setUniFixCusCom_D1_LK2
    3353             :         use pm_kind, only: LKC => LK2
    3354             : #include "pm_arrayUnique@routines.inc.F90"
    3355          35 :     end procedure
    3356             : #endif
    3357             : 
    3358             : #if LK1_ENABLED
    3359          71 :     module procedure setUniFixCusCom_D1_LK1
    3360             :         use pm_kind, only: LKC => LK1
    3361             : #include "pm_arrayUnique@routines.inc.F90"
    3362          35 :     end procedure
    3363             : #endif
    3364             : 
    3365             : #undef LK_ENABLED
    3366             : 
    3367             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3368             : 
    3369             : #define CK_ENABLED 1
    3370             : 
    3371             : #if CK5_ENABLED
    3372             :     module procedure setUniFixCusCom_D1_CK5
    3373             :         use pm_kind, only: CKC => CK5
    3374             : #include "pm_arrayUnique@routines.inc.F90"
    3375             :     end procedure
    3376             : #endif
    3377             : 
    3378             : #if CK4_ENABLED
    3379          87 :     module procedure setUniFixCusCom_D1_CK4
    3380             :         use pm_kind, only: CKC => CK4
    3381             : #include "pm_arrayUnique@routines.inc.F90"
    3382          35 :     end procedure
    3383             : #endif
    3384             : 
    3385             : #if CK3_ENABLED
    3386          87 :     module procedure setUniFixCusCom_D1_CK3
    3387             :         use pm_kind, only: CKC => CK3
    3388             : #include "pm_arrayUnique@routines.inc.F90"
    3389          35 :     end procedure
    3390             : #endif
    3391             : 
    3392             : #if CK2_ENABLED
    3393          87 :     module procedure setUniFixCusCom_D1_CK2
    3394             :         use pm_kind, only: CKC => CK2
    3395             : #include "pm_arrayUnique@routines.inc.F90"
    3396          35 :     end procedure
    3397             : #endif
    3398             : 
    3399             : #if CK1_ENABLED
    3400          87 :     module procedure setUniFixCusCom_D1_CK1
    3401             :         use pm_kind, only: CKC => CK1
    3402             : #include "pm_arrayUnique@routines.inc.F90"
    3403          35 :     end procedure
    3404             : #endif
    3405             : 
    3406             : #undef CK_ENABLED
    3407             : 
    3408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3409             : 
    3410             : #define RK_ENABLED 1
    3411             : 
    3412             : #if RK5_ENABLED
    3413             :     module procedure setUniFixCusCom_D1_RK5
    3414             :         use pm_kind, only: RKC => RK5
    3415             : #include "pm_arrayUnique@routines.inc.F90"
    3416             :     end procedure
    3417             : #endif
    3418             : 
    3419             : #if RK4_ENABLED
    3420          87 :     module procedure setUniFixCusCom_D1_RK4
    3421             :         use pm_kind, only: RKC => RK4
    3422             : #include "pm_arrayUnique@routines.inc.F90"
    3423          35 :     end procedure
    3424             : #endif
    3425             : 
    3426             : #if RK3_ENABLED
    3427          87 :     module procedure setUniFixCusCom_D1_RK3
    3428             :         use pm_kind, only: RKC => RK3
    3429             : #include "pm_arrayUnique@routines.inc.F90"
    3430          35 :     end procedure
    3431             : #endif
    3432             : 
    3433             : #if RK2_ENABLED
    3434          87 :     module procedure setUniFixCusCom_D1_RK2
    3435             :         use pm_kind, only: RKC => RK2
    3436             : #include "pm_arrayUnique@routines.inc.F90"
    3437          35 :     end procedure
    3438             : #endif
    3439             : 
    3440             : #if RK1_ENABLED
    3441          87 :     module procedure setUniFixCusCom_D1_RK1
    3442             :         use pm_kind, only: RKC => RK1
    3443             : #include "pm_arrayUnique@routines.inc.F90"
    3444          35 :     end procedure
    3445             : #endif
    3446             : 
    3447             : #undef RK_ENABLED
    3448             : 
    3449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3450             : 
    3451             : #undef D1_ENABLED
    3452             : 
    3453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3456             : 
    3457             : #undef CusCom_ENABLED
    3458             : 
    3459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3462             : 
    3463             : #undef UniFix_ENABLED
    3464             : 
    3465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3468             : 
    3469             : #undef setUnique_ENABLED
    3470             : 
    3471             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3472             : 
    3473             : #undef CHECK_ASSERTION
    3474             : 
    3475             : end submodule routines

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