https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_arrayUnique@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 100 100 100.0 %
Date: 2024-04-08 03:18:57 Functions: 100 100 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 procedure implementations of [test_pm_arrayUnique](@ref test_pm_arrayUnique).
      19             : !>
      20             : !>  \fintest
      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 (test_pm_arrayUnique) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_io, only: display_type
      30             :     use pm_container, only: cvi_type
      31             :     use pm_distUnif, only: getUnifRand
      32             :     use pm_arrayRemap , only: setRemapped
      33             :     use pm_arrayChoice, only: getChoice
      34             :     use pm_arrayRange, only: getRange
      35             :     use pm_str, only: getCharVec
      36             :     implicit none
      37             : 
      38             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      39             : 
      40             : contains
      41             : 
      42             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : #define isUnique_ENABLED 1
      45             : 
      46             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      47             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define D0_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define SK_ENABLED 1
      55             : 
      56             : #if SK5_ENABLED
      57             :     module procedure test_isUnique_D0_SK5_1
      58             :         use pm_kind, only: SKC => SK5
      59             : #include "test_pm_arrayUnique@routines.inc.F90"
      60             :     end procedure
      61             : #endif
      62             : 
      63             : #if SK4_ENABLED
      64             :     module procedure test_isUnique_D0_SK4_1
      65             :         use pm_kind, only: SKC => SK4
      66             : #include "test_pm_arrayUnique@routines.inc.F90"
      67             :     end procedure
      68             : #endif
      69             : 
      70             : #if SK3_ENABLED
      71             :     module procedure test_isUnique_D0_SK3_1
      72             :         use pm_kind, only: SKC => SK3
      73             : #include "test_pm_arrayUnique@routines.inc.F90"
      74             :     end procedure
      75             : #endif
      76             : 
      77             : #if SK2_ENABLED
      78             :     module procedure test_isUnique_D0_SK2_1
      79             :         use pm_kind, only: SKC => SK2
      80             : #include "test_pm_arrayUnique@routines.inc.F90"
      81             :     end procedure
      82             : #endif
      83             : 
      84             : #if SK1_ENABLED
      85           1 :     module procedure test_isUnique_D0_SK1_1
      86             :         use pm_kind, only: SKC => SK1
      87             : #include "test_pm_arrayUnique@routines.inc.F90"
      88             :     end procedure
      89             : #endif
      90             : 
      91             : #undef SK_ENABLED
      92             : 
      93             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      94             : 
      95             : #undef D0_ENABLED
      96             : 
      97             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      98             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      99             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     100             : 
     101             : #define D1_ENABLED 1
     102             : 
     103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     104             : 
     105             : #define SK_ENABLED 1
     106             : 
     107             : #if SK5_ENABLED
     108             :     module procedure test_isUnique_D1_SK5_1
     109             :         use pm_kind, only: SKC => SK5
     110             : #include "test_pm_arrayUnique@routines.inc.F90"
     111             :     end procedure
     112             : #endif
     113             : 
     114             : #if SK4_ENABLED
     115             :     module procedure test_isUnique_D1_SK4_1
     116             :         use pm_kind, only: SKC => SK4
     117             : #include "test_pm_arrayUnique@routines.inc.F90"
     118             :     end procedure
     119             : #endif
     120             : 
     121             : #if SK3_ENABLED
     122             :     module procedure test_isUnique_D1_SK3_1
     123             :         use pm_kind, only: SKC => SK3
     124             : #include "test_pm_arrayUnique@routines.inc.F90"
     125             :     end procedure
     126             : #endif
     127             : 
     128             : #if SK2_ENABLED
     129             :     module procedure test_isUnique_D1_SK2_1
     130             :         use pm_kind, only: SKC => SK2
     131             : #include "test_pm_arrayUnique@routines.inc.F90"
     132             :     end procedure
     133             : #endif
     134             : 
     135             : #if SK1_ENABLED
     136           1 :     module procedure test_isUnique_D1_SK1_1
     137             :         use pm_kind, only: SKC => SK1
     138             : #include "test_pm_arrayUnique@routines.inc.F90"
     139             :     end procedure
     140             : #endif
     141             : 
     142             : #undef SK_ENABLED
     143             : 
     144             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     145             : 
     146             : #define IK_ENABLED 1
     147             : 
     148             : #if IK5_ENABLED
     149           1 :     module procedure test_isUnique_D1_IK5_1
     150             :         use pm_kind, only: IKC => IK5
     151             : #include "test_pm_arrayUnique@routines.inc.F90"
     152             :     end procedure
     153             : #endif
     154             : 
     155             : #if IK4_ENABLED
     156           1 :     module procedure test_isUnique_D1_IK4_1
     157             :         use pm_kind, only: IKC => IK4
     158             : #include "test_pm_arrayUnique@routines.inc.F90"
     159             :     end procedure
     160             : #endif
     161             : 
     162             : #if IK3_ENABLED
     163           1 :     module procedure test_isUnique_D1_IK3_1
     164             :         use pm_kind, only: IKC => IK3
     165             : #include "test_pm_arrayUnique@routines.inc.F90"
     166             :     end procedure
     167             : #endif
     168             : 
     169             : #if IK2_ENABLED
     170           1 :     module procedure test_isUnique_D1_IK2_1
     171             :         use pm_kind, only: IKC => IK2
     172             : #include "test_pm_arrayUnique@routines.inc.F90"
     173             :     end procedure
     174             : #endif
     175             : 
     176             : #if IK1_ENABLED
     177           1 :     module procedure test_isUnique_D1_IK1_1
     178             :         use pm_kind, only: IKC => IK1
     179             : #include "test_pm_arrayUnique@routines.inc.F90"
     180             :     end procedure
     181             : #endif
     182             : 
     183             : #undef IK_ENABLED
     184             : 
     185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     186             : 
     187             : #define LK_ENABLED 1
     188             : 
     189             : #if LK5_ENABLED
     190           1 :     module procedure test_isUnique_D1_LK5_1
     191             :         use pm_kind, only: LKC => LK5
     192             : #include "test_pm_arrayUnique@routines.inc.F90"
     193             :     end procedure
     194             : #endif
     195             : 
     196             : #if LK4_ENABLED
     197           1 :     module procedure test_isUnique_D1_LK4_1
     198             :         use pm_kind, only: LKC => LK4
     199             : #include "test_pm_arrayUnique@routines.inc.F90"
     200             :     end procedure
     201             : #endif
     202             : 
     203             : #if LK3_ENABLED
     204           1 :     module procedure test_isUnique_D1_LK3_1
     205             :         use pm_kind, only: LKC => LK3
     206             : #include "test_pm_arrayUnique@routines.inc.F90"
     207             :     end procedure
     208             : #endif
     209             : 
     210             : #if LK2_ENABLED
     211           1 :     module procedure test_isUnique_D1_LK2_1
     212             :         use pm_kind, only: LKC => LK2
     213             : #include "test_pm_arrayUnique@routines.inc.F90"
     214             :     end procedure
     215             : #endif
     216             : 
     217             : #if LK1_ENABLED
     218           1 :     module procedure test_isUnique_D1_LK1_1
     219             :         use pm_kind, only: LKC => LK1
     220             : #include "test_pm_arrayUnique@routines.inc.F90"
     221             :     end procedure
     222             : #endif
     223             : 
     224             : #undef LK_ENABLED
     225             : 
     226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     227             : 
     228             : #define CK_ENABLED 1
     229             : 
     230             : #if CK5_ENABLED
     231             :     module procedure test_isUnique_D1_CK5_1
     232             :         use pm_kind, only: CKC => CK5
     233             : #include "test_pm_arrayUnique@routines.inc.F90"
     234             :     end procedure
     235             : #endif
     236             : 
     237             : #if CK4_ENABLED
     238           1 :     module procedure test_isUnique_D1_CK4_1
     239             :         use pm_kind, only: CKC => CK4
     240             : #include "test_pm_arrayUnique@routines.inc.F90"
     241             :     end procedure
     242             : #endif
     243             : 
     244             : #if CK3_ENABLED
     245           1 :     module procedure test_isUnique_D1_CK3_1
     246             :         use pm_kind, only: CKC => CK3
     247             : #include "test_pm_arrayUnique@routines.inc.F90"
     248             :     end procedure
     249             : #endif
     250             : 
     251             : #if CK2_ENABLED
     252           1 :     module procedure test_isUnique_D1_CK2_1
     253             :         use pm_kind, only: CKC => CK2
     254             : #include "test_pm_arrayUnique@routines.inc.F90"
     255             :     end procedure
     256             : #endif
     257             : 
     258             : #if CK1_ENABLED
     259           1 :     module procedure test_isUnique_D1_CK1_1
     260             :         use pm_kind, only: CKC => CK1
     261             : #include "test_pm_arrayUnique@routines.inc.F90"
     262             :     end procedure
     263             : #endif
     264             : 
     265             : #undef CK_ENABLED
     266             : 
     267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     268             : 
     269             : #define RK_ENABLED 1
     270             : 
     271             : #if RK5_ENABLED
     272             :     module procedure test_isUnique_D1_RK5_1
     273             :         use pm_kind, only: RKC => RK5
     274             : #include "test_pm_arrayUnique@routines.inc.F90"
     275             :     end procedure
     276             : #endif
     277             : 
     278             : #if RK4_ENABLED
     279           1 :     module procedure test_isUnique_D1_RK4_1
     280             :         use pm_kind, only: RKC => RK4
     281             : #include "test_pm_arrayUnique@routines.inc.F90"
     282             :     end procedure
     283             : #endif
     284             : 
     285             : #if RK3_ENABLED
     286           1 :     module procedure test_isUnique_D1_RK3_1
     287             :         use pm_kind, only: RKC => RK3
     288             : #include "test_pm_arrayUnique@routines.inc.F90"
     289             :     end procedure
     290             : #endif
     291             : 
     292             : #if RK2_ENABLED
     293           1 :     module procedure test_isUnique_D1_RK2_1
     294             :         use pm_kind, only: RKC => RK2
     295             : #include "test_pm_arrayUnique@routines.inc.F90"
     296             :     end procedure
     297             : #endif
     298             : 
     299             : #if RK1_ENABLED
     300           1 :     module procedure test_isUnique_D1_RK1_1
     301             :         use pm_kind, only: RKC => RK1
     302             : #include "test_pm_arrayUnique@routines.inc.F90"
     303             :     end procedure
     304             : #endif
     305             : 
     306             : #undef RK_ENABLED
     307             : 
     308             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     309             : 
     310             : #undef D1_ENABLED
     311             : 
     312             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     315             : 
     316             : #undef isUnique_ENABLED
     317             : 
     318             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             : 
     320             : #define isUniqueAll_ENABLED 1
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     325             : 
     326             : #define D0_ENABLED 1
     327             : 
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             : 
     330             : #define SK_ENABLED 1
     331             : 
     332             : #if SK5_ENABLED
     333             :     module procedure test_isUniqueAll_D0_SK5_1
     334             :         use pm_kind, only: SKC => SK5
     335             : #include "test_pm_arrayUnique@routines.inc.F90"
     336             :     end procedure
     337             : #endif
     338             : 
     339             : #if SK4_ENABLED
     340             :     module procedure test_isUniqueAll_D0_SK4_1
     341             :         use pm_kind, only: SKC => SK4
     342             : #include "test_pm_arrayUnique@routines.inc.F90"
     343             :     end procedure
     344             : #endif
     345             : 
     346             : #if SK3_ENABLED
     347             :     module procedure test_isUniqueAll_D0_SK3_1
     348             :         use pm_kind, only: SKC => SK3
     349             : #include "test_pm_arrayUnique@routines.inc.F90"
     350             :     end procedure
     351             : #endif
     352             : 
     353             : #if SK2_ENABLED
     354             :     module procedure test_isUniqueAll_D0_SK2_1
     355             :         use pm_kind, only: SKC => SK2
     356             : #include "test_pm_arrayUnique@routines.inc.F90"
     357             :     end procedure
     358             : #endif
     359             : 
     360             : #if SK1_ENABLED
     361           1 :     module procedure test_isUniqueAll_D0_SK1_1
     362             :         use pm_kind, only: SKC => SK1
     363             : #include "test_pm_arrayUnique@routines.inc.F90"
     364             :     end procedure
     365             : #endif
     366             : 
     367             : #undef SK_ENABLED
     368             : 
     369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     370             : 
     371             : #undef D0_ENABLED
     372             : 
     373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     376             : 
     377             : #define D1_ENABLED 1
     378             : 
     379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     380             : 
     381             : #define SK_ENABLED 1
     382             : 
     383             : #if SK5_ENABLED
     384             :     module procedure test_isUniqueAll_D1_SK5_1
     385             :         use pm_kind, only: SKC => SK5
     386             : #include "test_pm_arrayUnique@routines.inc.F90"
     387             :     end procedure
     388             : #endif
     389             : 
     390             : #if SK4_ENABLED
     391             :     module procedure test_isUniqueAll_D1_SK4_1
     392             :         use pm_kind, only: SKC => SK4
     393             : #include "test_pm_arrayUnique@routines.inc.F90"
     394             :     end procedure
     395             : #endif
     396             : 
     397             : #if SK3_ENABLED
     398             :     module procedure test_isUniqueAll_D1_SK3_1
     399             :         use pm_kind, only: SKC => SK3
     400             : #include "test_pm_arrayUnique@routines.inc.F90"
     401             :     end procedure
     402             : #endif
     403             : 
     404             : #if SK2_ENABLED
     405             :     module procedure test_isUniqueAll_D1_SK2_1
     406             :         use pm_kind, only: SKC => SK2
     407             : #include "test_pm_arrayUnique@routines.inc.F90"
     408             :     end procedure
     409             : #endif
     410             : 
     411             : #if SK1_ENABLED
     412           1 :     module procedure test_isUniqueAll_D1_SK1_1
     413             :         use pm_kind, only: SKC => SK1
     414             : #include "test_pm_arrayUnique@routines.inc.F90"
     415             :     end procedure
     416             : #endif
     417             : 
     418             : #undef SK_ENABLED
     419             : 
     420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     421             : 
     422             : #define IK_ENABLED 1
     423             : 
     424             : #if IK5_ENABLED
     425           1 :     module procedure test_isUniqueAll_D1_IK5_1
     426             :         use pm_kind, only: IKC => IK5
     427             : #include "test_pm_arrayUnique@routines.inc.F90"
     428             :     end procedure
     429             : #endif
     430             : 
     431             : #if IK4_ENABLED
     432           1 :     module procedure test_isUniqueAll_D1_IK4_1
     433             :         use pm_kind, only: IKC => IK4
     434             : #include "test_pm_arrayUnique@routines.inc.F90"
     435             :     end procedure
     436             : #endif
     437             : 
     438             : #if IK3_ENABLED
     439           1 :     module procedure test_isUniqueAll_D1_IK3_1
     440             :         use pm_kind, only: IKC => IK3
     441             : #include "test_pm_arrayUnique@routines.inc.F90"
     442             :     end procedure
     443             : #endif
     444             : 
     445             : #if IK2_ENABLED
     446           1 :     module procedure test_isUniqueAll_D1_IK2_1
     447             :         use pm_kind, only: IKC => IK2
     448             : #include "test_pm_arrayUnique@routines.inc.F90"
     449             :     end procedure
     450             : #endif
     451             : 
     452             : #if IK1_ENABLED
     453           1 :     module procedure test_isUniqueAll_D1_IK1_1
     454             :         use pm_kind, only: IKC => IK1
     455             : #include "test_pm_arrayUnique@routines.inc.F90"
     456             :     end procedure
     457             : #endif
     458             : 
     459             : #undef IK_ENABLED
     460             : 
     461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     462             : 
     463             : #define LK_ENABLED 1
     464             : 
     465             : #if LK5_ENABLED
     466           1 :     module procedure test_isUniqueAll_D1_LK5_1
     467             :         use pm_kind, only: LKC => LK5
     468             : #include "test_pm_arrayUnique@routines.inc.F90"
     469             :     end procedure
     470             : #endif
     471             : 
     472             : #if LK4_ENABLED
     473           1 :     module procedure test_isUniqueAll_D1_LK4_1
     474             :         use pm_kind, only: LKC => LK4
     475             : #include "test_pm_arrayUnique@routines.inc.F90"
     476             :     end procedure
     477             : #endif
     478             : 
     479             : #if LK3_ENABLED
     480           1 :     module procedure test_isUniqueAll_D1_LK3_1
     481             :         use pm_kind, only: LKC => LK3
     482             : #include "test_pm_arrayUnique@routines.inc.F90"
     483             :     end procedure
     484             : #endif
     485             : 
     486             : #if LK2_ENABLED
     487           1 :     module procedure test_isUniqueAll_D1_LK2_1
     488             :         use pm_kind, only: LKC => LK2
     489             : #include "test_pm_arrayUnique@routines.inc.F90"
     490             :     end procedure
     491             : #endif
     492             : 
     493             : #if LK1_ENABLED
     494           1 :     module procedure test_isUniqueAll_D1_LK1_1
     495             :         use pm_kind, only: LKC => LK1
     496             : #include "test_pm_arrayUnique@routines.inc.F90"
     497             :     end procedure
     498             : #endif
     499             : 
     500             : #undef LK_ENABLED
     501             : 
     502             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     503             : 
     504             : #define CK_ENABLED 1
     505             : 
     506             : #if CK5_ENABLED
     507             :     module procedure test_isUniqueAll_D1_CK5_1
     508             :         use pm_kind, only: CKC => CK5
     509             : #include "test_pm_arrayUnique@routines.inc.F90"
     510             :     end procedure
     511             : #endif
     512             : 
     513             : #if CK4_ENABLED
     514           1 :     module procedure test_isUniqueAll_D1_CK4_1
     515             :         use pm_kind, only: CKC => CK4
     516             : #include "test_pm_arrayUnique@routines.inc.F90"
     517             :     end procedure
     518             : #endif
     519             : 
     520             : #if CK3_ENABLED
     521           1 :     module procedure test_isUniqueAll_D1_CK3_1
     522             :         use pm_kind, only: CKC => CK3
     523             : #include "test_pm_arrayUnique@routines.inc.F90"
     524             :     end procedure
     525             : #endif
     526             : 
     527             : #if CK2_ENABLED
     528           1 :     module procedure test_isUniqueAll_D1_CK2_1
     529             :         use pm_kind, only: CKC => CK2
     530             : #include "test_pm_arrayUnique@routines.inc.F90"
     531             :     end procedure
     532             : #endif
     533             : 
     534             : #if CK1_ENABLED
     535           1 :     module procedure test_isUniqueAll_D1_CK1_1
     536             :         use pm_kind, only: CKC => CK1
     537             : #include "test_pm_arrayUnique@routines.inc.F90"
     538             :     end procedure
     539             : #endif
     540             : 
     541             : #undef CK_ENABLED
     542             : 
     543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     544             : 
     545             : #define RK_ENABLED 1
     546             : 
     547             : #if RK5_ENABLED
     548             :     module procedure test_isUniqueAll_D1_RK5_1
     549             :         use pm_kind, only: RKC => RK5
     550             : #include "test_pm_arrayUnique@routines.inc.F90"
     551             :     end procedure
     552             : #endif
     553             : 
     554             : #if RK4_ENABLED
     555           1 :     module procedure test_isUniqueAll_D1_RK4_1
     556             :         use pm_kind, only: RKC => RK4
     557             : #include "test_pm_arrayUnique@routines.inc.F90"
     558             :     end procedure
     559             : #endif
     560             : 
     561             : #if RK3_ENABLED
     562           1 :     module procedure test_isUniqueAll_D1_RK3_1
     563             :         use pm_kind, only: RKC => RK3
     564             : #include "test_pm_arrayUnique@routines.inc.F90"
     565             :     end procedure
     566             : #endif
     567             : 
     568             : #if RK2_ENABLED
     569           1 :     module procedure test_isUniqueAll_D1_RK2_1
     570             :         use pm_kind, only: RKC => RK2
     571             : #include "test_pm_arrayUnique@routines.inc.F90"
     572             :     end procedure
     573             : #endif
     574             : 
     575             : #if RK1_ENABLED
     576           1 :     module procedure test_isUniqueAll_D1_RK1_1
     577             :         use pm_kind, only: RKC => RK1
     578             : #include "test_pm_arrayUnique@routines.inc.F90"
     579             :     end procedure
     580             : #endif
     581             : 
     582             : #undef RK_ENABLED
     583             : 
     584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     585             : 
     586             : #undef D1_ENABLED
     587             : 
     588             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     591             : 
     592             : #undef isUniqueAll_ENABLED
     593             : 
     594             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     595             : 
     596             : #define isUniqueAny_ENABLED 1
     597             : 
     598             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     601             : 
     602             : #define D0_ENABLED 1
     603             : 
     604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             : 
     606             : #define SK_ENABLED 1
     607             : 
     608             : #if SK5_ENABLED
     609             :     module procedure test_isUniqueAny_D0_SK5_1
     610             :         use pm_kind, only: SKC => SK5
     611             : #include "test_pm_arrayUnique@routines.inc.F90"
     612             :     end procedure
     613             : #endif
     614             : 
     615             : #if SK4_ENABLED
     616             :     module procedure test_isUniqueAny_D0_SK4_1
     617             :         use pm_kind, only: SKC => SK4
     618             : #include "test_pm_arrayUnique@routines.inc.F90"
     619             :     end procedure
     620             : #endif
     621             : 
     622             : #if SK3_ENABLED
     623             :     module procedure test_isUniqueAny_D0_SK3_1
     624             :         use pm_kind, only: SKC => SK3
     625             : #include "test_pm_arrayUnique@routines.inc.F90"
     626             :     end procedure
     627             : #endif
     628             : 
     629             : #if SK2_ENABLED
     630             :     module procedure test_isUniqueAny_D0_SK2_1
     631             :         use pm_kind, only: SKC => SK2
     632             : #include "test_pm_arrayUnique@routines.inc.F90"
     633             :     end procedure
     634             : #endif
     635             : 
     636             : #if SK1_ENABLED
     637           1 :     module procedure test_isUniqueAny_D0_SK1_1
     638             :         use pm_kind, only: SKC => SK1
     639             : #include "test_pm_arrayUnique@routines.inc.F90"
     640             :     end procedure
     641             : #endif
     642             : 
     643             : #undef SK_ENABLED
     644             : 
     645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     646             : 
     647             : #undef D0_ENABLED
     648             : 
     649             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     650             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     652             : 
     653             : #define D1_ENABLED 1
     654             : 
     655             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     656             : 
     657             : #define SK_ENABLED 1
     658             : 
     659             : #if SK5_ENABLED
     660             :     module procedure test_isUniqueAny_D1_SK5_1
     661             :         use pm_kind, only: SKC => SK5
     662             : #include "test_pm_arrayUnique@routines.inc.F90"
     663             :     end procedure
     664             : #endif
     665             : 
     666             : #if SK4_ENABLED
     667             :     module procedure test_isUniqueAny_D1_SK4_1
     668             :         use pm_kind, only: SKC => SK4
     669             : #include "test_pm_arrayUnique@routines.inc.F90"
     670             :     end procedure
     671             : #endif
     672             : 
     673             : #if SK3_ENABLED
     674             :     module procedure test_isUniqueAny_D1_SK3_1
     675             :         use pm_kind, only: SKC => SK3
     676             : #include "test_pm_arrayUnique@routines.inc.F90"
     677             :     end procedure
     678             : #endif
     679             : 
     680             : #if SK2_ENABLED
     681             :     module procedure test_isUniqueAny_D1_SK2_1
     682             :         use pm_kind, only: SKC => SK2
     683             : #include "test_pm_arrayUnique@routines.inc.F90"
     684             :     end procedure
     685             : #endif
     686             : 
     687             : #if SK1_ENABLED
     688           1 :     module procedure test_isUniqueAny_D1_SK1_1
     689             :         use pm_kind, only: SKC => SK1
     690             : #include "test_pm_arrayUnique@routines.inc.F90"
     691             :     end procedure
     692             : #endif
     693             : 
     694             : #undef SK_ENABLED
     695             : 
     696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     697             : 
     698             : #define IK_ENABLED 1
     699             : 
     700             : #if IK5_ENABLED
     701           1 :     module procedure test_isUniqueAny_D1_IK5_1
     702             :         use pm_kind, only: IKC => IK5
     703             : #include "test_pm_arrayUnique@routines.inc.F90"
     704             :     end procedure
     705             : #endif
     706             : 
     707             : #if IK4_ENABLED
     708           1 :     module procedure test_isUniqueAny_D1_IK4_1
     709             :         use pm_kind, only: IKC => IK4
     710             : #include "test_pm_arrayUnique@routines.inc.F90"
     711             :     end procedure
     712             : #endif
     713             : 
     714             : #if IK3_ENABLED
     715           1 :     module procedure test_isUniqueAny_D1_IK3_1
     716             :         use pm_kind, only: IKC => IK3
     717             : #include "test_pm_arrayUnique@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #if IK2_ENABLED
     722           1 :     module procedure test_isUniqueAny_D1_IK2_1
     723             :         use pm_kind, only: IKC => IK2
     724             : #include "test_pm_arrayUnique@routines.inc.F90"
     725             :     end procedure
     726             : #endif
     727             : 
     728             : #if IK1_ENABLED
     729           1 :     module procedure test_isUniqueAny_D1_IK1_1
     730             :         use pm_kind, only: IKC => IK1
     731             : #include "test_pm_arrayUnique@routines.inc.F90"
     732             :     end procedure
     733             : #endif
     734             : 
     735             : #undef IK_ENABLED
     736             : 
     737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     738             : 
     739             : #define LK_ENABLED 1
     740             : 
     741             : #if LK5_ENABLED
     742           1 :     module procedure test_isUniqueAny_D1_LK5_1
     743             :         use pm_kind, only: LKC => LK5
     744             : #include "test_pm_arrayUnique@routines.inc.F90"
     745             :     end procedure
     746             : #endif
     747             : 
     748             : #if LK4_ENABLED
     749           1 :     module procedure test_isUniqueAny_D1_LK4_1
     750             :         use pm_kind, only: LKC => LK4
     751             : #include "test_pm_arrayUnique@routines.inc.F90"
     752             :     end procedure
     753             : #endif
     754             : 
     755             : #if LK3_ENABLED
     756           1 :     module procedure test_isUniqueAny_D1_LK3_1
     757             :         use pm_kind, only: LKC => LK3
     758             : #include "test_pm_arrayUnique@routines.inc.F90"
     759             :     end procedure
     760             : #endif
     761             : 
     762             : #if LK2_ENABLED
     763           1 :     module procedure test_isUniqueAny_D1_LK2_1
     764             :         use pm_kind, only: LKC => LK2
     765             : #include "test_pm_arrayUnique@routines.inc.F90"
     766             :     end procedure
     767             : #endif
     768             : 
     769             : #if LK1_ENABLED
     770           1 :     module procedure test_isUniqueAny_D1_LK1_1
     771             :         use pm_kind, only: LKC => LK1
     772             : #include "test_pm_arrayUnique@routines.inc.F90"
     773             :     end procedure
     774             : #endif
     775             : 
     776             : #undef LK_ENABLED
     777             : 
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             : 
     780             : #define CK_ENABLED 1
     781             : 
     782             : #if CK5_ENABLED
     783             :     module procedure test_isUniqueAny_D1_CK5_1
     784             :         use pm_kind, only: CKC => CK5
     785             : #include "test_pm_arrayUnique@routines.inc.F90"
     786             :     end procedure
     787             : #endif
     788             : 
     789             : #if CK4_ENABLED
     790           1 :     module procedure test_isUniqueAny_D1_CK4_1
     791             :         use pm_kind, only: CKC => CK4
     792             : #include "test_pm_arrayUnique@routines.inc.F90"
     793             :     end procedure
     794             : #endif
     795             : 
     796             : #if CK3_ENABLED
     797           1 :     module procedure test_isUniqueAny_D1_CK3_1
     798             :         use pm_kind, only: CKC => CK3
     799             : #include "test_pm_arrayUnique@routines.inc.F90"
     800             :     end procedure
     801             : #endif
     802             : 
     803             : #if CK2_ENABLED
     804           1 :     module procedure test_isUniqueAny_D1_CK2_1
     805             :         use pm_kind, only: CKC => CK2
     806             : #include "test_pm_arrayUnique@routines.inc.F90"
     807             :     end procedure
     808             : #endif
     809             : 
     810             : #if CK1_ENABLED
     811           1 :     module procedure test_isUniqueAny_D1_CK1_1
     812             :         use pm_kind, only: CKC => CK1
     813             : #include "test_pm_arrayUnique@routines.inc.F90"
     814             :     end procedure
     815             : #endif
     816             : 
     817             : #undef CK_ENABLED
     818             : 
     819             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     820             : 
     821             : #define RK_ENABLED 1
     822             : 
     823             : #if RK5_ENABLED
     824             :     module procedure test_isUniqueAny_D1_RK5_1
     825             :         use pm_kind, only: RKC => RK5
     826             : #include "test_pm_arrayUnique@routines.inc.F90"
     827             :     end procedure
     828             : #endif
     829             : 
     830             : #if RK4_ENABLED
     831           1 :     module procedure test_isUniqueAny_D1_RK4_1
     832             :         use pm_kind, only: RKC => RK4
     833             : #include "test_pm_arrayUnique@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if RK3_ENABLED
     838           1 :     module procedure test_isUniqueAny_D1_RK3_1
     839             :         use pm_kind, only: RKC => RK3
     840             : #include "test_pm_arrayUnique@routines.inc.F90"
     841             :     end procedure
     842             : #endif
     843             : 
     844             : #if RK2_ENABLED
     845           1 :     module procedure test_isUniqueAny_D1_RK2_1
     846             :         use pm_kind, only: RKC => RK2
     847             : #include "test_pm_arrayUnique@routines.inc.F90"
     848             :     end procedure
     849             : #endif
     850             : 
     851             : #if RK1_ENABLED
     852           1 :     module procedure test_isUniqueAny_D1_RK1_1
     853             :         use pm_kind, only: RKC => RK1
     854             : #include "test_pm_arrayUnique@routines.inc.F90"
     855             :     end procedure
     856             : #endif
     857             : 
     858             : #undef RK_ENABLED
     859             : 
     860             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     861             : 
     862             : #undef D1_ENABLED
     863             : 
     864             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     865             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     866             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     867             : 
     868             : #undef isUniqueAny_ENABLED
     869             : 
     870             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     871             : 
     872             : #define getUnique_ENABLED 1
     873             : 
     874             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     876             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     877             : 
     878             : #define D0_ENABLED 1
     879             : 
     880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     881             : 
     882             : #define SK_ENABLED 1
     883             : 
     884             : #if SK5_ENABLED
     885             :     module procedure test_getUnique_D0_SK5_1
     886             :         use pm_kind, only: SKC => SK5
     887             : #include "test_pm_arrayUnique@routines.inc.F90"
     888             :     end procedure
     889             : #endif
     890             : 
     891             : #if SK4_ENABLED
     892             :     module procedure test_getUnique_D0_SK4_1
     893             :         use pm_kind, only: SKC => SK4
     894             : #include "test_pm_arrayUnique@routines.inc.F90"
     895             :     end procedure
     896             : #endif
     897             : 
     898             : #if SK3_ENABLED
     899             :     module procedure test_getUnique_D0_SK3_1
     900             :         use pm_kind, only: SKC => SK3
     901             : #include "test_pm_arrayUnique@routines.inc.F90"
     902             :     end procedure
     903             : #endif
     904             : 
     905             : #if SK2_ENABLED
     906             :     module procedure test_getUnique_D0_SK2_1
     907             :         use pm_kind, only: SKC => SK2
     908             : #include "test_pm_arrayUnique@routines.inc.F90"
     909             :     end procedure
     910             : #endif
     911             : 
     912             : #if SK1_ENABLED
     913           1 :     module procedure test_getUnique_D0_SK1_1
     914             :         use pm_kind, only: SKC => SK1
     915             : #include "test_pm_arrayUnique@routines.inc.F90"
     916             :     end procedure
     917             : #endif
     918             : 
     919             : #undef SK_ENABLED
     920             : 
     921             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     922             : 
     923             : #undef D0_ENABLED
     924             : 
     925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     927             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     928             : 
     929             : #define D1_ENABLED 1
     930             : 
     931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     932             : 
     933             : #define SK_ENABLED 1
     934             : 
     935             : #if SK5_ENABLED
     936             :     module procedure test_getUnique_D1_SK5_1
     937             :         use pm_kind, only: SKC => SK5
     938             : #include "test_pm_arrayUnique@routines.inc.F90"
     939             :     end procedure
     940             : #endif
     941             : 
     942             : #if SK4_ENABLED
     943             :     module procedure test_getUnique_D1_SK4_1
     944             :         use pm_kind, only: SKC => SK4
     945             : #include "test_pm_arrayUnique@routines.inc.F90"
     946             :     end procedure
     947             : #endif
     948             : 
     949             : #if SK3_ENABLED
     950             :     module procedure test_getUnique_D1_SK3_1
     951             :         use pm_kind, only: SKC => SK3
     952             : #include "test_pm_arrayUnique@routines.inc.F90"
     953             :     end procedure
     954             : #endif
     955             : 
     956             : #if SK2_ENABLED
     957             :     module procedure test_getUnique_D1_SK2_1
     958             :         use pm_kind, only: SKC => SK2
     959             : #include "test_pm_arrayUnique@routines.inc.F90"
     960             :     end procedure
     961             : #endif
     962             : 
     963             : #if SK1_ENABLED
     964           1 :     module procedure test_getUnique_D1_SK1_1
     965             :         use pm_kind, only: SKC => SK1
     966             : #include "test_pm_arrayUnique@routines.inc.F90"
     967             :     end procedure
     968             : #endif
     969             : 
     970             : #undef SK_ENABLED
     971             : 
     972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     973             : 
     974             : #define IK_ENABLED 1
     975             : 
     976             : #if IK5_ENABLED
     977           1 :     module procedure test_getUnique_D1_IK5_1
     978             :         use pm_kind, only: IKC => IK5
     979             : #include "test_pm_arrayUnique@routines.inc.F90"
     980             :     end procedure
     981             : #endif
     982             : 
     983             : #if IK4_ENABLED
     984           1 :     module procedure test_getUnique_D1_IK4_1
     985             :         use pm_kind, only: IKC => IK4
     986             : #include "test_pm_arrayUnique@routines.inc.F90"
     987             :     end procedure
     988             : #endif
     989             : 
     990             : #if IK3_ENABLED
     991           1 :     module procedure test_getUnique_D1_IK3_1
     992             :         use pm_kind, only: IKC => IK3
     993             : #include "test_pm_arrayUnique@routines.inc.F90"
     994             :     end procedure
     995             : #endif
     996             : 
     997             : #if IK2_ENABLED
     998           1 :     module procedure test_getUnique_D1_IK2_1
     999             :         use pm_kind, only: IKC => IK2
    1000             : #include "test_pm_arrayUnique@routines.inc.F90"
    1001             :     end procedure
    1002             : #endif
    1003             : 
    1004             : #if IK1_ENABLED
    1005           1 :     module procedure test_getUnique_D1_IK1_1
    1006             :         use pm_kind, only: IKC => IK1
    1007             : #include "test_pm_arrayUnique@routines.inc.F90"
    1008             :     end procedure
    1009             : #endif
    1010             : 
    1011             : #undef IK_ENABLED
    1012             : 
    1013             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1014             : 
    1015             : #define LK_ENABLED 1
    1016             : 
    1017             : #if LK5_ENABLED
    1018           1 :     module procedure test_getUnique_D1_LK5_1
    1019             :         use pm_kind, only: LKC => LK5
    1020             : #include "test_pm_arrayUnique@routines.inc.F90"
    1021             :     end procedure
    1022             : #endif
    1023             : 
    1024             : #if LK4_ENABLED
    1025           1 :     module procedure test_getUnique_D1_LK4_1
    1026             :         use pm_kind, only: LKC => LK4
    1027             : #include "test_pm_arrayUnique@routines.inc.F90"
    1028             :     end procedure
    1029             : #endif
    1030             : 
    1031             : #if LK3_ENABLED
    1032           1 :     module procedure test_getUnique_D1_LK3_1
    1033             :         use pm_kind, only: LKC => LK3
    1034             : #include "test_pm_arrayUnique@routines.inc.F90"
    1035             :     end procedure
    1036             : #endif
    1037             : 
    1038             : #if LK2_ENABLED
    1039           1 :     module procedure test_getUnique_D1_LK2_1
    1040             :         use pm_kind, only: LKC => LK2
    1041             : #include "test_pm_arrayUnique@routines.inc.F90"
    1042             :     end procedure
    1043             : #endif
    1044             : 
    1045             : #if LK1_ENABLED
    1046           1 :     module procedure test_getUnique_D1_LK1_1
    1047             :         use pm_kind, only: LKC => LK1
    1048             : #include "test_pm_arrayUnique@routines.inc.F90"
    1049             :     end procedure
    1050             : #endif
    1051             : 
    1052             : #undef LK_ENABLED
    1053             : 
    1054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1055             : 
    1056             : #define CK_ENABLED 1
    1057             : 
    1058             : #if CK5_ENABLED
    1059             :     module procedure test_getUnique_D1_CK5_1
    1060             :         use pm_kind, only: CKC => CK5
    1061             : #include "test_pm_arrayUnique@routines.inc.F90"
    1062             :     end procedure
    1063             : #endif
    1064             : 
    1065             : #if CK4_ENABLED
    1066           1 :     module procedure test_getUnique_D1_CK4_1
    1067             :         use pm_kind, only: CKC => CK4
    1068             : #include "test_pm_arrayUnique@routines.inc.F90"
    1069             :     end procedure
    1070             : #endif
    1071             : 
    1072             : #if CK3_ENABLED
    1073           1 :     module procedure test_getUnique_D1_CK3_1
    1074             :         use pm_kind, only: CKC => CK3
    1075             : #include "test_pm_arrayUnique@routines.inc.F90"
    1076             :     end procedure
    1077             : #endif
    1078             : 
    1079             : #if CK2_ENABLED
    1080           1 :     module procedure test_getUnique_D1_CK2_1
    1081             :         use pm_kind, only: CKC => CK2
    1082             : #include "test_pm_arrayUnique@routines.inc.F90"
    1083             :     end procedure
    1084             : #endif
    1085             : 
    1086             : #if CK1_ENABLED
    1087           1 :     module procedure test_getUnique_D1_CK1_1
    1088             :         use pm_kind, only: CKC => CK1
    1089             : #include "test_pm_arrayUnique@routines.inc.F90"
    1090             :     end procedure
    1091             : #endif
    1092             : 
    1093             : #undef CK_ENABLED
    1094             : 
    1095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1096             : 
    1097             : #define RK_ENABLED 1
    1098             : 
    1099             : #if RK5_ENABLED
    1100             :     module procedure test_getUnique_D1_RK5_1
    1101             :         use pm_kind, only: RKC => RK5
    1102             : #include "test_pm_arrayUnique@routines.inc.F90"
    1103             :     end procedure
    1104             : #endif
    1105             : 
    1106             : #if RK4_ENABLED
    1107           1 :     module procedure test_getUnique_D1_RK4_1
    1108             :         use pm_kind, only: RKC => RK4
    1109             : #include "test_pm_arrayUnique@routines.inc.F90"
    1110             :     end procedure
    1111             : #endif
    1112             : 
    1113             : #if RK3_ENABLED
    1114           1 :     module procedure test_getUnique_D1_RK3_1
    1115             :         use pm_kind, only: RKC => RK3
    1116             : #include "test_pm_arrayUnique@routines.inc.F90"
    1117             :     end procedure
    1118             : #endif
    1119             : 
    1120             : #if RK2_ENABLED
    1121           1 :     module procedure test_getUnique_D1_RK2_1
    1122             :         use pm_kind, only: RKC => RK2
    1123             : #include "test_pm_arrayUnique@routines.inc.F90"
    1124             :     end procedure
    1125             : #endif
    1126             : 
    1127             : #if RK1_ENABLED
    1128           1 :     module procedure test_getUnique_D1_RK1_1
    1129             :         use pm_kind, only: RKC => RK1
    1130             : #include "test_pm_arrayUnique@routines.inc.F90"
    1131             :     end procedure
    1132             : #endif
    1133             : 
    1134             : #undef RK_ENABLED
    1135             : 
    1136             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1137             : 
    1138             : #undef D1_ENABLED
    1139             : 
    1140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1141             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1143             : 
    1144             : #undef getUnique_ENABLED
    1145             : 
    1146             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1147             : 
    1148             : #define setUnique_ENABLED 1
    1149             : 
    1150             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1153             : 
    1154             : #define D0_ENABLED 1
    1155             : 
    1156             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1157             : 
    1158             : #define SK_ENABLED 1
    1159             : 
    1160             : #if SK5_ENABLED
    1161             :     module procedure test_setUnique_D0_SK5_1
    1162             :         use pm_kind, only: SKC => SK5
    1163             : #include "test_pm_arrayUnique@routines.inc.F90"
    1164             :     end procedure
    1165             : #endif
    1166             : 
    1167             : #if SK4_ENABLED
    1168             :     module procedure test_setUnique_D0_SK4_1
    1169             :         use pm_kind, only: SKC => SK4
    1170             : #include "test_pm_arrayUnique@routines.inc.F90"
    1171             :     end procedure
    1172             : #endif
    1173             : 
    1174             : #if SK3_ENABLED
    1175             :     module procedure test_setUnique_D0_SK3_1
    1176             :         use pm_kind, only: SKC => SK3
    1177             : #include "test_pm_arrayUnique@routines.inc.F90"
    1178             :     end procedure
    1179             : #endif
    1180             : 
    1181             : #if SK2_ENABLED
    1182             :     module procedure test_setUnique_D0_SK2_1
    1183             :         use pm_kind, only: SKC => SK2
    1184             : #include "test_pm_arrayUnique@routines.inc.F90"
    1185             :     end procedure
    1186             : #endif
    1187             : 
    1188             : #if SK1_ENABLED
    1189           1 :     module procedure test_setUnique_D0_SK1_1
    1190             :         use pm_kind, only: SKC => SK1
    1191             : #include "test_pm_arrayUnique@routines.inc.F90"
    1192             :     end procedure
    1193             : #endif
    1194             : 
    1195             : #undef SK_ENABLED
    1196             : 
    1197             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1198             : 
    1199             : #undef D0_ENABLED
    1200             : 
    1201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1204             : 
    1205             : #define D1_ENABLED 1
    1206             : 
    1207             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1208             : 
    1209             : #define SK_ENABLED 1
    1210             : 
    1211             : #if SK5_ENABLED
    1212             :     module procedure test_setUnique_D1_SK5_1
    1213             :         use pm_kind, only: SKC => SK5
    1214             : #include "test_pm_arrayUnique@routines.inc.F90"
    1215             :     end procedure
    1216             : #endif
    1217             : 
    1218             : #if SK4_ENABLED
    1219             :     module procedure test_setUnique_D1_SK4_1
    1220             :         use pm_kind, only: SKC => SK4
    1221             : #include "test_pm_arrayUnique@routines.inc.F90"
    1222             :     end procedure
    1223             : #endif
    1224             : 
    1225             : #if SK3_ENABLED
    1226             :     module procedure test_setUnique_D1_SK3_1
    1227             :         use pm_kind, only: SKC => SK3
    1228             : #include "test_pm_arrayUnique@routines.inc.F90"
    1229             :     end procedure
    1230             : #endif
    1231             : 
    1232             : #if SK2_ENABLED
    1233             :     module procedure test_setUnique_D1_SK2_1
    1234             :         use pm_kind, only: SKC => SK2
    1235             : #include "test_pm_arrayUnique@routines.inc.F90"
    1236             :     end procedure
    1237             : #endif
    1238             : 
    1239             : #if SK1_ENABLED
    1240           1 :     module procedure test_setUnique_D1_SK1_1
    1241             :         use pm_kind, only: SKC => SK1
    1242             : #include "test_pm_arrayUnique@routines.inc.F90"
    1243             :     end procedure
    1244             : #endif
    1245             : 
    1246             : #undef SK_ENABLED
    1247             : 
    1248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1249             : 
    1250             : #define IK_ENABLED 1
    1251             : 
    1252             : #if IK5_ENABLED
    1253           1 :     module procedure test_setUnique_D1_IK5_1
    1254             :         use pm_kind, only: IKC => IK5
    1255             : #include "test_pm_arrayUnique@routines.inc.F90"
    1256             :     end procedure
    1257             : #endif
    1258             : 
    1259             : #if IK4_ENABLED
    1260           1 :     module procedure test_setUnique_D1_IK4_1
    1261             :         use pm_kind, only: IKC => IK4
    1262             : #include "test_pm_arrayUnique@routines.inc.F90"
    1263             :     end procedure
    1264             : #endif
    1265             : 
    1266             : #if IK3_ENABLED
    1267           1 :     module procedure test_setUnique_D1_IK3_1
    1268             :         use pm_kind, only: IKC => IK3
    1269             : #include "test_pm_arrayUnique@routines.inc.F90"
    1270             :     end procedure
    1271             : #endif
    1272             : 
    1273             : #if IK2_ENABLED
    1274           1 :     module procedure test_setUnique_D1_IK2_1
    1275             :         use pm_kind, only: IKC => IK2
    1276             : #include "test_pm_arrayUnique@routines.inc.F90"
    1277             :     end procedure
    1278             : #endif
    1279             : 
    1280             : #if IK1_ENABLED
    1281           1 :     module procedure test_setUnique_D1_IK1_1
    1282             :         use pm_kind, only: IKC => IK1
    1283             : #include "test_pm_arrayUnique@routines.inc.F90"
    1284             :     end procedure
    1285             : #endif
    1286             : 
    1287             : #undef IK_ENABLED
    1288             : 
    1289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1290             : 
    1291             : #define LK_ENABLED 1
    1292             : 
    1293             : #if LK5_ENABLED
    1294           1 :     module procedure test_setUnique_D1_LK5_1
    1295             :         use pm_kind, only: LKC => LK5
    1296             : #include "test_pm_arrayUnique@routines.inc.F90"
    1297             :     end procedure
    1298             : #endif
    1299             : 
    1300             : #if LK4_ENABLED
    1301           1 :     module procedure test_setUnique_D1_LK4_1
    1302             :         use pm_kind, only: LKC => LK4
    1303             : #include "test_pm_arrayUnique@routines.inc.F90"
    1304             :     end procedure
    1305             : #endif
    1306             : 
    1307             : #if LK3_ENABLED
    1308           1 :     module procedure test_setUnique_D1_LK3_1
    1309             :         use pm_kind, only: LKC => LK3
    1310             : #include "test_pm_arrayUnique@routines.inc.F90"
    1311             :     end procedure
    1312             : #endif
    1313             : 
    1314             : #if LK2_ENABLED
    1315           1 :     module procedure test_setUnique_D1_LK2_1
    1316             :         use pm_kind, only: LKC => LK2
    1317             : #include "test_pm_arrayUnique@routines.inc.F90"
    1318             :     end procedure
    1319             : #endif
    1320             : 
    1321             : #if LK1_ENABLED
    1322           1 :     module procedure test_setUnique_D1_LK1_1
    1323             :         use pm_kind, only: LKC => LK1
    1324             : #include "test_pm_arrayUnique@routines.inc.F90"
    1325             :     end procedure
    1326             : #endif
    1327             : 
    1328             : #undef LK_ENABLED
    1329             : 
    1330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1331             : 
    1332             : #define CK_ENABLED 1
    1333             : 
    1334             : #if CK5_ENABLED
    1335             :     module procedure test_setUnique_D1_CK5_1
    1336             :         use pm_kind, only: CKC => CK5
    1337             : #include "test_pm_arrayUnique@routines.inc.F90"
    1338             :     end procedure
    1339             : #endif
    1340             : 
    1341             : #if CK4_ENABLED
    1342           1 :     module procedure test_setUnique_D1_CK4_1
    1343             :         use pm_kind, only: CKC => CK4
    1344             : #include "test_pm_arrayUnique@routines.inc.F90"
    1345             :     end procedure
    1346             : #endif
    1347             : 
    1348             : #if CK3_ENABLED
    1349           1 :     module procedure test_setUnique_D1_CK3_1
    1350             :         use pm_kind, only: CKC => CK3
    1351             : #include "test_pm_arrayUnique@routines.inc.F90"
    1352             :     end procedure
    1353             : #endif
    1354             : 
    1355             : #if CK2_ENABLED
    1356           1 :     module procedure test_setUnique_D1_CK2_1
    1357             :         use pm_kind, only: CKC => CK2
    1358             : #include "test_pm_arrayUnique@routines.inc.F90"
    1359             :     end procedure
    1360             : #endif
    1361             : 
    1362             : #if CK1_ENABLED
    1363           1 :     module procedure test_setUnique_D1_CK1_1
    1364             :         use pm_kind, only: CKC => CK1
    1365             : #include "test_pm_arrayUnique@routines.inc.F90"
    1366             :     end procedure
    1367             : #endif
    1368             : 
    1369             : #undef CK_ENABLED
    1370             : 
    1371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1372             : 
    1373             : #define RK_ENABLED 1
    1374             : 
    1375             : #if RK5_ENABLED
    1376             :     module procedure test_setUnique_D1_RK5_1
    1377             :         use pm_kind, only: RKC => RK5
    1378             : #include "test_pm_arrayUnique@routines.inc.F90"
    1379             :     end procedure
    1380             : #endif
    1381             : 
    1382             : #if RK4_ENABLED
    1383           1 :     module procedure test_setUnique_D1_RK4_1
    1384             :         use pm_kind, only: RKC => RK4
    1385             : #include "test_pm_arrayUnique@routines.inc.F90"
    1386             :     end procedure
    1387             : #endif
    1388             : 
    1389             : #if RK3_ENABLED
    1390           1 :     module procedure test_setUnique_D1_RK3_1
    1391             :         use pm_kind, only: RKC => RK3
    1392             : #include "test_pm_arrayUnique@routines.inc.F90"
    1393             :     end procedure
    1394             : #endif
    1395             : 
    1396             : #if RK2_ENABLED
    1397           1 :     module procedure test_setUnique_D1_RK2_1
    1398             :         use pm_kind, only: RKC => RK2
    1399             : #include "test_pm_arrayUnique@routines.inc.F90"
    1400             :     end procedure
    1401             : #endif
    1402             : 
    1403             : #if RK1_ENABLED
    1404           1 :     module procedure test_setUnique_D1_RK1_1
    1405             :         use pm_kind, only: RKC => RK1
    1406             : #include "test_pm_arrayUnique@routines.inc.F90"
    1407             :     end procedure
    1408             : #endif
    1409             : 
    1410             : #undef RK_ENABLED
    1411             : 
    1412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1413             : 
    1414             : #undef D1_ENABLED
    1415             : 
    1416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1418             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1419             : 
    1420             : #undef setUnique_ENABLED
    1421             : 
    1422             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1423             : 
    1424             : end submodule routines

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