https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_distUnif@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 411 2133 19.3 %
Date: 2024-04-08 03:18:57 Functions: 201 1069 18.8 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_distUnif](@ref pm_distUnif).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_distUnif) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_kind, only: RKB
      40             :     implicit none
      41             : 
      42             :     !integer(IK) :: xoshiro256ssStreamLenMinusOne = xoshiro256ssStreamBitSize - 1_IK
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : contains
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define getUnifCDF_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             : 
      56             : #define DD_ENABLED 1
      57             : 
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             : 
      60             : #define IK_ENABLED 1
      61             : 
      62             : #if IK5_ENABLED
      63           0 :     module procedure getUnifCDF_DD_IK5
      64             :         use pm_kind, only: RKC => RK, IKC => IK5
      65             : #include "pm_distUnif@routines.inc.F90"
      66           0 :     end procedure
      67             : #endif
      68             : 
      69             : #if IK4_ENABLED
      70           0 :     module procedure getUnifCDF_DD_IK4
      71             :         use pm_kind, only: RKC => RK, IKC => IK4
      72             : #include "pm_distUnif@routines.inc.F90"
      73           0 :     end procedure
      74             : #endif
      75             : 
      76             : #if IK3_ENABLED
      77           1 :     module procedure getUnifCDF_DD_IK3
      78             :         use pm_kind, only: RKC => RK, IKC => IK3
      79             : #include "pm_distUnif@routines.inc.F90"
      80           1 :     end procedure
      81             : #endif
      82             : 
      83             : #if IK2_ENABLED
      84           0 :     module procedure getUnifCDF_DD_IK2
      85             :         use pm_kind, only: RKC => RK, IKC => IK2
      86             : #include "pm_distUnif@routines.inc.F90"
      87           0 :     end procedure
      88             : #endif
      89             : 
      90             : #if IK1_ENABLED
      91           0 :     module procedure getUnifCDF_DD_IK1
      92             :         use pm_kind, only: RKC => RK, IKC => IK1
      93             : #include "pm_distUnif@routines.inc.F90"
      94           0 :     end procedure
      95             : #endif
      96             : 
      97             : #undef IK_ENABLED
      98             : 
      99             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     100             : 
     101             : #define CK_ENABLED 1
     102             : 
     103             : #if CK5_ENABLED
     104             :     module procedure getUnifCDF_DD_CK5
     105             :         use pm_kind, only: CKC => CK5
     106             : #include "pm_distUnif@routines.inc.F90"
     107             :     end procedure
     108             : #endif
     109             : 
     110             : #if CK4_ENABLED
     111           0 :     module procedure getUnifCDF_DD_CK4
     112             :         use pm_kind, only: CKC => CK4
     113             : #include "pm_distUnif@routines.inc.F90"
     114           0 :     end procedure
     115             : #endif
     116             : 
     117             : #if CK3_ENABLED
     118           0 :     module procedure getUnifCDF_DD_CK3
     119             :         use pm_kind, only: CKC => CK3
     120             : #include "pm_distUnif@routines.inc.F90"
     121           0 :     end procedure
     122             : #endif
     123             : 
     124             : #if CK2_ENABLED
     125           1 :     module procedure getUnifCDF_DD_CK2
     126             :         use pm_kind, only: CKC => CK2
     127             : #include "pm_distUnif@routines.inc.F90"
     128           1 :     end procedure
     129             : #endif
     130             : 
     131             : #if CK1_ENABLED
     132           0 :     module procedure getUnifCDF_DD_CK1
     133             :         use pm_kind, only: CKC => CK1
     134             : #include "pm_distUnif@routines.inc.F90"
     135           0 :     end procedure
     136             : #endif
     137             : 
     138             : #undef CK_ENABLED
     139             : 
     140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     141             : 
     142             : #define RK_ENABLED 1
     143             : 
     144             : #if RK5_ENABLED
     145             :     module procedure getUnifCDF_DD_RK5
     146             :         use pm_kind, only: RKC => RK5
     147             : #include "pm_distUnif@routines.inc.F90"
     148             :     end procedure
     149             : #endif
     150             : 
     151             : #if RK4_ENABLED
     152           0 :     module procedure getUnifCDF_DD_RK4
     153             :         use pm_kind, only: RKC => RK4
     154             : #include "pm_distUnif@routines.inc.F90"
     155           0 :     end procedure
     156             : #endif
     157             : 
     158             : #if RK3_ENABLED
     159           0 :     module procedure getUnifCDF_DD_RK3
     160             :         use pm_kind, only: RKC => RK3
     161             : #include "pm_distUnif@routines.inc.F90"
     162           0 :     end procedure
     163             : #endif
     164             : 
     165             : #if RK2_ENABLED
     166           1 :     module procedure getUnifCDF_DD_RK2
     167             :         use pm_kind, only: RKC => RK2
     168             : #include "pm_distUnif@routines.inc.F90"
     169           1 :     end procedure
     170             : #endif
     171             : 
     172             : #if RK1_ENABLED
     173         437 :     module procedure getUnifCDF_DD_RK1
     174             :         use pm_kind, only: RKC => RK1
     175             : #include "pm_distUnif@routines.inc.F90"
     176         437 :     end procedure
     177             : #endif
     178             : 
     179             : #undef RK_ENABLED
     180             : 
     181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     182             : 
     183             : #undef DD_ENABLED
     184             : 
     185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     188             : 
     189             : #define LU_ENABLED 1
     190             : 
     191             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     192             : 
     193             : #define IK_ENABLED 1
     194             : 
     195             : #if IK5_ENABLED
     196           0 :     module procedure getUnifCDF_LU_IK5
     197             :         use pm_kind, only: RKC => RK, IKC => IK5
     198             : #include "pm_distUnif@routines.inc.F90"
     199           0 :     end procedure
     200             : #endif
     201             : 
     202             : #if IK4_ENABLED
     203           0 :     module procedure getUnifCDF_LU_IK4
     204             :         use pm_kind, only: RKC => RK, IKC => IK4
     205             : #include "pm_distUnif@routines.inc.F90"
     206           0 :     end procedure
     207             : #endif
     208             : 
     209             : #if IK3_ENABLED
     210          15 :     module procedure getUnifCDF_LU_IK3
     211             :         use pm_kind, only: RKC => RK, IKC => IK3
     212             : #include "pm_distUnif@routines.inc.F90"
     213          15 :     end procedure
     214             : #endif
     215             : 
     216             : #if IK2_ENABLED
     217           0 :     module procedure getUnifCDF_LU_IK2
     218             :         use pm_kind, only: RKC => RK, IKC => IK2
     219             : #include "pm_distUnif@routines.inc.F90"
     220           0 :     end procedure
     221             : #endif
     222             : 
     223             : #if IK1_ENABLED
     224           0 :     module procedure getUnifCDF_LU_IK1
     225             :         use pm_kind, only: RKC => RK, IKC => IK1
     226             : #include "pm_distUnif@routines.inc.F90"
     227           0 :     end procedure
     228             : #endif
     229             : 
     230             : #undef IK_ENABLED
     231             : 
     232             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     233             : 
     234             : #define CK_ENABLED 1
     235             : 
     236             : #if CK5_ENABLED
     237             :     module procedure getUnifCDF_LU_CK5
     238             :         use pm_kind, only: CKC => CK5
     239             : #include "pm_distUnif@routines.inc.F90"
     240             :     end procedure
     241             : #endif
     242             : 
     243             : #if CK4_ENABLED
     244           0 :     module procedure getUnifCDF_LU_CK4
     245             :         use pm_kind, only: CKC => CK4
     246             : #include "pm_distUnif@routines.inc.F90"
     247           0 :     end procedure
     248             : #endif
     249             : 
     250             : #if CK3_ENABLED
     251           0 :     module procedure getUnifCDF_LU_CK3
     252             :         use pm_kind, only: CKC => CK3
     253             : #include "pm_distUnif@routines.inc.F90"
     254           0 :     end procedure
     255             : #endif
     256             : 
     257             : #if CK2_ENABLED
     258        1001 :     module procedure getUnifCDF_LU_CK2
     259             :         use pm_kind, only: CKC => CK2
     260             : #include "pm_distUnif@routines.inc.F90"
     261        1001 :     end procedure
     262             : #endif
     263             : 
     264             : #if CK1_ENABLED
     265           0 :     module procedure getUnifCDF_LU_CK1
     266             :         use pm_kind, only: CKC => CK1
     267             : #include "pm_distUnif@routines.inc.F90"
     268           0 :     end procedure
     269             : #endif
     270             : 
     271             : #undef CK_ENABLED
     272             : 
     273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     274             : 
     275             : #define RK_ENABLED 1
     276             : 
     277             : #if RK5_ENABLED
     278             :     module procedure getUnifCDF_LU_RK5
     279             :         use pm_kind, only: RKC => RK5
     280             : #include "pm_distUnif@routines.inc.F90"
     281             :     end procedure
     282             : #endif
     283             : 
     284             : #if RK4_ENABLED
     285           0 :     module procedure getUnifCDF_LU_RK4
     286             :         use pm_kind, only: RKC => RK4
     287             : #include "pm_distUnif@routines.inc.F90"
     288           0 :     end procedure
     289             : #endif
     290             : 
     291             : #if RK3_ENABLED
     292           0 :     module procedure getUnifCDF_LU_RK3
     293             :         use pm_kind, only: RKC => RK3
     294             : #include "pm_distUnif@routines.inc.F90"
     295           0 :     end procedure
     296             : #endif
     297             : 
     298             : #if RK2_ENABLED
     299        1001 :     module procedure getUnifCDF_LU_RK2
     300             :         use pm_kind, only: RKC => RK2
     301             : #include "pm_distUnif@routines.inc.F90"
     302        1001 :     end procedure
     303             : #endif
     304             : 
     305             : #if RK1_ENABLED
     306           0 :     module procedure getUnifCDF_LU_RK1
     307             :         use pm_kind, only: RKC => RK1
     308             : #include "pm_distUnif@routines.inc.F90"
     309           0 :     end procedure
     310             : #endif
     311             : 
     312             : #undef RK_ENABLED
     313             : 
     314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     315             : 
     316             : #undef LU_ENABLED
     317             : 
     318             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     321             : 
     322             : #undef getUnifCDF_ENABLED
     323             : 
     324             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     325             : 
     326             : #define setUnifCDF_ENABLED 1
     327             : 
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     331             : 
     332             : #define DD_ENABLED 1
     333             : 
     334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     337             : 
     338             : #define D0_ENABLED 1
     339             : 
     340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     343             : 
     344             : #define IK_ENABLED 1
     345             : 
     346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     347             : 
     348             : 
     349             : #if RK5_ENABLED && IK5_ENABLED
     350             :     module procedure setUnifCDF_DD_D0_RK5_IK5
     351             :         use pm_kind, only: IKC => IK5, RKC => RK5
     352             : #include "pm_distUnif@routines.inc.F90"
     353             :     end procedure
     354             : #endif
     355             : 
     356             : #if RK4_ENABLED && IK5_ENABLED
     357           0 :     module procedure setUnifCDF_DD_D0_RK4_IK5
     358             :         use pm_kind, only: IKC => IK5, RKC => RK4
     359             : #include "pm_distUnif@routines.inc.F90"
     360           0 :     end procedure
     361             : #endif
     362             : 
     363             : #if RK3_ENABLED && IK5_ENABLED
     364           0 :     module procedure setUnifCDF_DD_D0_RK3_IK5
     365             :         use pm_kind, only: IKC => IK5, RKC => RK3
     366             : #include "pm_distUnif@routines.inc.F90"
     367           0 :     end procedure
     368             : #endif
     369             : 
     370             : #if RK2_ENABLED && IK5_ENABLED
     371           0 :     module procedure setUnifCDF_DD_D0_RK2_IK5
     372             :         use pm_kind, only: IKC => IK5, RKC => RK2
     373             : #include "pm_distUnif@routines.inc.F90"
     374           0 :     end procedure
     375             : #endif
     376             : 
     377             : #if RK1_ENABLED && IK5_ENABLED
     378           0 :     module procedure setUnifCDF_DD_D0_RK1_IK5
     379             :         use pm_kind, only: IKC => IK5, RKC => RK1
     380             : #include "pm_distUnif@routines.inc.F90"
     381           0 :     end procedure
     382             : #endif
     383             : 
     384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     385             : 
     386             : #if RK5_ENABLED && IK4_ENABLED
     387             :     module procedure setUnifCDF_DD_D0_RK5_IK4
     388             :         use pm_kind, only: IKC => IK4, RKC => RK5
     389             : #include "pm_distUnif@routines.inc.F90"
     390             :     end procedure
     391             : #endif
     392             : 
     393             : #if RK4_ENABLED && IK4_ENABLED
     394           0 :     module procedure setUnifCDF_DD_D0_RK4_IK4
     395             :         use pm_kind, only: IKC => IK4, RKC => RK4
     396             : #include "pm_distUnif@routines.inc.F90"
     397           0 :     end procedure
     398             : #endif
     399             : 
     400             : #if RK3_ENABLED && IK4_ENABLED
     401           0 :     module procedure setUnifCDF_DD_D0_RK3_IK4
     402             :         use pm_kind, only: IKC => IK4, RKC => RK3
     403             : #include "pm_distUnif@routines.inc.F90"
     404           0 :     end procedure
     405             : #endif
     406             : 
     407             : #if RK2_ENABLED && IK4_ENABLED
     408           0 :     module procedure setUnifCDF_DD_D0_RK2_IK4
     409             :         use pm_kind, only: IKC => IK4, RKC => RK2
     410             : #include "pm_distUnif@routines.inc.F90"
     411           0 :     end procedure
     412             : #endif
     413             : 
     414             : #if RK1_ENABLED && IK4_ENABLED
     415           0 :     module procedure setUnifCDF_DD_D0_RK1_IK4
     416             :         use pm_kind, only: IKC => IK4, RKC => RK1
     417             : #include "pm_distUnif@routines.inc.F90"
     418           0 :     end procedure
     419             : #endif
     420             : 
     421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             : 
     423             : #if RK5_ENABLED && IK3_ENABLED
     424             :     module procedure setUnifCDF_DD_D0_RK5_IK3
     425             :         use pm_kind, only: IKC => IK3, RKC => RK5
     426             : #include "pm_distUnif@routines.inc.F90"
     427             :     end procedure
     428             : #endif
     429             : 
     430             : #if RK4_ENABLED && IK3_ENABLED
     431           0 :     module procedure setUnifCDF_DD_D0_RK4_IK3
     432             :         use pm_kind, only: IKC => IK3, RKC => RK4
     433             : #include "pm_distUnif@routines.inc.F90"
     434           0 :     end procedure
     435             : #endif
     436             : 
     437             : #if RK3_ENABLED && IK3_ENABLED
     438           0 :     module procedure setUnifCDF_DD_D0_RK3_IK3
     439             :         use pm_kind, only: IKC => IK3, RKC => RK3
     440             : #include "pm_distUnif@routines.inc.F90"
     441           0 :     end procedure
     442             : #endif
     443             : 
     444             : #if RK2_ENABLED && IK3_ENABLED
     445           2 :     module procedure setUnifCDF_DD_D0_RK2_IK3
     446             :         use pm_kind, only: IKC => IK3, RKC => RK2
     447             : #include "pm_distUnif@routines.inc.F90"
     448           2 :     end procedure
     449             : #endif
     450             : 
     451             : #if RK1_ENABLED && IK3_ENABLED
     452           0 :     module procedure setUnifCDF_DD_D0_RK1_IK3
     453             :         use pm_kind, only: IKC => IK3, RKC => RK1
     454             : #include "pm_distUnif@routines.inc.F90"
     455           0 :     end procedure
     456             : #endif
     457             : 
     458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     459             : 
     460             : #if RK5_ENABLED && IK2_ENABLED
     461             :     module procedure setUnifCDF_DD_D0_RK5_IK2
     462             :         use pm_kind, only: IKC => IK2, RKC => RK5
     463             : #include "pm_distUnif@routines.inc.F90"
     464             :     end procedure
     465             : #endif
     466             : 
     467             : #if RK4_ENABLED && IK2_ENABLED
     468           0 :     module procedure setUnifCDF_DD_D0_RK4_IK2
     469             :         use pm_kind, only: IKC => IK2, RKC => RK4
     470             : #include "pm_distUnif@routines.inc.F90"
     471           0 :     end procedure
     472             : #endif
     473             : 
     474             : #if RK3_ENABLED && IK2_ENABLED
     475           0 :     module procedure setUnifCDF_DD_D0_RK3_IK2
     476             :         use pm_kind, only: IKC => IK2, RKC => RK3
     477             : #include "pm_distUnif@routines.inc.F90"
     478           0 :     end procedure
     479             : #endif
     480             : 
     481             : #if RK2_ENABLED && IK2_ENABLED
     482           0 :     module procedure setUnifCDF_DD_D0_RK2_IK2
     483             :         use pm_kind, only: IKC => IK2, RKC => RK2
     484             : #include "pm_distUnif@routines.inc.F90"
     485           0 :     end procedure
     486             : #endif
     487             : 
     488             : #if RK1_ENABLED && IK2_ENABLED
     489           0 :     module procedure setUnifCDF_DD_D0_RK1_IK2
     490             :         use pm_kind, only: IKC => IK2, RKC => RK1
     491             : #include "pm_distUnif@routines.inc.F90"
     492           0 :     end procedure
     493             : #endif
     494             : 
     495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     496             : 
     497             : #if RK5_ENABLED && IK1_ENABLED
     498             :     module procedure setUnifCDF_DD_D0_RK5_IK1
     499             :         use pm_kind, only: IKC => IK1, RKC => RK5
     500             : #include "pm_distUnif@routines.inc.F90"
     501             :     end procedure
     502             : #endif
     503             : 
     504             : #if RK4_ENABLED && IK1_ENABLED
     505           0 :     module procedure setUnifCDF_DD_D0_RK4_IK1
     506             :         use pm_kind, only: IKC => IK1, RKC => RK4
     507             : #include "pm_distUnif@routines.inc.F90"
     508           0 :     end procedure
     509             : #endif
     510             : 
     511             : #if RK3_ENABLED && IK1_ENABLED
     512           0 :     module procedure setUnifCDF_DD_D0_RK3_IK1
     513             :         use pm_kind, only: IKC => IK1, RKC => RK3
     514             : #include "pm_distUnif@routines.inc.F90"
     515           0 :     end procedure
     516             : #endif
     517             : 
     518             : #if RK2_ENABLED && IK1_ENABLED
     519           0 :     module procedure setUnifCDF_DD_D0_RK2_IK1
     520             :         use pm_kind, only: IKC => IK1, RKC => RK2
     521             : #include "pm_distUnif@routines.inc.F90"
     522           0 :     end procedure
     523             : #endif
     524             : 
     525             : #if RK1_ENABLED && IK1_ENABLED
     526           0 :     module procedure setUnifCDF_DD_D0_RK1_IK1
     527             :         use pm_kind, only: IKC => IK1, RKC => RK1
     528             : #include "pm_distUnif@routines.inc.F90"
     529           0 :     end procedure
     530             : #endif
     531             : 
     532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     533             : 
     534             : #undef IK_ENABLED
     535             : 
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     539             : 
     540             : #define CK_ENABLED 1
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             : 
     544             : #if CK5_ENABLED
     545             :     module procedure setUnifCDF_DD_D0_CK5
     546             :         use pm_kind, only: CKC => CK5
     547             : #include "pm_distUnif@routines.inc.F90"
     548             :     end procedure
     549             : #endif
     550             : 
     551             : #if CK4_ENABLED
     552           0 :     module procedure setUnifCDF_DD_D0_CK4
     553             :         use pm_kind, only: CKC => CK4
     554             : #include "pm_distUnif@routines.inc.F90"
     555           0 :     end procedure
     556             : #endif
     557             : 
     558             : #if CK3_ENABLED
     559           0 :     module procedure setUnifCDF_DD_D0_CK3
     560             :         use pm_kind, only: CKC => CK3
     561             : #include "pm_distUnif@routines.inc.F90"
     562           0 :     end procedure
     563             : #endif
     564             : 
     565             : #if CK2_ENABLED
     566           2 :     module procedure setUnifCDF_DD_D0_CK2
     567             :         use pm_kind, only: CKC => CK2
     568             : #include "pm_distUnif@routines.inc.F90"
     569           2 :     end procedure
     570             : #endif
     571             : 
     572             : #if CK1_ENABLED
     573           0 :     module procedure setUnifCDF_DD_D0_CK1
     574             :         use pm_kind, only: CKC => CK1
     575             : #include "pm_distUnif@routines.inc.F90"
     576           0 :     end procedure
     577             : #endif
     578             : 
     579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     580             : 
     581             : #undef CK_ENABLED
     582             : 
     583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     586             : 
     587             : #define RK_ENABLED 1
     588             : 
     589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591             : #if RK5_ENABLED
     592             :     module procedure setUnifCDF_DD_D0_RK5
     593             :         use pm_kind, only: RKC => RK5
     594             : #include "pm_distUnif@routines.inc.F90"
     595             :     end procedure
     596             : #endif
     597             : 
     598             : #if RK4_ENABLED
     599           0 :     module procedure setUnifCDF_DD_D0_RK4
     600             :         use pm_kind, only: RKC => RK4
     601             : #include "pm_distUnif@routines.inc.F90"
     602           0 :     end procedure
     603             : #endif
     604             : 
     605             : #if RK3_ENABLED
     606           0 :     module procedure setUnifCDF_DD_D0_RK3
     607             :         use pm_kind, only: RKC => RK3
     608             : #include "pm_distUnif@routines.inc.F90"
     609           0 :     end procedure
     610             : #endif
     611             : 
     612             : #if RK2_ENABLED
     613           2 :     module procedure setUnifCDF_DD_D0_RK2
     614             :         use pm_kind, only: RKC => RK2
     615             : #include "pm_distUnif@routines.inc.F90"
     616           2 :     end procedure
     617             : #endif
     618             : 
     619             : #if RK1_ENABLED
     620         437 :     module procedure setUnifCDF_DD_D0_RK1
     621             :         use pm_kind, only: RKC => RK1
     622             : #include "pm_distUnif@routines.inc.F90"
     623         437 :     end procedure
     624             : #endif
     625             : 
     626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     627             : 
     628             : #undef RK_ENABLED
     629             : 
     630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     633             : 
     634             : #undef D0_ENABLED
     635             : 
     636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     639             : 
     640             : #define D1_ENABLED 1
     641             : 
     642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     644             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     645             : 
     646             : #define IK_ENABLED 1
     647             : 
     648             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     649             : 
     650             : #if RK5_ENABLED && IK5_ENABLED
     651             :     module procedure setUnifCDF_DD_D1_RK5_IK5
     652             :         use pm_kind, only: IKC => IK5, RKC => RK5
     653             : #include "pm_distUnif@routines.inc.F90"
     654             :     end procedure
     655             : #endif
     656             : 
     657             : #if RK4_ENABLED && IK5_ENABLED
     658           0 :     module procedure setUnifCDF_DD_D1_RK4_IK5
     659             :         use pm_kind, only: IKC => IK5, RKC => RK4
     660             : #include "pm_distUnif@routines.inc.F90"
     661           0 :     end procedure
     662             : #endif
     663             : 
     664             : #if RK3_ENABLED && IK5_ENABLED
     665           0 :     module procedure setUnifCDF_DD_D1_RK3_IK5
     666             :         use pm_kind, only: IKC => IK5, RKC => RK3
     667             : #include "pm_distUnif@routines.inc.F90"
     668           0 :     end procedure
     669             : #endif
     670             : 
     671             : #if RK2_ENABLED && IK5_ENABLED
     672           0 :     module procedure setUnifCDF_DD_D1_RK2_IK5
     673             :         use pm_kind, only: IKC => IK5, RKC => RK2
     674             : #include "pm_distUnif@routines.inc.F90"
     675           0 :     end procedure
     676             : #endif
     677             : 
     678             : #if RK1_ENABLED && IK5_ENABLED
     679           0 :     module procedure setUnifCDF_DD_D1_RK1_IK5
     680             :         use pm_kind, only: IKC => IK5, RKC => RK1
     681             : #include "pm_distUnif@routines.inc.F90"
     682           0 :     end procedure
     683             : #endif
     684             : 
     685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     686             : 
     687             : #if RK5_ENABLED && IK4_ENABLED
     688             :     module procedure setUnifCDF_DD_D1_RK5_IK4
     689             :         use pm_kind, only: IKC => IK4, RKC => RK5
     690             : #include "pm_distUnif@routines.inc.F90"
     691             :     end procedure
     692             : #endif
     693             : 
     694             : #if RK4_ENABLED && IK4_ENABLED
     695           0 :     module procedure setUnifCDF_DD_D1_RK4_IK4
     696             :         use pm_kind, only: IKC => IK4, RKC => RK4
     697             : #include "pm_distUnif@routines.inc.F90"
     698           0 :     end procedure
     699             : #endif
     700             : 
     701             : #if RK3_ENABLED && IK4_ENABLED
     702           0 :     module procedure setUnifCDF_DD_D1_RK3_IK4
     703             :         use pm_kind, only: IKC => IK4, RKC => RK3
     704             : #include "pm_distUnif@routines.inc.F90"
     705           0 :     end procedure
     706             : #endif
     707             : 
     708             : #if RK2_ENABLED && IK4_ENABLED
     709           0 :     module procedure setUnifCDF_DD_D1_RK2_IK4
     710             :         use pm_kind, only: IKC => IK4, RKC => RK2
     711             : #include "pm_distUnif@routines.inc.F90"
     712           0 :     end procedure
     713             : #endif
     714             : 
     715             : #if RK1_ENABLED && IK4_ENABLED
     716           0 :     module procedure setUnifCDF_DD_D1_RK1_IK4
     717             :         use pm_kind, only: IKC => IK4, RKC => RK1
     718             : #include "pm_distUnif@routines.inc.F90"
     719           0 :     end procedure
     720             : #endif
     721             : 
     722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     723             : 
     724             : #if RK5_ENABLED && IK3_ENABLED
     725             :     module procedure setUnifCDF_DD_D1_RK5_IK3
     726             :         use pm_kind, only: IKC => IK3, RKC => RK5
     727             : #include "pm_distUnif@routines.inc.F90"
     728             :     end procedure
     729             : #endif
     730             : 
     731             : #if RK4_ENABLED && IK3_ENABLED
     732           0 :     module procedure setUnifCDF_DD_D1_RK4_IK3
     733             :         use pm_kind, only: IKC => IK3, RKC => RK4
     734             : #include "pm_distUnif@routines.inc.F90"
     735           0 :     end procedure
     736             : #endif
     737             : 
     738             : #if RK3_ENABLED && IK3_ENABLED
     739           0 :     module procedure setUnifCDF_DD_D1_RK3_IK3
     740             :         use pm_kind, only: IKC => IK3, RKC => RK3
     741             : #include "pm_distUnif@routines.inc.F90"
     742           0 :     end procedure
     743             : #endif
     744             : 
     745             : #if RK2_ENABLED && IK3_ENABLED
     746           0 :     module procedure setUnifCDF_DD_D1_RK2_IK3
     747             :         use pm_kind, only: IKC => IK3, RKC => RK2
     748             : #include "pm_distUnif@routines.inc.F90"
     749           0 :     end procedure
     750             : #endif
     751             : 
     752             : #if RK1_ENABLED && IK3_ENABLED
     753           0 :     module procedure setUnifCDF_DD_D1_RK1_IK3
     754             :         use pm_kind, only: IKC => IK3, RKC => RK1
     755             : #include "pm_distUnif@routines.inc.F90"
     756           0 :     end procedure
     757             : #endif
     758             : 
     759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761             : #if RK5_ENABLED && IK2_ENABLED
     762             :     module procedure setUnifCDF_DD_D1_RK5_IK2
     763             :         use pm_kind, only: IKC => IK2, RKC => RK5
     764             : #include "pm_distUnif@routines.inc.F90"
     765             :     end procedure
     766             : #endif
     767             : 
     768             : #if RK4_ENABLED && IK2_ENABLED
     769           0 :     module procedure setUnifCDF_DD_D1_RK4_IK2
     770             :         use pm_kind, only: IKC => IK2, RKC => RK4
     771             : #include "pm_distUnif@routines.inc.F90"
     772           0 :     end procedure
     773             : #endif
     774             : 
     775             : #if RK3_ENABLED && IK2_ENABLED
     776           0 :     module procedure setUnifCDF_DD_D1_RK3_IK2
     777             :         use pm_kind, only: IKC => IK2, RKC => RK3
     778             : #include "pm_distUnif@routines.inc.F90"
     779           0 :     end procedure
     780             : #endif
     781             : 
     782             : #if RK2_ENABLED && IK2_ENABLED
     783           0 :     module procedure setUnifCDF_DD_D1_RK2_IK2
     784             :         use pm_kind, only: IKC => IK2, RKC => RK2
     785             : #include "pm_distUnif@routines.inc.F90"
     786           0 :     end procedure
     787             : #endif
     788             : 
     789             : #if RK1_ENABLED && IK2_ENABLED
     790           0 :     module procedure setUnifCDF_DD_D1_RK1_IK2
     791             :         use pm_kind, only: IKC => IK2, RKC => RK1
     792             : #include "pm_distUnif@routines.inc.F90"
     793           0 :     end procedure
     794             : #endif
     795             : 
     796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     797             : 
     798             : #if RK5_ENABLED && IK1_ENABLED
     799             :     module procedure setUnifCDF_DD_D1_RK5_IK1
     800             :         use pm_kind, only: IKC => IK1, RKC => RK5
     801             : #include "pm_distUnif@routines.inc.F90"
     802             :     end procedure
     803             : #endif
     804             : 
     805             : #if RK4_ENABLED && IK1_ENABLED
     806           0 :     module procedure setUnifCDF_DD_D1_RK4_IK1
     807             :         use pm_kind, only: IKC => IK1, RKC => RK4
     808             : #include "pm_distUnif@routines.inc.F90"
     809           0 :     end procedure
     810             : #endif
     811             : 
     812             : #if RK3_ENABLED && IK1_ENABLED
     813           0 :     module procedure setUnifCDF_DD_D1_RK3_IK1
     814             :         use pm_kind, only: IKC => IK1, RKC => RK3
     815             : #include "pm_distUnif@routines.inc.F90"
     816           0 :     end procedure
     817             : #endif
     818             : 
     819             : #if RK2_ENABLED && IK1_ENABLED
     820           0 :     module procedure setUnifCDF_DD_D1_RK2_IK1
     821             :         use pm_kind, only: IKC => IK1, RKC => RK2
     822             : #include "pm_distUnif@routines.inc.F90"
     823           0 :     end procedure
     824             : #endif
     825             : 
     826             : #if RK1_ENABLED && IK1_ENABLED
     827           0 :     module procedure setUnifCDF_DD_D1_RK1_IK1
     828             :         use pm_kind, only: IKC => IK1, RKC => RK1
     829             : #include "pm_distUnif@routines.inc.F90"
     830           0 :     end procedure
     831             : #endif
     832             : 
     833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     834             : 
     835             : #undef IK_ENABLED
     836             : 
     837             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     840             : 
     841             : #define CK_ENABLED 1
     842             : 
     843             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     844             : 
     845             : #if CK5_ENABLED
     846             :     module procedure setUnifCDF_DD_D1_CK5
     847             :         use pm_kind, only: CKC => CK5
     848             : #include "pm_distUnif@routines.inc.F90"
     849             :     end procedure
     850             : #endif
     851             : 
     852             : #if CK4_ENABLED
     853           0 :     module procedure setUnifCDF_DD_D1_CK4
     854             :         use pm_kind, only: CKC => CK4
     855             : #include "pm_distUnif@routines.inc.F90"
     856           0 :     end procedure
     857             : #endif
     858             : 
     859             : #if CK3_ENABLED
     860           0 :     module procedure setUnifCDF_DD_D1_CK3
     861             :         use pm_kind, only: CKC => CK3
     862             : #include "pm_distUnif@routines.inc.F90"
     863           0 :     end procedure
     864             : #endif
     865             : 
     866             : #if CK2_ENABLED
     867           0 :     module procedure setUnifCDF_DD_D1_CK2
     868             :         use pm_kind, only: CKC => CK2
     869             : #include "pm_distUnif@routines.inc.F90"
     870           0 :     end procedure
     871             : #endif
     872             : 
     873             : #if CK1_ENABLED
     874           0 :     module procedure setUnifCDF_DD_D1_CK1
     875             :         use pm_kind, only: CKC => CK1
     876             : #include "pm_distUnif@routines.inc.F90"
     877           0 :     end procedure
     878             : #endif
     879             : 
     880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     881             : 
     882             : #undef CK_ENABLED
     883             : 
     884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     887             : 
     888             : #define RK_ENABLED 1
     889             : 
     890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     891             : 
     892             : #if RK5_ENABLED
     893             :     module procedure setUnifCDF_DD_D1_RK5
     894             :         use pm_kind, only: RKC => RK5
     895             : #include "pm_distUnif@routines.inc.F90"
     896             :     end procedure
     897             : #endif
     898             : 
     899             : #if RK4_ENABLED
     900           0 :     module procedure setUnifCDF_DD_D1_RK4
     901             :         use pm_kind, only: RKC => RK4
     902             : #include "pm_distUnif@routines.inc.F90"
     903           0 :     end procedure
     904             : #endif
     905             : 
     906             : #if RK3_ENABLED
     907           0 :     module procedure setUnifCDF_DD_D1_RK3
     908             :         use pm_kind, only: RKC => RK3
     909             : #include "pm_distUnif@routines.inc.F90"
     910           0 :     end procedure
     911             : #endif
     912             : 
     913             : #if RK2_ENABLED
     914           0 :     module procedure setUnifCDF_DD_D1_RK2
     915             :         use pm_kind, only: RKC => RK2
     916             : #include "pm_distUnif@routines.inc.F90"
     917           0 :     end procedure
     918             : #endif
     919             : 
     920             : #if RK1_ENABLED
     921           0 :     module procedure setUnifCDF_DD_D1_RK1
     922             :         use pm_kind, only: RKC => RK1
     923             : #include "pm_distUnif@routines.inc.F90"
     924           0 :     end procedure
     925             : #endif
     926             : 
     927             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     928             : 
     929             : #undef RK_ENABLED
     930             : 
     931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     933             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     934             : 
     935             : #undef D1_ENABLED
     936             : 
     937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     938             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     939             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     940             : 
     941             : #undef DD_ENABLED
     942             : 
     943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     946             : 
     947             : #define LU_ENABLED 1
     948             : 
     949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     950             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     951             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     952             : 
     953             : #define D0_ENABLED 1
     954             : 
     955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     958             : 
     959             : #define IK_ENABLED 1
     960             : 
     961             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     962             : 
     963             : #if RK5_ENABLED && IK5_ENABLED
     964             :     module procedure setUnifCDF_LU_D0_RK5_IK5
     965             :         use pm_kind, only: IKC => IK5, RKC => RK5
     966             : #include "pm_distUnif@routines.inc.F90"
     967             :     end procedure
     968             : #endif
     969             : 
     970             : #if RK4_ENABLED && IK5_ENABLED
     971           0 :     module procedure setUnifCDF_LU_D0_RK4_IK5
     972             :         use pm_kind, only: IKC => IK5, RKC => RK4
     973             : #include "pm_distUnif@routines.inc.F90"
     974           0 :     end procedure
     975             : #endif
     976             : 
     977             : #if RK3_ENABLED && IK5_ENABLED
     978           0 :     module procedure setUnifCDF_LU_D0_RK3_IK5
     979             :         use pm_kind, only: IKC => IK5, RKC => RK3
     980             : #include "pm_distUnif@routines.inc.F90"
     981           0 :     end procedure
     982             : #endif
     983             : 
     984             : #if RK2_ENABLED && IK5_ENABLED
     985           0 :     module procedure setUnifCDF_LU_D0_RK2_IK5
     986             :         use pm_kind, only: IKC => IK5, RKC => RK2
     987             : #include "pm_distUnif@routines.inc.F90"
     988           0 :     end procedure
     989             : #endif
     990             : 
     991             : #if RK1_ENABLED && IK5_ENABLED
     992           0 :     module procedure setUnifCDF_LU_D0_RK1_IK5
     993             :         use pm_kind, only: IKC => IK5, RKC => RK1
     994             : #include "pm_distUnif@routines.inc.F90"
     995           0 :     end procedure
     996             : #endif
     997             : 
     998             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     999             : 
    1000             : #if RK5_ENABLED && IK4_ENABLED
    1001             :     module procedure setUnifCDF_LU_D0_RK5_IK4
    1002             :         use pm_kind, only: IKC => IK4, RKC => RK5
    1003             : #include "pm_distUnif@routines.inc.F90"
    1004             :     end procedure
    1005             : #endif
    1006             : 
    1007             : #if RK4_ENABLED && IK4_ENABLED
    1008           0 :     module procedure setUnifCDF_LU_D0_RK4_IK4
    1009             :         use pm_kind, only: IKC => IK4, RKC => RK4
    1010             : #include "pm_distUnif@routines.inc.F90"
    1011           0 :     end procedure
    1012             : #endif
    1013             : 
    1014             : #if RK3_ENABLED && IK4_ENABLED
    1015           0 :     module procedure setUnifCDF_LU_D0_RK3_IK4
    1016             :         use pm_kind, only: IKC => IK4, RKC => RK3
    1017             : #include "pm_distUnif@routines.inc.F90"
    1018           0 :     end procedure
    1019             : #endif
    1020             : 
    1021             : #if RK2_ENABLED && IK4_ENABLED
    1022           0 :     module procedure setUnifCDF_LU_D0_RK2_IK4
    1023             :         use pm_kind, only: IKC => IK4, RKC => RK2
    1024             : #include "pm_distUnif@routines.inc.F90"
    1025           0 :     end procedure
    1026             : #endif
    1027             : 
    1028             : #if RK1_ENABLED && IK4_ENABLED
    1029           0 :     module procedure setUnifCDF_LU_D0_RK1_IK4
    1030             :         use pm_kind, only: IKC => IK4, RKC => RK1
    1031             : #include "pm_distUnif@routines.inc.F90"
    1032           0 :     end procedure
    1033             : #endif
    1034             : 
    1035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1036             : 
    1037             : #if RK5_ENABLED && IK3_ENABLED
    1038             :     module procedure setUnifCDF_LU_D0_RK5_IK3
    1039             :         use pm_kind, only: IKC => IK3, RKC => RK5
    1040             : #include "pm_distUnif@routines.inc.F90"
    1041             :     end procedure
    1042             : #endif
    1043             : 
    1044             : #if RK4_ENABLED && IK3_ENABLED
    1045           0 :     module procedure setUnifCDF_LU_D0_RK4_IK3
    1046             :         use pm_kind, only: IKC => IK3, RKC => RK4
    1047             : #include "pm_distUnif@routines.inc.F90"
    1048           0 :     end procedure
    1049             : #endif
    1050             : 
    1051             : #if RK3_ENABLED && IK3_ENABLED
    1052           0 :     module procedure setUnifCDF_LU_D0_RK3_IK3
    1053             :         use pm_kind, only: IKC => IK3, RKC => RK3
    1054             : #include "pm_distUnif@routines.inc.F90"
    1055           0 :     end procedure
    1056             : #endif
    1057             : 
    1058             : #if RK2_ENABLED && IK3_ENABLED
    1059          16 :     module procedure setUnifCDF_LU_D0_RK2_IK3
    1060             :         use pm_kind, only: IKC => IK3, RKC => RK2
    1061             : #include "pm_distUnif@routines.inc.F90"
    1062          16 :     end procedure
    1063             : #endif
    1064             : 
    1065             : #if RK1_ENABLED && IK3_ENABLED
    1066           0 :     module procedure setUnifCDF_LU_D0_RK1_IK3
    1067             :         use pm_kind, only: IKC => IK3, RKC => RK1
    1068             : #include "pm_distUnif@routines.inc.F90"
    1069           0 :     end procedure
    1070             : #endif
    1071             : 
    1072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1073             : 
    1074             : #if RK5_ENABLED && IK2_ENABLED
    1075             :     module procedure setUnifCDF_LU_D0_RK5_IK2
    1076             :         use pm_kind, only: IKC => IK2, RKC => RK5
    1077             : #include "pm_distUnif@routines.inc.F90"
    1078             :     end procedure
    1079             : #endif
    1080             : 
    1081             : #if RK4_ENABLED && IK2_ENABLED
    1082           0 :     module procedure setUnifCDF_LU_D0_RK4_IK2
    1083             :         use pm_kind, only: IKC => IK2, RKC => RK4
    1084             : #include "pm_distUnif@routines.inc.F90"
    1085           0 :     end procedure
    1086             : #endif
    1087             : 
    1088             : #if RK3_ENABLED && IK2_ENABLED
    1089           0 :     module procedure setUnifCDF_LU_D0_RK3_IK2
    1090             :         use pm_kind, only: IKC => IK2, RKC => RK3
    1091             : #include "pm_distUnif@routines.inc.F90"
    1092           0 :     end procedure
    1093             : #endif
    1094             : 
    1095             : #if RK2_ENABLED && IK2_ENABLED
    1096           0 :     module procedure setUnifCDF_LU_D0_RK2_IK2
    1097             :         use pm_kind, only: IKC => IK2, RKC => RK2
    1098             : #include "pm_distUnif@routines.inc.F90"
    1099           0 :     end procedure
    1100             : #endif
    1101             : 
    1102             : #if RK1_ENABLED && IK2_ENABLED
    1103           0 :     module procedure setUnifCDF_LU_D0_RK1_IK2
    1104             :         use pm_kind, only: IKC => IK2, RKC => RK1
    1105             : #include "pm_distUnif@routines.inc.F90"
    1106           0 :     end procedure
    1107             : #endif
    1108             : 
    1109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1110             : 
    1111             : #if RK5_ENABLED && IK1_ENABLED
    1112             :     module procedure setUnifCDF_LU_D0_RK5_IK1
    1113             :         use pm_kind, only: IKC => IK1, RKC => RK5
    1114             : #include "pm_distUnif@routines.inc.F90"
    1115             :     end procedure
    1116             : #endif
    1117             : 
    1118             : #if RK4_ENABLED && IK1_ENABLED
    1119           0 :     module procedure setUnifCDF_LU_D0_RK4_IK1
    1120             :         use pm_kind, only: IKC => IK1, RKC => RK4
    1121             : #include "pm_distUnif@routines.inc.F90"
    1122           0 :     end procedure
    1123             : #endif
    1124             : 
    1125             : #if RK3_ENABLED && IK1_ENABLED
    1126           0 :     module procedure setUnifCDF_LU_D0_RK3_IK1
    1127             :         use pm_kind, only: IKC => IK1, RKC => RK3
    1128             : #include "pm_distUnif@routines.inc.F90"
    1129           0 :     end procedure
    1130             : #endif
    1131             : 
    1132             : #if RK2_ENABLED && IK1_ENABLED
    1133           0 :     module procedure setUnifCDF_LU_D0_RK2_IK1
    1134             :         use pm_kind, only: IKC => IK1, RKC => RK2
    1135             : #include "pm_distUnif@routines.inc.F90"
    1136           0 :     end procedure
    1137             : #endif
    1138             : 
    1139             : #if RK1_ENABLED && IK1_ENABLED
    1140           0 :     module procedure setUnifCDF_LU_D0_RK1_IK1
    1141             :         use pm_kind, only: IKC => IK1, RKC => RK1
    1142             : #include "pm_distUnif@routines.inc.F90"
    1143           0 :     end procedure
    1144             : #endif
    1145             : 
    1146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1147             : 
    1148             : #undef IK_ENABLED
    1149             : 
    1150             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1153             : 
    1154             : #define CK_ENABLED 1
    1155             : 
    1156             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1157             : 
    1158             : #if CK5_ENABLED
    1159             :     module procedure setUnifCDF_LU_D0_CK5
    1160             :         use pm_kind, only: CKC => CK5
    1161             : #include "pm_distUnif@routines.inc.F90"
    1162             :     end procedure
    1163             : #endif
    1164             : 
    1165             : #if CK4_ENABLED
    1166           0 :     module procedure setUnifCDF_LU_D0_CK4
    1167             :         use pm_kind, only: CKC => CK4
    1168             : #include "pm_distUnif@routines.inc.F90"
    1169           0 :     end procedure
    1170             : #endif
    1171             : 
    1172             : #if CK3_ENABLED
    1173           0 :     module procedure setUnifCDF_LU_D0_CK3
    1174             :         use pm_kind, only: CKC => CK3
    1175             : #include "pm_distUnif@routines.inc.F90"
    1176           0 :     end procedure
    1177             : #endif
    1178             : 
    1179             : #if CK2_ENABLED
    1180        1002 :     module procedure setUnifCDF_LU_D0_CK2
    1181             :         use pm_kind, only: CKC => CK2
    1182             : #include "pm_distUnif@routines.inc.F90"
    1183        1002 :     end procedure
    1184             : #endif
    1185             : 
    1186             : #if CK1_ENABLED
    1187           0 :     module procedure setUnifCDF_LU_D0_CK1
    1188             :         use pm_kind, only: CKC => CK1
    1189             : #include "pm_distUnif@routines.inc.F90"
    1190           0 :     end procedure
    1191             : #endif
    1192             : 
    1193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1194             : 
    1195             : #undef CK_ENABLED
    1196             : 
    1197             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1200             : 
    1201             : #define RK_ENABLED 1
    1202             : 
    1203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1204             : 
    1205             : #if RK5_ENABLED
    1206             :     module procedure setUnifCDF_LU_D0_RK5
    1207             :         use pm_kind, only: RKC => RK5
    1208             : #include "pm_distUnif@routines.inc.F90"
    1209             :     end procedure
    1210             : #endif
    1211             : 
    1212             : #if RK4_ENABLED
    1213           0 :     module procedure setUnifCDF_LU_D0_RK4
    1214             :         use pm_kind, only: RKC => RK4
    1215             : #include "pm_distUnif@routines.inc.F90"
    1216           0 :     end procedure
    1217             : #endif
    1218             : 
    1219             : #if RK3_ENABLED
    1220           0 :     module procedure setUnifCDF_LU_D0_RK3
    1221             :         use pm_kind, only: RKC => RK3
    1222             : #include "pm_distUnif@routines.inc.F90"
    1223           0 :     end procedure
    1224             : #endif
    1225             : 
    1226             : #if RK2_ENABLED
    1227        1002 :     module procedure setUnifCDF_LU_D0_RK2
    1228             :         use pm_kind, only: RKC => RK2
    1229             : #include "pm_distUnif@routines.inc.F90"
    1230        1002 :     end procedure
    1231             : #endif
    1232             : 
    1233             : #if RK1_ENABLED
    1234           0 :     module procedure setUnifCDF_LU_D0_RK1
    1235             :         use pm_kind, only: RKC => RK1
    1236             : #include "pm_distUnif@routines.inc.F90"
    1237           0 :     end procedure
    1238             : #endif
    1239             : 
    1240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1241             : 
    1242             : #undef RK_ENABLED
    1243             : 
    1244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             : 
    1248             : #undef D0_ENABLED
    1249             : 
    1250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1253             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1254             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1255             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1257             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1258             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1259             : 
    1260             : #define D1_ENABLED 1
    1261             : 
    1262             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1264             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1265             : 
    1266             : #define IK_ENABLED 1
    1267             : 
    1268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1269             : 
    1270             : #if RK5_ENABLED && IK5_ENABLED
    1271             :     module procedure setUnifCDF_LU_D1_RK5_IK5
    1272             :         use pm_kind, only: IKC => IK5, RKC => RK5
    1273             : #include "pm_distUnif@routines.inc.F90"
    1274             :     end procedure
    1275             : #endif
    1276             : 
    1277             : #if RK4_ENABLED && IK5_ENABLED
    1278           0 :     module procedure setUnifCDF_LU_D1_RK4_IK5
    1279             :         use pm_kind, only: IKC => IK5, RKC => RK4
    1280             : #include "pm_distUnif@routines.inc.F90"
    1281           0 :     end procedure
    1282             : #endif
    1283             : 
    1284             : #if RK3_ENABLED && IK5_ENABLED
    1285           0 :     module procedure setUnifCDF_LU_D1_RK3_IK5
    1286             :         use pm_kind, only: IKC => IK5, RKC => RK3
    1287             : #include "pm_distUnif@routines.inc.F90"
    1288           0 :     end procedure
    1289             : #endif
    1290             : 
    1291             : #if RK2_ENABLED && IK5_ENABLED
    1292           0 :     module procedure setUnifCDF_LU_D1_RK2_IK5
    1293             :         use pm_kind, only: IKC => IK5, RKC => RK2
    1294             : #include "pm_distUnif@routines.inc.F90"
    1295           0 :     end procedure
    1296             : #endif
    1297             : 
    1298             : #if RK1_ENABLED && IK5_ENABLED
    1299           0 :     module procedure setUnifCDF_LU_D1_RK1_IK5
    1300             :         use pm_kind, only: IKC => IK5, RKC => RK1
    1301             : #include "pm_distUnif@routines.inc.F90"
    1302           0 :     end procedure
    1303             : #endif
    1304             : 
    1305             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1306             : 
    1307             : #if RK5_ENABLED && IK4_ENABLED
    1308             :     module procedure setUnifCDF_LU_D1_RK5_IK4
    1309             :         use pm_kind, only: IKC => IK4, RKC => RK5
    1310             : #include "pm_distUnif@routines.inc.F90"
    1311             :     end procedure
    1312             : #endif
    1313             : 
    1314             : #if RK4_ENABLED && IK4_ENABLED
    1315           0 :     module procedure setUnifCDF_LU_D1_RK4_IK4
    1316             :         use pm_kind, only: IKC => IK4, RKC => RK4
    1317             : #include "pm_distUnif@routines.inc.F90"
    1318           0 :     end procedure
    1319             : #endif
    1320             : 
    1321             : #if RK3_ENABLED && IK4_ENABLED
    1322           0 :     module procedure setUnifCDF_LU_D1_RK3_IK4
    1323             :         use pm_kind, only: IKC => IK4, RKC => RK3
    1324             : #include "pm_distUnif@routines.inc.F90"
    1325           0 :     end procedure
    1326             : #endif
    1327             : 
    1328             : #if RK2_ENABLED && IK4_ENABLED
    1329           0 :     module procedure setUnifCDF_LU_D1_RK2_IK4
    1330             :         use pm_kind, only: IKC => IK4, RKC => RK2
    1331             : #include "pm_distUnif@routines.inc.F90"
    1332           0 :     end procedure
    1333             : #endif
    1334             : 
    1335             : #if RK1_ENABLED && IK4_ENABLED
    1336           0 :     module procedure setUnifCDF_LU_D1_RK1_IK4
    1337             :         use pm_kind, only: IKC => IK4, RKC => RK1
    1338             : #include "pm_distUnif@routines.inc.F90"
    1339           0 :     end procedure
    1340             : #endif
    1341             : 
    1342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1343             : 
    1344             : #if RK5_ENABLED && IK3_ENABLED
    1345             :     module procedure setUnifCDF_LU_D1_RK5_IK3
    1346             :         use pm_kind, only: IKC => IK3, RKC => RK5
    1347             : #include "pm_distUnif@routines.inc.F90"
    1348             :     end procedure
    1349             : #endif
    1350             : 
    1351             : #if RK4_ENABLED && IK3_ENABLED
    1352           0 :     module procedure setUnifCDF_LU_D1_RK4_IK3
    1353             :         use pm_kind, only: IKC => IK3, RKC => RK4
    1354             : #include "pm_distUnif@routines.inc.F90"
    1355           0 :     end procedure
    1356             : #endif
    1357             : 
    1358             : #if RK3_ENABLED && IK3_ENABLED
    1359           0 :     module procedure setUnifCDF_LU_D1_RK3_IK3
    1360             :         use pm_kind, only: IKC => IK3, RKC => RK3
    1361             : #include "pm_distUnif@routines.inc.F90"
    1362           0 :     end procedure
    1363             : #endif
    1364             : 
    1365             : #if RK2_ENABLED && IK3_ENABLED
    1366           1 :     module procedure setUnifCDF_LU_D1_RK2_IK3
    1367             :         use pm_kind, only: IKC => IK3, RKC => RK2
    1368             : #include "pm_distUnif@routines.inc.F90"
    1369           1 :     end procedure
    1370             : #endif
    1371             : 
    1372             : #if RK1_ENABLED && IK3_ENABLED
    1373           0 :     module procedure setUnifCDF_LU_D1_RK1_IK3
    1374             :         use pm_kind, only: IKC => IK3, RKC => RK1
    1375             : #include "pm_distUnif@routines.inc.F90"
    1376           0 :     end procedure
    1377             : #endif
    1378             : 
    1379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381             : #if RK5_ENABLED && IK2_ENABLED
    1382             :     module procedure setUnifCDF_LU_D1_RK5_IK2
    1383             :         use pm_kind, only: IKC => IK2, RKC => RK5
    1384             : #include "pm_distUnif@routines.inc.F90"
    1385             :     end procedure
    1386             : #endif
    1387             : 
    1388             : #if RK4_ENABLED && IK2_ENABLED
    1389           0 :     module procedure setUnifCDF_LU_D1_RK4_IK2
    1390             :         use pm_kind, only: IKC => IK2, RKC => RK4
    1391             : #include "pm_distUnif@routines.inc.F90"
    1392           0 :     end procedure
    1393             : #endif
    1394             : 
    1395             : #if RK3_ENABLED && IK2_ENABLED
    1396           0 :     module procedure setUnifCDF_LU_D1_RK3_IK2
    1397             :         use pm_kind, only: IKC => IK2, RKC => RK3
    1398             : #include "pm_distUnif@routines.inc.F90"
    1399           0 :     end procedure
    1400             : #endif
    1401             : 
    1402             : #if RK2_ENABLED && IK2_ENABLED
    1403           0 :     module procedure setUnifCDF_LU_D1_RK2_IK2
    1404             :         use pm_kind, only: IKC => IK2, RKC => RK2
    1405             : #include "pm_distUnif@routines.inc.F90"
    1406           0 :     end procedure
    1407             : #endif
    1408             : 
    1409             : #if RK1_ENABLED && IK2_ENABLED
    1410           0 :     module procedure setUnifCDF_LU_D1_RK1_IK2
    1411             :         use pm_kind, only: IKC => IK2, RKC => RK1
    1412             : #include "pm_distUnif@routines.inc.F90"
    1413           0 :     end procedure
    1414             : #endif
    1415             : 
    1416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             : 
    1418             : #if RK5_ENABLED && IK1_ENABLED
    1419             :     module procedure setUnifCDF_LU_D1_RK5_IK1
    1420             :         use pm_kind, only: IKC => IK1, RKC => RK5
    1421             : #include "pm_distUnif@routines.inc.F90"
    1422             :     end procedure
    1423             : #endif
    1424             : 
    1425             : #if RK4_ENABLED && IK1_ENABLED
    1426           0 :     module procedure setUnifCDF_LU_D1_RK4_IK1
    1427             :         use pm_kind, only: IKC => IK1, RKC => RK4
    1428             : #include "pm_distUnif@routines.inc.F90"
    1429           0 :     end procedure
    1430             : #endif
    1431             : 
    1432             : #if RK3_ENABLED && IK1_ENABLED
    1433           0 :     module procedure setUnifCDF_LU_D1_RK3_IK1
    1434             :         use pm_kind, only: IKC => IK1, RKC => RK3
    1435             : #include "pm_distUnif@routines.inc.F90"
    1436           0 :     end procedure
    1437             : #endif
    1438             : 
    1439             : #if RK2_ENABLED && IK1_ENABLED
    1440           0 :     module procedure setUnifCDF_LU_D1_RK2_IK1
    1441             :         use pm_kind, only: IKC => IK1, RKC => RK2
    1442             : #include "pm_distUnif@routines.inc.F90"
    1443           0 :     end procedure
    1444             : #endif
    1445             : 
    1446             : #if RK1_ENABLED && IK1_ENABLED
    1447           0 :     module procedure setUnifCDF_LU_D1_RK1_IK1
    1448             :         use pm_kind, only: IKC => IK1, RKC => RK1
    1449             : #include "pm_distUnif@routines.inc.F90"
    1450           0 :     end procedure
    1451             : #endif
    1452             : 
    1453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1454             : 
    1455             : #undef IK_ENABLED
    1456             : 
    1457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1460             : 
    1461             : #define CK_ENABLED 1
    1462             : 
    1463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1464             : 
    1465             : #if CK5_ENABLED
    1466             :     module procedure setUnifCDF_LU_D1_CK5
    1467             :         use pm_kind, only: CKC => CK5
    1468             : #include "pm_distUnif@routines.inc.F90"
    1469             :     end procedure
    1470             : #endif
    1471             : 
    1472             : #if CK4_ENABLED
    1473           0 :     module procedure setUnifCDF_LU_D1_CK4
    1474             :         use pm_kind, only: CKC => CK4
    1475             : #include "pm_distUnif@routines.inc.F90"
    1476           0 :     end procedure
    1477             : #endif
    1478             : 
    1479             : #if CK3_ENABLED
    1480           0 :     module procedure setUnifCDF_LU_D1_CK3
    1481             :         use pm_kind, only: CKC => CK3
    1482             : #include "pm_distUnif@routines.inc.F90"
    1483           0 :     end procedure
    1484             : #endif
    1485             : 
    1486             : #if CK2_ENABLED
    1487           1 :     module procedure setUnifCDF_LU_D1_CK2
    1488             :         use pm_kind, only: CKC => CK2
    1489             : #include "pm_distUnif@routines.inc.F90"
    1490           1 :     end procedure
    1491             : #endif
    1492             : 
    1493             : #if CK1_ENABLED
    1494           0 :     module procedure setUnifCDF_LU_D1_CK1
    1495             :         use pm_kind, only: CKC => CK1
    1496             : #include "pm_distUnif@routines.inc.F90"
    1497           0 :     end procedure
    1498             : #endif
    1499             : 
    1500             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1501             : 
    1502             : #undef CK_ENABLED
    1503             : 
    1504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1506             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1507             : 
    1508             : #define RK_ENABLED 1
    1509             : 
    1510             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1511             : 
    1512             : #if RK5_ENABLED
    1513             :     module procedure setUnifCDF_LU_D1_RK5
    1514             :         use pm_kind, only: RKC => RK5
    1515             : #include "pm_distUnif@routines.inc.F90"
    1516             :     end procedure
    1517             : #endif
    1518             : 
    1519             : #if RK4_ENABLED
    1520           0 :     module procedure setUnifCDF_LU_D1_RK4
    1521             :         use pm_kind, only: RKC => RK4
    1522             : #include "pm_distUnif@routines.inc.F90"
    1523           0 :     end procedure
    1524             : #endif
    1525             : 
    1526             : #if RK3_ENABLED
    1527           0 :     module procedure setUnifCDF_LU_D1_RK3
    1528             :         use pm_kind, only: RKC => RK3
    1529             : #include "pm_distUnif@routines.inc.F90"
    1530           0 :     end procedure
    1531             : #endif
    1532             : 
    1533             : #if RK2_ENABLED
    1534           1 :     module procedure setUnifCDF_LU_D1_RK2
    1535             :         use pm_kind, only: RKC => RK2
    1536             : #include "pm_distUnif@routines.inc.F90"
    1537           1 :     end procedure
    1538             : #endif
    1539             : 
    1540             : #if RK1_ENABLED
    1541           0 :     module procedure setUnifCDF_LU_D1_RK1
    1542             :         use pm_kind, only: RKC => RK1
    1543             : #include "pm_distUnif@routines.inc.F90"
    1544           0 :     end procedure
    1545             : #endif
    1546             : 
    1547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1548             : 
    1549             : #undef RK_ENABLED
    1550             : 
    1551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1554             : 
    1555             : #undef D1_ENABLED
    1556             : 
    1557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1560             : 
    1561             : #undef LU_ENABLED
    1562             : 
    1563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1565             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1566             : 
    1567             : #undef setUnifCDF_ENABLED
    1568             : 
    1569             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1570             : 
    1571             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1572             : 
    1573             : #define constructSplitmix64_ENABLED 1
    1574      387381 :     module procedure constructSplitmix64
    1575             : #include "pm_distUnif@routines.inc.F90"
    1576      387381 :     end procedure
    1577             : #undef constructSplitmix64_ENABLED
    1578             : 
    1579             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1580             : 
    1581             : #define constructXoshiro256ssg_ENABLED 1
    1582           1 :     module procedure constructXoshiro256ssg
    1583             : #include "pm_distUnif@routines.inc.F90"
    1584           5 :     end procedure
    1585             : #undef constructXoshiro256ssg_ENABLED
    1586             : 
    1587             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1588             : 
    1589             : #define constructXoshiro256ssw_ENABLED 1
    1590      387366 :     module procedure constructXoshiro256ssw
    1591             : #include "pm_distUnif@routines.inc.F90"
    1592     1936830 :     end procedure
    1593             : #undef constructXoshiro256ssw_ENABLED
    1594             : 
    1595             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1596             : 
    1597             : #define setStateNext_ENABLED 1
    1598             : 
    1599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1600             : 
    1601             : #define SM64_ENABLED 1
    1602     1569568 :     module procedure setStateNextSM64
    1603             : #include "pm_distUnif@routines.inc.F90"
    1604     1569568 :     end procedure
    1605             : #undef SM64_ENABLED
    1606             : 
    1607             : #define X256SSG_ENABLED 1
    1608       16554 :     module procedure setStateNextX256SSG
    1609             : #include "pm_distUnif@routines.inc.F90"
    1610       16554 :     end procedure
    1611             : #undef X256SSG_ENABLED
    1612             : 
    1613             : #define X256SSW_ENABLED 1
    1614   115794286 :     module procedure setStateNextX256SSW
    1615             : #include "pm_distUnif@routines.inc.F90"
    1616   115794286 :     end procedure
    1617             : #undef X256SSW_ENABLED
    1618             : 
    1619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1620             : 
    1621             : #undef setStateNext_ENABLED
    1622             : 
    1623             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1624             : 
    1625             : #define setStateJump_ENABLED 1
    1626             : 
    1627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1628             : 
    1629             : #define X256SSG_ENABLED 1
    1630             : 
    1631             : #define DJ_ENABLED 1
    1632           1 :     module procedure setStateJumpX256SSGDJ
    1633             : #include "pm_distUnif@routines.inc.F90"
    1634           1 :     end procedure
    1635             : #undef DJ_ENABLED
    1636             : 
    1637             : #define AJ_ENABLED 1
    1638           0 :     module procedure setStateJumpX256SSGAJ
    1639             : #include "pm_distUnif@routines.inc.F90"
    1640           0 :     end procedure
    1641             : #undef AJ_ENABLED
    1642             : 
    1643             : #undef X256SSG_ENABLED
    1644             : 
    1645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1646             : 
    1647             : #define X256SSW_ENABLED 1
    1648             : 
    1649             : #define DJ_ENABLED 1
    1650      387366 :     module procedure setStateJumpX256SSWDJ
    1651             : #include "pm_distUnif@routines.inc.F90"
    1652      387366 :     end procedure
    1653             : #undef DJ_ENABLED
    1654             : 
    1655             : #define AJ_ENABLED 1
    1656           0 :     module procedure setStateJumpX256SSWAJ
    1657             : #include "pm_distUnif@routines.inc.F90"
    1658           0 :     end procedure
    1659             : #undef AJ_ENABLED
    1660             : 
    1661             : #undef X256SSW_ENABLED
    1662             : 
    1663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1664             : 
    1665             : #undef setStateJump_ENABLED
    1666             : 
    1667             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1668             : 
    1669         127 :     module procedure constructFRNG
    1670         127 :         call setUnifRandState(seed, imageID)
    1671         127 :     end procedure
    1672             : 
    1673             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1674             : 
    1675          12 :     module procedure getUnifRandStateSizeDef
    1676          12 :         call random_seed(size = unifRandStateSize)
    1677          12 :     end procedure
    1678             : 
    1679             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1680             : 
    1681          11 :     module procedure getUnifRandStateDef
    1682          11 :         allocate(unifRandState(getUnifRandStateSize()))
    1683          11 :         if (present(seed) .or. present(imageID)) call setUnifRandState(seed, imageID)
    1684          11 :         call random_seed(get = unifRandState)
    1685          11 :     end procedure
    1686             : 
    1687             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1688             : 
    1689         138 :     module procedure setUnifRandStateDef
    1690             : 
    1691         138 :         if (present(seed) .or. present(imageID)) then
    1692             : 
    1693             :             block
    1694             : 
    1695             :                 integer, parameter :: LARGE = huge(0)
    1696             :                 integer, allocatable :: unifRandState(:)
    1697             :                 integer :: offsetImageunifRandState, iseed
    1698             :                 integer :: def_seed, unifRandStateSize
    1699             :                 integer(IK) :: seed_def
    1700             : 
    1701          14 :                 call random_seed(size = unifRandStateSize)
    1702          14 :                 allocate(unifRandState(0 : unifRandStateSize - 1))
    1703             : 
    1704          14 :                 if (present(seed)) then
    1705          10 :                     seed_def = abs(seed)
    1706             :                 else ! Initialize the seed to a random value.
    1707             :                     block
    1708             :                         integer(IK) :: values(8)
    1709           4 :                         call date_and_time(values = values)
    1710          36 :                         seed_def = abs(sum(values))
    1711             :                     end block
    1712             :                 end if
    1713             : 
    1714             :                 ! ensure no overflow occurs in passing to intrinsic functions.
    1715             :                 if (huge(0) < huge(0_IK)) then
    1716             :                     do
    1717             :                         if (seed_def < huge(0)) exit
    1718             :                         seed_def = seed_def - huge(0)
    1719             :                     end do
    1720             :                 end if
    1721             : 
    1722          14 :                 if (present(imageID)) then
    1723          10 :                 offsetImageunifRandState = 127 * unifRandStateSize * (int(imageID, IK) - 1)
    1724             :                 else
    1725             :                     offsetImageunifRandState = 0
    1726             :                 end if
    1727             : 
    1728             :                 ! Use seed to construct the random seed on all images
    1729             : 
    1730             :                 def_seed = int(seed_def, IK)
    1731         126 :                 do iseed = 0, unifRandStateSize - 1
    1732         112 :                     unifRandState(iseed) = LARGE - def_seed - offsetImageunifRandState - 127 * iseed
    1733         126 :                     if (unifRandState(iseed) < 0) then
    1734           0 :                         unifRandState(iseed) = -unifRandState(iseed)
    1735             :                     else
    1736         112 :                         unifRandState(iseed) = LARGE - unifRandState(iseed)
    1737             :                     end if
    1738             :                 end do
    1739          14 :                 call random_seed(put = unifRandState)
    1740          14 :                 deallocate(unifRandState)
    1741             : 
    1742             :             end block
    1743             : 
    1744             :             !block
    1745             :             !call random_init(repeatable = .false._LK, image_distinct = .false._LK)
    1746             :             !write(*,"(*(g0,:,' '))")
    1747             :             !write(*,"(*(g0,:,' '))") "unifRandState%val", unifRandState%val
    1748             :             !write(*,"(*(g0,:,' '))")
    1749             :             !end block
    1750             :             !
    1751             :             ! ATTN: xxx Intel compilers - for some unknown reason, the first generated random number seems to be garbage
    1752             :             ! so here, the random number generator is iterated a couple of times before further usage.
    1753             :             ! This needs to be taken care of, in the future. This problem showed itself when StartPoint in ParaDRAM sampler were to be set randomly.
    1754             :             ! This is where the first instance of random number usage occurs in ParaDRAM sampler.
    1755             :             ! write(*,*) "unifRandStateObj%imageID, co_unifRandState(1)%val(:): ", unifRandStateObj%imageID, co_unifRandState(1)%val(:)
    1756             :             !
    1757             :             ! ATTN: A follow-up on the above issue with the Intel compiler which seems to be a compiler bug: In a truly bizarre behavior,
    1758             :             ! the Intel compiler random numbers as generated by call random_number() in the pm_statistics module, for example when called from
    1759             :             ! ParaDRAM_proposal_pmod.inc.F90, are not repeatable even after resetting the random_seed. Even more bizarre is the observation that the
    1760             :             ! repeatability of the random numbers depends on the loop length (for example as implemented in the debugging of [DistNorm_pmod::getNormRand()](@ref pm_distNorm::getNormRand()).
    1761             :             ! The same behavior is also observed below, where any loop length less than ~30 yields non-repeatable random number sequences.
    1762             :             ! This needs an in-depth investigation. Update: Such behavior was also observed with the GNU compiler.
    1763             :             ! 101 is the number that fixes this issue for both compilers.
    1764             :             block
    1765             :                 real :: unifrnd(101)
    1766          14 :                 call random_number(unifrnd)
    1767             :                 !block
    1768             :                 !integer(IK), allocatable :: unifRandStateValue(:)
    1769             :                 !allocate(unifRandStateValue(unifRandState%size))
    1770             :                 !call random_seed(get=unifRandStateValue)
    1771             :                 !write(*,"(*(g0,:,' '))") "unifrnd", unifrnd, unifRandStateValue
    1772             :                 !end block
    1773             :                 !if (this_image()==1) then
    1774             :                 !    write(*,*) "unifRandStateObj%imageID, unifrnd: ", unifrnd
    1775             :                 !    sync images(*)
    1776             :                 !else
    1777             :                 !    sync images(1)
    1778             :                 !    write(*,*) "unifRandStateObj%imageID, unifrnd: ", unifrnd
    1779             :                 !end if
    1780             :                 !if (this_image()==1) read(*,*)
    1781             :                 !sync all
    1782             :             end block
    1783             : 
    1784             :         else
    1785             : 
    1786         124 :             call random_seed()
    1787             : 
    1788             :         end if
    1789             : 
    1790         138 :     end procedure
    1791             : 
    1792             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1793             : 
    1794             : #define getUnifRand_ENABLED 1
    1795             : 
    1796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1799             : 
    1800             : #define RNGD_ENABLED 1
    1801             : 
    1802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1805             : 
    1806             : #define DD_ENABLED 1
    1807             : 
    1808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1811             : 
    1812             : #define D0_ENABLED 1
    1813             : 
    1814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1815             : 
    1816             : #define LK_ENABLED 1
    1817      362308 :     module procedure getUnifRandRNGDDD_D0_LK
    1818             :         use pm_kind, only: LKC => LK
    1819             : #include "pm_distUnif@routines.inc.F90"
    1820      362308 :     end procedure
    1821             : #undef LK_ENABLED
    1822             : 
    1823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1824             : 
    1825             : #undef D0_ENABLED
    1826             : 
    1827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1830             : 
    1831             : #undef DD_ENABLED
    1832             : 
    1833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1836             : 
    1837             : #define LU_ENABLED 1
    1838             : 
    1839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1841             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1842             : 
    1843             : #define D0_ENABLED 1
    1844             : 
    1845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1846             : 
    1847             : #define SK_ENABLED 1
    1848             : 
    1849             : #if SK5_ENABLED
    1850             :     module procedure getUnifRandRNGDLU_D0_SK5
    1851             :         use pm_kind, only: SKC => SK5
    1852             : #include "pm_distUnif@routines.inc.F90"
    1853             :     end procedure
    1854             : #endif
    1855             : 
    1856             : #if SK4_ENABLED
    1857             :     module procedure getUnifRandRNGDLU_D0_SK4
    1858             :         use pm_kind, only: SKC => SK4
    1859             : #include "pm_distUnif@routines.inc.F90"
    1860             :     end procedure
    1861             : #endif
    1862             : 
    1863             : #if SK3_ENABLED
    1864             :     module procedure getUnifRandRNGDLU_D0_SK3
    1865             :         use pm_kind, only: SKC => SK3
    1866             : #include "pm_distUnif@routines.inc.F90"
    1867             :     end procedure
    1868             : #endif
    1869             : 
    1870             : #if SK2_ENABLED
    1871             :     module procedure getUnifRandRNGDLU_D0_SK2
    1872             :         use pm_kind, only: SKC => SK2
    1873             : #include "pm_distUnif@routines.inc.F90"
    1874             :     end procedure
    1875             : #endif
    1876             : 
    1877             : #if SK1_ENABLED
    1878        9209 :     module procedure getUnifRandRNGDLU_D0_SK1
    1879             :         use pm_kind, only: SKC => SK1
    1880             : #include "pm_distUnif@routines.inc.F90"
    1881        9209 :     end procedure
    1882             : #endif
    1883             : 
    1884             : #undef SK_ENABLED
    1885             : 
    1886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1887             : 
    1888             : #define IK_ENABLED 1
    1889             : 
    1890             : #if IK5_ENABLED
    1891        2761 :     module procedure getUnifRandRNGDLU_D0_IK5
    1892             :         use pm_kind, only: IKC => IK5
    1893             : #include "pm_distUnif@routines.inc.F90"
    1894        2761 :     end procedure
    1895             : #endif
    1896             : 
    1897             : #if IK4_ENABLED
    1898        2807 :     module procedure getUnifRandRNGDLU_D0_IK4
    1899             :         use pm_kind, only: IKC => IK4
    1900             : #include "pm_distUnif@routines.inc.F90"
    1901        2807 :     end procedure
    1902             : #endif
    1903             : 
    1904             : #if IK3_ENABLED
    1905      488646 :     module procedure getUnifRandRNGDLU_D0_IK3
    1906             :         use pm_kind, only: IKC => IK3
    1907             : #include "pm_distUnif@routines.inc.F90"
    1908      488646 :     end procedure
    1909             : #endif
    1910             : 
    1911             : #if IK2_ENABLED
    1912        2757 :     module procedure getUnifRandRNGDLU_D0_IK2
    1913             :         use pm_kind, only: IKC => IK2
    1914             : #include "pm_distUnif@routines.inc.F90"
    1915        2757 :     end procedure
    1916             : #endif
    1917             : 
    1918             : #if IK1_ENABLED
    1919        2777 :     module procedure getUnifRandRNGDLU_D0_IK1
    1920             :         use pm_kind, only: IKC => IK1
    1921             : #include "pm_distUnif@routines.inc.F90"
    1922        2777 :     end procedure
    1923             : #endif
    1924             : 
    1925             : #undef IK_ENABLED
    1926             : 
    1927             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1928             : 
    1929             : #define LK_ENABLED 1
    1930             : 
    1931             : #if LK5_ENABLED
    1932        1719 :     module procedure getUnifRandRNGDLU_D0_LK5
    1933             :         use pm_kind, only: LKC => LK5
    1934             : #include "pm_distUnif@routines.inc.F90"
    1935        1719 :     end procedure
    1936             : #endif
    1937             : 
    1938             : #if LK4_ENABLED
    1939        1747 :     module procedure getUnifRandRNGDLU_D0_LK4
    1940             :         use pm_kind, only: LKC => LK4
    1941             : #include "pm_distUnif@routines.inc.F90"
    1942        1747 :     end procedure
    1943             : #endif
    1944             : 
    1945             : #if LK3_ENABLED
    1946        1710 :     module procedure getUnifRandRNGDLU_D0_LK3
    1947             :         use pm_kind, only: LKC => LK3
    1948             : #include "pm_distUnif@routines.inc.F90"
    1949        1710 :     end procedure
    1950             : #endif
    1951             : 
    1952             : #if LK2_ENABLED
    1953        1725 :     module procedure getUnifRandRNGDLU_D0_LK2
    1954             :         use pm_kind, only: LKC => LK2
    1955             : #include "pm_distUnif@routines.inc.F90"
    1956        1725 :     end procedure
    1957             : #endif
    1958             : 
    1959             : #if LK1_ENABLED
    1960        1744 :     module procedure getUnifRandRNGDLU_D0_LK1
    1961             :         use pm_kind, only: LKC => LK1
    1962             : #include "pm_distUnif@routines.inc.F90"
    1963        1744 :     end procedure
    1964             : #endif
    1965             : 
    1966             : #undef LK_ENABLED
    1967             : 
    1968             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1969             : 
    1970             : #define CK_ENABLED 1
    1971             : 
    1972             : #if CK5_ENABLED
    1973             :     module procedure getUnifRandRNGDLU_D0_CK5
    1974             :         use pm_kind, only: CKC => CK5
    1975             : #include "pm_distUnif@routines.inc.F90"
    1976             :     end procedure
    1977             : #endif
    1978             : 
    1979             : #if CK4_ENABLED
    1980        1935 :     module procedure getUnifRandRNGDLU_D0_CK4
    1981             :         use pm_kind, only: CKC => CK4
    1982             : #include "pm_distUnif@routines.inc.F90"
    1983        1935 :     end procedure
    1984             : #endif
    1985             : 
    1986             : #if CK3_ENABLED
    1987        1907 :     module procedure getUnifRandRNGDLU_D0_CK3
    1988             :         use pm_kind, only: CKC => CK3
    1989             : #include "pm_distUnif@routines.inc.F90"
    1990        1907 :     end procedure
    1991             : #endif
    1992             : 
    1993             : #if CK2_ENABLED
    1994        1917 :     module procedure getUnifRandRNGDLU_D0_CK2
    1995             :         use pm_kind, only: CKC => CK2
    1996             : #include "pm_distUnif@routines.inc.F90"
    1997        1917 :     end procedure
    1998             : #endif
    1999             : 
    2000             : #if CK1_ENABLED
    2001        1895 :     module procedure getUnifRandRNGDLU_D0_CK1
    2002             :         use pm_kind, only: CKC => CK1
    2003             : #include "pm_distUnif@routines.inc.F90"
    2004        1895 :     end procedure
    2005             : #endif
    2006             : 
    2007             : #undef CK_ENABLED
    2008             : 
    2009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2010             : 
    2011             : #define RK_ENABLED 1
    2012             : 
    2013             : #if RK5_ENABLED
    2014             :     module procedure getUnifRandRNGDLU_D0_RK5
    2015             :         use pm_kind, only: RKC => RK5
    2016             : #include "pm_distUnif@routines.inc.F90"
    2017             :     end procedure
    2018             : #endif
    2019             : 
    2020             : #if RK4_ENABLED
    2021      717487 :     module procedure getUnifRandRNGDLU_D0_RK4
    2022             :         use pm_kind, only: RKC => RK4
    2023             : #include "pm_distUnif@routines.inc.F90"
    2024      717487 :     end procedure
    2025             : #endif
    2026             : 
    2027             : #if RK3_ENABLED
    2028      721008 :     module procedure getUnifRandRNGDLU_D0_RK3
    2029             :         use pm_kind, only: RKC => RK3
    2030             : #include "pm_distUnif@routines.inc.F90"
    2031      721008 :     end procedure
    2032             : #endif
    2033             : 
    2034             : #if RK2_ENABLED
    2035      784573 :     module procedure getUnifRandRNGDLU_D0_RK2
    2036             :         use pm_kind, only: RKC => RK2
    2037             : #include "pm_distUnif@routines.inc.F90"
    2038      784573 :     end procedure
    2039             : #endif
    2040             : 
    2041             : #if RK1_ENABLED
    2042      806480 :     module procedure getUnifRandRNGDLU_D0_RK1
    2043             :         use pm_kind, only: RKC => RK1
    2044             : #include "pm_distUnif@routines.inc.F90"
    2045      806480 :     end procedure
    2046             : #endif
    2047             : 
    2048             : #undef RK_ENABLED
    2049             : 
    2050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2051             : 
    2052             : #undef D0_ENABLED
    2053             : 
    2054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2057             : 
    2058             : #define D1_ENABLED 1
    2059             : 
    2060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2061             : 
    2062             : #define SK_ENABLED 1
    2063             : 
    2064             : #if SK5_ENABLED
    2065             :     module procedure getUnifRandRNGDLU_D1_SK5
    2066             :         use pm_kind, only: SKC => SK5
    2067             : #include "pm_distUnif@routines.inc.F90"
    2068             :     end procedure
    2069             : #endif
    2070             : 
    2071             : #if SK4_ENABLED
    2072             :     module procedure getUnifRandRNGDLU_D1_SK4
    2073             :         use pm_kind, only: SKC => SK4
    2074             : #include "pm_distUnif@routines.inc.F90"
    2075             :     end procedure
    2076             : #endif
    2077             : 
    2078             : #if SK3_ENABLED
    2079             :     module procedure getUnifRandRNGDLU_D1_SK3
    2080             :         use pm_kind, only: SKC => SK3
    2081             : #include "pm_distUnif@routines.inc.F90"
    2082             :     end procedure
    2083             : #endif
    2084             : 
    2085             : #if SK2_ENABLED
    2086             :     module procedure getUnifRandRNGDLU_D1_SK2
    2087             :         use pm_kind, only: SKC => SK2
    2088             : #include "pm_distUnif@routines.inc.F90"
    2089             :     end procedure
    2090             : #endif
    2091             : 
    2092             : #if SK1_ENABLED
    2093        3398 :     module procedure getUnifRandRNGDLU_D1_SK1
    2094             :         use pm_kind, only: SKC => SK1
    2095             : #include "pm_distUnif@routines.inc.F90"
    2096        3398 :     end procedure
    2097             : #endif
    2098             : 
    2099             : #undef SK_ENABLED
    2100             : 
    2101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2102             : 
    2103             : #define IK_ENABLED 1
    2104             : 
    2105             : #if IK5_ENABLED
    2106        4569 :     module procedure getUnifRandRNGDLU_D1_IK5
    2107             :         use pm_kind, only: IKC => IK5
    2108             : #include "pm_distUnif@routines.inc.F90"
    2109        4569 :     end procedure
    2110             : #endif
    2111             : 
    2112             : #if IK4_ENABLED
    2113        4569 :     module procedure getUnifRandRNGDLU_D1_IK4
    2114             :         use pm_kind, only: IKC => IK4
    2115             : #include "pm_distUnif@routines.inc.F90"
    2116        4569 :     end procedure
    2117             : #endif
    2118             : 
    2119             : #if IK3_ENABLED
    2120       31866 :     module procedure getUnifRandRNGDLU_D1_IK3
    2121             :         use pm_kind, only: IKC => IK3
    2122             : #include "pm_distUnif@routines.inc.F90"
    2123       31866 :     end procedure
    2124             : #endif
    2125             : 
    2126             : #if IK2_ENABLED
    2127        4569 :     module procedure getUnifRandRNGDLU_D1_IK2
    2128             :         use pm_kind, only: IKC => IK2
    2129             : #include "pm_distUnif@routines.inc.F90"
    2130        4569 :     end procedure
    2131             : #endif
    2132             : 
    2133             : #if IK1_ENABLED
    2134        4569 :     module procedure getUnifRandRNGDLU_D1_IK1
    2135             :         use pm_kind, only: IKC => IK1
    2136             : #include "pm_distUnif@routines.inc.F90"
    2137        4569 :     end procedure
    2138             : #endif
    2139             : 
    2140             : #undef IK_ENABLED
    2141             : 
    2142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2143             : 
    2144             : #define LK_ENABLED 1
    2145             : 
    2146             : #if LK5_ENABLED
    2147        3100 :     module procedure getUnifRandRNGDLU_D1_LK5
    2148             :         use pm_kind, only: LKC => LK5
    2149             : #include "pm_distUnif@routines.inc.F90"
    2150        3100 :     end procedure
    2151             : #endif
    2152             : 
    2153             : #if LK4_ENABLED
    2154        3100 :     module procedure getUnifRandRNGDLU_D1_LK4
    2155             :         use pm_kind, only: LKC => LK4
    2156             : #include "pm_distUnif@routines.inc.F90"
    2157        3100 :     end procedure
    2158             : #endif
    2159             : 
    2160             : #if LK3_ENABLED
    2161        3164 :     module procedure getUnifRandRNGDLU_D1_LK3
    2162             :         use pm_kind, only: LKC => LK3
    2163             : #include "pm_distUnif@routines.inc.F90"
    2164        3164 :     end procedure
    2165             : #endif
    2166             : 
    2167             : #if LK2_ENABLED
    2168        3100 :     module procedure getUnifRandRNGDLU_D1_LK2
    2169             :         use pm_kind, only: LKC => LK2
    2170             : #include "pm_distUnif@routines.inc.F90"
    2171        3100 :     end procedure
    2172             : #endif
    2173             : 
    2174             : #if LK1_ENABLED
    2175        3100 :     module procedure getUnifRandRNGDLU_D1_LK1
    2176             :         use pm_kind, only: LKC => LK1
    2177             : #include "pm_distUnif@routines.inc.F90"
    2178        3100 :     end procedure
    2179             : #endif
    2180             : 
    2181             : #undef LK_ENABLED
    2182             : 
    2183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2184             : 
    2185             : #define CK_ENABLED 1
    2186             : 
    2187             : #if CK5_ENABLED
    2188             :     module procedure getUnifRandRNGDLU_D1_CK5
    2189             :         use pm_kind, only: CKC => CK5
    2190             : #include "pm_distUnif@routines.inc.F90"
    2191             :     end procedure
    2192             : #endif
    2193             : 
    2194             : #if CK4_ENABLED
    2195        4903 :     module procedure getUnifRandRNGDLU_D1_CK4
    2196             :         use pm_kind, only: CKC => CK4
    2197             : #include "pm_distUnif@routines.inc.F90"
    2198        4903 :     end procedure
    2199             : #endif
    2200             : 
    2201             : #if CK3_ENABLED
    2202        4863 :     module procedure getUnifRandRNGDLU_D1_CK3
    2203             :         use pm_kind, only: CKC => CK3
    2204             : #include "pm_distUnif@routines.inc.F90"
    2205        4863 :     end procedure
    2206             : #endif
    2207             : 
    2208             : #if CK2_ENABLED
    2209        4903 :     module procedure getUnifRandRNGDLU_D1_CK2
    2210             :         use pm_kind, only: CKC => CK2
    2211             : #include "pm_distUnif@routines.inc.F90"
    2212        4903 :     end procedure
    2213             : #endif
    2214             : 
    2215             : #if CK1_ENABLED
    2216        4950 :     module procedure getUnifRandRNGDLU_D1_CK1
    2217             :         use pm_kind, only: CKC => CK1
    2218             : #include "pm_distUnif@routines.inc.F90"
    2219        4950 :     end procedure
    2220             : #endif
    2221             : 
    2222             : #undef CK_ENABLED
    2223             : 
    2224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2225             : 
    2226             : #define RK_ENABLED 1
    2227             : 
    2228             : #if RK5_ENABLED
    2229             :     module procedure getUnifRandRNGDLU_D1_RK5
    2230             :         use pm_kind, only: RKC => RK5
    2231             : #include "pm_distUnif@routines.inc.F90"
    2232             :     end procedure
    2233             : #endif
    2234             : 
    2235             : #if RK4_ENABLED
    2236       12098 :     module procedure getUnifRandRNGDLU_D1_RK4
    2237             :         use pm_kind, only: RKC => RK4
    2238             : #include "pm_distUnif@routines.inc.F90"
    2239       12098 :     end procedure
    2240             : #endif
    2241             : 
    2242             : #if RK3_ENABLED
    2243       12469 :     module procedure getUnifRandRNGDLU_D1_RK3
    2244             :         use pm_kind, only: RKC => RK3
    2245             : #include "pm_distUnif@routines.inc.F90"
    2246       12469 :     end procedure
    2247             : #endif
    2248             : 
    2249             : #if RK2_ENABLED
    2250       14194 :     module procedure getUnifRandRNGDLU_D1_RK2
    2251             :         use pm_kind, only: RKC => RK2
    2252             : #include "pm_distUnif@routines.inc.F90"
    2253       14194 :     end procedure
    2254             : #endif
    2255             : 
    2256             : #if RK1_ENABLED
    2257       14629 :     module procedure getUnifRandRNGDLU_D1_RK1
    2258             :         use pm_kind, only: RKC => RK1
    2259             : #include "pm_distUnif@routines.inc.F90"
    2260       14629 :     end procedure
    2261             : #endif
    2262             : 
    2263             : #undef RK_ENABLED
    2264             : 
    2265             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2266             : 
    2267             : #undef D1_ENABLED
    2268             : 
    2269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2271             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2272             : 
    2273             : #define D2_ENABLED 1
    2274             : 
    2275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2276             : 
    2277             : #define SK_ENABLED 1
    2278             : 
    2279             : #if SK5_ENABLED
    2280             :     module procedure getUnifRandRNGDLU_D2_SK5
    2281             :         use pm_kind, only: SKC => SK5
    2282             : #include "pm_distUnif@routines.inc.F90"
    2283             :     end procedure
    2284             : #endif
    2285             : 
    2286             : #if SK4_ENABLED
    2287             :     module procedure getUnifRandRNGDLU_D2_SK4
    2288             :         use pm_kind, only: SKC => SK4
    2289             : #include "pm_distUnif@routines.inc.F90"
    2290             :     end procedure
    2291             : #endif
    2292             : 
    2293             : #if SK3_ENABLED
    2294             :     module procedure getUnifRandRNGDLU_D2_SK3
    2295             :         use pm_kind, only: SKC => SK3
    2296             : #include "pm_distUnif@routines.inc.F90"
    2297             :     end procedure
    2298             : #endif
    2299             : 
    2300             : #if SK2_ENABLED
    2301             :     module procedure getUnifRandRNGDLU_D2_SK2
    2302             :         use pm_kind, only: SKC => SK2
    2303             : #include "pm_distUnif@routines.inc.F90"
    2304             :     end procedure
    2305             : #endif
    2306             : 
    2307             : #if SK1_ENABLED
    2308         324 :     module procedure getUnifRandRNGDLU_D2_SK1
    2309             :         use pm_kind, only: SKC => SK1
    2310             : #include "pm_distUnif@routines.inc.F90"
    2311         324 :     end procedure
    2312             : #endif
    2313             : 
    2314             : #undef SK_ENABLED
    2315             : 
    2316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2317             : 
    2318             : #define IK_ENABLED 1
    2319             : 
    2320             : #if IK5_ENABLED
    2321        2874 :     module procedure getUnifRandRNGDLU_D2_IK5
    2322             :         use pm_kind, only: IKC => IK5
    2323             : #include "pm_distUnif@routines.inc.F90"
    2324        2874 :     end procedure
    2325             : #endif
    2326             : 
    2327             : #if IK4_ENABLED
    2328        2890 :     module procedure getUnifRandRNGDLU_D2_IK4
    2329             :         use pm_kind, only: IKC => IK4
    2330             : #include "pm_distUnif@routines.inc.F90"
    2331        2890 :     end procedure
    2332             : #endif
    2333             : 
    2334             : #if IK3_ENABLED
    2335        3287 :     module procedure getUnifRandRNGDLU_D2_IK3
    2336             :         use pm_kind, only: IKC => IK3
    2337             : #include "pm_distUnif@routines.inc.F90"
    2338        3287 :     end procedure
    2339             : #endif
    2340             : 
    2341             : #if IK2_ENABLED
    2342        2666 :     module procedure getUnifRandRNGDLU_D2_IK2
    2343             :         use pm_kind, only: IKC => IK2
    2344             : #include "pm_distUnif@routines.inc.F90"
    2345        2666 :     end procedure
    2346             : #endif
    2347             : 
    2348             : #if IK1_ENABLED
    2349        3082 :     module procedure getUnifRandRNGDLU_D2_IK1
    2350             :         use pm_kind, only: IKC => IK1
    2351             : #include "pm_distUnif@routines.inc.F90"
    2352        3082 :     end procedure
    2353             : #endif
    2354             : 
    2355             : #undef IK_ENABLED
    2356             : 
    2357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2358             : 
    2359             : #define LK_ENABLED 1
    2360             : 
    2361             : #if LK5_ENABLED
    2362           0 :     module procedure getUnifRandRNGDLU_D2_LK5
    2363             :         use pm_kind, only: LKC => LK5
    2364             : #include "pm_distUnif@routines.inc.F90"
    2365           0 :     end procedure
    2366             : #endif
    2367             : 
    2368             : #if LK4_ENABLED
    2369           0 :     module procedure getUnifRandRNGDLU_D2_LK4
    2370             :         use pm_kind, only: LKC => LK4
    2371             : #include "pm_distUnif@routines.inc.F90"
    2372           0 :     end procedure
    2373             : #endif
    2374             : 
    2375             : #if LK3_ENABLED
    2376          22 :     module procedure getUnifRandRNGDLU_D2_LK3
    2377             :         use pm_kind, only: LKC => LK3
    2378             : #include "pm_distUnif@routines.inc.F90"
    2379          22 :     end procedure
    2380             : #endif
    2381             : 
    2382             : #if LK2_ENABLED
    2383           0 :     module procedure getUnifRandRNGDLU_D2_LK2
    2384             :         use pm_kind, only: LKC => LK2
    2385             : #include "pm_distUnif@routines.inc.F90"
    2386           0 :     end procedure
    2387             : #endif
    2388             : 
    2389             : #if LK1_ENABLED
    2390           0 :     module procedure getUnifRandRNGDLU_D2_LK1
    2391             :         use pm_kind, only: LKC => LK1
    2392             : #include "pm_distUnif@routines.inc.F90"
    2393           0 :     end procedure
    2394             : #endif
    2395             : 
    2396             : #undef LK_ENABLED
    2397             : 
    2398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2399             : 
    2400             : #define CK_ENABLED 1
    2401             : 
    2402             : #if CK5_ENABLED
    2403             :     module procedure getUnifRandRNGDLU_D2_CK5
    2404             :         use pm_kind, only: CKC => CK5
    2405             : #include "pm_distUnif@routines.inc.F90"
    2406             :     end procedure
    2407             : #endif
    2408             : 
    2409             : #if CK4_ENABLED
    2410        7032 :     module procedure getUnifRandRNGDLU_D2_CK4
    2411             :         use pm_kind, only: CKC => CK4
    2412             : #include "pm_distUnif@routines.inc.F90"
    2413        7032 :     end procedure
    2414             : #endif
    2415             : 
    2416             : #if CK3_ENABLED
    2417        7304 :     module procedure getUnifRandRNGDLU_D2_CK3
    2418             :         use pm_kind, only: CKC => CK3
    2419             : #include "pm_distUnif@routines.inc.F90"
    2420        7304 :     end procedure
    2421             : #endif
    2422             : 
    2423             : #if CK2_ENABLED
    2424        7276 :     module procedure getUnifRandRNGDLU_D2_CK2
    2425             :         use pm_kind, only: CKC => CK2
    2426             : #include "pm_distUnif@routines.inc.F90"
    2427        7276 :     end procedure
    2428             : #endif
    2429             : 
    2430             : #if CK1_ENABLED
    2431        7416 :     module procedure getUnifRandRNGDLU_D2_CK1
    2432             :         use pm_kind, only: CKC => CK1
    2433             : #include "pm_distUnif@routines.inc.F90"
    2434        7416 :     end procedure
    2435             : #endif
    2436             : 
    2437             : #undef CK_ENABLED
    2438             : 
    2439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2440             : 
    2441             : #define RK_ENABLED 1
    2442             : 
    2443             : #if RK5_ENABLED
    2444             :     module procedure getUnifRandRNGDLU_D2_RK5
    2445             :         use pm_kind, only: RKC => RK5
    2446             : #include "pm_distUnif@routines.inc.F90"
    2447             :     end procedure
    2448             : #endif
    2449             : 
    2450             : #if RK4_ENABLED
    2451        9519 :     module procedure getUnifRandRNGDLU_D2_RK4
    2452             :         use pm_kind, only: RKC => RK4
    2453             : #include "pm_distUnif@routines.inc.F90"
    2454        9519 :     end procedure
    2455             : #endif
    2456             : 
    2457             : #if RK3_ENABLED
    2458       10002 :     module procedure getUnifRandRNGDLU_D2_RK3
    2459             :         use pm_kind, only: RKC => RK3
    2460             : #include "pm_distUnif@routines.inc.F90"
    2461       10002 :     end procedure
    2462             : #endif
    2463             : 
    2464             : #if RK2_ENABLED
    2465        9647 :     module procedure getUnifRandRNGDLU_D2_RK2
    2466             :         use pm_kind, only: RKC => RK2
    2467             : #include "pm_distUnif@routines.inc.F90"
    2468        9647 :     end procedure
    2469             : #endif
    2470             : 
    2471             : #if RK1_ENABLED
    2472       10258 :     module procedure getUnifRandRNGDLU_D2_RK1
    2473             :         use pm_kind, only: RKC => RK1
    2474             : #include "pm_distUnif@routines.inc.F90"
    2475       10258 :     end procedure
    2476             : #endif
    2477             : 
    2478             : #undef RK_ENABLED
    2479             : 
    2480             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2481             : 
    2482             : #undef D2_ENABLED
    2483             : 
    2484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2486             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2487             : 
    2488             : #define D3_ENABLED 1
    2489             : 
    2490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2491             : 
    2492             : #define SK_ENABLED 1
    2493             : 
    2494             : #if SK5_ENABLED
    2495             :     module procedure getUnifRandRNGDLU_D3_SK5
    2496             :         use pm_kind, only: SKC => SK5
    2497             : #include "pm_distUnif@routines.inc.F90"
    2498             :     end procedure
    2499             : #endif
    2500             : 
    2501             : #if SK4_ENABLED
    2502             :     module procedure getUnifRandRNGDLU_D3_SK4
    2503             :         use pm_kind, only: SKC => SK4
    2504             : #include "pm_distUnif@routines.inc.F90"
    2505             :     end procedure
    2506             : #endif
    2507             : 
    2508             : #if SK3_ENABLED
    2509             :     module procedure getUnifRandRNGDLU_D3_SK3
    2510             :         use pm_kind, only: SKC => SK3
    2511             : #include "pm_distUnif@routines.inc.F90"
    2512             :     end procedure
    2513             : #endif
    2514             : 
    2515             : #if SK2_ENABLED
    2516             :     module procedure getUnifRandRNGDLU_D3_SK2
    2517             :         use pm_kind, only: SKC => SK2
    2518             : #include "pm_distUnif@routines.inc.F90"
    2519             :     end procedure
    2520             : #endif
    2521             : 
    2522             : #if SK1_ENABLED
    2523           0 :     module procedure getUnifRandRNGDLU_D3_SK1
    2524             :         use pm_kind, only: SKC => SK1
    2525             : #include "pm_distUnif@routines.inc.F90"
    2526           0 :     end procedure
    2527             : #endif
    2528             : 
    2529             : #undef SK_ENABLED
    2530             : 
    2531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2532             : 
    2533             : #define IK_ENABLED 1
    2534             : 
    2535             : #if IK5_ENABLED
    2536           0 :     module procedure getUnifRandRNGDLU_D3_IK5
    2537             :         use pm_kind, only: IKC => IK5
    2538             : #include "pm_distUnif@routines.inc.F90"
    2539           0 :     end procedure
    2540             : #endif
    2541             : 
    2542             : #if IK4_ENABLED
    2543           0 :     module procedure getUnifRandRNGDLU_D3_IK4
    2544             :         use pm_kind, only: IKC => IK4
    2545             : #include "pm_distUnif@routines.inc.F90"
    2546           0 :     end procedure
    2547             : #endif
    2548             : 
    2549             : #if IK3_ENABLED
    2550           0 :     module procedure getUnifRandRNGDLU_D3_IK3
    2551             :         use pm_kind, only: IKC => IK3
    2552             : #include "pm_distUnif@routines.inc.F90"
    2553           0 :     end procedure
    2554             : #endif
    2555             : 
    2556             : #if IK2_ENABLED
    2557           0 :     module procedure getUnifRandRNGDLU_D3_IK2
    2558             :         use pm_kind, only: IKC => IK2
    2559             : #include "pm_distUnif@routines.inc.F90"
    2560           0 :     end procedure
    2561             : #endif
    2562             : 
    2563             : #if IK1_ENABLED
    2564           0 :     module procedure getUnifRandRNGDLU_D3_IK1
    2565             :         use pm_kind, only: IKC => IK1
    2566             : #include "pm_distUnif@routines.inc.F90"
    2567           0 :     end procedure
    2568             : #endif
    2569             : 
    2570             : #undef IK_ENABLED
    2571             : 
    2572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2573             : 
    2574             : #define LK_ENABLED 1
    2575             : 
    2576             : #if LK5_ENABLED
    2577           0 :     module procedure getUnifRandRNGDLU_D3_LK5
    2578             :         use pm_kind, only: LKC => LK5
    2579             : #include "pm_distUnif@routines.inc.F90"
    2580           0 :     end procedure
    2581             : #endif
    2582             : 
    2583             : #if LK4_ENABLED
    2584           0 :     module procedure getUnifRandRNGDLU_D3_LK4
    2585             :         use pm_kind, only: LKC => LK4
    2586             : #include "pm_distUnif@routines.inc.F90"
    2587           0 :     end procedure
    2588             : #endif
    2589             : 
    2590             : #if LK3_ENABLED
    2591           0 :     module procedure getUnifRandRNGDLU_D3_LK3
    2592             :         use pm_kind, only: LKC => LK3
    2593             : #include "pm_distUnif@routines.inc.F90"
    2594           0 :     end procedure
    2595             : #endif
    2596             : 
    2597             : #if LK2_ENABLED
    2598           0 :     module procedure getUnifRandRNGDLU_D3_LK2
    2599             :         use pm_kind, only: LKC => LK2
    2600             : #include "pm_distUnif@routines.inc.F90"
    2601           0 :     end procedure
    2602             : #endif
    2603             : 
    2604             : #if LK1_ENABLED
    2605           0 :     module procedure getUnifRandRNGDLU_D3_LK1
    2606             :         use pm_kind, only: LKC => LK1
    2607             : #include "pm_distUnif@routines.inc.F90"
    2608           0 :     end procedure
    2609             : #endif
    2610             : 
    2611             : #undef LK_ENABLED
    2612             : 
    2613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2614             : 
    2615             : #define CK_ENABLED 1
    2616             : 
    2617             : #if CK5_ENABLED
    2618             :     module procedure getUnifRandRNGDLU_D3_CK5
    2619             :         use pm_kind, only: CKC => CK5
    2620             : #include "pm_distUnif@routines.inc.F90"
    2621             :     end procedure
    2622             : #endif
    2623             : 
    2624             : #if CK4_ENABLED
    2625           0 :     module procedure getUnifRandRNGDLU_D3_CK4
    2626             :         use pm_kind, only: CKC => CK4
    2627             : #include "pm_distUnif@routines.inc.F90"
    2628           0 :     end procedure
    2629             : #endif
    2630             : 
    2631             : #if CK3_ENABLED
    2632           0 :     module procedure getUnifRandRNGDLU_D3_CK3
    2633             :         use pm_kind, only: CKC => CK3
    2634             : #include "pm_distUnif@routines.inc.F90"
    2635           0 :     end procedure
    2636             : #endif
    2637             : 
    2638             : #if CK2_ENABLED
    2639           0 :     module procedure getUnifRandRNGDLU_D3_CK2
    2640             :         use pm_kind, only: CKC => CK2
    2641             : #include "pm_distUnif@routines.inc.F90"
    2642           0 :     end procedure
    2643             : #endif
    2644             : 
    2645             : #if CK1_ENABLED
    2646           0 :     module procedure getUnifRandRNGDLU_D3_CK1
    2647             :         use pm_kind, only: CKC => CK1
    2648             : #include "pm_distUnif@routines.inc.F90"
    2649           0 :     end procedure
    2650             : #endif
    2651             : 
    2652             : #undef CK_ENABLED
    2653             : 
    2654             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2655             : 
    2656             : #define RK_ENABLED 1
    2657             : 
    2658             : #if RK5_ENABLED
    2659             :     module procedure getUnifRandRNGDLU_D3_RK5
    2660             :         use pm_kind, only: RKC => RK5
    2661             : #include "pm_distUnif@routines.inc.F90"
    2662             :     end procedure
    2663             : #endif
    2664             : 
    2665             : #if RK4_ENABLED
    2666           0 :     module procedure getUnifRandRNGDLU_D3_RK4
    2667             :         use pm_kind, only: RKC => RK4
    2668             : #include "pm_distUnif@routines.inc.F90"
    2669           0 :     end procedure
    2670             : #endif
    2671             : 
    2672             : #if RK3_ENABLED
    2673           0 :     module procedure getUnifRandRNGDLU_D3_RK3
    2674             :         use pm_kind, only: RKC => RK3
    2675             : #include "pm_distUnif@routines.inc.F90"
    2676           0 :     end procedure
    2677             : #endif
    2678             : 
    2679             : #if RK2_ENABLED
    2680           0 :     module procedure getUnifRandRNGDLU_D3_RK2
    2681             :         use pm_kind, only: RKC => RK2
    2682             : #include "pm_distUnif@routines.inc.F90"
    2683           0 :     end procedure
    2684             : #endif
    2685             : 
    2686             : #if RK1_ENABLED
    2687           3 :     module procedure getUnifRandRNGDLU_D3_RK1
    2688             :         use pm_kind, only: RKC => RK1
    2689             : #include "pm_distUnif@routines.inc.F90"
    2690           3 :     end procedure
    2691             : #endif
    2692             : 
    2693             : #undef RK_ENABLED
    2694             : 
    2695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2696             : 
    2697             : #undef D3_ENABLED
    2698             : 
    2699             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2701             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2702             : 
    2703             : #undef LU_ENABLED
    2704             : 
    2705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2707             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2708             : 
    2709             : #undef RNGD_ENABLED
    2710             : 
    2711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2714             : 
    2715             : #define RNGF_ENABLED 1
    2716             : 
    2717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2720             : 
    2721             : #define DD_ENABLED 1
    2722             : 
    2723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2726             : 
    2727             : #define D0_ENABLED 1
    2728             : 
    2729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2730             : 
    2731             : #define LK_ENABLED 1
    2732           0 :     module procedure getUnifRandRNGFDD_D0_LK
    2733             :         use pm_kind, only: LKC => LK
    2734             : #include "pm_distUnif@routines.inc.F90"
    2735           0 :     end procedure
    2736             : #undef LK_ENABLED
    2737             : 
    2738             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2739             : 
    2740             : #undef D0_ENABLED
    2741             : 
    2742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2744             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2745             : 
    2746             : #undef DD_ENABLED
    2747             : 
    2748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2751             : 
    2752             : #define LU_ENABLED 1
    2753             : 
    2754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2757             : 
    2758             : #define D0_ENABLED 1
    2759             : 
    2760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2761             : 
    2762             : #define SK_ENABLED 1
    2763             : 
    2764             : #if SK5_ENABLED
    2765             :     module procedure getUnifRandRNGFLU_D0_SK5
    2766             :         use pm_kind, only: SKC => SK5
    2767             : #include "pm_distUnif@routines.inc.F90"
    2768             :     end procedure
    2769             : #endif
    2770             : 
    2771             : #if SK4_ENABLED
    2772             :     module procedure getUnifRandRNGFLU_D0_SK4
    2773             :         use pm_kind, only: SKC => SK4
    2774             : #include "pm_distUnif@routines.inc.F90"
    2775             :     end procedure
    2776             : #endif
    2777             : 
    2778             : #if SK3_ENABLED
    2779             :     module procedure getUnifRandRNGFLU_D0_SK3
    2780             :         use pm_kind, only: SKC => SK3
    2781             : #include "pm_distUnif@routines.inc.F90"
    2782             :     end procedure
    2783             : #endif
    2784             : 
    2785             : #if SK2_ENABLED
    2786             :     module procedure getUnifRandRNGFLU_D0_SK2
    2787             :         use pm_kind, only: SKC => SK2
    2788             : #include "pm_distUnif@routines.inc.F90"
    2789             :     end procedure
    2790             : #endif
    2791             : 
    2792             : #if SK1_ENABLED
    2793           0 :     module procedure getUnifRandRNGFLU_D0_SK1
    2794             :         use pm_kind, only: SKC => SK1
    2795             : #include "pm_distUnif@routines.inc.F90"
    2796           0 :     end procedure
    2797             : #endif
    2798             : 
    2799             : #undef SK_ENABLED
    2800             : 
    2801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2802             : 
    2803             : #define IK_ENABLED 1
    2804             : 
    2805             : #if IK5_ENABLED
    2806           0 :     module procedure getUnifRandRNGFLU_D0_IK5
    2807             :         use pm_kind, only: IKC => IK5
    2808             : #include "pm_distUnif@routines.inc.F90"
    2809           0 :     end procedure
    2810             : #endif
    2811             : 
    2812             : #if IK4_ENABLED
    2813           0 :     module procedure getUnifRandRNGFLU_D0_IK4
    2814             :         use pm_kind, only: IKC => IK4
    2815             : #include "pm_distUnif@routines.inc.F90"
    2816           0 :     end procedure
    2817             : #endif
    2818             : 
    2819             : #if IK3_ENABLED
    2820           0 :     module procedure getUnifRandRNGFLU_D0_IK3
    2821             :         use pm_kind, only: IKC => IK3
    2822             : #include "pm_distUnif@routines.inc.F90"
    2823           0 :     end procedure
    2824             : #endif
    2825             : 
    2826             : #if IK2_ENABLED
    2827           0 :     module procedure getUnifRandRNGFLU_D0_IK2
    2828             :         use pm_kind, only: IKC => IK2
    2829             : #include "pm_distUnif@routines.inc.F90"
    2830           0 :     end procedure
    2831             : #endif
    2832             : 
    2833             : #if IK1_ENABLED
    2834           0 :     module procedure getUnifRandRNGFLU_D0_IK1
    2835             :         use pm_kind, only: IKC => IK1
    2836             : #include "pm_distUnif@routines.inc.F90"
    2837           0 :     end procedure
    2838             : #endif
    2839             : 
    2840             : #undef IK_ENABLED
    2841             : 
    2842             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2843             : 
    2844             : #define LK_ENABLED 1
    2845             : 
    2846             : #if LK5_ENABLED
    2847           0 :     module procedure getUnifRandRNGFLU_D0_LK5
    2848             :         use pm_kind, only: LKC => LK5
    2849             : #include "pm_distUnif@routines.inc.F90"
    2850           0 :     end procedure
    2851             : #endif
    2852             : 
    2853             : #if LK4_ENABLED
    2854           0 :     module procedure getUnifRandRNGFLU_D0_LK4
    2855             :         use pm_kind, only: LKC => LK4
    2856             : #include "pm_distUnif@routines.inc.F90"
    2857           0 :     end procedure
    2858             : #endif
    2859             : 
    2860             : #if LK3_ENABLED
    2861           0 :     module procedure getUnifRandRNGFLU_D0_LK3
    2862             :         use pm_kind, only: LKC => LK3
    2863             : #include "pm_distUnif@routines.inc.F90"
    2864           0 :     end procedure
    2865             : #endif
    2866             : 
    2867             : #if LK2_ENABLED
    2868           0 :     module procedure getUnifRandRNGFLU_D0_LK2
    2869             :         use pm_kind, only: LKC => LK2
    2870             : #include "pm_distUnif@routines.inc.F90"
    2871           0 :     end procedure
    2872             : #endif
    2873             : 
    2874             : #if LK1_ENABLED
    2875           0 :     module procedure getUnifRandRNGFLU_D0_LK1
    2876             :         use pm_kind, only: LKC => LK1
    2877             : #include "pm_distUnif@routines.inc.F90"
    2878           0 :     end procedure
    2879             : #endif
    2880             : 
    2881             : #undef LK_ENABLED
    2882             : 
    2883             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2884             : 
    2885             : #define CK_ENABLED 1
    2886             : 
    2887             : #if CK5_ENABLED
    2888             :     module procedure getUnifRandRNGFLU_D0_CK5
    2889             :         use pm_kind, only: CKC => CK5
    2890             : #include "pm_distUnif@routines.inc.F90"
    2891             :     end procedure
    2892             : #endif
    2893             : 
    2894             : #if CK4_ENABLED
    2895           0 :     module procedure getUnifRandRNGFLU_D0_CK4
    2896             :         use pm_kind, only: CKC => CK4
    2897             : #include "pm_distUnif@routines.inc.F90"
    2898           0 :     end procedure
    2899             : #endif
    2900             : 
    2901             : #if CK3_ENABLED
    2902           0 :     module procedure getUnifRandRNGFLU_D0_CK3
    2903             :         use pm_kind, only: CKC => CK3
    2904             : #include "pm_distUnif@routines.inc.F90"
    2905           0 :     end procedure
    2906             : #endif
    2907             : 
    2908             : #if CK2_ENABLED
    2909           0 :     module procedure getUnifRandRNGFLU_D0_CK2
    2910             :         use pm_kind, only: CKC => CK2
    2911             : #include "pm_distUnif@routines.inc.F90"
    2912           0 :     end procedure
    2913             : #endif
    2914             : 
    2915             : #if CK1_ENABLED
    2916           0 :     module procedure getUnifRandRNGFLU_D0_CK1
    2917             :         use pm_kind, only: CKC => CK1
    2918             : #include "pm_distUnif@routines.inc.F90"
    2919           0 :     end procedure
    2920             : #endif
    2921             : 
    2922             : #undef CK_ENABLED
    2923             : 
    2924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2925             : 
    2926             : #define RK_ENABLED 1
    2927             : 
    2928             : #if RK5_ENABLED
    2929             :     module procedure getUnifRandRNGFLU_D0_RK5
    2930             :         use pm_kind, only: RKC => RK5
    2931             : #include "pm_distUnif@routines.inc.F90"
    2932             :     end procedure
    2933             : #endif
    2934             : 
    2935             : #if RK4_ENABLED
    2936           0 :     module procedure getUnifRandRNGFLU_D0_RK4
    2937             :         use pm_kind, only: RKC => RK4
    2938             : #include "pm_distUnif@routines.inc.F90"
    2939           0 :     end procedure
    2940             : #endif
    2941             : 
    2942             : #if RK3_ENABLED
    2943           0 :     module procedure getUnifRandRNGFLU_D0_RK3
    2944             :         use pm_kind, only: RKC => RK3
    2945             : #include "pm_distUnif@routines.inc.F90"
    2946           0 :     end procedure
    2947             : #endif
    2948             : 
    2949             : #if RK2_ENABLED
    2950           0 :     module procedure getUnifRandRNGFLU_D0_RK2
    2951             :         use pm_kind, only: RKC => RK2
    2952             : #include "pm_distUnif@routines.inc.F90"
    2953           0 :     end procedure
    2954             : #endif
    2955             : 
    2956             : #if RK1_ENABLED
    2957           0 :     module procedure getUnifRandRNGFLU_D0_RK1
    2958             :         use pm_kind, only: RKC => RK1
    2959             : #include "pm_distUnif@routines.inc.F90"
    2960           0 :     end procedure
    2961             : #endif
    2962             : 
    2963             : #undef RK_ENABLED
    2964             : 
    2965             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2966             : 
    2967             : #undef D0_ENABLED
    2968             : 
    2969             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2970             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2971             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2972             : 
    2973             : #define D1_ENABLED 1
    2974             : 
    2975             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2976             : 
    2977             : #define SK_ENABLED 1
    2978             : 
    2979             : #if SK5_ENABLED
    2980             :     module procedure getUnifRandRNGFLU_D1_SK5
    2981             :         use pm_kind, only: SKC => SK5
    2982             : #include "pm_distUnif@routines.inc.F90"
    2983             :     end procedure
    2984             : #endif
    2985             : 
    2986             : #if SK4_ENABLED
    2987             :     module procedure getUnifRandRNGFLU_D1_SK4
    2988             :         use pm_kind, only: SKC => SK4
    2989             : #include "pm_distUnif@routines.inc.F90"
    2990             :     end procedure
    2991             : #endif
    2992             : 
    2993             : #if SK3_ENABLED
    2994             :     module procedure getUnifRandRNGFLU_D1_SK3
    2995             :         use pm_kind, only: SKC => SK3
    2996             : #include "pm_distUnif@routines.inc.F90"
    2997             :     end procedure
    2998             : #endif
    2999             : 
    3000             : #if SK2_ENABLED
    3001             :     module procedure getUnifRandRNGFLU_D1_SK2
    3002             :         use pm_kind, only: SKC => SK2
    3003             : #include "pm_distUnif@routines.inc.F90"
    3004             :     end procedure
    3005             : #endif
    3006             : 
    3007             : #if SK1_ENABLED
    3008           0 :     module procedure getUnifRandRNGFLU_D1_SK1
    3009             :         use pm_kind, only: SKC => SK1
    3010             : #include "pm_distUnif@routines.inc.F90"
    3011           0 :     end procedure
    3012             : #endif
    3013             : 
    3014             : #undef SK_ENABLED
    3015             : 
    3016             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3017             : 
    3018             : #define IK_ENABLED 1
    3019             : 
    3020             : #if IK5_ENABLED
    3021           0 :     module procedure getUnifRandRNGFLU_D1_IK5
    3022             :         use pm_kind, only: IKC => IK5
    3023             : #include "pm_distUnif@routines.inc.F90"
    3024           0 :     end procedure
    3025             : #endif
    3026             : 
    3027             : #if IK4_ENABLED
    3028           0 :     module procedure getUnifRandRNGFLU_D1_IK4
    3029             :         use pm_kind, only: IKC => IK4
    3030             : #include "pm_distUnif@routines.inc.F90"
    3031           0 :     end procedure
    3032             : #endif
    3033             : 
    3034             : #if IK3_ENABLED
    3035           0 :     module procedure getUnifRandRNGFLU_D1_IK3
    3036             :         use pm_kind, only: IKC => IK3
    3037             : #include "pm_distUnif@routines.inc.F90"
    3038           0 :     end procedure
    3039             : #endif
    3040             : 
    3041             : #if IK2_ENABLED
    3042           0 :     module procedure getUnifRandRNGFLU_D1_IK2
    3043             :         use pm_kind, only: IKC => IK2
    3044             : #include "pm_distUnif@routines.inc.F90"
    3045           0 :     end procedure
    3046             : #endif
    3047             : 
    3048             : #if IK1_ENABLED
    3049           0 :     module procedure getUnifRandRNGFLU_D1_IK1
    3050             :         use pm_kind, only: IKC => IK1
    3051             : #include "pm_distUnif@routines.inc.F90"
    3052           0 :     end procedure
    3053             : #endif
    3054             : 
    3055             : #undef IK_ENABLED
    3056             : 
    3057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3058             : 
    3059             : #define LK_ENABLED 1
    3060             : 
    3061             : #if LK5_ENABLED
    3062           0 :     module procedure getUnifRandRNGFLU_D1_LK5
    3063             :         use pm_kind, only: LKC => LK5
    3064             : #include "pm_distUnif@routines.inc.F90"
    3065           0 :     end procedure
    3066             : #endif
    3067             : 
    3068             : #if LK4_ENABLED
    3069           0 :     module procedure getUnifRandRNGFLU_D1_LK4
    3070             :         use pm_kind, only: LKC => LK4
    3071             : #include "pm_distUnif@routines.inc.F90"
    3072           0 :     end procedure
    3073             : #endif
    3074             : 
    3075             : #if LK3_ENABLED
    3076           0 :     module procedure getUnifRandRNGFLU_D1_LK3
    3077             :         use pm_kind, only: LKC => LK3
    3078             : #include "pm_distUnif@routines.inc.F90"
    3079           0 :     end procedure
    3080             : #endif
    3081             : 
    3082             : #if LK2_ENABLED
    3083           0 :     module procedure getUnifRandRNGFLU_D1_LK2
    3084             :         use pm_kind, only: LKC => LK2
    3085             : #include "pm_distUnif@routines.inc.F90"
    3086           0 :     end procedure
    3087             : #endif
    3088             : 
    3089             : #if LK1_ENABLED
    3090           0 :     module procedure getUnifRandRNGFLU_D1_LK1
    3091             :         use pm_kind, only: LKC => LK1
    3092             : #include "pm_distUnif@routines.inc.F90"
    3093           0 :     end procedure
    3094             : #endif
    3095             : 
    3096             : #undef LK_ENABLED
    3097             : 
    3098             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3099             : 
    3100             : #define CK_ENABLED 1
    3101             : 
    3102             : #if CK5_ENABLED
    3103             :     module procedure getUnifRandRNGFLU_D1_CK5
    3104             :         use pm_kind, only: CKC => CK5
    3105             : #include "pm_distUnif@routines.inc.F90"
    3106             :     end procedure
    3107             : #endif
    3108             : 
    3109             : #if CK4_ENABLED
    3110           0 :     module procedure getUnifRandRNGFLU_D1_CK4
    3111             :         use pm_kind, only: CKC => CK4
    3112             : #include "pm_distUnif@routines.inc.F90"
    3113           0 :     end procedure
    3114             : #endif
    3115             : 
    3116             : #if CK3_ENABLED
    3117           0 :     module procedure getUnifRandRNGFLU_D1_CK3
    3118             :         use pm_kind, only: CKC => CK3
    3119             : #include "pm_distUnif@routines.inc.F90"
    3120           0 :     end procedure
    3121             : #endif
    3122             : 
    3123             : #if CK2_ENABLED
    3124           0 :     module procedure getUnifRandRNGFLU_D1_CK2
    3125             :         use pm_kind, only: CKC => CK2
    3126             : #include "pm_distUnif@routines.inc.F90"
    3127           0 :     end procedure
    3128             : #endif
    3129             : 
    3130             : #if CK1_ENABLED
    3131           0 :     module procedure getUnifRandRNGFLU_D1_CK1
    3132             :         use pm_kind, only: CKC => CK1
    3133             : #include "pm_distUnif@routines.inc.F90"
    3134           0 :     end procedure
    3135             : #endif
    3136             : 
    3137             : #undef CK_ENABLED
    3138             : 
    3139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3140             : 
    3141             : #define RK_ENABLED 1
    3142             : 
    3143             : #if RK5_ENABLED
    3144             :     module procedure getUnifRandRNGFLU_D1_RK5
    3145             :         use pm_kind, only: RKC => RK5
    3146             : #include "pm_distUnif@routines.inc.F90"
    3147             :     end procedure
    3148             : #endif
    3149             : 
    3150             : #if RK4_ENABLED
    3151           0 :     module procedure getUnifRandRNGFLU_D1_RK4
    3152             :         use pm_kind, only: RKC => RK4
    3153             : #include "pm_distUnif@routines.inc.F90"
    3154           0 :     end procedure
    3155             : #endif
    3156             : 
    3157             : #if RK3_ENABLED
    3158           0 :     module procedure getUnifRandRNGFLU_D1_RK3
    3159             :         use pm_kind, only: RKC => RK3
    3160             : #include "pm_distUnif@routines.inc.F90"
    3161           0 :     end procedure
    3162             : #endif
    3163             : 
    3164             : #if RK2_ENABLED
    3165           0 :     module procedure getUnifRandRNGFLU_D1_RK2
    3166             :         use pm_kind, only: RKC => RK2
    3167             : #include "pm_distUnif@routines.inc.F90"
    3168           0 :     end procedure
    3169             : #endif
    3170             : 
    3171             : #if RK1_ENABLED
    3172           0 :     module procedure getUnifRandRNGFLU_D1_RK1
    3173             :         use pm_kind, only: RKC => RK1
    3174             : #include "pm_distUnif@routines.inc.F90"
    3175           0 :     end procedure
    3176             : #endif
    3177             : 
    3178             : #undef RK_ENABLED
    3179             : 
    3180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3181             : 
    3182             : #undef D1_ENABLED
    3183             : 
    3184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3187             : 
    3188             : #define D2_ENABLED 1
    3189             : 
    3190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3191             : 
    3192             : #define SK_ENABLED 1
    3193             : 
    3194             : #if SK5_ENABLED
    3195             :     module procedure getUnifRandRNGFLU_D2_SK5
    3196             :         use pm_kind, only: SKC => SK5
    3197             : #include "pm_distUnif@routines.inc.F90"
    3198             :     end procedure
    3199             : #endif
    3200             : 
    3201             : #if SK4_ENABLED
    3202             :     module procedure getUnifRandRNGFLU_D2_SK4
    3203             :         use pm_kind, only: SKC => SK4
    3204             : #include "pm_distUnif@routines.inc.F90"
    3205             :     end procedure
    3206             : #endif
    3207             : 
    3208             : #if SK3_ENABLED
    3209             :     module procedure getUnifRandRNGFLU_D2_SK3
    3210             :         use pm_kind, only: SKC => SK3
    3211             : #include "pm_distUnif@routines.inc.F90"
    3212             :     end procedure
    3213             : #endif
    3214             : 
    3215             : #if SK2_ENABLED
    3216             :     module procedure getUnifRandRNGFLU_D2_SK2
    3217             :         use pm_kind, only: SKC => SK2
    3218             : #include "pm_distUnif@routines.inc.F90"
    3219             :     end procedure
    3220             : #endif
    3221             : 
    3222             : #if SK1_ENABLED
    3223           0 :     module procedure getUnifRandRNGFLU_D2_SK1
    3224             :         use pm_kind, only: SKC => SK1
    3225             : #include "pm_distUnif@routines.inc.F90"
    3226           0 :     end procedure
    3227             : #endif
    3228             : 
    3229             : #undef SK_ENABLED
    3230             : 
    3231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3232             : 
    3233             : #define IK_ENABLED 1
    3234             : 
    3235             : #if IK5_ENABLED
    3236           0 :     module procedure getUnifRandRNGFLU_D2_IK5
    3237             :         use pm_kind, only: IKC => IK5
    3238             : #include "pm_distUnif@routines.inc.F90"
    3239           0 :     end procedure
    3240             : #endif
    3241             : 
    3242             : #if IK4_ENABLED
    3243           0 :     module procedure getUnifRandRNGFLU_D2_IK4
    3244             :         use pm_kind, only: IKC => IK4
    3245             : #include "pm_distUnif@routines.inc.F90"
    3246           0 :     end procedure
    3247             : #endif
    3248             : 
    3249             : #if IK3_ENABLED
    3250           0 :     module procedure getUnifRandRNGFLU_D2_IK3
    3251             :         use pm_kind, only: IKC => IK3
    3252             : #include "pm_distUnif@routines.inc.F90"
    3253           0 :     end procedure
    3254             : #endif
    3255             : 
    3256             : #if IK2_ENABLED
    3257           0 :     module procedure getUnifRandRNGFLU_D2_IK2
    3258             :         use pm_kind, only: IKC => IK2
    3259             : #include "pm_distUnif@routines.inc.F90"
    3260           0 :     end procedure
    3261             : #endif
    3262             : 
    3263             : #if IK1_ENABLED
    3264           0 :     module procedure getUnifRandRNGFLU_D2_IK1
    3265             :         use pm_kind, only: IKC => IK1
    3266             : #include "pm_distUnif@routines.inc.F90"
    3267           0 :     end procedure
    3268             : #endif
    3269             : 
    3270             : #undef IK_ENABLED
    3271             : 
    3272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3273             : 
    3274             : #define LK_ENABLED 1
    3275             : 
    3276             : #if LK5_ENABLED
    3277           0 :     module procedure getUnifRandRNGFLU_D2_LK5
    3278             :         use pm_kind, only: LKC => LK5
    3279             : #include "pm_distUnif@routines.inc.F90"
    3280           0 :     end procedure
    3281             : #endif
    3282             : 
    3283             : #if LK4_ENABLED
    3284           0 :     module procedure getUnifRandRNGFLU_D2_LK4
    3285             :         use pm_kind, only: LKC => LK4
    3286             : #include "pm_distUnif@routines.inc.F90"
    3287           0 :     end procedure
    3288             : #endif
    3289             : 
    3290             : #if LK3_ENABLED
    3291           0 :     module procedure getUnifRandRNGFLU_D2_LK3
    3292             :         use pm_kind, only: LKC => LK3
    3293             : #include "pm_distUnif@routines.inc.F90"
    3294           0 :     end procedure
    3295             : #endif
    3296             : 
    3297             : #if LK2_ENABLED
    3298           0 :     module procedure getUnifRandRNGFLU_D2_LK2
    3299             :         use pm_kind, only: LKC => LK2
    3300             : #include "pm_distUnif@routines.inc.F90"
    3301           0 :     end procedure
    3302             : #endif
    3303             : 
    3304             : #if LK1_ENABLED
    3305           0 :     module procedure getUnifRandRNGFLU_D2_LK1
    3306             :         use pm_kind, only: LKC => LK1
    3307             : #include "pm_distUnif@routines.inc.F90"
    3308           0 :     end procedure
    3309             : #endif
    3310             : 
    3311             : #undef LK_ENABLED
    3312             : 
    3313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3314             : 
    3315             : #define CK_ENABLED 1
    3316             : 
    3317             : #if CK5_ENABLED
    3318             :     module procedure getUnifRandRNGFLU_D2_CK5
    3319             :         use pm_kind, only: CKC => CK5
    3320             : #include "pm_distUnif@routines.inc.F90"
    3321             :     end procedure
    3322             : #endif
    3323             : 
    3324             : #if CK4_ENABLED
    3325           0 :     module procedure getUnifRandRNGFLU_D2_CK4
    3326             :         use pm_kind, only: CKC => CK4
    3327             : #include "pm_distUnif@routines.inc.F90"
    3328           0 :     end procedure
    3329             : #endif
    3330             : 
    3331             : #if CK3_ENABLED
    3332           0 :     module procedure getUnifRandRNGFLU_D2_CK3
    3333             :         use pm_kind, only: CKC => CK3
    3334             : #include "pm_distUnif@routines.inc.F90"
    3335           0 :     end procedure
    3336             : #endif
    3337             : 
    3338             : #if CK2_ENABLED
    3339           0 :     module procedure getUnifRandRNGFLU_D2_CK2
    3340             :         use pm_kind, only: CKC => CK2
    3341             : #include "pm_distUnif@routines.inc.F90"
    3342           0 :     end procedure
    3343             : #endif
    3344             : 
    3345             : #if CK1_ENABLED
    3346           0 :     module procedure getUnifRandRNGFLU_D2_CK1
    3347             :         use pm_kind, only: CKC => CK1
    3348             : #include "pm_distUnif@routines.inc.F90"
    3349           0 :     end procedure
    3350             : #endif
    3351             : 
    3352             : #undef CK_ENABLED
    3353             : 
    3354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3355             : 
    3356             : #define RK_ENABLED 1
    3357             : 
    3358             : #if RK5_ENABLED
    3359             :     module procedure getUnifRandRNGFLU_D2_RK5
    3360             :         use pm_kind, only: RKC => RK5
    3361             : #include "pm_distUnif@routines.inc.F90"
    3362             :     end procedure
    3363             : #endif
    3364             : 
    3365             : #if RK4_ENABLED
    3366           0 :     module procedure getUnifRandRNGFLU_D2_RK4
    3367             :         use pm_kind, only: RKC => RK4
    3368             : #include "pm_distUnif@routines.inc.F90"
    3369           0 :     end procedure
    3370             : #endif
    3371             : 
    3372             : #if RK3_ENABLED
    3373           0 :     module procedure getUnifRandRNGFLU_D2_RK3
    3374             :         use pm_kind, only: RKC => RK3
    3375             : #include "pm_distUnif@routines.inc.F90"
    3376           0 :     end procedure
    3377             : #endif
    3378             : 
    3379             : #if RK2_ENABLED
    3380           0 :     module procedure getUnifRandRNGFLU_D2_RK2
    3381             :         use pm_kind, only: RKC => RK2
    3382             : #include "pm_distUnif@routines.inc.F90"
    3383           0 :     end procedure
    3384             : #endif
    3385             : 
    3386             : #if RK1_ENABLED
    3387           0 :     module procedure getUnifRandRNGFLU_D2_RK1
    3388             :         use pm_kind, only: RKC => RK1
    3389             : #include "pm_distUnif@routines.inc.F90"
    3390           0 :     end procedure
    3391             : #endif
    3392             : 
    3393             : #undef RK_ENABLED
    3394             : 
    3395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3396             : 
    3397             : #undef D2_ENABLED
    3398             : 
    3399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3402             : 
    3403             : #define D3_ENABLED 1
    3404             : 
    3405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3406             : 
    3407             : #define SK_ENABLED 1
    3408             : 
    3409             : #if SK5_ENABLED
    3410             :     module procedure getUnifRandRNGFLU_D3_SK5
    3411             :         use pm_kind, only: SKC => SK5
    3412             : #include "pm_distUnif@routines.inc.F90"
    3413             :     end procedure
    3414             : #endif
    3415             : 
    3416             : #if SK4_ENABLED
    3417             :     module procedure getUnifRandRNGFLU_D3_SK4
    3418             :         use pm_kind, only: SKC => SK4
    3419             : #include "pm_distUnif@routines.inc.F90"
    3420             :     end procedure
    3421             : #endif
    3422             : 
    3423             : #if SK3_ENABLED
    3424             :     module procedure getUnifRandRNGFLU_D3_SK3
    3425             :         use pm_kind, only: SKC => SK3
    3426             : #include "pm_distUnif@routines.inc.F90"
    3427             :     end procedure
    3428             : #endif
    3429             : 
    3430             : #if SK2_ENABLED
    3431             :     module procedure getUnifRandRNGFLU_D3_SK2
    3432             :         use pm_kind, only: SKC => SK2
    3433             : #include "pm_distUnif@routines.inc.F90"
    3434             :     end procedure
    3435             : #endif
    3436             : 
    3437             : #if SK1_ENABLED
    3438           0 :     module procedure getUnifRandRNGFLU_D3_SK1
    3439             :         use pm_kind, only: SKC => SK1
    3440             : #include "pm_distUnif@routines.inc.F90"
    3441           0 :     end procedure
    3442             : #endif
    3443             : 
    3444             : #undef SK_ENABLED
    3445             : 
    3446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3447             : 
    3448             : #define IK_ENABLED 1
    3449             : 
    3450             : #if IK5_ENABLED
    3451           0 :     module procedure getUnifRandRNGFLU_D3_IK5
    3452             :         use pm_kind, only: IKC => IK5
    3453             : #include "pm_distUnif@routines.inc.F90"
    3454           0 :     end procedure
    3455             : #endif
    3456             : 
    3457             : #if IK4_ENABLED
    3458           0 :     module procedure getUnifRandRNGFLU_D3_IK4
    3459             :         use pm_kind, only: IKC => IK4
    3460             : #include "pm_distUnif@routines.inc.F90"
    3461           0 :     end procedure
    3462             : #endif
    3463             : 
    3464             : #if IK3_ENABLED
    3465           0 :     module procedure getUnifRandRNGFLU_D3_IK3
    3466             :         use pm_kind, only: IKC => IK3
    3467             : #include "pm_distUnif@routines.inc.F90"
    3468           0 :     end procedure
    3469             : #endif
    3470             : 
    3471             : #if IK2_ENABLED
    3472           0 :     module procedure getUnifRandRNGFLU_D3_IK2
    3473             :         use pm_kind, only: IKC => IK2
    3474             : #include "pm_distUnif@routines.inc.F90"
    3475           0 :     end procedure
    3476             : #endif
    3477             : 
    3478             : #if IK1_ENABLED
    3479           0 :     module procedure getUnifRandRNGFLU_D3_IK1
    3480             :         use pm_kind, only: IKC => IK1
    3481             : #include "pm_distUnif@routines.inc.F90"
    3482           0 :     end procedure
    3483             : #endif
    3484             : 
    3485             : #undef IK_ENABLED
    3486             : 
    3487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3488             : 
    3489             : #define LK_ENABLED 1
    3490             : 
    3491             : #if LK5_ENABLED
    3492           0 :     module procedure getUnifRandRNGFLU_D3_LK5
    3493             :         use pm_kind, only: LKC => LK5
    3494             : #include "pm_distUnif@routines.inc.F90"
    3495           0 :     end procedure
    3496             : #endif
    3497             : 
    3498             : #if LK4_ENABLED
    3499           0 :     module procedure getUnifRandRNGFLU_D3_LK4
    3500             :         use pm_kind, only: LKC => LK4
    3501             : #include "pm_distUnif@routines.inc.F90"
    3502           0 :     end procedure
    3503             : #endif
    3504             : 
    3505             : #if LK3_ENABLED
    3506           0 :     module procedure getUnifRandRNGFLU_D3_LK3
    3507             :         use pm_kind, only: LKC => LK3
    3508             : #include "pm_distUnif@routines.inc.F90"
    3509           0 :     end procedure
    3510             : #endif
    3511             : 
    3512             : #if LK2_ENABLED
    3513           0 :     module procedure getUnifRandRNGFLU_D3_LK2
    3514             :         use pm_kind, only: LKC => LK2
    3515             : #include "pm_distUnif@routines.inc.F90"
    3516           0 :     end procedure
    3517             : #endif
    3518             : 
    3519             : #if LK1_ENABLED
    3520           0 :     module procedure getUnifRandRNGFLU_D3_LK1
    3521             :         use pm_kind, only: LKC => LK1
    3522             : #include "pm_distUnif@routines.inc.F90"
    3523           0 :     end procedure
    3524             : #endif
    3525             : 
    3526             : #undef LK_ENABLED
    3527             : 
    3528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3529             : 
    3530             : #define CK_ENABLED 1
    3531             : 
    3532             : #if CK5_ENABLED
    3533             :     module procedure getUnifRandRNGFLU_D3_CK5
    3534             :         use pm_kind, only: CKC => CK5
    3535             : #include "pm_distUnif@routines.inc.F90"
    3536             :     end procedure
    3537             : #endif
    3538             : 
    3539             : #if CK4_ENABLED
    3540           0 :     module procedure getUnifRandRNGFLU_D3_CK4
    3541             :         use pm_kind, only: CKC => CK4
    3542             : #include "pm_distUnif@routines.inc.F90"
    3543           0 :     end procedure
    3544             : #endif
    3545             : 
    3546             : #if CK3_ENABLED
    3547           0 :     module procedure getUnifRandRNGFLU_D3_CK3
    3548             :         use pm_kind, only: CKC => CK3
    3549             : #include "pm_distUnif@routines.inc.F90"
    3550           0 :     end procedure
    3551             : #endif
    3552             : 
    3553             : #if CK2_ENABLED
    3554           0 :     module procedure getUnifRandRNGFLU_D3_CK2
    3555             :         use pm_kind, only: CKC => CK2
    3556             : #include "pm_distUnif@routines.inc.F90"
    3557           0 :     end procedure
    3558             : #endif
    3559             : 
    3560             : #if CK1_ENABLED
    3561           0 :     module procedure getUnifRandRNGFLU_D3_CK1
    3562             :         use pm_kind, only: CKC => CK1
    3563             : #include "pm_distUnif@routines.inc.F90"
    3564           0 :     end procedure
    3565             : #endif
    3566             : 
    3567             : #undef CK_ENABLED
    3568             : 
    3569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3570             : 
    3571             : #define RK_ENABLED 1
    3572             : 
    3573             : #if RK5_ENABLED
    3574             :     module procedure getUnifRandRNGFLU_D3_RK5
    3575             :         use pm_kind, only: RKC => RK5
    3576             : #include "pm_distUnif@routines.inc.F90"
    3577             :     end procedure
    3578             : #endif
    3579             : 
    3580             : #if RK4_ENABLED
    3581           0 :     module procedure getUnifRandRNGFLU_D3_RK4
    3582             :         use pm_kind, only: RKC => RK4
    3583             : #include "pm_distUnif@routines.inc.F90"
    3584           0 :     end procedure
    3585             : #endif
    3586             : 
    3587             : #if RK3_ENABLED
    3588           0 :     module procedure getUnifRandRNGFLU_D3_RK3
    3589             :         use pm_kind, only: RKC => RK3
    3590             : #include "pm_distUnif@routines.inc.F90"
    3591           0 :     end procedure
    3592             : #endif
    3593             : 
    3594             : #if RK2_ENABLED
    3595           0 :     module procedure getUnifRandRNGFLU_D3_RK2
    3596             :         use pm_kind, only: RKC => RK2
    3597             : #include "pm_distUnif@routines.inc.F90"
    3598           0 :     end procedure
    3599             : #endif
    3600             : 
    3601             : #if RK1_ENABLED
    3602           0 :     module procedure getUnifRandRNGFLU_D3_RK1
    3603             :         use pm_kind, only: RKC => RK1
    3604             : #include "pm_distUnif@routines.inc.F90"
    3605           0 :     end procedure
    3606             : #endif
    3607             : 
    3608             : #undef RK_ENABLED
    3609             : 
    3610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3611             : 
    3612             : #undef D3_ENABLED
    3613             : 
    3614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3617             : 
    3618             : #undef LU_ENABLED
    3619             : 
    3620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3623             : 
    3624             : #undef RNGF_ENABLED
    3625             : 
    3626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3629             : 
    3630             : #define SM64_ENABLED 1
    3631             : 
    3632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3634             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3635             : 
    3636             : #define DD_ENABLED 1
    3637             : 
    3638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3641             : 
    3642             : #define D0_ENABLED 1
    3643             : 
    3644             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3645             : 
    3646             : #define LK_ENABLED 1
    3647           0 :     module procedure getUnifRandRNGSDD_D0_LK
    3648             :         use pm_kind, only: LKC => LK
    3649             : #include "pm_distUnif@routines.inc.F90"
    3650           0 :     end procedure
    3651             : #undef LK_ENABLED
    3652             : 
    3653             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3654             : 
    3655             : #undef D0_ENABLED
    3656             : 
    3657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3658             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3660             : 
    3661             : #undef DD_ENABLED
    3662             : 
    3663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3666             : 
    3667             : #define LU_ENABLED 1
    3668             : 
    3669             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3672             : 
    3673             : #define D0_ENABLED 1
    3674             : 
    3675             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3676             : 
    3677             : #define SK_ENABLED 1
    3678             : 
    3679             : #if SK5_ENABLED
    3680             :     module procedure getUnifRandRNGSLU_D0_SK5
    3681             :         use pm_kind, only: SKC => SK5
    3682             : #include "pm_distUnif@routines.inc.F90"
    3683             :     end procedure
    3684             : #endif
    3685             : 
    3686             : #if SK4_ENABLED
    3687             :     module procedure getUnifRandRNGSLU_D0_SK4
    3688             :         use pm_kind, only: SKC => SK4
    3689             : #include "pm_distUnif@routines.inc.F90"
    3690             :     end procedure
    3691             : #endif
    3692             : 
    3693             : #if SK3_ENABLED
    3694             :     module procedure getUnifRandRNGSLU_D0_SK3
    3695             :         use pm_kind, only: SKC => SK3
    3696             : #include "pm_distUnif@routines.inc.F90"
    3697             :     end procedure
    3698             : #endif
    3699             : 
    3700             : #if SK2_ENABLED
    3701             :     module procedure getUnifRandRNGSLU_D0_SK2
    3702             :         use pm_kind, only: SKC => SK2
    3703             : #include "pm_distUnif@routines.inc.F90"
    3704             :     end procedure
    3705             : #endif
    3706             : 
    3707             : #if SK1_ENABLED
    3708           5 :     module procedure getUnifRandRNGSLU_D0_SK1
    3709             :         use pm_kind, only: SKC => SK1
    3710             : #include "pm_distUnif@routines.inc.F90"
    3711           5 :     end procedure
    3712             : #endif
    3713             : 
    3714             : #undef SK_ENABLED
    3715             : 
    3716             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3717             : 
    3718             : #define IK_ENABLED 1
    3719             : 
    3720             : #if IK5_ENABLED
    3721           0 :     module procedure getUnifRandRNGSLU_D0_IK5
    3722             :         use pm_kind, only: IKC => IK5
    3723             : #include "pm_distUnif@routines.inc.F90"
    3724           0 :     end procedure
    3725             : #endif
    3726             : 
    3727             : #if IK4_ENABLED
    3728           0 :     module procedure getUnifRandRNGSLU_D0_IK4
    3729             :         use pm_kind, only: IKC => IK4
    3730             : #include "pm_distUnif@routines.inc.F90"
    3731           0 :     end procedure
    3732             : #endif
    3733             : 
    3734             : #if IK3_ENABLED
    3735          23 :     module procedure getUnifRandRNGSLU_D0_IK3
    3736             :         use pm_kind, only: IKC => IK3
    3737             : #include "pm_distUnif@routines.inc.F90"
    3738          23 :     end procedure
    3739             : #endif
    3740             : 
    3741             : #if IK2_ENABLED
    3742           0 :     module procedure getUnifRandRNGSLU_D0_IK2
    3743             :         use pm_kind, only: IKC => IK2
    3744             : #include "pm_distUnif@routines.inc.F90"
    3745           0 :     end procedure
    3746             : #endif
    3747             : 
    3748             : #if IK1_ENABLED
    3749           5 :     module procedure getUnifRandRNGSLU_D0_IK1
    3750             :         use pm_kind, only: IKC => IK1
    3751             : #include "pm_distUnif@routines.inc.F90"
    3752           5 :     end procedure
    3753             : #endif
    3754             : 
    3755             : #undef IK_ENABLED
    3756             : 
    3757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3758             : 
    3759             : #define LK_ENABLED 1
    3760             : 
    3761             : #if LK5_ENABLED
    3762           0 :     module procedure getUnifRandRNGSLU_D0_LK5
    3763             :         use pm_kind, only: LKC => LK5
    3764             : #include "pm_distUnif@routines.inc.F90"
    3765           0 :     end procedure
    3766             : #endif
    3767             : 
    3768             : #if LK4_ENABLED
    3769           0 :     module procedure getUnifRandRNGSLU_D0_LK4
    3770             :         use pm_kind, only: LKC => LK4
    3771             : #include "pm_distUnif@routines.inc.F90"
    3772           0 :     end procedure
    3773             : #endif
    3774             : 
    3775             : #if LK3_ENABLED
    3776          10 :     module procedure getUnifRandRNGSLU_D0_LK3
    3777             :         use pm_kind, only: LKC => LK3
    3778             : #include "pm_distUnif@routines.inc.F90"
    3779          10 :     end procedure
    3780             : #endif
    3781             : 
    3782             : #if LK2_ENABLED
    3783           0 :     module procedure getUnifRandRNGSLU_D0_LK2
    3784             :         use pm_kind, only: LKC => LK2
    3785             : #include "pm_distUnif@routines.inc.F90"
    3786           0 :     end procedure
    3787             : #endif
    3788             : 
    3789             : #if LK1_ENABLED
    3790           0 :     module procedure getUnifRandRNGSLU_D0_LK1
    3791             :         use pm_kind, only: LKC => LK1
    3792             : #include "pm_distUnif@routines.inc.F90"
    3793           0 :     end procedure
    3794             : #endif
    3795             : 
    3796             : #undef LK_ENABLED
    3797             : 
    3798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3799             : 
    3800             : #define CK_ENABLED 1
    3801             : 
    3802             : #if CK5_ENABLED
    3803             :     module procedure getUnifRandRNGSLU_D0_CK5
    3804             :         use pm_kind, only: CKC => CK5
    3805             : #include "pm_distUnif@routines.inc.F90"
    3806             :     end procedure
    3807             : #endif
    3808             : 
    3809             : #if CK4_ENABLED
    3810           0 :     module procedure getUnifRandRNGSLU_D0_CK4
    3811             :         use pm_kind, only: CKC => CK4
    3812             : #include "pm_distUnif@routines.inc.F90"
    3813           0 :     end procedure
    3814             : #endif
    3815             : 
    3816             : #if CK3_ENABLED
    3817           0 :     module procedure getUnifRandRNGSLU_D0_CK3
    3818             :         use pm_kind, only: CKC => CK3
    3819             : #include "pm_distUnif@routines.inc.F90"
    3820           0 :     end procedure
    3821             : #endif
    3822             : 
    3823             : #if CK2_ENABLED
    3824           0 :     module procedure getUnifRandRNGSLU_D0_CK2
    3825             :         use pm_kind, only: CKC => CK2
    3826             : #include "pm_distUnif@routines.inc.F90"
    3827           0 :     end procedure
    3828             : #endif
    3829             : 
    3830             : #if CK1_ENABLED
    3831           5 :     module procedure getUnifRandRNGSLU_D0_CK1
    3832             :         use pm_kind, only: CKC => CK1
    3833             : #include "pm_distUnif@routines.inc.F90"
    3834           5 :     end procedure
    3835             : #endif
    3836             : 
    3837             : #undef CK_ENABLED
    3838             : 
    3839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3840             : 
    3841             : #define RK_ENABLED 1
    3842             : 
    3843             : #if RK5_ENABLED
    3844             :     module procedure getUnifRandRNGSLU_D0_RK5
    3845             :         use pm_kind, only: RKC => RK5
    3846             : #include "pm_distUnif@routines.inc.F90"
    3847             :     end procedure
    3848             : #endif
    3849             : 
    3850             : #if RK4_ENABLED
    3851           0 :     module procedure getUnifRandRNGSLU_D0_RK4
    3852             :         use pm_kind, only: RKC => RK4
    3853             : #include "pm_distUnif@routines.inc.F90"
    3854           0 :     end procedure
    3855             : #endif
    3856             : 
    3857             : #if RK3_ENABLED
    3858           0 :     module procedure getUnifRandRNGSLU_D0_RK3
    3859             :         use pm_kind, only: RKC => RK3
    3860             : #include "pm_distUnif@routines.inc.F90"
    3861           0 :     end procedure
    3862             : #endif
    3863             : 
    3864             : #if RK2_ENABLED
    3865           0 :     module procedure getUnifRandRNGSLU_D0_RK2
    3866             :         use pm_kind, only: RKC => RK2
    3867             : #include "pm_distUnif@routines.inc.F90"
    3868           0 :     end procedure
    3869             : #endif
    3870             : 
    3871             : #if RK1_ENABLED
    3872           5 :     module procedure getUnifRandRNGSLU_D0_RK1
    3873             :         use pm_kind, only: RKC => RK1
    3874             : #include "pm_distUnif@routines.inc.F90"
    3875           5 :     end procedure
    3876             : #endif
    3877             : 
    3878             : #undef RK_ENABLED
    3879             : 
    3880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3881             : 
    3882             : #undef D0_ENABLED
    3883             : 
    3884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3887             : 
    3888             : #define D1_ENABLED 1
    3889             : 
    3890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3891             : 
    3892             : #define SK_ENABLED 1
    3893             : 
    3894             : #if SK5_ENABLED
    3895             :     module procedure getUnifRandRNGSLU_D1_SK5
    3896             :         use pm_kind, only: SKC => SK5
    3897             : #include "pm_distUnif@routines.inc.F90"
    3898             :     end procedure
    3899             : #endif
    3900             : 
    3901             : #if SK4_ENABLED
    3902             :     module procedure getUnifRandRNGSLU_D1_SK4
    3903             :         use pm_kind, only: SKC => SK4
    3904             : #include "pm_distUnif@routines.inc.F90"
    3905             :     end procedure
    3906             : #endif
    3907             : 
    3908             : #if SK3_ENABLED
    3909             :     module procedure getUnifRandRNGSLU_D1_SK3
    3910             :         use pm_kind, only: SKC => SK3
    3911             : #include "pm_distUnif@routines.inc.F90"
    3912             :     end procedure
    3913             : #endif
    3914             : 
    3915             : #if SK2_ENABLED
    3916             :     module procedure getUnifRandRNGSLU_D1_SK2
    3917             :         use pm_kind, only: SKC => SK2
    3918             : #include "pm_distUnif@routines.inc.F90"
    3919             :     end procedure
    3920             : #endif
    3921             : 
    3922             : #if SK1_ENABLED
    3923           0 :     module procedure getUnifRandRNGSLU_D1_SK1
    3924             :         use pm_kind, only: SKC => SK1
    3925             : #include "pm_distUnif@routines.inc.F90"
    3926           0 :     end procedure
    3927             : #endif
    3928             : 
    3929             : #undef SK_ENABLED
    3930             : 
    3931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3932             : 
    3933             : #define IK_ENABLED 1
    3934             : 
    3935             : #if IK5_ENABLED
    3936           0 :     module procedure getUnifRandRNGSLU_D1_IK5
    3937             :         use pm_kind, only: IKC => IK5
    3938             : #include "pm_distUnif@routines.inc.F90"
    3939           0 :     end procedure
    3940             : #endif
    3941             : 
    3942             : #if IK4_ENABLED
    3943           0 :     module procedure getUnifRandRNGSLU_D1_IK4
    3944             :         use pm_kind, only: IKC => IK4
    3945             : #include "pm_distUnif@routines.inc.F90"
    3946           0 :     end procedure
    3947             : #endif
    3948             : 
    3949             : #if IK3_ENABLED
    3950           0 :     module procedure getUnifRandRNGSLU_D1_IK3
    3951             :         use pm_kind, only: IKC => IK3
    3952             : #include "pm_distUnif@routines.inc.F90"
    3953           0 :     end procedure
    3954             : #endif
    3955             : 
    3956             : #if IK2_ENABLED
    3957           0 :     module procedure getUnifRandRNGSLU_D1_IK2
    3958             :         use pm_kind, only: IKC => IK2
    3959             : #include "pm_distUnif@routines.inc.F90"
    3960           0 :     end procedure
    3961             : #endif
    3962             : 
    3963             : #if IK1_ENABLED
    3964           0 :     module procedure getUnifRandRNGSLU_D1_IK1
    3965             :         use pm_kind, only: IKC => IK1
    3966             : #include "pm_distUnif@routines.inc.F90"
    3967           0 :     end procedure
    3968             : #endif
    3969             : 
    3970             : #undef IK_ENABLED
    3971             : 
    3972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3973             : 
    3974             : #define LK_ENABLED 1
    3975             : 
    3976             : #if LK5_ENABLED
    3977           0 :     module procedure getUnifRandRNGSLU_D1_LK5
    3978             :         use pm_kind, only: LKC => LK5
    3979             : #include "pm_distUnif@routines.inc.F90"
    3980           0 :     end procedure
    3981             : #endif
    3982             : 
    3983             : #if LK4_ENABLED
    3984           0 :     module procedure getUnifRandRNGSLU_D1_LK4
    3985             :         use pm_kind, only: LKC => LK4
    3986             : #include "pm_distUnif@routines.inc.F90"
    3987           0 :     end procedure
    3988             : #endif
    3989             : 
    3990             : #if LK3_ENABLED
    3991           0 :     module procedure getUnifRandRNGSLU_D1_LK3
    3992             :         use pm_kind, only: LKC => LK3
    3993             : #include "pm_distUnif@routines.inc.F90"
    3994           0 :     end procedure
    3995             : #endif
    3996             : 
    3997             : #if LK2_ENABLED
    3998           0 :     module procedure getUnifRandRNGSLU_D1_LK2
    3999             :         use pm_kind, only: LKC => LK2
    4000             : #include "pm_distUnif@routines.inc.F90"
    4001           0 :     end procedure
    4002             : #endif
    4003             : 
    4004             : #if LK1_ENABLED
    4005           0 :     module procedure getUnifRandRNGSLU_D1_LK1
    4006             :         use pm_kind, only: LKC => LK1
    4007             : #include "pm_distUnif@routines.inc.F90"
    4008           0 :     end procedure
    4009             : #endif
    4010             : 
    4011             : #undef LK_ENABLED
    4012             : 
    4013             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4014             : 
    4015             : #define CK_ENABLED 1
    4016             : 
    4017             : #if CK5_ENABLED
    4018             :     module procedure getUnifRandRNGSLU_D1_CK5
    4019             :         use pm_kind, only: CKC => CK5
    4020             : #include "pm_distUnif@routines.inc.F90"
    4021             :     end procedure
    4022             : #endif
    4023             : 
    4024             : #if CK4_ENABLED
    4025           0 :     module procedure getUnifRandRNGSLU_D1_CK4
    4026             :         use pm_kind, only: CKC => CK4
    4027             : #include "pm_distUnif@routines.inc.F90"
    4028           0 :     end procedure
    4029             : #endif
    4030             : 
    4031             : #if CK3_ENABLED
    4032           0 :     module procedure getUnifRandRNGSLU_D1_CK3
    4033             :         use pm_kind, only: CKC => CK3
    4034             : #include "pm_distUnif@routines.inc.F90"
    4035           0 :     end procedure
    4036             : #endif
    4037             : 
    4038             : #if CK2_ENABLED
    4039           0 :     module procedure getUnifRandRNGSLU_D1_CK2
    4040             :         use pm_kind, only: CKC => CK2
    4041             : #include "pm_distUnif@routines.inc.F90"
    4042           0 :     end procedure
    4043             : #endif
    4044             : 
    4045             : #if CK1_ENABLED
    4046           0 :     module procedure getUnifRandRNGSLU_D1_CK1
    4047             :         use pm_kind, only: CKC => CK1
    4048             : #include "pm_distUnif@routines.inc.F90"
    4049           0 :     end procedure
    4050             : #endif
    4051             : 
    4052             : #undef CK_ENABLED
    4053             : 
    4054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4055             : 
    4056             : #define RK_ENABLED 1
    4057             : 
    4058             : #if RK5_ENABLED
    4059             :     module procedure getUnifRandRNGSLU_D1_RK5
    4060             :         use pm_kind, only: RKC => RK5
    4061             : #include "pm_distUnif@routines.inc.F90"
    4062             :     end procedure
    4063             : #endif
    4064             : 
    4065             : #if RK4_ENABLED
    4066           0 :     module procedure getUnifRandRNGSLU_D1_RK4
    4067             :         use pm_kind, only: RKC => RK4
    4068             : #include "pm_distUnif@routines.inc.F90"
    4069           0 :     end procedure
    4070             : #endif
    4071             : 
    4072             : #if RK3_ENABLED
    4073           0 :     module procedure getUnifRandRNGSLU_D1_RK3
    4074             :         use pm_kind, only: RKC => RK3
    4075             : #include "pm_distUnif@routines.inc.F90"
    4076           0 :     end procedure
    4077             : #endif
    4078             : 
    4079             : #if RK2_ENABLED
    4080           0 :     module procedure getUnifRandRNGSLU_D1_RK2
    4081             :         use pm_kind, only: RKC => RK2
    4082             : #include "pm_distUnif@routines.inc.F90"
    4083           0 :     end procedure
    4084             : #endif
    4085             : 
    4086             : #if RK1_ENABLED
    4087           0 :     module procedure getUnifRandRNGSLU_D1_RK1
    4088             :         use pm_kind, only: RKC => RK1
    4089             : #include "pm_distUnif@routines.inc.F90"
    4090           0 :     end procedure
    4091             : #endif
    4092             : 
    4093             : #undef RK_ENABLED
    4094             : 
    4095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4096             : 
    4097             : #undef D1_ENABLED
    4098             : 
    4099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4102             : 
    4103             : #define D2_ENABLED 1
    4104             : 
    4105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4106             : 
    4107             : #define SK_ENABLED 1
    4108             : 
    4109             : #if SK5_ENABLED
    4110             :     module procedure getUnifRandRNGSLU_D2_SK5
    4111             :         use pm_kind, only: SKC => SK5
    4112             : #include "pm_distUnif@routines.inc.F90"
    4113             :     end procedure
    4114             : #endif
    4115             : 
    4116             : #if SK4_ENABLED
    4117             :     module procedure getUnifRandRNGSLU_D2_SK4
    4118             :         use pm_kind, only: SKC => SK4
    4119             : #include "pm_distUnif@routines.inc.F90"
    4120             :     end procedure
    4121             : #endif
    4122             : 
    4123             : #if SK3_ENABLED
    4124             :     module procedure getUnifRandRNGSLU_D2_SK3
    4125             :         use pm_kind, only: SKC => SK3
    4126             : #include "pm_distUnif@routines.inc.F90"
    4127             :     end procedure
    4128             : #endif
    4129             : 
    4130             : #if SK2_ENABLED
    4131             :     module procedure getUnifRandRNGSLU_D2_SK2
    4132             :         use pm_kind, only: SKC => SK2
    4133             : #include "pm_distUnif@routines.inc.F90"
    4134             :     end procedure
    4135             : #endif
    4136             : 
    4137             : #if SK1_ENABLED
    4138           0 :     module procedure getUnifRandRNGSLU_D2_SK1
    4139             :         use pm_kind, only: SKC => SK1
    4140             : #include "pm_distUnif@routines.inc.F90"
    4141           0 :     end procedure
    4142             : #endif
    4143             : 
    4144             : #undef SK_ENABLED
    4145             : 
    4146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4147             : 
    4148             : #define IK_ENABLED 1
    4149             : 
    4150             : #if IK5_ENABLED
    4151           0 :     module procedure getUnifRandRNGSLU_D2_IK5
    4152             :         use pm_kind, only: IKC => IK5
    4153             : #include "pm_distUnif@routines.inc.F90"
    4154           0 :     end procedure
    4155             : #endif
    4156             : 
    4157             : #if IK4_ENABLED
    4158           0 :     module procedure getUnifRandRNGSLU_D2_IK4
    4159             :         use pm_kind, only: IKC => IK4
    4160             : #include "pm_distUnif@routines.inc.F90"
    4161           0 :     end procedure
    4162             : #endif
    4163             : 
    4164             : #if IK3_ENABLED
    4165           0 :     module procedure getUnifRandRNGSLU_D2_IK3
    4166             :         use pm_kind, only: IKC => IK3
    4167             : #include "pm_distUnif@routines.inc.F90"
    4168           0 :     end procedure
    4169             : #endif
    4170             : 
    4171             : #if IK2_ENABLED
    4172           0 :     module procedure getUnifRandRNGSLU_D2_IK2
    4173             :         use pm_kind, only: IKC => IK2
    4174             : #include "pm_distUnif@routines.inc.F90"
    4175           0 :     end procedure
    4176             : #endif
    4177             : 
    4178             : #if IK1_ENABLED
    4179           0 :     module procedure getUnifRandRNGSLU_D2_IK1
    4180             :         use pm_kind, only: IKC => IK1
    4181             : #include "pm_distUnif@routines.inc.F90"
    4182           0 :     end procedure
    4183             : #endif
    4184             : 
    4185             : #undef IK_ENABLED
    4186             : 
    4187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4188             : 
    4189             : #define LK_ENABLED 1
    4190             : 
    4191             : #if LK5_ENABLED
    4192           0 :     module procedure getUnifRandRNGSLU_D2_LK5
    4193             :         use pm_kind, only: LKC => LK5
    4194             : #include "pm_distUnif@routines.inc.F90"
    4195           0 :     end procedure
    4196             : #endif
    4197             : 
    4198             : #if LK4_ENABLED
    4199           0 :     module procedure getUnifRandRNGSLU_D2_LK4
    4200             :         use pm_kind, only: LKC => LK4
    4201             : #include "pm_distUnif@routines.inc.F90"
    4202           0 :     end procedure
    4203             : #endif
    4204             : 
    4205             : #if LK3_ENABLED
    4206           0 :     module procedure getUnifRandRNGSLU_D2_LK3
    4207             :         use pm_kind, only: LKC => LK3
    4208             : #include "pm_distUnif@routines.inc.F90"
    4209           0 :     end procedure
    4210             : #endif
    4211             : 
    4212             : #if LK2_ENABLED
    4213           0 :     module procedure getUnifRandRNGSLU_D2_LK2
    4214             :         use pm_kind, only: LKC => LK2
    4215             : #include "pm_distUnif@routines.inc.F90"
    4216           0 :     end procedure
    4217             : #endif
    4218             : 
    4219             : #if LK1_ENABLED
    4220           0 :     module procedure getUnifRandRNGSLU_D2_LK1
    4221             :         use pm_kind, only: LKC => LK1
    4222             : #include "pm_distUnif@routines.inc.F90"
    4223           0 :     end procedure
    4224             : #endif
    4225             : 
    4226             : #undef LK_ENABLED
    4227             : 
    4228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4229             : 
    4230             : #define CK_ENABLED 1
    4231             : 
    4232             : #if CK5_ENABLED
    4233             :     module procedure getUnifRandRNGSLU_D2_CK5
    4234             :         use pm_kind, only: CKC => CK5
    4235             : #include "pm_distUnif@routines.inc.F90"
    4236             :     end procedure
    4237             : #endif
    4238             : 
    4239             : #if CK4_ENABLED
    4240           0 :     module procedure getUnifRandRNGSLU_D2_CK4
    4241             :         use pm_kind, only: CKC => CK4
    4242             : #include "pm_distUnif@routines.inc.F90"
    4243           0 :     end procedure
    4244             : #endif
    4245             : 
    4246             : #if CK3_ENABLED
    4247           0 :     module procedure getUnifRandRNGSLU_D2_CK3
    4248             :         use pm_kind, only: CKC => CK3
    4249             : #include "pm_distUnif@routines.inc.F90"
    4250           0 :     end procedure
    4251             : #endif
    4252             : 
    4253             : #if CK2_ENABLED
    4254           0 :     module procedure getUnifRandRNGSLU_D2_CK2
    4255             :         use pm_kind, only: CKC => CK2
    4256             : #include "pm_distUnif@routines.inc.F90"
    4257           0 :     end procedure
    4258             : #endif
    4259             : 
    4260             : #if CK1_ENABLED
    4261           0 :     module procedure getUnifRandRNGSLU_D2_CK1
    4262             :         use pm_kind, only: CKC => CK1
    4263             : #include "pm_distUnif@routines.inc.F90"
    4264           0 :     end procedure
    4265             : #endif
    4266             : 
    4267             : #undef CK_ENABLED
    4268             : 
    4269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4270             : 
    4271             : #define RK_ENABLED 1
    4272             : 
    4273             : #if RK5_ENABLED
    4274             :     module procedure getUnifRandRNGSLU_D2_RK5
    4275             :         use pm_kind, only: RKC => RK5
    4276             : #include "pm_distUnif@routines.inc.F90"
    4277             :     end procedure
    4278             : #endif
    4279             : 
    4280             : #if RK4_ENABLED
    4281           0 :     module procedure getUnifRandRNGSLU_D2_RK4
    4282             :         use pm_kind, only: RKC => RK4
    4283             : #include "pm_distUnif@routines.inc.F90"
    4284           0 :     end procedure
    4285             : #endif
    4286             : 
    4287             : #if RK3_ENABLED
    4288           0 :     module procedure getUnifRandRNGSLU_D2_RK3
    4289             :         use pm_kind, only: RKC => RK3
    4290             : #include "pm_distUnif@routines.inc.F90"
    4291           0 :     end procedure
    4292             : #endif
    4293             : 
    4294             : #if RK2_ENABLED
    4295           0 :     module procedure getUnifRandRNGSLU_D2_RK2
    4296             :         use pm_kind, only: RKC => RK2
    4297             : #include "pm_distUnif@routines.inc.F90"
    4298           0 :     end procedure
    4299             : #endif
    4300             : 
    4301             : #if RK1_ENABLED
    4302           0 :     module procedure getUnifRandRNGSLU_D2_RK1
    4303             :         use pm_kind, only: RKC => RK1
    4304             : #include "pm_distUnif@routines.inc.F90"
    4305           0 :     end procedure
    4306             : #endif
    4307             : 
    4308             : #undef RK_ENABLED
    4309             : 
    4310             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4311             : 
    4312             : #undef D2_ENABLED
    4313             : 
    4314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4317             : 
    4318             : #define D3_ENABLED 1
    4319             : 
    4320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4321             : 
    4322             : #define SK_ENABLED 1
    4323             : 
    4324             : #if SK5_ENABLED
    4325             :     module procedure getUnifRandRNGSLU_D3_SK5
    4326             :         use pm_kind, only: SKC => SK5
    4327             : #include "pm_distUnif@routines.inc.F90"
    4328             :     end procedure
    4329             : #endif
    4330             : 
    4331             : #if SK4_ENABLED
    4332             :     module procedure getUnifRandRNGSLU_D3_SK4
    4333             :         use pm_kind, only: SKC => SK4
    4334             : #include "pm_distUnif@routines.inc.F90"
    4335             :     end procedure
    4336             : #endif
    4337             : 
    4338             : #if SK3_ENABLED
    4339             :     module procedure getUnifRandRNGSLU_D3_SK3
    4340             :         use pm_kind, only: SKC => SK3
    4341             : #include "pm_distUnif@routines.inc.F90"
    4342             :     end procedure
    4343             : #endif
    4344             : 
    4345             : #if SK2_ENABLED
    4346             :     module procedure getUnifRandRNGSLU_D3_SK2
    4347             :         use pm_kind, only: SKC => SK2
    4348             : #include "pm_distUnif@routines.inc.F90"
    4349             :     end procedure
    4350             : #endif
    4351             : 
    4352             : #if SK1_ENABLED
    4353           0 :     module procedure getUnifRandRNGSLU_D3_SK1
    4354             :         use pm_kind, only: SKC => SK1
    4355             : #include "pm_distUnif@routines.inc.F90"
    4356           0 :     end procedure
    4357             : #endif
    4358             : 
    4359             : #undef SK_ENABLED
    4360             : 
    4361             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4362             : 
    4363             : #define IK_ENABLED 1
    4364             : 
    4365             : #if IK5_ENABLED
    4366           0 :     module procedure getUnifRandRNGSLU_D3_IK5
    4367             :         use pm_kind, only: IKC => IK5
    4368             : #include "pm_distUnif@routines.inc.F90"
    4369           0 :     end procedure
    4370             : #endif
    4371             : 
    4372             : #if IK4_ENABLED
    4373           0 :     module procedure getUnifRandRNGSLU_D3_IK4
    4374             :         use pm_kind, only: IKC => IK4
    4375             : #include "pm_distUnif@routines.inc.F90"
    4376           0 :     end procedure
    4377             : #endif
    4378             : 
    4379             : #if IK3_ENABLED
    4380           0 :     module procedure getUnifRandRNGSLU_D3_IK3
    4381             :         use pm_kind, only: IKC => IK3
    4382             : #include "pm_distUnif@routines.inc.F90"
    4383           0 :     end procedure
    4384             : #endif
    4385             : 
    4386             : #if IK2_ENABLED
    4387           0 :     module procedure getUnifRandRNGSLU_D3_IK2
    4388             :         use pm_kind, only: IKC => IK2
    4389             : #include "pm_distUnif@routines.inc.F90"
    4390           0 :     end procedure
    4391             : #endif
    4392             : 
    4393             : #if IK1_ENABLED
    4394           0 :     module procedure getUnifRandRNGSLU_D3_IK1
    4395             :         use pm_kind, only: IKC => IK1
    4396             : #include "pm_distUnif@routines.inc.F90"
    4397           0 :     end procedure
    4398             : #endif
    4399             : 
    4400             : #undef IK_ENABLED
    4401             : 
    4402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4403             : 
    4404             : #define LK_ENABLED 1
    4405             : 
    4406             : #if LK5_ENABLED
    4407           0 :     module procedure getUnifRandRNGSLU_D3_LK5
    4408             :         use pm_kind, only: LKC => LK5
    4409             : #include "pm_distUnif@routines.inc.F90"
    4410           0 :     end procedure
    4411             : #endif
    4412             : 
    4413             : #if LK4_ENABLED
    4414           0 :     module procedure getUnifRandRNGSLU_D3_LK4
    4415             :         use pm_kind, only: LKC => LK4
    4416             : #include "pm_distUnif@routines.inc.F90"
    4417           0 :     end procedure
    4418             : #endif
    4419             : 
    4420             : #if LK3_ENABLED
    4421           0 :     module procedure getUnifRandRNGSLU_D3_LK3
    4422             :         use pm_kind, only: LKC => LK3
    4423             : #include "pm_distUnif@routines.inc.F90"
    4424           0 :     end procedure
    4425             : #endif
    4426             : 
    4427             : #if LK2_ENABLED
    4428           0 :     module procedure getUnifRandRNGSLU_D3_LK2
    4429             :         use pm_kind, only: LKC => LK2
    4430             : #include "pm_distUnif@routines.inc.F90"
    4431           0 :     end procedure
    4432             : #endif
    4433             : 
    4434             : #if LK1_ENABLED
    4435           0 :     module procedure getUnifRandRNGSLU_D3_LK1
    4436             :         use pm_kind, only: LKC => LK1
    4437             : #include "pm_distUnif@routines.inc.F90"
    4438           0 :     end procedure
    4439             : #endif
    4440             : 
    4441             : #undef LK_ENABLED
    4442             : 
    4443             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4444             : 
    4445             : #define CK_ENABLED 1
    4446             : 
    4447             : #if CK5_ENABLED
    4448             :     module procedure getUnifRandRNGSLU_D3_CK5
    4449             :         use pm_kind, only: CKC => CK5
    4450             : #include "pm_distUnif@routines.inc.F90"
    4451             :     end procedure
    4452             : #endif
    4453             : 
    4454             : #if CK4_ENABLED
    4455           0 :     module procedure getUnifRandRNGSLU_D3_CK4
    4456             :         use pm_kind, only: CKC => CK4
    4457             : #include "pm_distUnif@routines.inc.F90"
    4458           0 :     end procedure
    4459             : #endif
    4460             : 
    4461             : #if CK3_ENABLED
    4462           0 :     module procedure getUnifRandRNGSLU_D3_CK3
    4463             :         use pm_kind, only: CKC => CK3
    4464             : #include "pm_distUnif@routines.inc.F90"
    4465           0 :     end procedure
    4466             : #endif
    4467             : 
    4468             : #if CK2_ENABLED
    4469           0 :     module procedure getUnifRandRNGSLU_D3_CK2
    4470             :         use pm_kind, only: CKC => CK2
    4471             : #include "pm_distUnif@routines.inc.F90"
    4472           0 :     end procedure
    4473             : #endif
    4474             : 
    4475             : #if CK1_ENABLED
    4476           0 :     module procedure getUnifRandRNGSLU_D3_CK1
    4477             :         use pm_kind, only: CKC => CK1
    4478             : #include "pm_distUnif@routines.inc.F90"
    4479           0 :     end procedure
    4480             : #endif
    4481             : 
    4482             : #undef CK_ENABLED
    4483             : 
    4484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4485             : 
    4486             : #define RK_ENABLED 1
    4487             : 
    4488             : #if RK5_ENABLED
    4489             :     module procedure getUnifRandRNGSLU_D3_RK5
    4490             :         use pm_kind, only: RKC => RK5
    4491             : #include "pm_distUnif@routines.inc.F90"
    4492             :     end procedure
    4493             : #endif
    4494             : 
    4495             : #if RK4_ENABLED
    4496           0 :     module procedure getUnifRandRNGSLU_D3_RK4
    4497             :         use pm_kind, only: RKC => RK4
    4498             : #include "pm_distUnif@routines.inc.F90"
    4499           0 :     end procedure
    4500             : #endif
    4501             : 
    4502             : #if RK3_ENABLED
    4503           0 :     module procedure getUnifRandRNGSLU_D3_RK3
    4504             :         use pm_kind, only: RKC => RK3
    4505             : #include "pm_distUnif@routines.inc.F90"
    4506           0 :     end procedure
    4507             : #endif
    4508             : 
    4509             : #if RK2_ENABLED
    4510           0 :     module procedure getUnifRandRNGSLU_D3_RK2
    4511             :         use pm_kind, only: RKC => RK2
    4512             : #include "pm_distUnif@routines.inc.F90"
    4513           0 :     end procedure
    4514             : #endif
    4515             : 
    4516             : #if RK1_ENABLED
    4517           0 :     module procedure getUnifRandRNGSLU_D3_RK1
    4518             :         use pm_kind, only: RKC => RK1
    4519             : #include "pm_distUnif@routines.inc.F90"
    4520           0 :     end procedure
    4521             : #endif
    4522             : 
    4523             : #undef RK_ENABLED
    4524             : 
    4525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4526             : 
    4527             : #undef D3_ENABLED
    4528             : 
    4529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4532             : 
    4533             : #undef LU_ENABLED
    4534             : 
    4535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4538             : 
    4539             : #undef SM64_ENABLED
    4540             : 
    4541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4544             : 
    4545             : #define X256SSG_ENABLED 1
    4546             : 
    4547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4550             : 
    4551             : #define DD_ENABLED 1
    4552             : 
    4553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4556             : 
    4557             : #define D0_ENABLED 1
    4558             : 
    4559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4560             : 
    4561             : #define LK_ENABLED 1
    4562           0 :     module procedure getUnifRandRNGGDD_D0_LK
    4563             :         use pm_kind, only: LKC => LK
    4564             : #include "pm_distUnif@routines.inc.F90"
    4565           0 :     end procedure
    4566             : #undef LK_ENABLED
    4567             : 
    4568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4569             : 
    4570             : #undef D0_ENABLED
    4571             : 
    4572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4573             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4575             : 
    4576             : #undef DD_ENABLED
    4577             : 
    4578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4581             : 
    4582             : #define LU_ENABLED 1
    4583             : 
    4584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4587             : 
    4588             : #define D0_ENABLED 1
    4589             : 
    4590             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4592             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4593             : 
    4594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4595             : 
    4596             : #define SK_ENABLED 1
    4597             : 
    4598             : #if SK5_ENABLED
    4599             :     module procedure getUnifRandRNGGLU_D0_SK5
    4600             :         use pm_kind, only: SKC => SK5
    4601             : #include "pm_distUnif@routines.inc.F90"
    4602             :     end procedure
    4603             : #endif
    4604             : 
    4605             : #if SK4_ENABLED
    4606             :     module procedure getUnifRandRNGGLU_D0_SK4
    4607             :         use pm_kind, only: SKC => SK4
    4608             : #include "pm_distUnif@routines.inc.F90"
    4609             :     end procedure
    4610             : #endif
    4611             : 
    4612             : #if SK3_ENABLED
    4613             :     module procedure getUnifRandRNGGLU_D0_SK3
    4614             :         use pm_kind, only: SKC => SK3
    4615             : #include "pm_distUnif@routines.inc.F90"
    4616             :     end procedure
    4617             : #endif
    4618             : 
    4619             : #if SK2_ENABLED
    4620             :     module procedure getUnifRandRNGGLU_D0_SK2
    4621             :         use pm_kind, only: SKC => SK2
    4622             : #include "pm_distUnif@routines.inc.F90"
    4623             :     end procedure
    4624             : #endif
    4625             : 
    4626             : #if SK1_ENABLED
    4627           5 :     module procedure getUnifRandRNGGLU_D0_SK1
    4628             :         use pm_kind, only: SKC => SK1
    4629             : #include "pm_distUnif@routines.inc.F90"
    4630           5 :     end procedure
    4631             : #endif
    4632             : 
    4633             : #undef SK_ENABLED
    4634             : 
    4635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4636             : 
    4637             : #define IK_ENABLED 1
    4638             : 
    4639             : #if IK5_ENABLED
    4640           0 :     module procedure getUnifRandRNGGLU_D0_IK5
    4641             :         use pm_kind, only: IKC => IK5
    4642             : #include "pm_distUnif@routines.inc.F90"
    4643           0 :     end procedure
    4644             : #endif
    4645             : 
    4646             : #if IK4_ENABLED
    4647           0 :     module procedure getUnifRandRNGGLU_D0_IK4
    4648             :         use pm_kind, only: IKC => IK4
    4649             : #include "pm_distUnif@routines.inc.F90"
    4650           0 :     end procedure
    4651             : #endif
    4652             : 
    4653             : #if IK3_ENABLED
    4654          10 :     module procedure getUnifRandRNGGLU_D0_IK3
    4655             :         use pm_kind, only: IKC => IK3
    4656             : #include "pm_distUnif@routines.inc.F90"
    4657          10 :     end procedure
    4658             : #endif
    4659             : 
    4660             : #if IK2_ENABLED
    4661           0 :     module procedure getUnifRandRNGGLU_D0_IK2
    4662             :         use pm_kind, only: IKC => IK2
    4663             : #include "pm_distUnif@routines.inc.F90"
    4664           0 :     end procedure
    4665             : #endif
    4666             : 
    4667             : #if IK1_ENABLED
    4668           5 :     module procedure getUnifRandRNGGLU_D0_IK1
    4669             :         use pm_kind, only: IKC => IK1
    4670             : #include "pm_distUnif@routines.inc.F90"
    4671           5 :     end procedure
    4672             : #endif
    4673             : 
    4674             : #undef IK_ENABLED
    4675             : 
    4676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4677             : 
    4678             : #define LK_ENABLED 1
    4679             : 
    4680             : #if LK5_ENABLED
    4681           0 :     module procedure getUnifRandRNGGLU_D0_LK5
    4682             :         use pm_kind, only: LKC => LK5
    4683             : #include "pm_distUnif@routines.inc.F90"
    4684           0 :     end procedure
    4685             : #endif
    4686             : 
    4687             : #if LK4_ENABLED
    4688           0 :     module procedure getUnifRandRNGGLU_D0_LK4
    4689             :         use pm_kind, only: LKC => LK4
    4690             : #include "pm_distUnif@routines.inc.F90"
    4691           0 :     end procedure
    4692             : #endif
    4693             : 
    4694             : #if LK3_ENABLED
    4695          10 :     module procedure getUnifRandRNGGLU_D0_LK3
    4696             :         use pm_kind, only: LKC => LK3
    4697             : #include "pm_distUnif@routines.inc.F90"
    4698          10 :     end procedure
    4699             : #endif
    4700             : 
    4701             : #if LK2_ENABLED
    4702           0 :     module procedure getUnifRandRNGGLU_D0_LK2
    4703             :         use pm_kind, only: LKC => LK2
    4704             : #include "pm_distUnif@routines.inc.F90"
    4705           0 :     end procedure
    4706             : #endif
    4707             : 
    4708             : #if LK1_ENABLED
    4709           0 :     module procedure getUnifRandRNGGLU_D0_LK1
    4710             :         use pm_kind, only: LKC => LK1
    4711             : #include "pm_distUnif@routines.inc.F90"
    4712           0 :     end procedure
    4713             : #endif
    4714             : 
    4715             : #undef LK_ENABLED
    4716             : 
    4717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4718             : 
    4719             : #define CK_ENABLED 1
    4720             : 
    4721             : #if CK5_ENABLED
    4722             :     module procedure getUnifRandRNGGLU_D0_CK5
    4723             :         use pm_kind, only: CKC => CK5
    4724             : #include "pm_distUnif@routines.inc.F90"
    4725             :     end procedure
    4726             : #endif
    4727             : 
    4728             : #if CK4_ENABLED
    4729           0 :     module procedure getUnifRandRNGGLU_D0_CK4
    4730             :         use pm_kind, only: CKC => CK4
    4731             : #include "pm_distUnif@routines.inc.F90"
    4732           0 :     end procedure
    4733             : #endif
    4734             : 
    4735             : #if CK3_ENABLED
    4736           0 :     module procedure getUnifRandRNGGLU_D0_CK3
    4737             :         use pm_kind, only: CKC => CK3
    4738             : #include "pm_distUnif@routines.inc.F90"
    4739           0 :     end procedure
    4740             : #endif
    4741             : 
    4742             : #if CK2_ENABLED
    4743           0 :     module procedure getUnifRandRNGGLU_D0_CK2
    4744             :         use pm_kind, only: CKC => CK2
    4745             : #include "pm_distUnif@routines.inc.F90"
    4746           0 :     end procedure
    4747             : #endif
    4748             : 
    4749             : #if CK1_ENABLED
    4750           5 :     module procedure getUnifRandRNGGLU_D0_CK1
    4751             :         use pm_kind, only: CKC => CK1
    4752             : #include "pm_distUnif@routines.inc.F90"
    4753           5 :     end procedure
    4754             : #endif
    4755             : 
    4756             : #undef CK_ENABLED
    4757             : 
    4758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4759             : 
    4760             : #define RK_ENABLED 1
    4761             : 
    4762             : #if RK5_ENABLED
    4763             :     module procedure getUnifRandRNGGLU_D0_RK5
    4764             :         use pm_kind, only: RKC => RK5
    4765             : #include "pm_distUnif@routines.inc.F90"
    4766             :     end procedure
    4767             : #endif
    4768             : 
    4769             : #if RK4_ENABLED
    4770           0 :     module procedure getUnifRandRNGGLU_D0_RK4
    4771             :         use pm_kind, only: RKC => RK4
    4772             : #include "pm_distUnif@routines.inc.F90"
    4773           0 :     end procedure
    4774             : #endif
    4775             : 
    4776             : #if RK3_ENABLED
    4777           0 :     module procedure getUnifRandRNGGLU_D0_RK3
    4778             :         use pm_kind, only: RKC => RK3
    4779             : #include "pm_distUnif@routines.inc.F90"
    4780           0 :     end procedure
    4781             : #endif
    4782             : 
    4783             : #if RK2_ENABLED
    4784           0 :     module procedure getUnifRandRNGGLU_D0_RK2
    4785             :         use pm_kind, only: RKC => RK2
    4786             : #include "pm_distUnif@routines.inc.F90"
    4787           0 :     end procedure
    4788             : #endif
    4789             : 
    4790             : #if RK1_ENABLED
    4791           5 :     module procedure getUnifRandRNGGLU_D0_RK1
    4792             :         use pm_kind, only: RKC => RK1
    4793             : #include "pm_distUnif@routines.inc.F90"
    4794           5 :     end procedure
    4795             : #endif
    4796             : 
    4797             : #undef RK_ENABLED
    4798             : 
    4799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4800             : 
    4801             : #undef D0_ENABLED
    4802             : 
    4803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4806             : 
    4807             : #define D1_ENABLED 1
    4808             : 
    4809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4810             : 
    4811             : #define SK_ENABLED 1
    4812             : 
    4813             : #if SK5_ENABLED
    4814             :     module procedure getUnifRandRNGGLU_D1_SK5
    4815             :         use pm_kind, only: SKC => SK5
    4816             : #include "pm_distUnif@routines.inc.F90"
    4817             :     end procedure
    4818             : #endif
    4819             : 
    4820             : #if SK4_ENABLED
    4821             :     module procedure getUnifRandRNGGLU_D1_SK4
    4822             :         use pm_kind, only: SKC => SK4
    4823             : #include "pm_distUnif@routines.inc.F90"
    4824             :     end procedure
    4825             : #endif
    4826             : 
    4827             : #if SK3_ENABLED
    4828             :     module procedure getUnifRandRNGGLU_D1_SK3
    4829             :         use pm_kind, only: SKC => SK3
    4830             : #include "pm_distUnif@routines.inc.F90"
    4831             :     end procedure
    4832             : #endif
    4833             : 
    4834             : #if SK2_ENABLED
    4835             :     module procedure getUnifRandRNGGLU_D1_SK2
    4836             :         use pm_kind, only: SKC => SK2
    4837             : #include "pm_distUnif@routines.inc.F90"
    4838             :     end procedure
    4839             : #endif
    4840             : 
    4841             : #if SK1_ENABLED
    4842           0 :     module procedure getUnifRandRNGGLU_D1_SK1
    4843             :         use pm_kind, only: SKC => SK1
    4844             : #include "pm_distUnif@routines.inc.F90"
    4845           0 :     end procedure
    4846             : #endif
    4847             : 
    4848             : #undef SK_ENABLED
    4849             : 
    4850             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4851             : 
    4852             : #define IK_ENABLED 1
    4853             : 
    4854             : #if IK5_ENABLED
    4855           0 :     module procedure getUnifRandRNGGLU_D1_IK5
    4856             :         use pm_kind, only: IKC => IK5
    4857             : #include "pm_distUnif@routines.inc.F90"
    4858           0 :     end procedure
    4859             : #endif
    4860             : 
    4861             : #if IK4_ENABLED
    4862           0 :     module procedure getUnifRandRNGGLU_D1_IK4
    4863             :         use pm_kind, only: IKC => IK4
    4864             : #include "pm_distUnif@routines.inc.F90"
    4865           0 :     end procedure
    4866             : #endif
    4867             : 
    4868             : #if IK3_ENABLED
    4869           0 :     module procedure getUnifRandRNGGLU_D1_IK3
    4870             :         use pm_kind, only: IKC => IK3
    4871             : #include "pm_distUnif@routines.inc.F90"
    4872           0 :     end procedure
    4873             : #endif
    4874             : 
    4875             : #if IK2_ENABLED
    4876           0 :     module procedure getUnifRandRNGGLU_D1_IK2
    4877             :         use pm_kind, only: IKC => IK2
    4878             : #include "pm_distUnif@routines.inc.F90"
    4879           0 :     end procedure
    4880             : #endif
    4881             : 
    4882             : #if IK1_ENABLED
    4883           0 :     module procedure getUnifRandRNGGLU_D1_IK1
    4884             :         use pm_kind, only: IKC => IK1
    4885             : #include "pm_distUnif@routines.inc.F90"
    4886           0 :     end procedure
    4887             : #endif
    4888             : 
    4889             : #undef IK_ENABLED
    4890             : 
    4891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4892             : 
    4893             : #define LK_ENABLED 1
    4894             : 
    4895             : #if LK5_ENABLED
    4896           0 :     module procedure getUnifRandRNGGLU_D1_LK5
    4897             :         use pm_kind, only: LKC => LK5
    4898             : #include "pm_distUnif@routines.inc.F90"
    4899           0 :     end procedure
    4900             : #endif
    4901             : 
    4902             : #if LK4_ENABLED
    4903           0 :     module procedure getUnifRandRNGGLU_D1_LK4
    4904             :         use pm_kind, only: LKC => LK4
    4905             : #include "pm_distUnif@routines.inc.F90"
    4906           0 :     end procedure
    4907             : #endif
    4908             : 
    4909             : #if LK3_ENABLED
    4910           0 :     module procedure getUnifRandRNGGLU_D1_LK3
    4911             :         use pm_kind, only: LKC => LK3
    4912             : #include "pm_distUnif@routines.inc.F90"
    4913           0 :     end procedure
    4914             : #endif
    4915             : 
    4916             : #if LK2_ENABLED
    4917           0 :     module procedure getUnifRandRNGGLU_D1_LK2
    4918             :         use pm_kind, only: LKC => LK2
    4919             : #include "pm_distUnif@routines.inc.F90"
    4920           0 :     end procedure
    4921             : #endif
    4922             : 
    4923             : #if LK1_ENABLED
    4924           0 :     module procedure getUnifRandRNGGLU_D1_LK1
    4925             :         use pm_kind, only: LKC => LK1
    4926             : #include "pm_distUnif@routines.inc.F90"
    4927           0 :     end procedure
    4928             : #endif
    4929             : 
    4930             : #undef LK_ENABLED
    4931             : 
    4932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4933             : 
    4934             : #define CK_ENABLED 1
    4935             : 
    4936             : #if CK5_ENABLED
    4937             :     module procedure getUnifRandRNGGLU_D1_CK5
    4938             :         use pm_kind, only: CKC => CK5
    4939             : #include "pm_distUnif@routines.inc.F90"
    4940             :     end procedure
    4941             : #endif
    4942             : 
    4943             : #if CK4_ENABLED
    4944           0 :     module procedure getUnifRandRNGGLU_D1_CK4
    4945             :         use pm_kind, only: CKC => CK4
    4946             : #include "pm_distUnif@routines.inc.F90"
    4947           0 :     end procedure
    4948             : #endif
    4949             : 
    4950             : #if CK3_ENABLED
    4951           0 :     module procedure getUnifRandRNGGLU_D1_CK3
    4952             :         use pm_kind, only: CKC => CK3
    4953             : #include "pm_distUnif@routines.inc.F90"
    4954           0 :     end procedure
    4955             : #endif
    4956             : 
    4957             : #if CK2_ENABLED
    4958           0 :     module procedure getUnifRandRNGGLU_D1_CK2
    4959             :         use pm_kind, only: CKC => CK2
    4960             : #include "pm_distUnif@routines.inc.F90"
    4961           0 :     end procedure
    4962             : #endif
    4963             : 
    4964             : #if CK1_ENABLED
    4965           0 :     module procedure getUnifRandRNGGLU_D1_CK1
    4966             :         use pm_kind, only: CKC => CK1
    4967             : #include "pm_distUnif@routines.inc.F90"
    4968           0 :     end procedure
    4969             : #endif
    4970             : 
    4971             : #undef CK_ENABLED
    4972             : 
    4973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4974             : 
    4975             : #define RK_ENABLED 1
    4976             : 
    4977             : #if RK5_ENABLED
    4978             :     module procedure getUnifRandRNGGLU_D1_RK5
    4979             :         use pm_kind, only: RKC => RK5
    4980             : #include "pm_distUnif@routines.inc.F90"
    4981             :     end procedure
    4982             : #endif
    4983             : 
    4984             : #if RK4_ENABLED
    4985           0 :     module procedure getUnifRandRNGGLU_D1_RK4
    4986             :         use pm_kind, only: RKC => RK4
    4987             : #include "pm_distUnif@routines.inc.F90"
    4988           0 :     end procedure
    4989             : #endif
    4990             : 
    4991             : #if RK3_ENABLED
    4992           0 :     module procedure getUnifRandRNGGLU_D1_RK3
    4993             :         use pm_kind, only: RKC => RK3
    4994             : #include "pm_distUnif@routines.inc.F90"
    4995           0 :     end procedure
    4996             : #endif
    4997             : 
    4998             : #if RK2_ENABLED
    4999           0 :     module procedure getUnifRandRNGGLU_D1_RK2
    5000             :         use pm_kind, only: RKC => RK2
    5001             : #include "pm_distUnif@routines.inc.F90"
    5002           0 :     end procedure
    5003             : #endif
    5004             : 
    5005             : #if RK1_ENABLED
    5006           0 :     module procedure getUnifRandRNGGLU_D1_RK1
    5007             :         use pm_kind, only: RKC => RK1
    5008             : #include "pm_distUnif@routines.inc.F90"
    5009           0 :     end procedure
    5010             : #endif
    5011             : 
    5012             : #undef RK_ENABLED
    5013             : 
    5014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5015             : 
    5016             : #undef D1_ENABLED
    5017             : 
    5018             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5019             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5020             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5021             : 
    5022             : #define D2_ENABLED 1
    5023             : 
    5024             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5025             : 
    5026             : #define SK_ENABLED 1
    5027             : 
    5028             : #if SK5_ENABLED
    5029             :     module procedure getUnifRandRNGGLU_D2_SK5
    5030             :         use pm_kind, only: SKC => SK5
    5031             : #include "pm_distUnif@routines.inc.F90"
    5032             :     end procedure
    5033             : #endif
    5034             : 
    5035             : #if SK4_ENABLED
    5036             :     module procedure getUnifRandRNGGLU_D2_SK4
    5037             :         use pm_kind, only: SKC => SK4
    5038             : #include "pm_distUnif@routines.inc.F90"
    5039             :     end procedure
    5040             : #endif
    5041             : 
    5042             : #if SK3_ENABLED
    5043             :     module procedure getUnifRandRNGGLU_D2_SK3
    5044             :         use pm_kind, only: SKC => SK3
    5045             : #include "pm_distUnif@routines.inc.F90"
    5046             :     end procedure
    5047             : #endif
    5048             : 
    5049             : #if SK2_ENABLED
    5050             :     module procedure getUnifRandRNGGLU_D2_SK2
    5051             :         use pm_kind, only: SKC => SK2
    5052             : #include "pm_distUnif@routines.inc.F90"
    5053             :     end procedure
    5054             : #endif
    5055             : 
    5056             : #if SK1_ENABLED
    5057           0 :     module procedure getUnifRandRNGGLU_D2_SK1
    5058             :         use pm_kind, only: SKC => SK1
    5059             : #include "pm_distUnif@routines.inc.F90"
    5060           0 :     end procedure
    5061             : #endif
    5062             : 
    5063             : #undef SK_ENABLED
    5064             : 
    5065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5066             : 
    5067             : #define IK_ENABLED 1
    5068             : 
    5069             : #if IK5_ENABLED
    5070           0 :     module procedure getUnifRandRNGGLU_D2_IK5
    5071             :         use pm_kind, only: IKC => IK5
    5072             : #include "pm_distUnif@routines.inc.F90"
    5073           0 :     end procedure
    5074             : #endif
    5075             : 
    5076             : #if IK4_ENABLED
    5077           0 :     module procedure getUnifRandRNGGLU_D2_IK4
    5078             :         use pm_kind, only: IKC => IK4
    5079             : #include "pm_distUnif@routines.inc.F90"
    5080           0 :     end procedure
    5081             : #endif
    5082             : 
    5083             : #if IK3_ENABLED
    5084           0 :     module procedure getUnifRandRNGGLU_D2_IK3
    5085             :         use pm_kind, only: IKC => IK3
    5086             : #include "pm_distUnif@routines.inc.F90"
    5087           0 :     end procedure
    5088             : #endif
    5089             : 
    5090             : #if IK2_ENABLED
    5091           0 :     module procedure getUnifRandRNGGLU_D2_IK2
    5092             :         use pm_kind, only: IKC => IK2
    5093             : #include "pm_distUnif@routines.inc.F90"
    5094           0 :     end procedure
    5095             : #endif
    5096             : 
    5097             : #if IK1_ENABLED
    5098           0 :     module procedure getUnifRandRNGGLU_D2_IK1
    5099             :         use pm_kind, only: IKC => IK1
    5100             : #include "pm_distUnif@routines.inc.F90"
    5101           0 :     end procedure
    5102             : #endif
    5103             : 
    5104             : #undef IK_ENABLED
    5105             : 
    5106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5107             : 
    5108             : #define LK_ENABLED 1
    5109             : 
    5110             : #if LK5_ENABLED
    5111           0 :     module procedure getUnifRandRNGGLU_D2_LK5
    5112             :         use pm_kind, only: LKC => LK5
    5113             : #include "pm_distUnif@routines.inc.F90"
    5114           0 :     end procedure
    5115             : #endif
    5116             : 
    5117             : #if LK4_ENABLED
    5118           0 :     module procedure getUnifRandRNGGLU_D2_LK4
    5119             :         use pm_kind, only: LKC => LK4
    5120             : #include "pm_distUnif@routines.inc.F90"
    5121           0 :     end procedure
    5122             : #endif
    5123             : 
    5124             : #if LK3_ENABLED
    5125           0 :     module procedure getUnifRandRNGGLU_D2_LK3
    5126             :         use pm_kind, only: LKC => LK3
    5127             : #include "pm_distUnif@routines.inc.F90"
    5128           0 :     end procedure
    5129             : #endif
    5130             : 
    5131             : #if LK2_ENABLED
    5132           0 :     module procedure getUnifRandRNGGLU_D2_LK2
    5133             :         use pm_kind, only: LKC => LK2
    5134             : #include "pm_distUnif@routines.inc.F90"
    5135           0 :     end procedure
    5136             : #endif
    5137             : 
    5138             : #if LK1_ENABLED
    5139           0 :     module procedure getUnifRandRNGGLU_D2_LK1
    5140             :         use pm_kind, only: LKC => LK1
    5141             : #include "pm_distUnif@routines.inc.F90"
    5142           0 :     end procedure
    5143             : #endif
    5144             : 
    5145             : #undef LK_ENABLED
    5146             : 
    5147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5148             : 
    5149             : #define CK_ENABLED 1
    5150             : 
    5151             : #if CK5_ENABLED
    5152             :     module procedure getUnifRandRNGGLU_D2_CK5
    5153             :         use pm_kind, only: CKC => CK5
    5154             : #include "pm_distUnif@routines.inc.F90"
    5155             :     end procedure
    5156             : #endif
    5157             : 
    5158             : #if CK4_ENABLED
    5159           0 :     module procedure getUnifRandRNGGLU_D2_CK4
    5160             :         use pm_kind, only: CKC => CK4
    5161             : #include "pm_distUnif@routines.inc.F90"
    5162           0 :     end procedure
    5163             : #endif
    5164             : 
    5165             : #if CK3_ENABLED
    5166           0 :     module procedure getUnifRandRNGGLU_D2_CK3
    5167             :         use pm_kind, only: CKC => CK3
    5168             : #include "pm_distUnif@routines.inc.F90"
    5169           0 :     end procedure
    5170             : #endif
    5171             : 
    5172             : #if CK2_ENABLED
    5173           0 :     module procedure getUnifRandRNGGLU_D2_CK2
    5174             :         use pm_kind, only: CKC => CK2
    5175             : #include "pm_distUnif@routines.inc.F90"
    5176           0 :     end procedure
    5177             : #endif
    5178             : 
    5179             : #if CK1_ENABLED
    5180           0 :     module procedure getUnifRandRNGGLU_D2_CK1
    5181             :         use pm_kind, only: CKC => CK1
    5182             : #include "pm_distUnif@routines.inc.F90"
    5183           0 :     end procedure
    5184             : #endif
    5185             : 
    5186             : #undef CK_ENABLED
    5187             : 
    5188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5189             : 
    5190             : #define RK_ENABLED 1
    5191             : 
    5192             : #if RK5_ENABLED
    5193             :     module procedure getUnifRandRNGGLU_D2_RK5
    5194             :         use pm_kind, only: RKC => RK5
    5195             : #include "pm_distUnif@routines.inc.F90"
    5196             :     end procedure
    5197             : #endif
    5198             : 
    5199             : #if RK4_ENABLED
    5200           0 :     module procedure getUnifRandRNGGLU_D2_RK4
    5201             :         use pm_kind, only: RKC => RK4
    5202             : #include "pm_distUnif@routines.inc.F90"
    5203           0 :     end procedure
    5204             : #endif
    5205             : 
    5206             : #if RK3_ENABLED
    5207           0 :     module procedure getUnifRandRNGGLU_D2_RK3
    5208             :         use pm_kind, only: RKC => RK3
    5209             : #include "pm_distUnif@routines.inc.F90"
    5210           0 :     end procedure
    5211             : #endif
    5212             : 
    5213             : #if RK2_ENABLED
    5214           0 :     module procedure getUnifRandRNGGLU_D2_RK2
    5215             :         use pm_kind, only: RKC => RK2
    5216             : #include "pm_distUnif@routines.inc.F90"
    5217           0 :     end procedure
    5218             : #endif
    5219             : 
    5220             : #if RK1_ENABLED
    5221           0 :     module procedure getUnifRandRNGGLU_D2_RK1
    5222             :         use pm_kind, only: RKC => RK1
    5223             : #include "pm_distUnif@routines.inc.F90"
    5224           0 :     end procedure
    5225             : #endif
    5226             : 
    5227             : #undef RK_ENABLED
    5228             : 
    5229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5230             : 
    5231             : #undef D2_ENABLED
    5232             : 
    5233             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5236             : 
    5237             : #define D3_ENABLED 1
    5238             : 
    5239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5240             : 
    5241             : #define SK_ENABLED 1
    5242             : 
    5243             : #if SK5_ENABLED
    5244             :     module procedure getUnifRandRNGGLU_D3_SK5
    5245             :         use pm_kind, only: SKC => SK5
    5246             : #include "pm_distUnif@routines.inc.F90"
    5247             :     end procedure
    5248             : #endif
    5249             : 
    5250             : #if SK4_ENABLED
    5251             :     module procedure getUnifRandRNGGLU_D3_SK4
    5252             :         use pm_kind, only: SKC => SK4
    5253             : #include "pm_distUnif@routines.inc.F90"
    5254             :     end procedure
    5255             : #endif
    5256             : 
    5257             : #if SK3_ENABLED
    5258             :     module procedure getUnifRandRNGGLU_D3_SK3
    5259             :         use pm_kind, only: SKC => SK3
    5260             : #include "pm_distUnif@routines.inc.F90"
    5261             :     end procedure
    5262             : #endif
    5263             : 
    5264             : #if SK2_ENABLED
    5265             :     module procedure getUnifRandRNGGLU_D3_SK2
    5266             :         use pm_kind, only: SKC => SK2
    5267             : #include "pm_distUnif@routines.inc.F90"
    5268             :     end procedure
    5269             : #endif
    5270             : 
    5271             : #if SK1_ENABLED
    5272           0 :     module procedure getUnifRandRNGGLU_D3_SK1
    5273             :         use pm_kind, only: SKC => SK1
    5274             : #include "pm_distUnif@routines.inc.F90"
    5275           0 :     end procedure
    5276             : #endif
    5277             : 
    5278             : #undef SK_ENABLED
    5279             : 
    5280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5281             : 
    5282             : #define IK_ENABLED 1
    5283             : 
    5284             : #if IK5_ENABLED
    5285           0 :     module procedure getUnifRandRNGGLU_D3_IK5
    5286             :         use pm_kind, only: IKC => IK5
    5287             : #include "pm_distUnif@routines.inc.F90"
    5288           0 :     end procedure
    5289             : #endif
    5290             : 
    5291             : #if IK4_ENABLED
    5292           0 :     module procedure getUnifRandRNGGLU_D3_IK4
    5293             :         use pm_kind, only: IKC => IK4
    5294             : #include "pm_distUnif@routines.inc.F90"
    5295           0 :     end procedure
    5296             : #endif
    5297             : 
    5298             : #if IK3_ENABLED
    5299           0 :     module procedure getUnifRandRNGGLU_D3_IK3
    5300             :         use pm_kind, only: IKC => IK3
    5301             : #include "pm_distUnif@routines.inc.F90"
    5302           0 :     end procedure
    5303             : #endif
    5304             : 
    5305             : #if IK2_ENABLED
    5306           0 :     module procedure getUnifRandRNGGLU_D3_IK2
    5307             :         use pm_kind, only: IKC => IK2
    5308             : #include "pm_distUnif@routines.inc.F90"
    5309           0 :     end procedure
    5310             : #endif
    5311             : 
    5312             : #if IK1_ENABLED
    5313           0 :     module procedure getUnifRandRNGGLU_D3_IK1
    5314             :         use pm_kind, only: IKC => IK1
    5315             : #include "pm_distUnif@routines.inc.F90"
    5316           0 :     end procedure
    5317             : #endif
    5318             : 
    5319             : #undef IK_ENABLED
    5320             : 
    5321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5322             : 
    5323             : #define LK_ENABLED 1
    5324             : 
    5325             : #if LK5_ENABLED
    5326           0 :     module procedure getUnifRandRNGGLU_D3_LK5
    5327             :         use pm_kind, only: LKC => LK5
    5328             : #include "pm_distUnif@routines.inc.F90"
    5329           0 :     end procedure
    5330             : #endif
    5331             : 
    5332             : #if LK4_ENABLED
    5333           0 :     module procedure getUnifRandRNGGLU_D3_LK4
    5334             :         use pm_kind, only: LKC => LK4
    5335             : #include "pm_distUnif@routines.inc.F90"
    5336           0 :     end procedure
    5337             : #endif
    5338             : 
    5339             : #if LK3_ENABLED
    5340           0 :     module procedure getUnifRandRNGGLU_D3_LK3
    5341             :         use pm_kind, only: LKC => LK3
    5342             : #include "pm_distUnif@routines.inc.F90"
    5343           0 :     end procedure
    5344             : #endif
    5345             : 
    5346             : #if LK2_ENABLED
    5347           0 :     module procedure getUnifRandRNGGLU_D3_LK2
    5348             :         use pm_kind, only: LKC => LK2
    5349             : #include "pm_distUnif@routines.inc.F90"
    5350           0 :     end procedure
    5351             : #endif
    5352             : 
    5353             : #if LK1_ENABLED
    5354           0 :     module procedure getUnifRandRNGGLU_D3_LK1
    5355             :         use pm_kind, only: LKC => LK1
    5356             : #include "pm_distUnif@routines.inc.F90"
    5357           0 :     end procedure
    5358             : #endif
    5359             : 
    5360             : #undef LK_ENABLED
    5361             : 
    5362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5363             : 
    5364             : #define CK_ENABLED 1
    5365             : 
    5366             : #if CK5_ENABLED
    5367             :     module procedure getUnifRandRNGGLU_D3_CK5
    5368             :         use pm_kind, only: CKC => CK5
    5369             : #include "pm_distUnif@routines.inc.F90"
    5370             :     end procedure
    5371             : #endif
    5372             : 
    5373             : #if CK4_ENABLED
    5374           0 :     module procedure getUnifRandRNGGLU_D3_CK4
    5375             :         use pm_kind, only: CKC => CK4
    5376             : #include "pm_distUnif@routines.inc.F90"
    5377           0 :     end procedure
    5378             : #endif
    5379             : 
    5380             : #if CK3_ENABLED
    5381           0 :     module procedure getUnifRandRNGGLU_D3_CK3
    5382             :         use pm_kind, only: CKC => CK3
    5383             : #include "pm_distUnif@routines.inc.F90"
    5384           0 :     end procedure
    5385             : #endif
    5386             : 
    5387             : #if CK2_ENABLED
    5388           0 :     module procedure getUnifRandRNGGLU_D3_CK2
    5389             :         use pm_kind, only: CKC => CK2
    5390             : #include "pm_distUnif@routines.inc.F90"
    5391           0 :     end procedure
    5392             : #endif
    5393             : 
    5394             : #if CK1_ENABLED
    5395           0 :     module procedure getUnifRandRNGGLU_D3_CK1
    5396             :         use pm_kind, only: CKC => CK1
    5397             : #include "pm_distUnif@routines.inc.F90"
    5398           0 :     end procedure
    5399             : #endif
    5400             : 
    5401             : #undef CK_ENABLED
    5402             : 
    5403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5404             : 
    5405             : #define RK_ENABLED 1
    5406             : 
    5407             : #if RK5_ENABLED
    5408             :     module procedure getUnifRandRNGGLU_D3_RK5
    5409             :         use pm_kind, only: RKC => RK5
    5410             : #include "pm_distUnif@routines.inc.F90"
    5411             :     end procedure
    5412             : #endif
    5413             : 
    5414             : #if RK4_ENABLED
    5415           0 :     module procedure getUnifRandRNGGLU_D3_RK4
    5416             :         use pm_kind, only: RKC => RK4
    5417             : #include "pm_distUnif@routines.inc.F90"
    5418           0 :     end procedure
    5419             : #endif
    5420             : 
    5421             : #if RK3_ENABLED
    5422           0 :     module procedure getUnifRandRNGGLU_D3_RK3
    5423             :         use pm_kind, only: RKC => RK3
    5424             : #include "pm_distUnif@routines.inc.F90"
    5425           0 :     end procedure
    5426             : #endif
    5427             : 
    5428             : #if RK2_ENABLED
    5429           0 :     module procedure getUnifRandRNGGLU_D3_RK2
    5430             :         use pm_kind, only: RKC => RK2
    5431             : #include "pm_distUnif@routines.inc.F90"
    5432           0 :     end procedure
    5433             : #endif
    5434             : 
    5435             : #if RK1_ENABLED
    5436           0 :     module procedure getUnifRandRNGGLU_D3_RK1
    5437             :         use pm_kind, only: RKC => RK1
    5438             : #include "pm_distUnif@routines.inc.F90"
    5439           0 :     end procedure
    5440             : #endif
    5441             : 
    5442             : #undef RK_ENABLED
    5443             : 
    5444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5445             : 
    5446             : #undef D3_ENABLED
    5447             : 
    5448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5451             : 
    5452             : #undef LU_ENABLED
    5453             : 
    5454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5457             : 
    5458             : #undef X256SSG_ENABLED
    5459             : 
    5460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5463             : 
    5464             : #define X256SSW_ENABLED 1
    5465             : 
    5466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5469             : 
    5470             : #define DD_ENABLED 1
    5471             : 
    5472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5473             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5474             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5475             : 
    5476             : #define D0_ENABLED 1
    5477             : 
    5478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5479             : 
    5480             : #define LK_ENABLED 1
    5481           0 :     module procedure getUnifRandRNGXDD_D0_LK
    5482             :         use pm_kind, only: LKC => LK
    5483             : #include "pm_distUnif@routines.inc.F90"
    5484           0 :     end procedure
    5485             : #undef LK_ENABLED
    5486             : 
    5487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5488             : 
    5489             : #undef D0_ENABLED
    5490             : 
    5491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5493             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5494             : 
    5495             : #undef DD_ENABLED
    5496             : 
    5497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5499             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5500             : 
    5501             : #define LU_ENABLED 1
    5502             : 
    5503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5506             : 
    5507             : #define D0_ENABLED 1
    5508             : 
    5509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5510             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5512             : 
    5513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5514             : 
    5515             : #define SK_ENABLED 1
    5516             : 
    5517             : #if SK5_ENABLED
    5518             :     module procedure getUnifRandRNGXLU_D0_SK5
    5519             :         use pm_kind, only: SKC => SK5
    5520             : #include "pm_distUnif@routines.inc.F90"
    5521             :     end procedure
    5522             : #endif
    5523             : 
    5524             : #if SK4_ENABLED
    5525             :     module procedure getUnifRandRNGXLU_D0_SK4
    5526             :         use pm_kind, only: SKC => SK4
    5527             : #include "pm_distUnif@routines.inc.F90"
    5528             :     end procedure
    5529             : #endif
    5530             : 
    5531             : #if SK3_ENABLED
    5532             :     module procedure getUnifRandRNGXLU_D0_SK3
    5533             :         use pm_kind, only: SKC => SK3
    5534             : #include "pm_distUnif@routines.inc.F90"
    5535             :     end procedure
    5536             : #endif
    5537             : 
    5538             : #if SK2_ENABLED
    5539             :     module procedure getUnifRandRNGXLU_D0_SK2
    5540             :         use pm_kind, only: SKC => SK2
    5541             : #include "pm_distUnif@routines.inc.F90"
    5542             :     end procedure
    5543             : #endif
    5544             : 
    5545             : #if SK1_ENABLED
    5546           5 :     module procedure getUnifRandRNGXLU_D0_SK1
    5547             :         use pm_kind, only: SKC => SK1
    5548             : #include "pm_distUnif@routines.inc.F90"
    5549           5 :     end procedure
    5550             : #endif
    5551             : 
    5552             : #undef SK_ENABLED
    5553             : 
    5554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5555             : 
    5556             : #define IK_ENABLED 1
    5557             : 
    5558             : #if IK5_ENABLED
    5559           0 :     module procedure getUnifRandRNGXLU_D0_IK5
    5560             :         use pm_kind, only: IKC => IK5
    5561             : #include "pm_distUnif@routines.inc.F90"
    5562           0 :     end procedure
    5563             : #endif
    5564             : 
    5565             : #if IK4_ENABLED
    5566           0 :     module procedure getUnifRandRNGXLU_D0_IK4
    5567             :         use pm_kind, only: IKC => IK4
    5568             : #include "pm_distUnif@routines.inc.F90"
    5569           0 :     end procedure
    5570             : #endif
    5571             : 
    5572             : #if IK3_ENABLED
    5573          10 :     module procedure getUnifRandRNGXLU_D0_IK3
    5574             :         use pm_kind, only: IKC => IK3
    5575             : #include "pm_distUnif@routines.inc.F90"
    5576          10 :     end procedure
    5577             : #endif
    5578             : 
    5579             : #if IK2_ENABLED
    5580           0 :     module procedure getUnifRandRNGXLU_D0_IK2
    5581             :         use pm_kind, only: IKC => IK2
    5582             : #include "pm_distUnif@routines.inc.F90"
    5583           0 :     end procedure
    5584             : #endif
    5585             : 
    5586             : #if IK1_ENABLED
    5587           5 :     module procedure getUnifRandRNGXLU_D0_IK1
    5588             :         use pm_kind, only: IKC => IK1
    5589             : #include "pm_distUnif@routines.inc.F90"
    5590           5 :     end procedure
    5591             : #endif
    5592             : 
    5593             : #undef IK_ENABLED
    5594             : 
    5595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5596             : 
    5597             : #define LK_ENABLED 1
    5598             : 
    5599             : #if LK5_ENABLED
    5600           0 :     module procedure getUnifRandRNGXLU_D0_LK5
    5601             :         use pm_kind, only: LKC => LK5
    5602             : #include "pm_distUnif@routines.inc.F90"
    5603           0 :     end procedure
    5604             : #endif
    5605             : 
    5606             : #if LK4_ENABLED
    5607           0 :     module procedure getUnifRandRNGXLU_D0_LK4
    5608             :         use pm_kind, only: LKC => LK4
    5609             : #include "pm_distUnif@routines.inc.F90"
    5610           0 :     end procedure
    5611             : #endif
    5612             : 
    5613             : #if LK3_ENABLED
    5614          10 :     module procedure getUnifRandRNGXLU_D0_LK3
    5615             :         use pm_kind, only: LKC => LK3
    5616             : #include "pm_distUnif@routines.inc.F90"
    5617          10 :     end procedure
    5618             : #endif
    5619             : 
    5620             : #if LK2_ENABLED
    5621           0 :     module procedure getUnifRandRNGXLU_D0_LK2
    5622             :         use pm_kind, only: LKC => LK2
    5623             : #include "pm_distUnif@routines.inc.F90"
    5624           0 :     end procedure
    5625             : #endif
    5626             : 
    5627             : #if LK1_ENABLED
    5628           0 :     module procedure getUnifRandRNGXLU_D0_LK1
    5629             :         use pm_kind, only: LKC => LK1
    5630             : #include "pm_distUnif@routines.inc.F90"
    5631           0 :     end procedure
    5632             : #endif
    5633             : 
    5634             : #undef LK_ENABLED
    5635             : 
    5636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5637             : 
    5638             : #define CK_ENABLED 1
    5639             : 
    5640             : #if CK5_ENABLED
    5641             :     module procedure getUnifRandRNGXLU_D0_CK5
    5642             :         use pm_kind, only: CKC => CK5
    5643             : #include "pm_distUnif@routines.inc.F90"
    5644             :     end procedure
    5645             : #endif
    5646             : 
    5647             : #if CK4_ENABLED
    5648           0 :     module procedure getUnifRandRNGXLU_D0_CK4
    5649             :         use pm_kind, only: CKC => CK4
    5650             : #include "pm_distUnif@routines.inc.F90"
    5651           0 :     end procedure
    5652             : #endif
    5653             : 
    5654             : #if CK3_ENABLED
    5655           0 :     module procedure getUnifRandRNGXLU_D0_CK3
    5656             :         use pm_kind, only: CKC => CK3
    5657             : #include "pm_distUnif@routines.inc.F90"
    5658           0 :     end procedure
    5659             : #endif
    5660             : 
    5661             : #if CK2_ENABLED
    5662           0 :     module procedure getUnifRandRNGXLU_D0_CK2
    5663             :         use pm_kind, only: CKC => CK2
    5664             : #include "pm_distUnif@routines.inc.F90"
    5665           0 :     end procedure
    5666             : #endif
    5667             : 
    5668             : #if CK1_ENABLED
    5669           5 :     module procedure getUnifRandRNGXLU_D0_CK1
    5670             :         use pm_kind, only: CKC => CK1
    5671             : #include "pm_distUnif@routines.inc.F90"
    5672           5 :     end procedure
    5673             : #endif
    5674             : 
    5675             : #undef CK_ENABLED
    5676             : 
    5677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5678             : 
    5679             : #define RK_ENABLED 1
    5680             : 
    5681             : #if RK5_ENABLED
    5682             :     module procedure getUnifRandRNGXLU_D0_RK5
    5683             :         use pm_kind, only: RKC => RK5
    5684             : #include "pm_distUnif@routines.inc.F90"
    5685             :     end procedure
    5686             : #endif
    5687             : 
    5688             : #if RK4_ENABLED
    5689           0 :     module procedure getUnifRandRNGXLU_D0_RK4
    5690             :         use pm_kind, only: RKC => RK4
    5691             : #include "pm_distUnif@routines.inc.F90"
    5692           0 :     end procedure
    5693             : #endif
    5694             : 
    5695             : #if RK3_ENABLED
    5696           0 :     module procedure getUnifRandRNGXLU_D0_RK3
    5697             :         use pm_kind, only: RKC => RK3
    5698             : #include "pm_distUnif@routines.inc.F90"
    5699           0 :     end procedure
    5700             : #endif
    5701             : 
    5702             : #if RK2_ENABLED
    5703           0 :     module procedure getUnifRandRNGXLU_D0_RK2
    5704             :         use pm_kind, only: RKC => RK2
    5705             : #include "pm_distUnif@routines.inc.F90"
    5706           0 :     end procedure
    5707             : #endif
    5708             : 
    5709             : #if RK1_ENABLED
    5710           5 :     module procedure getUnifRandRNGXLU_D0_RK1
    5711             :         use pm_kind, only: RKC => RK1
    5712             : #include "pm_distUnif@routines.inc.F90"
    5713           5 :     end procedure
    5714             : #endif
    5715             : 
    5716             : #undef RK_ENABLED
    5717             : 
    5718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5719             : 
    5720             : #undef D0_ENABLED
    5721             : 
    5722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5725             : 
    5726             : #define D1_ENABLED 1
    5727             : 
    5728             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5729             : 
    5730             : #define SK_ENABLED 1
    5731             : 
    5732             : #if SK5_ENABLED
    5733             :     module procedure getUnifRandRNGXLU_D1_SK5
    5734             :         use pm_kind, only: SKC => SK5
    5735             : #include "pm_distUnif@routines.inc.F90"
    5736             :     end procedure
    5737             : #endif
    5738             : 
    5739             : #if SK4_ENABLED
    5740             :     module procedure getUnifRandRNGXLU_D1_SK4
    5741             :         use pm_kind, only: SKC => SK4
    5742             : #include "pm_distUnif@routines.inc.F90"
    5743             :     end procedure
    5744             : #endif
    5745             : 
    5746             : #if SK3_ENABLED
    5747             :     module procedure getUnifRandRNGXLU_D1_SK3
    5748             :         use pm_kind, only: SKC => SK3
    5749             : #include "pm_distUnif@routines.inc.F90"
    5750             :     end procedure
    5751             : #endif
    5752             : 
    5753             : #if SK2_ENABLED
    5754             :     module procedure getUnifRandRNGXLU_D1_SK2
    5755             :         use pm_kind, only: SKC => SK2
    5756             : #include "pm_distUnif@routines.inc.F90"
    5757             :     end procedure
    5758             : #endif
    5759             : 
    5760             : #if SK1_ENABLED
    5761           0 :     module procedure getUnifRandRNGXLU_D1_SK1
    5762             :         use pm_kind, only: SKC => SK1
    5763             : #include "pm_distUnif@routines.inc.F90"
    5764           0 :     end procedure
    5765             : #endif
    5766             : 
    5767             : #undef SK_ENABLED
    5768             : 
    5769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5770             : 
    5771             : #define IK_ENABLED 1
    5772             : 
    5773             : #if IK5_ENABLED
    5774           0 :     module procedure getUnifRandRNGXLU_D1_IK5
    5775             :         use pm_kind, only: IKC => IK5
    5776             : #include "pm_distUnif@routines.inc.F90"
    5777           0 :     end procedure
    5778             : #endif
    5779             : 
    5780             : #if IK4_ENABLED
    5781           0 :     module procedure getUnifRandRNGXLU_D1_IK4
    5782             :         use pm_kind, only: IKC => IK4
    5783             : #include "pm_distUnif@routines.inc.F90"
    5784           0 :     end procedure
    5785             : #endif
    5786             : 
    5787             : #if IK3_ENABLED
    5788           7 :     module procedure getUnifRandRNGXLU_D1_IK3
    5789             :         use pm_kind, only: IKC => IK3
    5790             : #include "pm_distUnif@routines.inc.F90"
    5791           7 :     end procedure
    5792             : #endif
    5793             : 
    5794             : #if IK2_ENABLED
    5795           0 :     module procedure getUnifRandRNGXLU_D1_IK2
    5796             :         use pm_kind, only: IKC => IK2
    5797             : #include "pm_distUnif@routines.inc.F90"
    5798           0 :     end procedure
    5799             : #endif
    5800             : 
    5801             : #if IK1_ENABLED
    5802           0 :     module procedure getUnifRandRNGXLU_D1_IK1
    5803             :         use pm_kind, only: IKC => IK1
    5804             : #include "pm_distUnif@routines.inc.F90"
    5805           0 :     end procedure
    5806             : #endif
    5807             : 
    5808             : #undef IK_ENABLED
    5809             : 
    5810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5811             : 
    5812             : #define LK_ENABLED 1
    5813             : 
    5814             : #if LK5_ENABLED
    5815           0 :     module procedure getUnifRandRNGXLU_D1_LK5
    5816             :         use pm_kind, only: LKC => LK5
    5817             : #include "pm_distUnif@routines.inc.F90"
    5818           0 :     end procedure
    5819             : #endif
    5820             : 
    5821             : #if LK4_ENABLED
    5822           0 :     module procedure getUnifRandRNGXLU_D1_LK4
    5823             :         use pm_kind, only: LKC => LK4
    5824             : #include "pm_distUnif@routines.inc.F90"
    5825           0 :     end procedure
    5826             : #endif
    5827             : 
    5828             : #if LK3_ENABLED
    5829           0 :     module procedure getUnifRandRNGXLU_D1_LK3
    5830             :         use pm_kind, only: LKC => LK3
    5831             : #include "pm_distUnif@routines.inc.F90"
    5832           0 :     end procedure
    5833             : #endif
    5834             : 
    5835             : #if LK2_ENABLED
    5836           0 :     module procedure getUnifRandRNGXLU_D1_LK2
    5837             :         use pm_kind, only: LKC => LK2
    5838             : #include "pm_distUnif@routines.inc.F90"
    5839           0 :     end procedure
    5840             : #endif
    5841             : 
    5842             : #if LK1_ENABLED
    5843           0 :     module procedure getUnifRandRNGXLU_D1_LK1
    5844             :         use pm_kind, only: LKC => LK1
    5845             : #include "pm_distUnif@routines.inc.F90"
    5846           0 :     end procedure
    5847             : #endif
    5848             : 
    5849             : #undef LK_ENABLED
    5850             : 
    5851             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5852             : 
    5853             : #define CK_ENABLED 1
    5854             : 
    5855             : #if CK5_ENABLED
    5856             :     module procedure getUnifRandRNGXLU_D1_CK5
    5857             :         use pm_kind, only: CKC => CK5
    5858             : #include "pm_distUnif@routines.inc.F90"
    5859             :     end procedure
    5860             : #endif
    5861             : 
    5862             : #if CK4_ENABLED
    5863           0 :     module procedure getUnifRandRNGXLU_D1_CK4
    5864             :         use pm_kind, only: CKC => CK4
    5865             : #include "pm_distUnif@routines.inc.F90"
    5866           0 :     end procedure
    5867             : #endif
    5868             : 
    5869             : #if CK3_ENABLED
    5870           0 :     module procedure getUnifRandRNGXLU_D1_CK3
    5871             :         use pm_kind, only: CKC => CK3
    5872             : #include "pm_distUnif@routines.inc.F90"
    5873           0 :     end procedure
    5874             : #endif
    5875             : 
    5876             : #if CK2_ENABLED
    5877           0 :     module procedure getUnifRandRNGXLU_D1_CK2
    5878             :         use pm_kind, only: CKC => CK2
    5879             : #include "pm_distUnif@routines.inc.F90"
    5880           0 :     end procedure
    5881             : #endif
    5882             : 
    5883             : #if CK1_ENABLED
    5884           0 :     module procedure getUnifRandRNGXLU_D1_CK1
    5885             :         use pm_kind, only: CKC => CK1
    5886             : #include "pm_distUnif@routines.inc.F90"
    5887           0 :     end procedure
    5888             : #endif
    5889             : 
    5890             : #undef CK_ENABLED
    5891             : 
    5892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5893             : 
    5894             : #define RK_ENABLED 1
    5895             : 
    5896             : #if RK5_ENABLED
    5897             :     module procedure getUnifRandRNGXLU_D1_RK5
    5898             :         use pm_kind, only: RKC => RK5
    5899             : #include "pm_distUnif@routines.inc.F90"
    5900             :     end procedure
    5901             : #endif
    5902             : 
    5903             : #if RK4_ENABLED
    5904           0 :     module procedure getUnifRandRNGXLU_D1_RK4
    5905             :         use pm_kind, only: RKC => RK4
    5906             : #include "pm_distUnif@routines.inc.F90"
    5907           0 :     end procedure
    5908             : #endif
    5909             : 
    5910             : #if RK3_ENABLED
    5911           0 :     module procedure getUnifRandRNGXLU_D1_RK3
    5912             :         use pm_kind, only: RKC => RK3
    5913             : #include "pm_distUnif@routines.inc.F90"
    5914           0 :     end procedure
    5915             : #endif
    5916             : 
    5917             : #if RK2_ENABLED
    5918           0 :     module procedure getUnifRandRNGXLU_D1_RK2
    5919             :         use pm_kind, only: RKC => RK2
    5920             : #include "pm_distUnif@routines.inc.F90"
    5921           0 :     end procedure
    5922             : #endif
    5923             : 
    5924             : #if RK1_ENABLED
    5925           0 :     module procedure getUnifRandRNGXLU_D1_RK1
    5926             :         use pm_kind, only: RKC => RK1
    5927             : #include "pm_distUnif@routines.inc.F90"
    5928           0 :     end procedure
    5929             : #endif
    5930             : 
    5931             : #undef RK_ENABLED
    5932             : 
    5933             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5934             : 
    5935             : #undef D1_ENABLED
    5936             : 
    5937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5938             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5939             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5940             : 
    5941             : #define D2_ENABLED 1
    5942             : 
    5943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5944             : 
    5945             : #define SK_ENABLED 1
    5946             : 
    5947             : #if SK5_ENABLED
    5948             :     module procedure getUnifRandRNGXLU_D2_SK5
    5949             :         use pm_kind, only: SKC => SK5
    5950             : #include "pm_distUnif@routines.inc.F90"
    5951             :     end procedure
    5952             : #endif
    5953             : 
    5954             : #if SK4_ENABLED
    5955             :     module procedure getUnifRandRNGXLU_D2_SK4
    5956             :         use pm_kind, only: SKC => SK4
    5957             : #include "pm_distUnif@routines.inc.F90"
    5958             :     end procedure
    5959             : #endif
    5960             : 
    5961             : #if SK3_ENABLED
    5962             :     module procedure getUnifRandRNGXLU_D2_SK3
    5963             :         use pm_kind, only: SKC => SK3
    5964             : #include "pm_distUnif@routines.inc.F90"
    5965             :     end procedure
    5966             : #endif
    5967             : 
    5968             : #if SK2_ENABLED
    5969             :     module procedure getUnifRandRNGXLU_D2_SK2
    5970             :         use pm_kind, only: SKC => SK2
    5971             : #include "pm_distUnif@routines.inc.F90"
    5972             :     end procedure
    5973             : #endif
    5974             : 
    5975             : #if SK1_ENABLED
    5976           0 :     module procedure getUnifRandRNGXLU_D2_SK1
    5977             :         use pm_kind, only: SKC => SK1
    5978             : #include "pm_distUnif@routines.inc.F90"
    5979           0 :     end procedure
    5980             : #endif
    5981             : 
    5982             : #undef SK_ENABLED
    5983             : 
    5984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5985             : 
    5986             : #define IK_ENABLED 1
    5987             : 
    5988             : #if IK5_ENABLED
    5989           0 :     module procedure getUnifRandRNGXLU_D2_IK5
    5990             :         use pm_kind, only: IKC => IK5
    5991             : #include "pm_distUnif@routines.inc.F90"
    5992           0 :     end procedure
    5993             : #endif
    5994             : 
    5995             : #if IK4_ENABLED
    5996           0 :     module procedure getUnifRandRNGXLU_D2_IK4
    5997             :         use pm_kind, only: IKC => IK4
    5998             : #include "pm_distUnif@routines.inc.F90"
    5999           0 :     end procedure
    6000             : #endif
    6001             : 
    6002             : #if IK3_ENABLED
    6003           0 :     module procedure getUnifRandRNGXLU_D2_IK3
    6004             :         use pm_kind, only: IKC => IK3
    6005             : #include "pm_distUnif@routines.inc.F90"
    6006           0 :     end procedure
    6007             : #endif
    6008             : 
    6009             : #if IK2_ENABLED
    6010           0 :     module procedure getUnifRandRNGXLU_D2_IK2
    6011             :         use pm_kind, only: IKC => IK2
    6012             : #include "pm_distUnif@routines.inc.F90"
    6013           0 :     end procedure
    6014             : #endif
    6015             : 
    6016             : #if IK1_ENABLED
    6017           0 :     module procedure getUnifRandRNGXLU_D2_IK1
    6018             :         use pm_kind, only: IKC => IK1
    6019             : #include "pm_distUnif@routines.inc.F90"
    6020           0 :     end procedure
    6021             : #endif
    6022             : 
    6023             : #undef IK_ENABLED
    6024             : 
    6025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6026             : 
    6027             : #define LK_ENABLED 1
    6028             : 
    6029             : #if LK5_ENABLED
    6030           0 :     module procedure getUnifRandRNGXLU_D2_LK5
    6031             :         use pm_kind, only: LKC => LK5
    6032             : #include "pm_distUnif@routines.inc.F90"
    6033           0 :     end procedure
    6034             : #endif
    6035             : 
    6036             : #if LK4_ENABLED
    6037           0 :     module procedure getUnifRandRNGXLU_D2_LK4
    6038             :         use pm_kind, only: LKC => LK4
    6039             : #include "pm_distUnif@routines.inc.F90"
    6040           0 :     end procedure
    6041             : #endif
    6042             : 
    6043             : #if LK3_ENABLED
    6044           0 :     module procedure getUnifRandRNGXLU_D2_LK3
    6045             :         use pm_kind, only: LKC => LK3
    6046             : #include "pm_distUnif@routines.inc.F90"
    6047           0 :     end procedure
    6048             : #endif
    6049             : 
    6050             : #if LK2_ENABLED
    6051           0 :     module procedure getUnifRandRNGXLU_D2_LK2
    6052             :         use pm_kind, only: LKC => LK2
    6053             : #include "pm_distUnif@routines.inc.F90"
    6054           0 :     end procedure
    6055             : #endif
    6056             : 
    6057             : #if LK1_ENABLED
    6058           0 :     module procedure getUnifRandRNGXLU_D2_LK1
    6059             :         use pm_kind, only: LKC => LK1
    6060             : #include "pm_distUnif@routines.inc.F90"
    6061           0 :     end procedure
    6062             : #endif
    6063             : 
    6064             : #undef LK_ENABLED
    6065             : 
    6066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6067             : 
    6068             : #define CK_ENABLED 1
    6069             : 
    6070             : #if CK5_ENABLED
    6071             :     module procedure getUnifRandRNGXLU_D2_CK5
    6072             :         use pm_kind, only: CKC => CK5
    6073             : #include "pm_distUnif@routines.inc.F90"
    6074             :     end procedure
    6075             : #endif
    6076             : 
    6077             : #if CK4_ENABLED
    6078           0 :     module procedure getUnifRandRNGXLU_D2_CK4
    6079             :         use pm_kind, only: CKC => CK4
    6080             : #include "pm_distUnif@routines.inc.F90"
    6081           0 :     end procedure
    6082             : #endif
    6083             : 
    6084             : #if CK3_ENABLED
    6085           0 :     module procedure getUnifRandRNGXLU_D2_CK3
    6086             :         use pm_kind, only: CKC => CK3
    6087             : #include "pm_distUnif@routines.inc.F90"
    6088           0 :     end procedure
    6089             : #endif
    6090             : 
    6091             : #if CK2_ENABLED
    6092           0 :     module procedure getUnifRandRNGXLU_D2_CK2
    6093             :         use pm_kind, only: CKC => CK2
    6094             : #include "pm_distUnif@routines.inc.F90"
    6095           0 :     end procedure
    6096             : #endif
    6097             : 
    6098             : #if CK1_ENABLED
    6099           0 :     module procedure getUnifRandRNGXLU_D2_CK1
    6100             :         use pm_kind, only: CKC => CK1
    6101             : #include "pm_distUnif@routines.inc.F90"
    6102           0 :     end procedure
    6103             : #endif
    6104             : 
    6105             : #undef CK_ENABLED
    6106             : 
    6107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6108             : 
    6109             : #define RK_ENABLED 1
    6110             : 
    6111             : #if RK5_ENABLED
    6112             :     module procedure getUnifRandRNGXLU_D2_RK5
    6113             :         use pm_kind, only: RKC => RK5
    6114             : #include "pm_distUnif@routines.inc.F90"
    6115             :     end procedure
    6116             : #endif
    6117             : 
    6118             : #if RK4_ENABLED
    6119           0 :     module procedure getUnifRandRNGXLU_D2_RK4
    6120             :         use pm_kind, only: RKC => RK4
    6121             : #include "pm_distUnif@routines.inc.F90"
    6122           0 :     end procedure
    6123             : #endif
    6124             : 
    6125             : #if RK3_ENABLED
    6126           0 :     module procedure getUnifRandRNGXLU_D2_RK3
    6127             :         use pm_kind, only: RKC => RK3
    6128             : #include "pm_distUnif@routines.inc.F90"
    6129           0 :     end procedure
    6130             : #endif
    6131             : 
    6132             : #if RK2_ENABLED
    6133           0 :     module procedure getUnifRandRNGXLU_D2_RK2
    6134             :         use pm_kind, only: RKC => RK2
    6135             : #include "pm_distUnif@routines.inc.F90"
    6136           0 :     end procedure
    6137             : #endif
    6138             : 
    6139             : #if RK1_ENABLED
    6140           0 :     module procedure getUnifRandRNGXLU_D2_RK1
    6141             :         use pm_kind, only: RKC => RK1
    6142             : #include "pm_distUnif@routines.inc.F90"
    6143           0 :     end procedure
    6144             : #endif
    6145             : 
    6146             : #undef RK_ENABLED
    6147             : 
    6148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6149             : 
    6150             : #undef D2_ENABLED
    6151             : 
    6152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6155             : 
    6156             : #define D3_ENABLED 1
    6157             : 
    6158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6159             : 
    6160             : #define SK_ENABLED 1
    6161             : 
    6162             : #if SK5_ENABLED
    6163             :     module procedure getUnifRandRNGXLU_D3_SK5
    6164             :         use pm_kind, only: SKC => SK5
    6165             : #include "pm_distUnif@routines.inc.F90"
    6166             :     end procedure
    6167             : #endif
    6168             : 
    6169             : #if SK4_ENABLED
    6170             :     module procedure getUnifRandRNGXLU_D3_SK4
    6171             :         use pm_kind, only: SKC => SK4
    6172             : #include "pm_distUnif@routines.inc.F90"
    6173             :     end procedure
    6174             : #endif
    6175             : 
    6176             : #if SK3_ENABLED
    6177             :     module procedure getUnifRandRNGXLU_D3_SK3
    6178             :         use pm_kind, only: SKC => SK3
    6179             : #include "pm_distUnif@routines.inc.F90"
    6180             :     end procedure
    6181             : #endif
    6182             : 
    6183             : #if SK2_ENABLED
    6184             :     module procedure getUnifRandRNGXLU_D3_SK2
    6185             :         use pm_kind, only: SKC => SK2
    6186             : #include "pm_distUnif@routines.inc.F90"
    6187             :     end procedure
    6188             : #endif
    6189             : 
    6190             : #if SK1_ENABLED
    6191           0 :     module procedure getUnifRandRNGXLU_D3_SK1
    6192             :         use pm_kind, only: SKC => SK1
    6193             : #include "pm_distUnif@routines.inc.F90"
    6194           0 :     end procedure
    6195             : #endif
    6196             : 
    6197             : #undef SK_ENABLED
    6198             : 
    6199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6200             : 
    6201             : #define IK_ENABLED 1
    6202             : 
    6203             : #if IK5_ENABLED
    6204           0 :     module procedure getUnifRandRNGXLU_D3_IK5
    6205             :         use pm_kind, only: IKC => IK5
    6206             : #include "pm_distUnif@routines.inc.F90"
    6207           0 :     end procedure
    6208             : #endif
    6209             : 
    6210             : #if IK4_ENABLED
    6211           0 :     module procedure getUnifRandRNGXLU_D3_IK4
    6212             :         use pm_kind, only: IKC => IK4
    6213             : #include "pm_distUnif@routines.inc.F90"
    6214           0 :     end procedure
    6215             : #endif
    6216             : 
    6217             : #if IK3_ENABLED
    6218           0 :     module procedure getUnifRandRNGXLU_D3_IK3
    6219             :         use pm_kind, only: IKC => IK3
    6220             : #include "pm_distUnif@routines.inc.F90"
    6221           0 :     end procedure
    6222             : #endif
    6223             : 
    6224             : #if IK2_ENABLED
    6225           0 :     module procedure getUnifRandRNGXLU_D3_IK2
    6226             :         use pm_kind, only: IKC => IK2
    6227             : #include "pm_distUnif@routines.inc.F90"
    6228           0 :     end procedure
    6229             : #endif
    6230             : 
    6231             : #if IK1_ENABLED
    6232           0 :     module procedure getUnifRandRNGXLU_D3_IK1
    6233             :         use pm_kind, only: IKC => IK1
    6234             : #include "pm_distUnif@routines.inc.F90"
    6235           0 :     end procedure
    6236             : #endif
    6237             : 
    6238             : #undef IK_ENABLED
    6239             : 
    6240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6241             : 
    6242             : #define LK_ENABLED 1
    6243             : 
    6244             : #if LK5_ENABLED
    6245           0 :     module procedure getUnifRandRNGXLU_D3_LK5
    6246             :         use pm_kind, only: LKC => LK5
    6247             : #include "pm_distUnif@routines.inc.F90"
    6248           0 :     end procedure
    6249             : #endif
    6250             : 
    6251             : #if LK4_ENABLED
    6252           0 :     module procedure getUnifRandRNGXLU_D3_LK4
    6253             :         use pm_kind, only: LKC => LK4
    6254             : #include "pm_distUnif@routines.inc.F90"
    6255           0 :     end procedure
    6256             : #endif
    6257             : 
    6258             : #if LK3_ENABLED
    6259           0 :     module procedure getUnifRandRNGXLU_D3_LK3
    6260             :         use pm_kind, only: LKC => LK3
    6261             : #include "pm_distUnif@routines.inc.F90"
    6262           0 :     end procedure
    6263             : #endif
    6264             : 
    6265             : #if LK2_ENABLED
    6266           0 :     module procedure getUnifRandRNGXLU_D3_LK2
    6267             :         use pm_kind, only: LKC => LK2
    6268             : #include "pm_distUnif@routines.inc.F90"
    6269           0 :     end procedure
    6270             : #endif
    6271             : 
    6272             : #if LK1_ENABLED
    6273           0 :     module procedure getUnifRandRNGXLU_D3_LK1
    6274             :         use pm_kind, only: LKC => LK1
    6275             : #include "pm_distUnif@routines.inc.F90"
    6276           0 :     end procedure
    6277             : #endif
    6278             : 
    6279             : #undef LK_ENABLED
    6280             : 
    6281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6282             : 
    6283             : #define CK_ENABLED 1
    6284             : 
    6285             : #if CK5_ENABLED
    6286             :     module procedure getUnifRandRNGXLU_D3_CK5
    6287             :         use pm_kind, only: CKC => CK5
    6288             : #include "pm_distUnif@routines.inc.F90"
    6289             :     end procedure
    6290             : #endif
    6291             : 
    6292             : #if CK4_ENABLED
    6293           0 :     module procedure getUnifRandRNGXLU_D3_CK4
    6294             :         use pm_kind, only: CKC => CK4
    6295             : #include "pm_distUnif@routines.inc.F90"
    6296           0 :     end procedure
    6297             : #endif
    6298             : 
    6299             : #if CK3_ENABLED
    6300           0 :     module procedure getUnifRandRNGXLU_D3_CK3
    6301             :         use pm_kind, only: CKC => CK3
    6302             : #include "pm_distUnif@routines.inc.F90"
    6303           0 :     end procedure
    6304             : #endif
    6305             : 
    6306             : #if CK2_ENABLED
    6307           0 :     module procedure getUnifRandRNGXLU_D3_CK2
    6308             :         use pm_kind, only: CKC => CK2
    6309             : #include "pm_distUnif@routines.inc.F90"
    6310           0 :     end procedure
    6311             : #endif
    6312             : 
    6313             : #if CK1_ENABLED
    6314           0 :     module procedure getUnifRandRNGXLU_D3_CK1
    6315             :         use pm_kind, only: CKC => CK1
    6316             : #include "pm_distUnif@routines.inc.F90"
    6317           0 :     end procedure
    6318             : #endif
    6319             : 
    6320             : #undef CK_ENABLED
    6321             : 
    6322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6323             : 
    6324             : #define RK_ENABLED 1
    6325             : 
    6326             : #if RK5_ENABLED
    6327             :     module procedure getUnifRandRNGXLU_D3_RK5
    6328             :         use pm_kind, only: RKC => RK5
    6329             : #include "pm_distUnif@routines.inc.F90"
    6330             :     end procedure
    6331             : #endif
    6332             : 
    6333             : #if RK4_ENABLED
    6334           0 :     module procedure getUnifRandRNGXLU_D3_RK4
    6335             :         use pm_kind, only: RKC => RK4
    6336             : #include "pm_distUnif@routines.inc.F90"
    6337           0 :     end procedure
    6338             : #endif
    6339             : 
    6340             : #if RK3_ENABLED
    6341           0 :     module procedure getUnifRandRNGXLU_D3_RK3
    6342             :         use pm_kind, only: RKC => RK3
    6343             : #include "pm_distUnif@routines.inc.F90"
    6344           0 :     end procedure
    6345             : #endif
    6346             : 
    6347             : #if RK2_ENABLED
    6348           0 :     module procedure getUnifRandRNGXLU_D3_RK2
    6349             :         use pm_kind, only: RKC => RK2
    6350             : #include "pm_distUnif@routines.inc.F90"
    6351           0 :     end procedure
    6352             : #endif
    6353             : 
    6354             : #if RK1_ENABLED
    6355           0 :     module procedure getUnifRandRNGXLU_D3_RK1
    6356             :         use pm_kind, only: RKC => RK1
    6357             : #include "pm_distUnif@routines.inc.F90"
    6358           0 :     end procedure
    6359             : #endif
    6360             : 
    6361             : #undef RK_ENABLED
    6362             : 
    6363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6364             : 
    6365             : #undef D3_ENABLED
    6366             : 
    6367             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6370             : 
    6371             : #undef LU_ENABLED
    6372             : 
    6373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6376             : 
    6377             : #undef X256SSW_ENABLED
    6378             : 
    6379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6382             : 
    6383             : #undef getUnifRand_ENABLED
    6384             : 
    6385             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6386             : 
    6387             : #define setUnifRand_ENABLED 1
    6388             : 
    6389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6392             : 
    6393             : #define RNGF_ENABLED 1
    6394             : #define RNGD_ENABLED 1
    6395             : 
    6396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6399             : 
    6400             : #define D0_ENABLED 1
    6401             : 
    6402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6405             : 
    6406             : #define DD_ENABLED 1
    6407             : 
    6408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6409             : 
    6410             : #define SK_ENABLED 1
    6411             : 
    6412             : #if SK5_ENABLED
    6413             :     module procedure setUnifRandRNGDDD_D0_SK5
    6414             :         use pm_kind, only: SKC => SK5
    6415             : #include "pm_distUnif@routines.inc.F90"
    6416             :     end procedure
    6417             : #endif
    6418             : 
    6419             : #if SK4_ENABLED
    6420             :     module procedure setUnifRandRNGDDD_D0_SK4
    6421             :         use pm_kind, only: SKC => SK4
    6422             : #include "pm_distUnif@routines.inc.F90"
    6423             :     end procedure
    6424             : #endif
    6425             : 
    6426             : #if SK3_ENABLED
    6427             :     module procedure setUnifRandRNGDDD_D0_SK3
    6428             :         use pm_kind, only: SKC => SK3
    6429             : #include "pm_distUnif@routines.inc.F90"
    6430             :     end procedure
    6431             : #endif
    6432             : 
    6433             : #if SK2_ENABLED
    6434             :     module procedure setUnifRandRNGDDD_D0_SK2
    6435             :         use pm_kind, only: SKC => SK2
    6436             : #include "pm_distUnif@routines.inc.F90"
    6437             :     end procedure
    6438             : #endif
    6439             : 
    6440             : #if SK1_ENABLED
    6441     1299370 :     module procedure setUnifRandRNGDDD_D0_SK1
    6442             :         use pm_kind, only: SKC => SK1
    6443             : #include "pm_distUnif@routines.inc.F90"
    6444     1299370 :     end procedure
    6445             : #endif
    6446             : 
    6447             : #undef SK_ENABLED
    6448             : 
    6449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6450             : 
    6451             : #define IK_ENABLED 1
    6452             : 
    6453             : #if IK5_ENABLED
    6454     1259221 :     module procedure setUnifRandRNGDDD_D0_IK5
    6455             :         use pm_kind, only: IKC => IK5
    6456             : #include "pm_distUnif@routines.inc.F90"
    6457     1259221 :     end procedure
    6458             : #endif
    6459             : 
    6460             : #if IK4_ENABLED
    6461     1254625 :     module procedure setUnifRandRNGDDD_D0_IK4
    6462             :         use pm_kind, only: IKC => IK4
    6463             : #include "pm_distUnif@routines.inc.F90"
    6464     1254625 :     end procedure
    6465             : #endif
    6466             : 
    6467             : #if IK3_ENABLED
    6468     1277281 :     module procedure setUnifRandRNGDDD_D0_IK3
    6469             :         use pm_kind, only: IKC => IK3
    6470             : #include "pm_distUnif@routines.inc.F90"
    6471     1277281 :     end procedure
    6472             : #endif
    6473             : 
    6474             : #if IK2_ENABLED
    6475     1280047 :     module procedure setUnifRandRNGDDD_D0_IK2
    6476             :         use pm_kind, only: IKC => IK2
    6477             : #include "pm_distUnif@routines.inc.F90"
    6478     1280047 :     end procedure
    6479             : #endif
    6480             : 
    6481             : #if IK1_ENABLED
    6482     1274324 :     module procedure setUnifRandRNGDDD_D0_IK1
    6483             :         use pm_kind, only: IKC => IK1
    6484             : #include "pm_distUnif@routines.inc.F90"
    6485     1274324 :     end procedure
    6486             : #endif
    6487             : 
    6488             : #undef IK_ENABLED
    6489             : 
    6490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6491             : 
    6492             : #define LK_ENABLED 1
    6493             : 
    6494             : #if LK5_ENABLED
    6495     1259536 :     module procedure setUnifRandRNGDDD_D0_LK5
    6496             :         use pm_kind, only: LKC => LK5
    6497             : #include "pm_distUnif@routines.inc.F90"
    6498     1259536 :     end procedure
    6499             : #endif
    6500             : 
    6501             : #if LK4_ENABLED
    6502     1265307 :     module procedure setUnifRandRNGDDD_D0_LK4
    6503             :         use pm_kind, only: LKC => LK4
    6504             : #include "pm_distUnif@routines.inc.F90"
    6505     1265307 :     end procedure
    6506             : #endif
    6507             : 
    6508             : #if LK3_ENABLED
    6509     1268957 :     module procedure setUnifRandRNGDDD_D0_LK3
    6510             :         use pm_kind, only: LKC => LK3
    6511             : #include "pm_distUnif@routines.inc.F90"
    6512     1268957 :     end procedure
    6513             : #endif
    6514             : 
    6515             : #if LK2_ENABLED
    6516     1274672 :     module procedure setUnifRandRNGDDD_D0_LK2
    6517             :         use pm_kind, only: LKC => LK2
    6518             : #include "pm_distUnif@routines.inc.F90"
    6519     1274672 :     end procedure
    6520             : #endif
    6521             : 
    6522             : #if LK1_ENABLED
    6523     1270339 :     module procedure setUnifRandRNGDDD_D0_LK1
    6524             :         use pm_kind, only: LKC => LK1
    6525             : #include "pm_distUnif@routines.inc.F90"
    6526     1270339 :     end procedure
    6527             : #endif
    6528             : 
    6529             : #undef LK_ENABLED
    6530             : 
    6531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6532             : 
    6533             : #define CK_ENABLED 1
    6534             : 
    6535             : #if CK5_ENABLED
    6536             :     module procedure setUnifRandRNGDDD_D0_CK5
    6537             :         use pm_kind, only: CKC => CK5
    6538             : #include "pm_distUnif@routines.inc.F90"
    6539             :     end procedure
    6540             : #endif
    6541             : 
    6542             : #if CK4_ENABLED
    6543     1279776 :     module procedure setUnifRandRNGDDD_D0_CK4
    6544             :         use pm_kind, only: CKC => CK4
    6545             : #include "pm_distUnif@routines.inc.F90"
    6546     1279776 :     end procedure
    6547             : #endif
    6548             : 
    6549             : #if CK3_ENABLED
    6550     1257422 :     module procedure setUnifRandRNGDDD_D0_CK3
    6551             :         use pm_kind, only: CKC => CK3
    6552             : #include "pm_distUnif@routines.inc.F90"
    6553     1257422 :     end procedure
    6554             : #endif
    6555             : 
    6556             : #if CK2_ENABLED
    6557     1273682 :     module procedure setUnifRandRNGDDD_D0_CK2
    6558             :         use pm_kind, only: CKC => CK2
    6559             : #include "pm_distUnif@routines.inc.F90"
    6560     1273682 :     end procedure
    6561             : #endif
    6562             : 
    6563             : #if CK1_ENABLED
    6564     1271647 :     module procedure setUnifRandRNGDDD_D0_CK1
    6565             :         use pm_kind, only: CKC => CK1
    6566             : #include "pm_distUnif@routines.inc.F90"
    6567     1271647 :     end procedure
    6568             : #endif
    6569             : 
    6570             : #undef CK_ENABLED
    6571             : 
    6572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6573             : 
    6574             : #define RK_ENABLED 1
    6575             : 
    6576             : #if RK5_ENABLED
    6577             :     module procedure setUnifRandRNGDDD_D0_RK5
    6578             :         use pm_kind, only: RKC => RK5
    6579             : #include "pm_distUnif@routines.inc.F90"
    6580             :     end procedure
    6581             : #endif
    6582             : 
    6583             : #if RK4_ENABLED
    6584     4041780 :     module procedure setUnifRandRNGDDD_D0_RK4
    6585             :         use pm_kind, only: RKC => RK4
    6586             : #include "pm_distUnif@routines.inc.F90"
    6587     4041780 :     end procedure
    6588             : #endif
    6589             : 
    6590             : #if RK3_ENABLED
    6591     3983746 :     module procedure setUnifRandRNGDDD_D0_RK3
    6592             :         use pm_kind, only: RKC => RK3
    6593             : #include "pm_distUnif@routines.inc.F90"
    6594     3983746 :     end procedure
    6595             : #endif
    6596             : 
    6597             : #if RK2_ENABLED
    6598     4021670 :     module procedure setUnifRandRNGDDD_D0_RK2
    6599             :         use pm_kind, only: RKC => RK2
    6600             : #include "pm_distUnif@routines.inc.F90"
    6601     4021670 :     end procedure
    6602             : #endif
    6603             : 
    6604             : #if RK1_ENABLED
    6605     4213054 :     module procedure setUnifRandRNGDDD_D0_RK1
    6606             :         use pm_kind, only: RKC => RK1
    6607             : #include "pm_distUnif@routines.inc.F90"
    6608     4213054 :     end procedure
    6609             : #endif
    6610             : 
    6611             : #undef RK_ENABLED
    6612             : 
    6613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6614             : 
    6615             : #undef DD_ENABLED
    6616             : 
    6617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6620             : 
    6621             : #define LU_ENABLED 1
    6622             : 
    6623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6624             : 
    6625             : #define SK_ENABLED 1
    6626             : 
    6627             : #if SK5_ENABLED
    6628             :     module procedure setUnifRandRNGDLU_D0_SK5
    6629             :         use pm_kind, only: SKC => SK5
    6630             : #include "pm_distUnif@routines.inc.F90"
    6631             :     end procedure
    6632             : #endif
    6633             : 
    6634             : #if SK4_ENABLED
    6635             :     module procedure setUnifRandRNGDLU_D0_SK4
    6636             :         use pm_kind, only: SKC => SK4
    6637             : #include "pm_distUnif@routines.inc.F90"
    6638             :     end procedure
    6639             : #endif
    6640             : 
    6641             : #if SK3_ENABLED
    6642             :     module procedure setUnifRandRNGDLU_D0_SK3
    6643             :         use pm_kind, only: SKC => SK3
    6644             : #include "pm_distUnif@routines.inc.F90"
    6645             :     end procedure
    6646             : #endif
    6647             : 
    6648             : #if SK2_ENABLED
    6649             :     module procedure setUnifRandRNGDLU_D0_SK2
    6650             :         use pm_kind, only: SKC => SK2
    6651             : #include "pm_distUnif@routines.inc.F90"
    6652             :     end procedure
    6653             : #endif
    6654             : 
    6655             : #if SK1_ENABLED
    6656      850145 :     module procedure setUnifRandRNGDLU_D0_SK1
    6657             :         use pm_kind, only: SKC => SK1
    6658             : #include "pm_distUnif@routines.inc.F90"
    6659      850145 :     end procedure
    6660             : #endif
    6661             : 
    6662             : #undef SK_ENABLED
    6663             : 
    6664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6665             : 
    6666             : #define IK_ENABLED 1
    6667             : 
    6668             : #if IK5_ENABLED
    6669     1047464 :     module procedure setUnifRandRNGDLU_D0_IK5
    6670             :         use pm_kind, only: IKC => IK5
    6671             : #include "pm_distUnif@routines.inc.F90"
    6672     1047464 :     end procedure
    6673             : #endif
    6674             : 
    6675             : #if IK4_ENABLED
    6676     1046228 :     module procedure setUnifRandRNGDLU_D0_IK4
    6677             :         use pm_kind, only: IKC => IK4
    6678             : #include "pm_distUnif@routines.inc.F90"
    6679     1046228 :     end procedure
    6680             : #endif
    6681             : 
    6682             : #if IK3_ENABLED
    6683     9665796 :     module procedure setUnifRandRNGDLU_D0_IK3
    6684             :         use pm_kind, only: IKC => IK3
    6685             : #include "pm_distUnif@routines.inc.F90"
    6686     9665796 :     end procedure
    6687             : #endif
    6688             : 
    6689             : #if IK2_ENABLED
    6690     1026835 :     module procedure setUnifRandRNGDLU_D0_IK2
    6691             :         use pm_kind, only: IKC => IK2
    6692             : #include "pm_distUnif@routines.inc.F90"
    6693     1026835 :     end procedure
    6694             : #endif
    6695             : 
    6696             : #if IK1_ENABLED
    6697     1048331 :     module procedure setUnifRandRNGDLU_D0_IK1
    6698             :         use pm_kind, only: IKC => IK1
    6699             : #include "pm_distUnif@routines.inc.F90"
    6700     1048331 :     end procedure
    6701             : #endif
    6702             : 
    6703             : #undef IK_ENABLED
    6704             : 
    6705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6706             : 
    6707             : #define LK_ENABLED 1
    6708             : 
    6709             : #if LK5_ENABLED
    6710      809164 :     module procedure setUnifRandRNGDLU_D0_LK5
    6711             :         use pm_kind, only: LKC => LK5
    6712             : #include "pm_distUnif@routines.inc.F90"
    6713      809164 :     end procedure
    6714             : #endif
    6715             : 
    6716             : #if LK4_ENABLED
    6717      787032 :     module procedure setUnifRandRNGDLU_D0_LK4
    6718             :         use pm_kind, only: LKC => LK4
    6719             : #include "pm_distUnif@routines.inc.F90"
    6720      787032 :     end procedure
    6721             : #endif
    6722             : 
    6723             : #if LK3_ENABLED
    6724      788957 :     module procedure setUnifRandRNGDLU_D0_LK3
    6725             :         use pm_kind, only: LKC => LK3
    6726             : #include "pm_distUnif@routines.inc.F90"
    6727      788957 :     end procedure
    6728             : #endif
    6729             : 
    6730             : #if LK2_ENABLED
    6731      795245 :     module procedure setUnifRandRNGDLU_D0_LK2
    6732             :         use pm_kind, only: LKC => LK2
    6733             : #include "pm_distUnif@routines.inc.F90"
    6734      795245 :     end procedure
    6735             : #endif
    6736             : 
    6737             : #if LK1_ENABLED
    6738      807522 :     module procedure setUnifRandRNGDLU_D0_LK1
    6739             :         use pm_kind, only: LKC => LK1
    6740             : #include "pm_distUnif@routines.inc.F90"
    6741      807522 :     end procedure
    6742             : #endif
    6743             : 
    6744             : #undef LK_ENABLED
    6745             : 
    6746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6747             : 
    6748             : #define CK_ENABLED 1
    6749             : 
    6750             : #if CK5_ENABLED
    6751             :     module procedure setUnifRandRNGDLU_D0_CK5
    6752             :         use pm_kind, only: CKC => CK5
    6753             : #include "pm_distUnif@routines.inc.F90"
    6754             :     end procedure
    6755             : #endif
    6756             : 
    6757             : #if CK4_ENABLED
    6758     1067079 :     module procedure setUnifRandRNGDLU_D0_CK4
    6759             :         use pm_kind, only: CKC => CK4
    6760             : #include "pm_distUnif@routines.inc.F90"
    6761     1067079 :     end procedure
    6762             : #endif
    6763             : 
    6764             : #if CK3_ENABLED
    6765     1084545 :     module procedure setUnifRandRNGDLU_D0_CK3
    6766             :         use pm_kind, only: CKC => CK3
    6767             : #include "pm_distUnif@routines.inc.F90"
    6768     1084545 :     end procedure
    6769             : #endif
    6770             : 
    6771             : #if CK2_ENABLED
    6772     1079981 :     module procedure setUnifRandRNGDLU_D0_CK2
    6773             :         use pm_kind, only: CKC => CK2
    6774             : #include "pm_distUnif@routines.inc.F90"
    6775     1079981 :     end procedure
    6776             : #endif
    6777             : 
    6778             : #if CK1_ENABLED
    6779     1119518 :     module procedure setUnifRandRNGDLU_D0_CK1
    6780             :         use pm_kind, only: CKC => CK1
    6781             : #include "pm_distUnif@routines.inc.F90"
    6782     1119518 :     end procedure
    6783             : #endif
    6784             : 
    6785             : #undef CK_ENABLED
    6786             : 
    6787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6788             : 
    6789             : #define RK_ENABLED 1
    6790             : 
    6791             : #if RK5_ENABLED
    6792             :     module procedure setUnifRandRNGDLU_D0_RK5
    6793             :         use pm_kind, only: RKC => RK5
    6794             : #include "pm_distUnif@routines.inc.F90"
    6795             :     end procedure
    6796             : #endif
    6797             : 
    6798             : #if RK4_ENABLED
    6799     4795942 :     module procedure setUnifRandRNGDLU_D0_RK4
    6800             :         use pm_kind, only: RKC => RK4
    6801             : #include "pm_distUnif@routines.inc.F90"
    6802     4795942 :     end procedure
    6803             : #endif
    6804             : 
    6805             : #if RK3_ENABLED
    6806     4893772 :     module procedure setUnifRandRNGDLU_D0_RK3
    6807             :         use pm_kind, only: RKC => RK3
    6808             : #include "pm_distUnif@routines.inc.F90"
    6809     4893772 :     end procedure
    6810             : #endif
    6811             : 
    6812             : #if RK2_ENABLED
    6813     4935041 :     module procedure setUnifRandRNGDLU_D0_RK2
    6814             :         use pm_kind, only: RKC => RK2
    6815             : #include "pm_distUnif@routines.inc.F90"
    6816     4935041 :     end procedure
    6817             : #endif
    6818             : 
    6819             : #if RK1_ENABLED
    6820     5083424 :     module procedure setUnifRandRNGDLU_D0_RK1
    6821             :         use pm_kind, only: RKC => RK1
    6822             : #include "pm_distUnif@routines.inc.F90"
    6823     5083424 :     end procedure
    6824             : #endif
    6825             : 
    6826             : #undef RK_ENABLED
    6827             : 
    6828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6829             : 
    6830             : #undef LU_ENABLED
    6831             : 
    6832             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6835             : 
    6836             : #undef D0_ENABLED
    6837             : 
    6838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6841             : 
    6842             : #undef RNGD_ENABLED
    6843             : #undef RNGF_ENABLED
    6844             : 
    6845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6847             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6848             : 
    6849             : #define RNGF_ENABLED 1
    6850             : 
    6851             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6852             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6853             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6854             : 
    6855             : #define D0_ENABLED 1
    6856             : 
    6857             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6858             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6859             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6860             : 
    6861             : #define DD_ENABLED 1
    6862             : 
    6863             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6864             : 
    6865             : #define SK_ENABLED 1
    6866             : 
    6867             : #if SK5_ENABLED
    6868             :     module procedure setUnifRandRNGFDD_D0_SK5
    6869             :         use pm_kind, only: SKC => SK5
    6870             : #include "pm_distUnif@routines.inc.F90"
    6871             :     end procedure
    6872             : #endif
    6873             : 
    6874             : #if SK4_ENABLED
    6875             :     module procedure setUnifRandRNGFDD_D0_SK4
    6876             :         use pm_kind, only: SKC => SK4
    6877             : #include "pm_distUnif@routines.inc.F90"
    6878             :     end procedure
    6879             : #endif
    6880             : 
    6881             : #if SK3_ENABLED
    6882             :     module procedure setUnifRandRNGFDD_D0_SK3
    6883             :         use pm_kind, only: SKC => SK3
    6884             : #include "pm_distUnif@routines.inc.F90"
    6885             :     end procedure
    6886             : #endif
    6887             : 
    6888             : #if SK2_ENABLED
    6889             :     module procedure setUnifRandRNGFDD_D0_SK2
    6890             :         use pm_kind, only: SKC => SK2
    6891             : #include "pm_distUnif@routines.inc.F90"
    6892             :     end procedure
    6893             : #endif
    6894             : 
    6895             : #if SK1_ENABLED
    6896           0 :     module procedure setUnifRandRNGFDD_D0_SK1
    6897             :         use pm_kind, only: SKC => SK1
    6898             : #include "pm_distUnif@routines.inc.F90"
    6899           0 :     end procedure
    6900             : #endif
    6901             : 
    6902             : #undef SK_ENABLED
    6903             : 
    6904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6905             : 
    6906             : #define IK_ENABLED 1
    6907             : 
    6908             : #if IK5_ENABLED
    6909           0 :     module procedure setUnifRandRNGFDD_D0_IK5
    6910             :         use pm_kind, only: IKC => IK5
    6911             : #include "pm_distUnif@routines.inc.F90"
    6912           0 :     end procedure
    6913             : #endif
    6914             : 
    6915             : #if IK4_ENABLED
    6916           0 :     module procedure setUnifRandRNGFDD_D0_IK4
    6917             :         use pm_kind, only: IKC => IK4
    6918             : #include "pm_distUnif@routines.inc.F90"
    6919           0 :     end procedure
    6920             : #endif
    6921             : 
    6922             : #if IK3_ENABLED
    6923           0 :     module procedure setUnifRandRNGFDD_D0_IK3
    6924             :         use pm_kind, only: IKC => IK3
    6925             : #include "pm_distUnif@routines.inc.F90"
    6926           0 :     end procedure
    6927             : #endif
    6928             : 
    6929             : #if IK2_ENABLED
    6930           0 :     module procedure setUnifRandRNGFDD_D0_IK2
    6931             :         use pm_kind, only: IKC => IK2
    6932             : #include "pm_distUnif@routines.inc.F90"
    6933           0 :     end procedure
    6934             : #endif
    6935             : 
    6936             : #if IK1_ENABLED
    6937           0 :     module procedure setUnifRandRNGFDD_D0_IK1
    6938             :         use pm_kind, only: IKC => IK1
    6939             : #include "pm_distUnif@routines.inc.F90"
    6940           0 :     end procedure
    6941             : #endif
    6942             : 
    6943             : #undef IK_ENABLED
    6944             : 
    6945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6946             : 
    6947             : #define LK_ENABLED 1
    6948             : 
    6949             : #if LK5_ENABLED
    6950           0 :     module procedure setUnifRandRNGFDD_D0_LK5
    6951             :         use pm_kind, only: LKC => LK5
    6952             : #include "pm_distUnif@routines.inc.F90"
    6953           0 :     end procedure
    6954             : #endif
    6955             : 
    6956             : #if LK4_ENABLED
    6957           0 :     module procedure setUnifRandRNGFDD_D0_LK4
    6958             :         use pm_kind, only: LKC => LK4
    6959             : #include "pm_distUnif@routines.inc.F90"
    6960           0 :     end procedure
    6961             : #endif
    6962             : 
    6963             : #if LK3_ENABLED
    6964           0 :     module procedure setUnifRandRNGFDD_D0_LK3
    6965             :         use pm_kind, only: LKC => LK3
    6966             : #include "pm_distUnif@routines.inc.F90"
    6967           0 :     end procedure
    6968             : #endif
    6969             : 
    6970             : #if LK2_ENABLED
    6971           0 :     module procedure setUnifRandRNGFDD_D0_LK2
    6972             :         use pm_kind, only: LKC => LK2
    6973             : #include "pm_distUnif@routines.inc.F90"
    6974           0 :     end procedure
    6975             : #endif
    6976             : 
    6977             : #if LK1_ENABLED
    6978           0 :     module procedure setUnifRandRNGFDD_D0_LK1
    6979             :         use pm_kind, only: LKC => LK1
    6980             : #include "pm_distUnif@routines.inc.F90"
    6981           0 :     end procedure
    6982             : #endif
    6983             : 
    6984             : #undef LK_ENABLED
    6985             : 
    6986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6987             : 
    6988             : #define CK_ENABLED 1
    6989             : 
    6990             : #if CK5_ENABLED
    6991             :     module procedure setUnifRandRNGFDD_D0_CK5
    6992             :         use pm_kind, only: CKC => CK5
    6993             : #include "pm_distUnif@routines.inc.F90"
    6994             :     end procedure
    6995             : #endif
    6996             : 
    6997             : #if CK4_ENABLED
    6998           0 :     module procedure setUnifRandRNGFDD_D0_CK4
    6999             :         use pm_kind, only: CKC => CK4
    7000             : #include "pm_distUnif@routines.inc.F90"
    7001           0 :     end procedure
    7002             : #endif
    7003             : 
    7004             : #if CK3_ENABLED
    7005           0 :     module procedure setUnifRandRNGFDD_D0_CK3
    7006             :         use pm_kind, only: CKC => CK3
    7007             : #include "pm_distUnif@routines.inc.F90"
    7008           0 :     end procedure
    7009             : #endif
    7010             : 
    7011             : #if CK2_ENABLED
    7012           0 :     module procedure setUnifRandRNGFDD_D0_CK2
    7013             :         use pm_kind, only: CKC => CK2
    7014             : #include "pm_distUnif@routines.inc.F90"
    7015           0 :     end procedure
    7016             : #endif
    7017             : 
    7018             : #if CK1_ENABLED
    7019           0 :     module procedure setUnifRandRNGFDD_D0_CK1
    7020             :         use pm_kind, only: CKC => CK1
    7021             : #include "pm_distUnif@routines.inc.F90"
    7022           0 :     end procedure
    7023             : #endif
    7024             : 
    7025             : #undef CK_ENABLED
    7026             : 
    7027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7028             : 
    7029             : #define RK_ENABLED 1
    7030             : 
    7031             : #if RK5_ENABLED
    7032             :     module procedure setUnifRandRNGFDD_D0_RK5
    7033             :         use pm_kind, only: RKC => RK5
    7034             : #include "pm_distUnif@routines.inc.F90"
    7035             :     end procedure
    7036             : #endif
    7037             : 
    7038             : #if RK4_ENABLED
    7039           0 :     module procedure setUnifRandRNGFDD_D0_RK4
    7040             :         use pm_kind, only: RKC => RK4
    7041             : #include "pm_distUnif@routines.inc.F90"
    7042           0 :     end procedure
    7043             : #endif
    7044             : 
    7045             : #if RK3_ENABLED
    7046           0 :     module procedure setUnifRandRNGFDD_D0_RK3
    7047             :         use pm_kind, only: RKC => RK3
    7048             : #include "pm_distUnif@routines.inc.F90"
    7049           0 :     end procedure
    7050             : #endif
    7051             : 
    7052             : #if RK2_ENABLED
    7053       37740 :     module procedure setUnifRandRNGFDD_D0_RK2
    7054             :         use pm_kind, only: RKC => RK2
    7055             : #include "pm_distUnif@routines.inc.F90"
    7056       37740 :     end procedure
    7057             : #endif
    7058             : 
    7059             : #if RK1_ENABLED
    7060         509 :     module procedure setUnifRandRNGFDD_D0_RK1
    7061             :         use pm_kind, only: RKC => RK1
    7062             : #include "pm_distUnif@routines.inc.F90"
    7063         509 :     end procedure
    7064             : #endif
    7065             : 
    7066             : #undef RK_ENABLED
    7067             : 
    7068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7069             : 
    7070             : #undef DD_ENABLED
    7071             : 
    7072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7075             : 
    7076             : #define LU_ENABLED 1
    7077             : 
    7078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7079             : 
    7080             : #define SK_ENABLED 1
    7081             : 
    7082             : #if SK5_ENABLED
    7083             :     module procedure setUnifRandRNGFLU_D0_SK5
    7084             :         use pm_kind, only: SKC => SK5
    7085             : #include "pm_distUnif@routines.inc.F90"
    7086             :     end procedure
    7087             : #endif
    7088             : 
    7089             : #if SK4_ENABLED
    7090             :     module procedure setUnifRandRNGFLU_D0_SK4
    7091             :         use pm_kind, only: SKC => SK4
    7092             : #include "pm_distUnif@routines.inc.F90"
    7093             :     end procedure
    7094             : #endif
    7095             : 
    7096             : #if SK3_ENABLED
    7097             :     module procedure setUnifRandRNGFLU_D0_SK3
    7098             :         use pm_kind, only: SKC => SK3
    7099             : #include "pm_distUnif@routines.inc.F90"
    7100             :     end procedure
    7101             : #endif
    7102             : 
    7103             : #if SK2_ENABLED
    7104             :     module procedure setUnifRandRNGFLU_D0_SK2
    7105             :         use pm_kind, only: SKC => SK2
    7106             : #include "pm_distUnif@routines.inc.F90"
    7107             :     end procedure
    7108             : #endif
    7109             : 
    7110             : #if SK1_ENABLED
    7111           0 :     module procedure setUnifRandRNGFLU_D0_SK1
    7112             :         use pm_kind, only: SKC => SK1
    7113             : #include "pm_distUnif@routines.inc.F90"
    7114           0 :     end procedure
    7115             : #endif
    7116             : 
    7117             : #undef SK_ENABLED
    7118             : 
    7119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7120             : 
    7121             : #define IK_ENABLED 1
    7122             : 
    7123             : #if IK5_ENABLED
    7124           0 :     module procedure setUnifRandRNGFLU_D0_IK5
    7125             :         use pm_kind, only: IKC => IK5
    7126             : #include "pm_distUnif@routines.inc.F90"
    7127           0 :     end procedure
    7128             : #endif
    7129             : 
    7130             : #if IK4_ENABLED
    7131           0 :     module procedure setUnifRandRNGFLU_D0_IK4
    7132             :         use pm_kind, only: IKC => IK4
    7133             : #include "pm_distUnif@routines.inc.F90"
    7134           0 :     end procedure
    7135             : #endif
    7136             : 
    7137             : #if IK3_ENABLED
    7138       66735 :     module procedure setUnifRandRNGFLU_D0_IK3
    7139             :         use pm_kind, only: IKC => IK3
    7140             : #include "pm_distUnif@routines.inc.F90"
    7141       66735 :     end procedure
    7142             : #endif
    7143             : 
    7144             : #if IK2_ENABLED
    7145           0 :     module procedure setUnifRandRNGFLU_D0_IK2
    7146             :         use pm_kind, only: IKC => IK2
    7147             : #include "pm_distUnif@routines.inc.F90"
    7148           0 :     end procedure
    7149             : #endif
    7150             : 
    7151             : #if IK1_ENABLED
    7152           0 :     module procedure setUnifRandRNGFLU_D0_IK1
    7153             :         use pm_kind, only: IKC => IK1
    7154             : #include "pm_distUnif@routines.inc.F90"
    7155           0 :     end procedure
    7156             : #endif
    7157             : 
    7158             : #undef IK_ENABLED
    7159             : 
    7160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7161             : 
    7162             : #define LK_ENABLED 1
    7163             : 
    7164             : #if LK5_ENABLED
    7165           0 :     module procedure setUnifRandRNGFLU_D0_LK5
    7166             :         use pm_kind, only: LKC => LK5
    7167             : #include "pm_distUnif@routines.inc.F90"
    7168           0 :     end procedure
    7169             : #endif
    7170             : 
    7171             : #if LK4_ENABLED
    7172           0 :     module procedure setUnifRandRNGFLU_D0_LK4
    7173             :         use pm_kind, only: LKC => LK4
    7174             : #include "pm_distUnif@routines.inc.F90"
    7175           0 :     end procedure
    7176             : #endif
    7177             : 
    7178             : #if LK3_ENABLED
    7179           0 :     module procedure setUnifRandRNGFLU_D0_LK3
    7180             :         use pm_kind, only: LKC => LK3
    7181             : #include "pm_distUnif@routines.inc.F90"
    7182           0 :     end procedure
    7183             : #endif
    7184             : 
    7185             : #if LK2_ENABLED
    7186           0 :     module procedure setUnifRandRNGFLU_D0_LK2
    7187             :         use pm_kind, only: LKC => LK2
    7188             : #include "pm_distUnif@routines.inc.F90"
    7189           0 :     end procedure
    7190             : #endif
    7191             : 
    7192             : #if LK1_ENABLED
    7193           0 :     module procedure setUnifRandRNGFLU_D0_LK1
    7194             :         use pm_kind, only: LKC => LK1
    7195             : #include "pm_distUnif@routines.inc.F90"
    7196           0 :     end procedure
    7197             : #endif
    7198             : 
    7199             : #undef LK_ENABLED
    7200             : 
    7201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7202             : 
    7203             : #define CK_ENABLED 1
    7204             : 
    7205             : #if CK5_ENABLED
    7206             :     module procedure setUnifRandRNGFLU_D0_CK5
    7207             :         use pm_kind, only: CKC => CK5
    7208             : #include "pm_distUnif@routines.inc.F90"
    7209             :     end procedure
    7210             : #endif
    7211             : 
    7212             : #if CK4_ENABLED
    7213        1744 :     module procedure setUnifRandRNGFLU_D0_CK4
    7214             :         use pm_kind, only: CKC => CK4
    7215             : #include "pm_distUnif@routines.inc.F90"
    7216        1744 :     end procedure
    7217             : #endif
    7218             : 
    7219             : #if CK3_ENABLED
    7220        1872 :     module procedure setUnifRandRNGFLU_D0_CK3
    7221             :         use pm_kind, only: CKC => CK3
    7222             : #include "pm_distUnif@routines.inc.F90"
    7223        1872 :     end procedure
    7224             : #endif
    7225             : 
    7226             : #if CK2_ENABLED
    7227        2691 :     module procedure setUnifRandRNGFLU_D0_CK2
    7228             :         use pm_kind, only: CKC => CK2
    7229             : #include "pm_distUnif@routines.inc.F90"
    7230        2691 :     end procedure
    7231             : #endif
    7232             : 
    7233             : #if CK1_ENABLED
    7234        2157 :     module procedure setUnifRandRNGFLU_D0_CK1
    7235             :         use pm_kind, only: CKC => CK1
    7236             : #include "pm_distUnif@routines.inc.F90"
    7237        2157 :     end procedure
    7238             : #endif
    7239             : 
    7240             : #undef CK_ENABLED
    7241             : 
    7242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7243             : 
    7244             : #define RK_ENABLED 1
    7245             : 
    7246             : #if RK5_ENABLED
    7247             :     module procedure setUnifRandRNGFLU_D0_RK5
    7248             :         use pm_kind, only: RKC => RK5
    7249             : #include "pm_distUnif@routines.inc.F90"
    7250             :     end procedure
    7251             : #endif
    7252             : 
    7253             : #if RK4_ENABLED
    7254        4301 :     module procedure setUnifRandRNGFLU_D0_RK4
    7255             :         use pm_kind, only: RKC => RK4
    7256             : #include "pm_distUnif@routines.inc.F90"
    7257        4301 :     end procedure
    7258             : #endif
    7259             : 
    7260             : #if RK3_ENABLED
    7261        3696 :     module procedure setUnifRandRNGFLU_D0_RK3
    7262             :         use pm_kind, only: RKC => RK3
    7263             : #include "pm_distUnif@routines.inc.F90"
    7264        3696 :     end procedure
    7265             : #endif
    7266             : 
    7267             : #if RK2_ENABLED
    7268        4256 :     module procedure setUnifRandRNGFLU_D0_RK2
    7269             :         use pm_kind, only: RKC => RK2
    7270             : #include "pm_distUnif@routines.inc.F90"
    7271        4256 :     end procedure
    7272             : #endif
    7273             : 
    7274             : #if RK1_ENABLED
    7275        8509 :     module procedure setUnifRandRNGFLU_D0_RK1
    7276             :         use pm_kind, only: RKC => RK1
    7277             : #include "pm_distUnif@routines.inc.F90"
    7278        8509 :     end procedure
    7279             : #endif
    7280             : 
    7281             : #undef RK_ENABLED
    7282             : 
    7283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7284             : 
    7285             : #undef LU_ENABLED
    7286             : 
    7287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7288             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7290             : 
    7291             : #undef D0_ENABLED
    7292             : 
    7293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7294             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7296             : 
    7297             : #undef RNGF_ENABLED
    7298             : 
    7299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7300             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7302             : 
    7303             : #define SM64_ENABLED 1
    7304             : 
    7305             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7306             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7308             : 
    7309             : #define DD_ENABLED 1
    7310             : 
    7311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7312             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7314             : 
    7315             : #define D0_ENABLED 1
    7316             : 
    7317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7318             : 
    7319             : #define SK_ENABLED 1
    7320             : 
    7321             : #if SK5_ENABLED
    7322             :     module procedure setUnifRandRNGSDD_D0_SK5
    7323             :         use pm_kind, only: SKC => SK5
    7324             : #include "pm_distUnif@routines.inc.F90"
    7325             :     end procedure
    7326             : #endif
    7327             : 
    7328             : #if SK4_ENABLED
    7329             :     module procedure setUnifRandRNGSDD_D0_SK4
    7330             :         use pm_kind, only: SKC => SK4
    7331             : #include "pm_distUnif@routines.inc.F90"
    7332             :     end procedure
    7333             : #endif
    7334             : 
    7335             : #if SK3_ENABLED
    7336             :     module procedure setUnifRandRNGSDD_D0_SK3
    7337             :         use pm_kind, only: SKC => SK3
    7338             : #include "pm_distUnif@routines.inc.F90"
    7339             :     end procedure
    7340             : #endif
    7341             : 
    7342             : #if SK2_ENABLED
    7343             :     module procedure setUnifRandRNGSDD_D0_SK2
    7344             :         use pm_kind, only: SKC => SK2
    7345             : #include "pm_distUnif@routines.inc.F90"
    7346             :     end procedure
    7347             : #endif
    7348             : 
    7349             : #if SK1_ENABLED
    7350           0 :     module procedure setUnifRandRNGSDD_D0_SK1
    7351             :         use pm_kind, only: SKC => SK1
    7352             : #include "pm_distUnif@routines.inc.F90"
    7353           0 :     end procedure
    7354             : #endif
    7355             : 
    7356             : #undef SK_ENABLED
    7357             : 
    7358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7359             : 
    7360             : #define IK_ENABLED 1
    7361             : 
    7362             : #if IK5_ENABLED
    7363           0 :     module procedure setUnifRandRNGSDD_D0_IK5
    7364             :         use pm_kind, only: IKC => IK5
    7365             : #include "pm_distUnif@routines.inc.F90"
    7366           0 :     end procedure
    7367             : #endif
    7368             : 
    7369             : #if IK4_ENABLED
    7370     1549468 :     module procedure setUnifRandRNGSDD_D0_IK4
    7371             :         use pm_kind, only: IKC => IK4
    7372             : #include "pm_distUnif@routines.inc.F90"
    7373             :     end procedure
    7374             : #endif
    7375             : 
    7376             : #if IK3_ENABLED
    7377        5028 :     module procedure setUnifRandRNGSDD_D0_IK3
    7378             :         use pm_kind, only: IKC => IK3
    7379             : #include "pm_distUnif@routines.inc.F90"
    7380             :     end procedure
    7381             : #endif
    7382             : 
    7383             : #if IK2_ENABLED
    7384           0 :     module procedure setUnifRandRNGSDD_D0_IK2
    7385             :         use pm_kind, only: IKC => IK2
    7386             : #include "pm_distUnif@routines.inc.F90"
    7387             :     end procedure
    7388             : #endif
    7389             : 
    7390             : #if IK1_ENABLED
    7391          30 :     module procedure setUnifRandRNGSDD_D0_IK1
    7392             :         use pm_kind, only: IKC => IK1
    7393             : #include "pm_distUnif@routines.inc.F90"
    7394             :     end procedure
    7395             : #endif
    7396             : 
    7397             : #undef IK_ENABLED
    7398             : 
    7399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7400             : 
    7401             : #define LK_ENABLED 1
    7402             : 
    7403             : #if LK5_ENABLED
    7404           0 :     module procedure setUnifRandRNGSDD_D0_LK5
    7405             :         use pm_kind, only: LKC => LK5
    7406             : #include "pm_distUnif@routines.inc.F90"
    7407           0 :     end procedure
    7408             : #endif
    7409             : 
    7410             : #if LK4_ENABLED
    7411           0 :     module procedure setUnifRandRNGSDD_D0_LK4
    7412             :         use pm_kind, only: LKC => LK4
    7413             : #include "pm_distUnif@routines.inc.F90"
    7414           0 :     end procedure
    7415             : #endif
    7416             : 
    7417             : #if LK3_ENABLED
    7418          10 :     module procedure setUnifRandRNGSDD_D0_LK3
    7419             :         use pm_kind, only: LKC => LK3
    7420             : #include "pm_distUnif@routines.inc.F90"
    7421          10 :     end procedure
    7422             : #endif
    7423             : 
    7424             : #if LK2_ENABLED
    7425           0 :     module procedure setUnifRandRNGSDD_D0_LK2
    7426             :         use pm_kind, only: LKC => LK2
    7427             : #include "pm_distUnif@routines.inc.F90"
    7428           0 :     end procedure
    7429             : #endif
    7430             : 
    7431             : #if LK1_ENABLED
    7432           0 :     module procedure setUnifRandRNGSDD_D0_LK1
    7433             :         use pm_kind, only: LKC => LK1
    7434             : #include "pm_distUnif@routines.inc.F90"
    7435           0 :     end procedure
    7436             : #endif
    7437             : 
    7438             : #undef LK_ENABLED
    7439             : 
    7440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7441             : 
    7442             : #define CK_ENABLED 1
    7443             : 
    7444             : #if CK5_ENABLED
    7445             :     module procedure setUnifRandRNGSDD_D0_CK5
    7446             :         use pm_kind, only: CKC => CK5
    7447             : #include "pm_distUnif@routines.inc.F90"
    7448             :     end procedure
    7449             : #endif
    7450             : 
    7451             : #if CK4_ENABLED
    7452           0 :     module procedure setUnifRandRNGSDD_D0_CK4
    7453             :         use pm_kind, only: CKC => CK4
    7454             : #include "pm_distUnif@routines.inc.F90"
    7455           0 :     end procedure
    7456             : #endif
    7457             : 
    7458             : #if CK3_ENABLED
    7459           0 :     module procedure setUnifRandRNGSDD_D0_CK3
    7460             :         use pm_kind, only: CKC => CK3
    7461             : #include "pm_distUnif@routines.inc.F90"
    7462           0 :     end procedure
    7463             : #endif
    7464             : 
    7465             : #if CK2_ENABLED
    7466           0 :     module procedure setUnifRandRNGSDD_D0_CK2
    7467             :         use pm_kind, only: CKC => CK2
    7468             : #include "pm_distUnif@routines.inc.F90"
    7469           0 :     end procedure
    7470             : #endif
    7471             : 
    7472             : #if CK1_ENABLED
    7473           0 :     module procedure setUnifRandRNGSDD_D0_CK1
    7474             :         use pm_kind, only: CKC => CK1
    7475             : #include "pm_distUnif@routines.inc.F90"
    7476           0 :     end procedure
    7477             : #endif
    7478             : 
    7479             : #undef CK_ENABLED
    7480             : 
    7481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7482             : 
    7483             : #define RK_ENABLED 1
    7484             : 
    7485             : #if RK5_ENABLED
    7486             :     module procedure setUnifRandRNGSDD_D0_RK5
    7487             :         use pm_kind, only: RKC => RK5
    7488             : #include "pm_distUnif@routines.inc.F90"
    7489             :     end procedure
    7490             : #endif
    7491             : 
    7492             : #if RK4_ENABLED
    7493           6 :     module procedure setUnifRandRNGSDD_D0_RK4
    7494             :         use pm_kind, only: RKC => RK4
    7495             : #include "pm_distUnif@routines.inc.F90"
    7496           6 :     end procedure
    7497             : #endif
    7498             : 
    7499             : #if RK3_ENABLED
    7500           0 :     module procedure setUnifRandRNGSDD_D0_RK3
    7501             :         use pm_kind, only: RKC => RK3
    7502             : #include "pm_distUnif@routines.inc.F90"
    7503           0 :     end procedure
    7504             : #endif
    7505             : 
    7506             : #if RK2_ENABLED
    7507           0 :     module procedure setUnifRandRNGSDD_D0_RK2
    7508             :         use pm_kind, only: RKC => RK2
    7509             : #include "pm_distUnif@routines.inc.F90"
    7510           0 :     end procedure
    7511             : #endif
    7512             : 
    7513             : #if RK1_ENABLED
    7514       15015 :     module procedure setUnifRandRNGSDD_D0_RK1
    7515             :         use pm_kind, only: RKC => RK1
    7516             : #include "pm_distUnif@routines.inc.F90"
    7517       15015 :     end procedure
    7518             : #endif
    7519             : 
    7520             : #undef RK_ENABLED
    7521             : 
    7522             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7523             : 
    7524             : #undef D0_ENABLED
    7525             : 
    7526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7527             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7529             : 
    7530             : #define D1_ENABLED 1
    7531             : 
    7532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7533             : 
    7534             : #define SK_ENABLED 1
    7535             : 
    7536             : #if SK5_ENABLED
    7537             :     module procedure setUnifRandRNGSDD_D1_SK5
    7538             :         use pm_kind, only: SKC => SK5
    7539             : #include "pm_distUnif@routines.inc.F90"
    7540             :     end procedure
    7541             : #endif
    7542             : 
    7543             : #if SK4_ENABLED
    7544             :     module procedure setUnifRandRNGSDD_D1_SK4
    7545             :         use pm_kind, only: SKC => SK4
    7546             : #include "pm_distUnif@routines.inc.F90"
    7547             :     end procedure
    7548             : #endif
    7549             : 
    7550             : #if SK3_ENABLED
    7551             :     module procedure setUnifRandRNGSDD_D1_SK3
    7552             :         use pm_kind, only: SKC => SK3
    7553             : #include "pm_distUnif@routines.inc.F90"
    7554             :     end procedure
    7555             : #endif
    7556             : 
    7557             : #if SK2_ENABLED
    7558             :     module procedure setUnifRandRNGSDD_D1_SK2
    7559             :         use pm_kind, only: SKC => SK2
    7560             : #include "pm_distUnif@routines.inc.F90"
    7561             :     end procedure
    7562             : #endif
    7563             : 
    7564             : #if SK1_ENABLED
    7565           0 :     module procedure setUnifRandRNGSDD_D1_SK1
    7566             :         use pm_kind, only: SKC => SK1
    7567             : #include "pm_distUnif@routines.inc.F90"
    7568           0 :     end procedure
    7569             : #endif
    7570             : 
    7571             : #undef SK_ENABLED
    7572             : 
    7573             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7574             : 
    7575             : #define IK_ENABLED 1
    7576             : 
    7577             : #if IK5_ENABLED
    7578           0 :     module procedure setUnifRandRNGSDD_D1_IK5
    7579             :         use pm_kind, only: IKC => IK5
    7580             : #include "pm_distUnif@routines.inc.F90"
    7581           0 :     end procedure
    7582             : #endif
    7583             : 
    7584             : #if IK4_ENABLED
    7585      387367 :     module procedure setUnifRandRNGSDD_D1_IK4
    7586             :         use pm_kind, only: IKC => IK4
    7587             : #include "pm_distUnif@routines.inc.F90"
    7588      387367 :     end procedure
    7589             : #endif
    7590             : 
    7591             : #if IK3_ENABLED
    7592           0 :     module procedure setUnifRandRNGSDD_D1_IK3
    7593             :         use pm_kind, only: IKC => IK3
    7594             : #include "pm_distUnif@routines.inc.F90"
    7595           0 :     end procedure
    7596             : #endif
    7597             : 
    7598             : #if IK2_ENABLED
    7599           0 :     module procedure setUnifRandRNGSDD_D1_IK2
    7600             :         use pm_kind, only: IKC => IK2
    7601             : #include "pm_distUnif@routines.inc.F90"
    7602           0 :     end procedure
    7603             : #endif
    7604             : 
    7605             : #if IK1_ENABLED
    7606           0 :     module procedure setUnifRandRNGSDD_D1_IK1
    7607             :         use pm_kind, only: IKC => IK1
    7608             : #include "pm_distUnif@routines.inc.F90"
    7609           0 :     end procedure
    7610             : #endif
    7611             : 
    7612             : #undef IK_ENABLED
    7613             : 
    7614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7615             : 
    7616             : #define LK_ENABLED 1
    7617             : 
    7618             : #if LK5_ENABLED
    7619           0 :     module procedure setUnifRandRNGSDD_D1_LK5
    7620             :         use pm_kind, only: LKC => LK5
    7621             : #include "pm_distUnif@routines.inc.F90"
    7622           0 :     end procedure
    7623             : #endif
    7624             : 
    7625             : #if LK4_ENABLED
    7626           0 :     module procedure setUnifRandRNGSDD_D1_LK4
    7627             :         use pm_kind, only: LKC => LK4
    7628             : #include "pm_distUnif@routines.inc.F90"
    7629           0 :     end procedure
    7630             : #endif
    7631             : 
    7632             : #if LK3_ENABLED
    7633           0 :     module procedure setUnifRandRNGSDD_D1_LK3
    7634             :         use pm_kind, only: LKC => LK3
    7635             : #include "pm_distUnif@routines.inc.F90"
    7636           0 :     end procedure
    7637             : #endif
    7638             : 
    7639             : #if LK2_ENABLED
    7640           0 :     module procedure setUnifRandRNGSDD_D1_LK2
    7641             :         use pm_kind, only: LKC => LK2
    7642             : #include "pm_distUnif@routines.inc.F90"
    7643           0 :     end procedure
    7644             : #endif
    7645             : 
    7646             : #if LK1_ENABLED
    7647           0 :     module procedure setUnifRandRNGSDD_D1_LK1
    7648             :         use pm_kind, only: LKC => LK1
    7649             : #include "pm_distUnif@routines.inc.F90"
    7650           0 :     end procedure
    7651             : #endif
    7652             : 
    7653             : #undef LK_ENABLED
    7654             : 
    7655             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7656             : 
    7657             : #define CK_ENABLED 1
    7658             : 
    7659             : #if CK5_ENABLED
    7660             :     module procedure setUnifRandRNGSDD_D1_CK5
    7661             :         use pm_kind, only: CKC => CK5
    7662             : #include "pm_distUnif@routines.inc.F90"
    7663             :     end procedure
    7664             : #endif
    7665             : 
    7666             : #if CK4_ENABLED
    7667           0 :     module procedure setUnifRandRNGSDD_D1_CK4
    7668             :         use pm_kind, only: CKC => CK4
    7669             : #include "pm_distUnif@routines.inc.F90"
    7670           0 :     end procedure
    7671             : #endif
    7672             : 
    7673             : #if CK3_ENABLED
    7674           0 :     module procedure setUnifRandRNGSDD_D1_CK3
    7675             :         use pm_kind, only: CKC => CK3
    7676             : #include "pm_distUnif@routines.inc.F90"
    7677           0 :     end procedure
    7678             : #endif
    7679             : 
    7680             : #if CK2_ENABLED
    7681           0 :     module procedure setUnifRandRNGSDD_D1_CK2
    7682             :         use pm_kind, only: CKC => CK2
    7683             : #include "pm_distUnif@routines.inc.F90"
    7684           0 :     end procedure
    7685             : #endif
    7686             : 
    7687             : #if CK1_ENABLED
    7688           0 :     module procedure setUnifRandRNGSDD_D1_CK1
    7689             :         use pm_kind, only: CKC => CK1
    7690             : #include "pm_distUnif@routines.inc.F90"
    7691           0 :     end procedure
    7692             : #endif
    7693             : 
    7694             : #undef CK_ENABLED
    7695             : 
    7696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7697             : 
    7698             : #define RK_ENABLED 1
    7699             : 
    7700             : #if RK5_ENABLED
    7701             :     module procedure setUnifRandRNGSDD_D1_RK5
    7702             :         use pm_kind, only: RKC => RK5
    7703             : #include "pm_distUnif@routines.inc.F90"
    7704             :     end procedure
    7705             : #endif
    7706             : 
    7707             : #if RK4_ENABLED
    7708           0 :     module procedure setUnifRandRNGSDD_D1_RK4
    7709             :         use pm_kind, only: RKC => RK4
    7710             : #include "pm_distUnif@routines.inc.F90"
    7711           0 :     end procedure
    7712             : #endif
    7713             : 
    7714             : #if RK3_ENABLED
    7715           0 :     module procedure setUnifRandRNGSDD_D1_RK3
    7716             :         use pm_kind, only: RKC => RK3
    7717             : #include "pm_distUnif@routines.inc.F90"
    7718           0 :     end procedure
    7719             : #endif
    7720             : 
    7721             : #if RK2_ENABLED
    7722           0 :     module procedure setUnifRandRNGSDD_D1_RK2
    7723             :         use pm_kind, only: RKC => RK2
    7724             : #include "pm_distUnif@routines.inc.F90"
    7725           0 :     end procedure
    7726             : #endif
    7727             : 
    7728             : #if RK1_ENABLED
    7729           1 :     module procedure setUnifRandRNGSDD_D1_RK1
    7730             :         use pm_kind, only: RKC => RK1
    7731             : #include "pm_distUnif@routines.inc.F90"
    7732           1 :     end procedure
    7733             : #endif
    7734             : 
    7735             : #undef RK_ENABLED
    7736             : 
    7737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7738             : 
    7739             : #undef D1_ENABLED
    7740             : 
    7741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7744             : 
    7745             : #define D2_ENABLED 1
    7746             : 
    7747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7748             : 
    7749             : #define SK_ENABLED 1
    7750             : 
    7751             : #if SK5_ENABLED
    7752             :     module procedure setUnifRandRNGSDD_D2_SK5
    7753             :         use pm_kind, only: SKC => SK5
    7754             : #include "pm_distUnif@routines.inc.F90"
    7755             :     end procedure
    7756             : #endif
    7757             : 
    7758             : #if SK4_ENABLED
    7759             :     module procedure setUnifRandRNGSDD_D2_SK4
    7760             :         use pm_kind, only: SKC => SK4
    7761             : #include "pm_distUnif@routines.inc.F90"
    7762             :     end procedure
    7763             : #endif
    7764             : 
    7765             : #if SK3_ENABLED
    7766             :     module procedure setUnifRandRNGSDD_D2_SK3
    7767             :         use pm_kind, only: SKC => SK3
    7768             : #include "pm_distUnif@routines.inc.F90"
    7769             :     end procedure
    7770             : #endif
    7771             : 
    7772             : #if SK2_ENABLED
    7773             :     module procedure setUnifRandRNGSDD_D2_SK2
    7774             :         use pm_kind, only: SKC => SK2
    7775             : #include "pm_distUnif@routines.inc.F90"
    7776             :     end procedure
    7777             : #endif
    7778             : 
    7779             : #if SK1_ENABLED
    7780           0 :     module procedure setUnifRandRNGSDD_D2_SK1
    7781             :         use pm_kind, only: SKC => SK1
    7782             : #include "pm_distUnif@routines.inc.F90"
    7783           0 :     end procedure
    7784             : #endif
    7785             : 
    7786             : #undef SK_ENABLED
    7787             : 
    7788             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7789             : 
    7790             : #define IK_ENABLED 1
    7791             : 
    7792             : #if IK5_ENABLED
    7793           0 :     module procedure setUnifRandRNGSDD_D2_IK5
    7794             :         use pm_kind, only: IKC => IK5
    7795             : #include "pm_distUnif@routines.inc.F90"
    7796           0 :     end procedure
    7797             : #endif
    7798             : 
    7799             : #if IK4_ENABLED
    7800           0 :     module procedure setUnifRandRNGSDD_D2_IK4
    7801             :         use pm_kind, only: IKC => IK4
    7802             : #include "pm_distUnif@routines.inc.F90"
    7803           0 :     end procedure
    7804             : #endif
    7805             : 
    7806             : #if IK3_ENABLED
    7807           0 :     module procedure setUnifRandRNGSDD_D2_IK3
    7808             :         use pm_kind, only: IKC => IK3
    7809             : #include "pm_distUnif@routines.inc.F90"
    7810           0 :     end procedure
    7811             : #endif
    7812             : 
    7813             : #if IK2_ENABLED
    7814           0 :     module procedure setUnifRandRNGSDD_D2_IK2
    7815             :         use pm_kind, only: IKC => IK2
    7816             : #include "pm_distUnif@routines.inc.F90"
    7817           0 :     end procedure
    7818             : #endif
    7819             : 
    7820             : #if IK1_ENABLED
    7821           0 :     module procedure setUnifRandRNGSDD_D2_IK1
    7822             :         use pm_kind, only: IKC => IK1
    7823             : #include "pm_distUnif@routines.inc.F90"
    7824           0 :     end procedure
    7825             : #endif
    7826             : 
    7827             : #undef IK_ENABLED
    7828             : 
    7829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7830             : 
    7831             : #define LK_ENABLED 1
    7832             : 
    7833             : #if LK5_ENABLED
    7834           0 :     module procedure setUnifRandRNGSDD_D2_LK5
    7835             :         use pm_kind, only: LKC => LK5
    7836             : #include "pm_distUnif@routines.inc.F90"
    7837           0 :     end procedure
    7838             : #endif
    7839             : 
    7840             : #if LK4_ENABLED
    7841           0 :     module procedure setUnifRandRNGSDD_D2_LK4
    7842             :         use pm_kind, only: LKC => LK4
    7843             : #include "pm_distUnif@routines.inc.F90"
    7844           0 :     end procedure
    7845             : #endif
    7846             : 
    7847             : #if LK3_ENABLED
    7848           0 :     module procedure setUnifRandRNGSDD_D2_LK3
    7849             :         use pm_kind, only: LKC => LK3
    7850             : #include "pm_distUnif@routines.inc.F90"
    7851           0 :     end procedure
    7852             : #endif
    7853             : 
    7854             : #if LK2_ENABLED
    7855           0 :     module procedure setUnifRandRNGSDD_D2_LK2
    7856             :         use pm_kind, only: LKC => LK2
    7857             : #include "pm_distUnif@routines.inc.F90"
    7858           0 :     end procedure
    7859             : #endif
    7860             : 
    7861             : #if LK1_ENABLED
    7862           0 :     module procedure setUnifRandRNGSDD_D2_LK1
    7863             :         use pm_kind, only: LKC => LK1
    7864             : #include "pm_distUnif@routines.inc.F90"
    7865           0 :     end procedure
    7866             : #endif
    7867             : 
    7868             : #undef LK_ENABLED
    7869             : 
    7870             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7871             : 
    7872             : #define CK_ENABLED 1
    7873             : 
    7874             : #if CK5_ENABLED
    7875             :     module procedure setUnifRandRNGSDD_D2_CK5
    7876             :         use pm_kind, only: CKC => CK5
    7877             : #include "pm_distUnif@routines.inc.F90"
    7878             :     end procedure
    7879             : #endif
    7880             : 
    7881             : #if CK4_ENABLED
    7882           0 :     module procedure setUnifRandRNGSDD_D2_CK4
    7883             :         use pm_kind, only: CKC => CK4
    7884             : #include "pm_distUnif@routines.inc.F90"
    7885           0 :     end procedure
    7886             : #endif
    7887             : 
    7888             : #if CK3_ENABLED
    7889           0 :     module procedure setUnifRandRNGSDD_D2_CK3
    7890             :         use pm_kind, only: CKC => CK3
    7891             : #include "pm_distUnif@routines.inc.F90"
    7892           0 :     end procedure
    7893             : #endif
    7894             : 
    7895             : #if CK2_ENABLED
    7896           0 :     module procedure setUnifRandRNGSDD_D2_CK2
    7897             :         use pm_kind, only: CKC => CK2
    7898             : #include "pm_distUnif@routines.inc.F90"
    7899           0 :     end procedure
    7900             : #endif
    7901             : 
    7902             : #if CK1_ENABLED
    7903           0 :     module procedure setUnifRandRNGSDD_D2_CK1
    7904             :         use pm_kind, only: CKC => CK1
    7905             : #include "pm_distUnif@routines.inc.F90"
    7906           0 :     end procedure
    7907             : #endif
    7908             : 
    7909             : #undef CK_ENABLED
    7910             : 
    7911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7912             : 
    7913             : #define RK_ENABLED 1
    7914             : 
    7915             : #if RK5_ENABLED
    7916             :     module procedure setUnifRandRNGSDD_D2_RK5
    7917             :         use pm_kind, only: RKC => RK5
    7918             : #include "pm_distUnif@routines.inc.F90"
    7919             :     end procedure
    7920             : #endif
    7921             : 
    7922             : #if RK4_ENABLED
    7923           0 :     module procedure setUnifRandRNGSDD_D2_RK4
    7924             :         use pm_kind, only: RKC => RK4
    7925             : #include "pm_distUnif@routines.inc.F90"
    7926           0 :     end procedure
    7927             : #endif
    7928             : 
    7929             : #if RK3_ENABLED
    7930           0 :     module procedure setUnifRandRNGSDD_D2_RK3
    7931             :         use pm_kind, only: RKC => RK3
    7932             : #include "pm_distUnif@routines.inc.F90"
    7933           0 :     end procedure
    7934             : #endif
    7935             : 
    7936             : #if RK2_ENABLED
    7937           0 :     module procedure setUnifRandRNGSDD_D2_RK2
    7938             :         use pm_kind, only: RKC => RK2
    7939             : #include "pm_distUnif@routines.inc.F90"
    7940           0 :     end procedure
    7941             : #endif
    7942             : 
    7943             : #if RK1_ENABLED
    7944           0 :     module procedure setUnifRandRNGSDD_D2_RK1
    7945             :         use pm_kind, only: RKC => RK1
    7946             : #include "pm_distUnif@routines.inc.F90"
    7947           0 :     end procedure
    7948             : #endif
    7949             : 
    7950             : #undef RK_ENABLED
    7951             : 
    7952             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7953             : 
    7954             : #undef D2_ENABLED
    7955             : 
    7956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7959             : 
    7960             : #define D3_ENABLED 1
    7961             : 
    7962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7963             : 
    7964             : #define SK_ENABLED 1
    7965             : 
    7966             : #if SK5_ENABLED
    7967             :     module procedure setUnifRandRNGSDD_D3_SK5
    7968             :         use pm_kind, only: SKC => SK5
    7969             : #include "pm_distUnif@routines.inc.F90"
    7970             :     end procedure
    7971             : #endif
    7972             : 
    7973             : #if SK4_ENABLED
    7974             :     module procedure setUnifRandRNGSDD_D3_SK4
    7975             :         use pm_kind, only: SKC => SK4
    7976             : #include "pm_distUnif@routines.inc.F90"
    7977             :     end procedure
    7978             : #endif
    7979             : 
    7980             : #if SK3_ENABLED
    7981             :     module procedure setUnifRandRNGSDD_D3_SK3
    7982             :         use pm_kind, only: SKC => SK3
    7983             : #include "pm_distUnif@routines.inc.F90"
    7984             :     end procedure
    7985             : #endif
    7986             : 
    7987             : #if SK2_ENABLED
    7988             :     module procedure setUnifRandRNGSDD_D3_SK2
    7989             :         use pm_kind, only: SKC => SK2
    7990             : #include "pm_distUnif@routines.inc.F90"
    7991             :     end procedure
    7992             : #endif
    7993             : 
    7994             : #if SK1_ENABLED
    7995           0 :     module procedure setUnifRandRNGSDD_D3_SK1
    7996             :         use pm_kind, only: SKC => SK1
    7997             : #include "pm_distUnif@routines.inc.F90"
    7998           0 :     end procedure
    7999             : #endif
    8000             : 
    8001             : #undef SK_ENABLED
    8002             : 
    8003             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8004             : 
    8005             : #define IK_ENABLED 1
    8006             : 
    8007             : #if IK5_ENABLED
    8008           0 :     module procedure setUnifRandRNGSDD_D3_IK5
    8009             :         use pm_kind, only: IKC => IK5
    8010             : #include "pm_distUnif@routines.inc.F90"
    8011           0 :     end procedure
    8012             : #endif
    8013             : 
    8014             : #if IK4_ENABLED
    8015           0 :     module procedure setUnifRandRNGSDD_D3_IK4
    8016             :         use pm_kind, only: IKC => IK4
    8017             : #include "pm_distUnif@routines.inc.F90"
    8018           0 :     end procedure
    8019             : #endif
    8020             : 
    8021             : #if IK3_ENABLED
    8022           0 :     module procedure setUnifRandRNGSDD_D3_IK3
    8023             :         use pm_kind, only: IKC => IK3
    8024             : #include "pm_distUnif@routines.inc.F90"
    8025           0 :     end procedure
    8026             : #endif
    8027             : 
    8028             : #if IK2_ENABLED
    8029           0 :     module procedure setUnifRandRNGSDD_D3_IK2
    8030             :         use pm_kind, only: IKC => IK2
    8031             : #include "pm_distUnif@routines.inc.F90"
    8032           0 :     end procedure
    8033             : #endif
    8034             : 
    8035             : #if IK1_ENABLED
    8036           0 :     module procedure setUnifRandRNGSDD_D3_IK1
    8037             :         use pm_kind, only: IKC => IK1
    8038             : #include "pm_distUnif@routines.inc.F90"
    8039           0 :     end procedure
    8040             : #endif
    8041             : 
    8042             : #undef IK_ENABLED
    8043             : 
    8044             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8045             : 
    8046             : #define LK_ENABLED 1
    8047             : 
    8048             : #if LK5_ENABLED
    8049           0 :     module procedure setUnifRandRNGSDD_D3_LK5
    8050             :         use pm_kind, only: LKC => LK5
    8051             : #include "pm_distUnif@routines.inc.F90"
    8052           0 :     end procedure
    8053             : #endif
    8054             : 
    8055             : #if LK4_ENABLED
    8056           0 :     module procedure setUnifRandRNGSDD_D3_LK4
    8057             :         use pm_kind, only: LKC => LK4
    8058             : #include "pm_distUnif@routines.inc.F90"
    8059           0 :     end procedure
    8060             : #endif
    8061             : 
    8062             : #if LK3_ENABLED
    8063           0 :     module procedure setUnifRandRNGSDD_D3_LK3
    8064             :         use pm_kind, only: LKC => LK3
    8065             : #include "pm_distUnif@routines.inc.F90"
    8066           0 :     end procedure
    8067             : #endif
    8068             : 
    8069             : #if LK2_ENABLED
    8070           0 :     module procedure setUnifRandRNGSDD_D3_LK2
    8071             :         use pm_kind, only: LKC => LK2
    8072             : #include "pm_distUnif@routines.inc.F90"
    8073           0 :     end procedure
    8074             : #endif
    8075             : 
    8076             : #if LK1_ENABLED
    8077           0 :     module procedure setUnifRandRNGSDD_D3_LK1
    8078             :         use pm_kind, only: LKC => LK1
    8079             : #include "pm_distUnif@routines.inc.F90"
    8080           0 :     end procedure
    8081             : #endif
    8082             : 
    8083             : #undef LK_ENABLED
    8084             : 
    8085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8086             : 
    8087             : #define CK_ENABLED 1
    8088             : 
    8089             : #if CK5_ENABLED
    8090             :     module procedure setUnifRandRNGSDD_D3_CK5
    8091             :         use pm_kind, only: CKC => CK5
    8092             : #include "pm_distUnif@routines.inc.F90"
    8093             :     end procedure
    8094             : #endif
    8095             : 
    8096             : #if CK4_ENABLED
    8097           0 :     module procedure setUnifRandRNGSDD_D3_CK4
    8098             :         use pm_kind, only: CKC => CK4
    8099             : #include "pm_distUnif@routines.inc.F90"
    8100           0 :     end procedure
    8101             : #endif
    8102             : 
    8103             : #if CK3_ENABLED
    8104           0 :     module procedure setUnifRandRNGSDD_D3_CK3
    8105             :         use pm_kind, only: CKC => CK3
    8106             : #include "pm_distUnif@routines.inc.F90"
    8107           0 :     end procedure
    8108             : #endif
    8109             : 
    8110             : #if CK2_ENABLED
    8111           0 :     module procedure setUnifRandRNGSDD_D3_CK2
    8112             :         use pm_kind, only: CKC => CK2
    8113             : #include "pm_distUnif@routines.inc.F90"
    8114           0 :     end procedure
    8115             : #endif
    8116             : 
    8117             : #if CK1_ENABLED
    8118           0 :     module procedure setUnifRandRNGSDD_D3_CK1
    8119             :         use pm_kind, only: CKC => CK1
    8120             : #include "pm_distUnif@routines.inc.F90"
    8121           0 :     end procedure
    8122             : #endif
    8123             : 
    8124             : #undef CK_ENABLED
    8125             : 
    8126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8127             : 
    8128             : #define RK_ENABLED 1
    8129             : 
    8130             : #if RK5_ENABLED
    8131             :     module procedure setUnifRandRNGSDD_D3_RK5
    8132             :         use pm_kind, only: RKC => RK5
    8133             : #include "pm_distUnif@routines.inc.F90"
    8134             :     end procedure
    8135             : #endif
    8136             : 
    8137             : #if RK4_ENABLED
    8138           0 :     module procedure setUnifRandRNGSDD_D3_RK4
    8139             :         use pm_kind, only: RKC => RK4
    8140             : #include "pm_distUnif@routines.inc.F90"
    8141           0 :     end procedure
    8142             : #endif
    8143             : 
    8144             : #if RK3_ENABLED
    8145           0 :     module procedure setUnifRandRNGSDD_D3_RK3
    8146             :         use pm_kind, only: RKC => RK3
    8147             : #include "pm_distUnif@routines.inc.F90"
    8148           0 :     end procedure
    8149             : #endif
    8150             : 
    8151             : #if RK2_ENABLED
    8152           0 :     module procedure setUnifRandRNGSDD_D3_RK2
    8153             :         use pm_kind, only: RKC => RK2
    8154             : #include "pm_distUnif@routines.inc.F90"
    8155           0 :     end procedure
    8156             : #endif
    8157             : 
    8158             : #if RK1_ENABLED
    8159           0 :     module procedure setUnifRandRNGSDD_D3_RK1
    8160             :         use pm_kind, only: RKC => RK1
    8161             : #include "pm_distUnif@routines.inc.F90"
    8162           0 :     end procedure
    8163             : #endif
    8164             : 
    8165             : #undef RK_ENABLED
    8166             : 
    8167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8168             : 
    8169             : #undef D3_ENABLED
    8170             : 
    8171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8174             : 
    8175             : #undef DD_ENABLED
    8176             : 
    8177             : #define LU_ENABLED 1
    8178             : 
    8179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8182             : 
    8183             : #define D0_ENABLED 1
    8184             : 
    8185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8186             : 
    8187             : #define SK_ENABLED 1
    8188             : 
    8189             : #if SK5_ENABLED
    8190             :     module procedure setUnifRandRNGSLU_D0_SK5
    8191             :         use pm_kind, only: SKC => SK5
    8192             : #include "pm_distUnif@routines.inc.F90"
    8193             :     end procedure
    8194             : #endif
    8195             : 
    8196             : #if SK4_ENABLED
    8197             :     module procedure setUnifRandRNGSLU_D0_SK4
    8198             :         use pm_kind, only: SKC => SK4
    8199             : #include "pm_distUnif@routines.inc.F90"
    8200             :     end procedure
    8201             : #endif
    8202             : 
    8203             : #if SK3_ENABLED
    8204             :     module procedure setUnifRandRNGSLU_D0_SK3
    8205             :         use pm_kind, only: SKC => SK3
    8206             : #include "pm_distUnif@routines.inc.F90"
    8207             :     end procedure
    8208             : #endif
    8209             : 
    8210             : #if SK2_ENABLED
    8211             :     module procedure setUnifRandRNGSLU_D0_SK2
    8212             :         use pm_kind, only: SKC => SK2
    8213             : #include "pm_distUnif@routines.inc.F90"
    8214             :     end procedure
    8215             : #endif
    8216             : 
    8217             : #if SK1_ENABLED
    8218           5 :     module procedure setUnifRandRNGSLU_D0_SK1
    8219             :         use pm_kind, only: SKC => SK1
    8220             : #include "pm_distUnif@routines.inc.F90"
    8221           5 :     end procedure
    8222             : #endif
    8223             : 
    8224             : #undef SK_ENABLED
    8225             : 
    8226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8227             : 
    8228             : #define IK_ENABLED 1
    8229             : 
    8230             : #if IK5_ENABLED
    8231           0 :     module procedure setUnifRandRNGSLU_D0_IK5
    8232             :         use pm_kind, only: IKC => IK5
    8233             : #include "pm_distUnif@routines.inc.F90"
    8234             :     end procedure
    8235             : #endif
    8236             : 
    8237             : #if IK4_ENABLED
    8238           0 :     module procedure setUnifRandRNGSLU_D0_IK4
    8239             :         use pm_kind, only: IKC => IK4
    8240             : #include "pm_distUnif@routines.inc.F90"
    8241             :     end procedure
    8242             : #endif
    8243             : 
    8244             : #if IK3_ENABLED
    8245        5033 :     module procedure setUnifRandRNGSLU_D0_IK3
    8246             :         use pm_kind, only: IKC => IK3
    8247             : #include "pm_distUnif@routines.inc.F90"
    8248             :     end procedure
    8249             : #endif
    8250             : 
    8251             : #if IK2_ENABLED
    8252           0 :     module procedure setUnifRandRNGSLU_D0_IK2
    8253             :         use pm_kind, only: IKC => IK2
    8254             : #include "pm_distUnif@routines.inc.F90"
    8255             :     end procedure
    8256             : #endif
    8257             : 
    8258             : #if IK1_ENABLED
    8259           5 :     module procedure setUnifRandRNGSLU_D0_IK1
    8260             :         use pm_kind, only: IKC => IK1
    8261             : #include "pm_distUnif@routines.inc.F90"
    8262             :     end procedure
    8263             : #endif
    8264             : 
    8265             : #undef IK_ENABLED
    8266             : 
    8267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8268             : 
    8269             : #define LK_ENABLED 1
    8270             : 
    8271             : #if LK5_ENABLED
    8272           0 :     module procedure setUnifRandRNGSLU_D0_LK5
    8273             :         use pm_kind, only: LKC => LK5
    8274             : #include "pm_distUnif@routines.inc.F90"
    8275           0 :     end procedure
    8276             : #endif
    8277             : 
    8278             : #if LK4_ENABLED
    8279           0 :     module procedure setUnifRandRNGSLU_D0_LK4
    8280             :         use pm_kind, only: LKC => LK4
    8281             : #include "pm_distUnif@routines.inc.F90"
    8282           0 :     end procedure
    8283             : #endif
    8284             : 
    8285             : #if LK3_ENABLED
    8286          10 :     module procedure setUnifRandRNGSLU_D0_LK3
    8287             :         use pm_kind, only: LKC => LK3
    8288             : #include "pm_distUnif@routines.inc.F90"
    8289          10 :     end procedure
    8290             : #endif
    8291             : 
    8292             : #if LK2_ENABLED
    8293           0 :     module procedure setUnifRandRNGSLU_D0_LK2
    8294             :         use pm_kind, only: LKC => LK2
    8295             : #include "pm_distUnif@routines.inc.F90"
    8296           0 :     end procedure
    8297             : #endif
    8298             : 
    8299             : #if LK1_ENABLED
    8300           0 :     module procedure setUnifRandRNGSLU_D0_LK1
    8301             :         use pm_kind, only: LKC => LK1
    8302             : #include "pm_distUnif@routines.inc.F90"
    8303           0 :     end procedure
    8304             : #endif
    8305             : 
    8306             : #undef LK_ENABLED
    8307             : 
    8308             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8309             : 
    8310             : #define CK_ENABLED 1
    8311             : 
    8312             : #if CK5_ENABLED
    8313             :     module procedure setUnifRandRNGSLU_D0_CK5
    8314             :         use pm_kind, only: CKC => CK5
    8315             : #include "pm_distUnif@routines.inc.F90"
    8316             :     end procedure
    8317             : #endif
    8318             : 
    8319             : #if CK4_ENABLED
    8320           0 :     module procedure setUnifRandRNGSLU_D0_CK4
    8321             :         use pm_kind, only: CKC => CK4
    8322             : #include "pm_distUnif@routines.inc.F90"
    8323           0 :     end procedure
    8324             : #endif
    8325             : 
    8326             : #if CK3_ENABLED
    8327           0 :     module procedure setUnifRandRNGSLU_D0_CK3
    8328             :         use pm_kind, only: CKC => CK3
    8329             : #include "pm_distUnif@routines.inc.F90"
    8330           0 :     end procedure
    8331             : #endif
    8332             : 
    8333             : #if CK2_ENABLED
    8334           0 :     module procedure setUnifRandRNGSLU_D0_CK2
    8335             :         use pm_kind, only: CKC => CK2
    8336             : #include "pm_distUnif@routines.inc.F90"
    8337           0 :     end procedure
    8338             : #endif
    8339             : 
    8340             : #if CK1_ENABLED
    8341        5005 :     module procedure setUnifRandRNGSLU_D0_CK1
    8342             :         use pm_kind, only: CKC => CK1
    8343             : #include "pm_distUnif@routines.inc.F90"
    8344        5005 :     end procedure
    8345             : #endif
    8346             : 
    8347             : #undef CK_ENABLED
    8348             : 
    8349             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8350             : 
    8351             : #define RK_ENABLED 1
    8352             : 
    8353             : #if RK5_ENABLED
    8354             :     module procedure setUnifRandRNGSLU_D0_RK5
    8355             :         use pm_kind, only: RKC => RK5
    8356             : #include "pm_distUnif@routines.inc.F90"
    8357             :     end procedure
    8358             : #endif
    8359             : 
    8360             : #if RK4_ENABLED
    8361           5 :     module procedure setUnifRandRNGSLU_D0_RK4
    8362             :         use pm_kind, only: RKC => RK4
    8363             : #include "pm_distUnif@routines.inc.F90"
    8364           5 :     end procedure
    8365             : #endif
    8366             : 
    8367             : #if RK3_ENABLED
    8368           0 :     module procedure setUnifRandRNGSLU_D0_RK3
    8369             :         use pm_kind, only: RKC => RK3
    8370             : #include "pm_distUnif@routines.inc.F90"
    8371           0 :     end procedure
    8372             : #endif
    8373             : 
    8374             : #if RK2_ENABLED
    8375           0 :     module procedure setUnifRandRNGSLU_D0_RK2
    8376             :         use pm_kind, only: RKC => RK2
    8377             : #include "pm_distUnif@routines.inc.F90"
    8378           0 :     end procedure
    8379             : #endif
    8380             : 
    8381             : #if RK1_ENABLED
    8382       10015 :     module procedure setUnifRandRNGSLU_D0_RK1
    8383             :         use pm_kind, only: RKC => RK1
    8384             : #include "pm_distUnif@routines.inc.F90"
    8385       10015 :     end procedure
    8386             : #endif
    8387             : 
    8388             : #undef RK_ENABLED
    8389             : 
    8390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8391             : 
    8392             : #undef D0_ENABLED
    8393             : 
    8394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8397             : 
    8398             : #define D1_ENABLED 1
    8399             : 
    8400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8401             : 
    8402             : #define SK_ENABLED 1
    8403             : 
    8404             : #if SK5_ENABLED
    8405             :     module procedure setUnifRandRNGSLU_D1_SK5
    8406             :         use pm_kind, only: SKC => SK5
    8407             : #include "pm_distUnif@routines.inc.F90"
    8408             :     end procedure
    8409             : #endif
    8410             : 
    8411             : #if SK4_ENABLED
    8412             :     module procedure setUnifRandRNGSLU_D1_SK4
    8413             :         use pm_kind, only: SKC => SK4
    8414             : #include "pm_distUnif@routines.inc.F90"
    8415             :     end procedure
    8416             : #endif
    8417             : 
    8418             : #if SK3_ENABLED
    8419             :     module procedure setUnifRandRNGSLU_D1_SK3
    8420             :         use pm_kind, only: SKC => SK3
    8421             : #include "pm_distUnif@routines.inc.F90"
    8422             :     end procedure
    8423             : #endif
    8424             : 
    8425             : #if SK2_ENABLED
    8426             :     module procedure setUnifRandRNGSLU_D1_SK2
    8427             :         use pm_kind, only: SKC => SK2
    8428             : #include "pm_distUnif@routines.inc.F90"
    8429             :     end procedure
    8430             : #endif
    8431             : 
    8432             : #if SK1_ENABLED
    8433           0 :     module procedure setUnifRandRNGSLU_D1_SK1
    8434             :         use pm_kind, only: SKC => SK1
    8435             : #include "pm_distUnif@routines.inc.F90"
    8436           0 :     end procedure
    8437             : #endif
    8438             : 
    8439             : #undef SK_ENABLED
    8440             : 
    8441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8442             : 
    8443             : #define IK_ENABLED 1
    8444             : 
    8445             : #if IK5_ENABLED
    8446           0 :     module procedure setUnifRandRNGSLU_D1_IK5
    8447             :         use pm_kind, only: IKC => IK5
    8448             : #include "pm_distUnif@routines.inc.F90"
    8449           0 :     end procedure
    8450             : #endif
    8451             : 
    8452             : #if IK4_ENABLED
    8453           0 :     module procedure setUnifRandRNGSLU_D1_IK4
    8454             :         use pm_kind, only: IKC => IK4
    8455             : #include "pm_distUnif@routines.inc.F90"
    8456           0 :     end procedure
    8457             : #endif
    8458             : 
    8459             : #if IK3_ENABLED
    8460           1 :     module procedure setUnifRandRNGSLU_D1_IK3
    8461             :         use pm_kind, only: IKC => IK3
    8462             : #include "pm_distUnif@routines.inc.F90"
    8463           1 :     end procedure
    8464             : #endif
    8465             : 
    8466             : #if IK2_ENABLED
    8467           0 :     module procedure setUnifRandRNGSLU_D1_IK2
    8468             :         use pm_kind, only: IKC => IK2
    8469             : #include "pm_distUnif@routines.inc.F90"
    8470           0 :     end procedure
    8471             : #endif
    8472             : 
    8473             : #if IK1_ENABLED
    8474           0 :     module procedure setUnifRandRNGSLU_D1_IK1
    8475             :         use pm_kind, only: IKC => IK1
    8476             : #include "pm_distUnif@routines.inc.F90"
    8477           0 :     end procedure
    8478             : #endif
    8479             : 
    8480             : #undef IK_ENABLED
    8481             : 
    8482             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8483             : 
    8484             : #define LK_ENABLED 1
    8485             : 
    8486             : #if LK5_ENABLED
    8487           0 :     module procedure setUnifRandRNGSLU_D1_LK5
    8488             :         use pm_kind, only: LKC => LK5
    8489             : #include "pm_distUnif@routines.inc.F90"
    8490           0 :     end procedure
    8491             : #endif
    8492             : 
    8493             : #if LK4_ENABLED
    8494           0 :     module procedure setUnifRandRNGSLU_D1_LK4
    8495             :         use pm_kind, only: LKC => LK4
    8496             : #include "pm_distUnif@routines.inc.F90"
    8497           0 :     end procedure
    8498             : #endif
    8499             : 
    8500             : #if LK3_ENABLED
    8501           0 :     module procedure setUnifRandRNGSLU_D1_LK3
    8502             :         use pm_kind, only: LKC => LK3
    8503             : #include "pm_distUnif@routines.inc.F90"
    8504           0 :     end procedure
    8505             : #endif
    8506             : 
    8507             : #if LK2_ENABLED
    8508           0 :     module procedure setUnifRandRNGSLU_D1_LK2
    8509             :         use pm_kind, only: LKC => LK2
    8510             : #include "pm_distUnif@routines.inc.F90"
    8511           0 :     end procedure
    8512             : #endif
    8513             : 
    8514             : #if LK1_ENABLED
    8515           0 :     module procedure setUnifRandRNGSLU_D1_LK1
    8516             :         use pm_kind, only: LKC => LK1
    8517             : #include "pm_distUnif@routines.inc.F90"
    8518           0 :     end procedure
    8519             : #endif
    8520             : 
    8521             : #undef LK_ENABLED
    8522             : 
    8523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8524             : 
    8525             : #define CK_ENABLED 1
    8526             : 
    8527             : #if CK5_ENABLED
    8528             :     module procedure setUnifRandRNGSLU_D1_CK5
    8529             :         use pm_kind, only: CKC => CK5
    8530             : #include "pm_distUnif@routines.inc.F90"
    8531             :     end procedure
    8532             : #endif
    8533             : 
    8534             : #if CK4_ENABLED
    8535           0 :     module procedure setUnifRandRNGSLU_D1_CK4
    8536             :         use pm_kind, only: CKC => CK4
    8537             : #include "pm_distUnif@routines.inc.F90"
    8538           0 :     end procedure
    8539             : #endif
    8540             : 
    8541             : #if CK3_ENABLED
    8542           0 :     module procedure setUnifRandRNGSLU_D1_CK3
    8543             :         use pm_kind, only: CKC => CK3
    8544             : #include "pm_distUnif@routines.inc.F90"
    8545           0 :     end procedure
    8546             : #endif
    8547             : 
    8548             : #if CK2_ENABLED
    8549           0 :     module procedure setUnifRandRNGSLU_D1_CK2
    8550             :         use pm_kind, only: CKC => CK2
    8551             : #include "pm_distUnif@routines.inc.F90"
    8552           0 :     end procedure
    8553             : #endif
    8554             : 
    8555             : #if CK1_ENABLED
    8556           1 :     module procedure setUnifRandRNGSLU_D1_CK1
    8557             :         use pm_kind, only: CKC => CK1
    8558             : #include "pm_distUnif@routines.inc.F90"
    8559           1 :     end procedure
    8560             : #endif
    8561             : 
    8562             : #undef CK_ENABLED
    8563             : 
    8564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8565             : 
    8566             : #define RK_ENABLED 1
    8567             : 
    8568             : #if RK5_ENABLED
    8569             :     module procedure setUnifRandRNGSLU_D1_RK5
    8570             :         use pm_kind, only: RKC => RK5
    8571             : #include "pm_distUnif@routines.inc.F90"
    8572             :     end procedure
    8573             : #endif
    8574             : 
    8575             : #if RK4_ENABLED
    8576           0 :     module procedure setUnifRandRNGSLU_D1_RK4
    8577             :         use pm_kind, only: RKC => RK4
    8578             : #include "pm_distUnif@routines.inc.F90"
    8579           0 :     end procedure
    8580             : #endif
    8581             : 
    8582             : #if RK3_ENABLED
    8583           0 :     module procedure setUnifRandRNGSLU_D1_RK3
    8584             :         use pm_kind, only: RKC => RK3
    8585             : #include "pm_distUnif@routines.inc.F90"
    8586           0 :     end procedure
    8587             : #endif
    8588             : 
    8589             : #if RK2_ENABLED
    8590           0 :     module procedure setUnifRandRNGSLU_D1_RK2
    8591             :         use pm_kind, only: RKC => RK2
    8592             : #include "pm_distUnif@routines.inc.F90"
    8593           0 :     end procedure
    8594             : #endif
    8595             : 
    8596             : #if RK1_ENABLED
    8597           0 :     module procedure setUnifRandRNGSLU_D1_RK1
    8598             :         use pm_kind, only: RKC => RK1
    8599             : #include "pm_distUnif@routines.inc.F90"
    8600           0 :     end procedure
    8601             : #endif
    8602             : 
    8603             : #undef RK_ENABLED
    8604             : 
    8605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8606             : 
    8607             : #undef D1_ENABLED
    8608             : 
    8609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8612             : 
    8613             : #define D2_ENABLED 1
    8614             : 
    8615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8616             : 
    8617             : #define SK_ENABLED 1
    8618             : 
    8619             : #if SK5_ENABLED
    8620             :     module procedure setUnifRandRNGSLU_D2_SK5
    8621             :         use pm_kind, only: SKC => SK5
    8622             : #include "pm_distUnif@routines.inc.F90"
    8623             :     end procedure
    8624             : #endif
    8625             : 
    8626             : #if SK4_ENABLED
    8627             :     module procedure setUnifRandRNGSLU_D2_SK4
    8628             :         use pm_kind, only: SKC => SK4
    8629             : #include "pm_distUnif@routines.inc.F90"
    8630             :     end procedure
    8631             : #endif
    8632             : 
    8633             : #if SK3_ENABLED
    8634             :     module procedure setUnifRandRNGSLU_D2_SK3
    8635             :         use pm_kind, only: SKC => SK3
    8636             : #include "pm_distUnif@routines.inc.F90"
    8637             :     end procedure
    8638             : #endif
    8639             : 
    8640             : #if SK2_ENABLED
    8641             :     module procedure setUnifRandRNGSLU_D2_SK2
    8642             :         use pm_kind, only: SKC => SK2
    8643             : #include "pm_distUnif@routines.inc.F90"
    8644             :     end procedure
    8645             : #endif
    8646             : 
    8647             : #if SK1_ENABLED
    8648           0 :     module procedure setUnifRandRNGSLU_D2_SK1
    8649             :         use pm_kind, only: SKC => SK1
    8650             : #include "pm_distUnif@routines.inc.F90"
    8651           0 :     end procedure
    8652             : #endif
    8653             : 
    8654             : #undef SK_ENABLED
    8655             : 
    8656             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8657             : 
    8658             : #define IK_ENABLED 1
    8659             : 
    8660             : #if IK5_ENABLED
    8661           0 :     module procedure setUnifRandRNGSLU_D2_IK5
    8662             :         use pm_kind, only: IKC => IK5
    8663             : #include "pm_distUnif@routines.inc.F90"
    8664           0 :     end procedure
    8665             : #endif
    8666             : 
    8667             : #if IK4_ENABLED
    8668           0 :     module procedure setUnifRandRNGSLU_D2_IK4
    8669             :         use pm_kind, only: IKC => IK4
    8670             : #include "pm_distUnif@routines.inc.F90"
    8671           0 :     end procedure
    8672             : #endif
    8673             : 
    8674             : #if IK3_ENABLED
    8675           0 :     module procedure setUnifRandRNGSLU_D2_IK3
    8676             :         use pm_kind, only: IKC => IK3
    8677             : #include "pm_distUnif@routines.inc.F90"
    8678           0 :     end procedure
    8679             : #endif
    8680             : 
    8681             : #if IK2_ENABLED
    8682           0 :     module procedure setUnifRandRNGSLU_D2_IK2
    8683             :         use pm_kind, only: IKC => IK2
    8684             : #include "pm_distUnif@routines.inc.F90"
    8685           0 :     end procedure
    8686             : #endif
    8687             : 
    8688             : #if IK1_ENABLED
    8689           0 :     module procedure setUnifRandRNGSLU_D2_IK1
    8690             :         use pm_kind, only: IKC => IK1
    8691             : #include "pm_distUnif@routines.inc.F90"
    8692           0 :     end procedure
    8693             : #endif
    8694             : 
    8695             : #undef IK_ENABLED
    8696             : 
    8697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8698             : 
    8699             : #define LK_ENABLED 1
    8700             : 
    8701             : #if LK5_ENABLED
    8702           0 :     module procedure setUnifRandRNGSLU_D2_LK5
    8703             :         use pm_kind, only: LKC => LK5
    8704             : #include "pm_distUnif@routines.inc.F90"
    8705           0 :     end procedure
    8706             : #endif
    8707             : 
    8708             : #if LK4_ENABLED
    8709           0 :     module procedure setUnifRandRNGSLU_D2_LK4
    8710             :         use pm_kind, only: LKC => LK4
    8711             : #include "pm_distUnif@routines.inc.F90"
    8712           0 :     end procedure
    8713             : #endif
    8714             : 
    8715             : #if LK3_ENABLED
    8716           0 :     module procedure setUnifRandRNGSLU_D2_LK3
    8717             :         use pm_kind, only: LKC => LK3
    8718             : #include "pm_distUnif@routines.inc.F90"
    8719           0 :     end procedure
    8720             : #endif
    8721             : 
    8722             : #if LK2_ENABLED
    8723           0 :     module procedure setUnifRandRNGSLU_D2_LK2
    8724             :         use pm_kind, only: LKC => LK2
    8725             : #include "pm_distUnif@routines.inc.F90"
    8726           0 :     end procedure
    8727             : #endif
    8728             : 
    8729             : #if LK1_ENABLED
    8730           0 :     module procedure setUnifRandRNGSLU_D2_LK1
    8731             :         use pm_kind, only: LKC => LK1
    8732             : #include "pm_distUnif@routines.inc.F90"
    8733           0 :     end procedure
    8734             : #endif
    8735             : 
    8736             : #undef LK_ENABLED
    8737             : 
    8738             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8739             : 
    8740             : #define CK_ENABLED 1
    8741             : 
    8742             : #if CK5_ENABLED
    8743             :     module procedure setUnifRandRNGSLU_D2_CK5
    8744             :         use pm_kind, only: CKC => CK5
    8745             : #include "pm_distUnif@routines.inc.F90"
    8746             :     end procedure
    8747             : #endif
    8748             : 
    8749             : #if CK4_ENABLED
    8750           0 :     module procedure setUnifRandRNGSLU_D2_CK4
    8751             :         use pm_kind, only: CKC => CK4
    8752             : #include "pm_distUnif@routines.inc.F90"
    8753           0 :     end procedure
    8754             : #endif
    8755             : 
    8756             : #if CK3_ENABLED
    8757           0 :     module procedure setUnifRandRNGSLU_D2_CK3
    8758             :         use pm_kind, only: CKC => CK3
    8759             : #include "pm_distUnif@routines.inc.F90"
    8760           0 :     end procedure
    8761             : #endif
    8762             : 
    8763             : #if CK2_ENABLED
    8764           0 :     module procedure setUnifRandRNGSLU_D2_CK2
    8765             :         use pm_kind, only: CKC => CK2
    8766             : #include "pm_distUnif@routines.inc.F90"
    8767           0 :     end procedure
    8768             : #endif
    8769             : 
    8770             : #if CK1_ENABLED
    8771           0 :     module procedure setUnifRandRNGSLU_D2_CK1
    8772             :         use pm_kind, only: CKC => CK1
    8773             : #include "pm_distUnif@routines.inc.F90"
    8774           0 :     end procedure
    8775             : #endif
    8776             : 
    8777             : #undef CK_ENABLED
    8778             : 
    8779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8780             : 
    8781             : #define RK_ENABLED 1
    8782             : 
    8783             : #if RK5_ENABLED
    8784             :     module procedure setUnifRandRNGSLU_D2_RK5
    8785             :         use pm_kind, only: RKC => RK5
    8786             : #include "pm_distUnif@routines.inc.F90"
    8787             :     end procedure
    8788             : #endif
    8789             : 
    8790             : #if RK4_ENABLED
    8791           0 :     module procedure setUnifRandRNGSLU_D2_RK4
    8792             :         use pm_kind, only: RKC => RK4
    8793             : #include "pm_distUnif@routines.inc.F90"
    8794           0 :     end procedure
    8795             : #endif
    8796             : 
    8797             : #if RK3_ENABLED
    8798           0 :     module procedure setUnifRandRNGSLU_D2_RK3
    8799             :         use pm_kind, only: RKC => RK3
    8800             : #include "pm_distUnif@routines.inc.F90"
    8801           0 :     end procedure
    8802             : #endif
    8803             : 
    8804             : #if RK2_ENABLED
    8805           0 :     module procedure setUnifRandRNGSLU_D2_RK2
    8806             :         use pm_kind, only: RKC => RK2
    8807             : #include "pm_distUnif@routines.inc.F90"
    8808           0 :     end procedure
    8809             : #endif
    8810             : 
    8811             : #if RK1_ENABLED
    8812           0 :     module procedure setUnifRandRNGSLU_D2_RK1
    8813             :         use pm_kind, only: RKC => RK1
    8814             : #include "pm_distUnif@routines.inc.F90"
    8815           0 :     end procedure
    8816             : #endif
    8817             : 
    8818             : #undef RK_ENABLED
    8819             : 
    8820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8821             : 
    8822             : #undef D2_ENABLED
    8823             : 
    8824             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8825             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8827             : 
    8828             : #define D3_ENABLED 1
    8829             : 
    8830             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8831             : 
    8832             : #define SK_ENABLED 1
    8833             : 
    8834             : #if SK5_ENABLED
    8835             :     module procedure setUnifRandRNGSLU_D3_SK5
    8836             :         use pm_kind, only: SKC => SK5
    8837             : #include "pm_distUnif@routines.inc.F90"
    8838             :     end procedure
    8839             : #endif
    8840             : 
    8841             : #if SK4_ENABLED
    8842             :     module procedure setUnifRandRNGSLU_D3_SK4
    8843             :         use pm_kind, only: SKC => SK4
    8844             : #include "pm_distUnif@routines.inc.F90"
    8845             :     end procedure
    8846             : #endif
    8847             : 
    8848             : #if SK3_ENABLED
    8849             :     module procedure setUnifRandRNGSLU_D3_SK3
    8850             :         use pm_kind, only: SKC => SK3
    8851             : #include "pm_distUnif@routines.inc.F90"
    8852             :     end procedure
    8853             : #endif
    8854             : 
    8855             : #if SK2_ENABLED
    8856             :     module procedure setUnifRandRNGSLU_D3_SK2
    8857             :         use pm_kind, only: SKC => SK2
    8858             : #include "pm_distUnif@routines.inc.F90"
    8859             :     end procedure
    8860             : #endif
    8861             : 
    8862             : #if SK1_ENABLED
    8863           0 :     module procedure setUnifRandRNGSLU_D3_SK1
    8864             :         use pm_kind, only: SKC => SK1
    8865             : #include "pm_distUnif@routines.inc.F90"
    8866           0 :     end procedure
    8867             : #endif
    8868             : 
    8869             : #undef SK_ENABLED
    8870             : 
    8871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8872             : 
    8873             : #define IK_ENABLED 1
    8874             : 
    8875             : #if IK5_ENABLED
    8876           0 :     module procedure setUnifRandRNGSLU_D3_IK5
    8877             :         use pm_kind, only: IKC => IK5
    8878             : #include "pm_distUnif@routines.inc.F90"
    8879           0 :     end procedure
    8880             : #endif
    8881             : 
    8882             : #if IK4_ENABLED
    8883           0 :     module procedure setUnifRandRNGSLU_D3_IK4
    8884             :         use pm_kind, only: IKC => IK4
    8885             : #include "pm_distUnif@routines.inc.F90"
    8886           0 :     end procedure
    8887             : #endif
    8888             : 
    8889             : #if IK3_ENABLED
    8890           0 :     module procedure setUnifRandRNGSLU_D3_IK3
    8891             :         use pm_kind, only: IKC => IK3
    8892             : #include "pm_distUnif@routines.inc.F90"
    8893           0 :     end procedure
    8894             : #endif
    8895             : 
    8896             : #if IK2_ENABLED
    8897           0 :     module procedure setUnifRandRNGSLU_D3_IK2
    8898             :         use pm_kind, only: IKC => IK2
    8899             : #include "pm_distUnif@routines.inc.F90"
    8900           0 :     end procedure
    8901             : #endif
    8902             : 
    8903             : #if IK1_ENABLED
    8904           0 :     module procedure setUnifRandRNGSLU_D3_IK1
    8905             :         use pm_kind, only: IKC => IK1
    8906             : #include "pm_distUnif@routines.inc.F90"
    8907           0 :     end procedure
    8908             : #endif
    8909             : 
    8910             : #undef IK_ENABLED
    8911             : 
    8912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8913             : 
    8914             : #define LK_ENABLED 1
    8915             : 
    8916             : #if LK5_ENABLED
    8917           0 :     module procedure setUnifRandRNGSLU_D3_LK5
    8918             :         use pm_kind, only: LKC => LK5
    8919             : #include "pm_distUnif@routines.inc.F90"
    8920           0 :     end procedure
    8921             : #endif
    8922             : 
    8923             : #if LK4_ENABLED
    8924           0 :     module procedure setUnifRandRNGSLU_D3_LK4
    8925             :         use pm_kind, only: LKC => LK4
    8926             : #include "pm_distUnif@routines.inc.F90"
    8927           0 :     end procedure
    8928             : #endif
    8929             : 
    8930             : #if LK3_ENABLED
    8931           0 :     module procedure setUnifRandRNGSLU_D3_LK3
    8932             :         use pm_kind, only: LKC => LK3
    8933             : #include "pm_distUnif@routines.inc.F90"
    8934           0 :     end procedure
    8935             : #endif
    8936             : 
    8937             : #if LK2_ENABLED
    8938           0 :     module procedure setUnifRandRNGSLU_D3_LK2
    8939             :         use pm_kind, only: LKC => LK2
    8940             : #include "pm_distUnif@routines.inc.F90"
    8941           0 :     end procedure
    8942             : #endif
    8943             : 
    8944             : #if LK1_ENABLED
    8945           0 :     module procedure setUnifRandRNGSLU_D3_LK1
    8946             :         use pm_kind, only: LKC => LK1
    8947             : #include "pm_distUnif@routines.inc.F90"
    8948           0 :     end procedure
    8949             : #endif
    8950             : 
    8951             : #undef LK_ENABLED
    8952             : 
    8953             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8954             : 
    8955             : #define CK_ENABLED 1
    8956             : 
    8957             : #if CK5_ENABLED
    8958             :     module procedure setUnifRandRNGSLU_D3_CK5
    8959             :         use pm_kind, only: CKC => CK5
    8960             : #include "pm_distUnif@routines.inc.F90"
    8961             :     end procedure
    8962             : #endif
    8963             : 
    8964             : #if CK4_ENABLED
    8965           0 :     module procedure setUnifRandRNGSLU_D3_CK4
    8966             :         use pm_kind, only: CKC => CK4
    8967             : #include "pm_distUnif@routines.inc.F90"
    8968           0 :     end procedure
    8969             : #endif
    8970             : 
    8971             : #if CK3_ENABLED
    8972           0 :     module procedure setUnifRandRNGSLU_D3_CK3
    8973             :         use pm_kind, only: CKC => CK3
    8974             : #include "pm_distUnif@routines.inc.F90"
    8975           0 :     end procedure
    8976             : #endif
    8977             : 
    8978             : #if CK2_ENABLED
    8979           0 :     module procedure setUnifRandRNGSLU_D3_CK2
    8980             :         use pm_kind, only: CKC => CK2
    8981             : #include "pm_distUnif@routines.inc.F90"
    8982           0 :     end procedure
    8983             : #endif
    8984             : 
    8985             : #if CK1_ENABLED
    8986           0 :     module procedure setUnifRandRNGSLU_D3_CK1
    8987             :         use pm_kind, only: CKC => CK1
    8988             : #include "pm_distUnif@routines.inc.F90"
    8989           0 :     end procedure
    8990             : #endif
    8991             : 
    8992             : #undef CK_ENABLED
    8993             : 
    8994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8995             : 
    8996             : #define RK_ENABLED 1
    8997             : 
    8998             : #if RK5_ENABLED
    8999             :     module procedure setUnifRandRNGSLU_D3_RK5
    9000             :         use pm_kind, only: RKC => RK5
    9001             : #include "pm_distUnif@routines.inc.F90"
    9002             :     end procedure
    9003             : #endif
    9004             : 
    9005             : #if RK4_ENABLED
    9006           0 :     module procedure setUnifRandRNGSLU_D3_RK4
    9007             :         use pm_kind, only: RKC => RK4
    9008             : #include "pm_distUnif@routines.inc.F90"
    9009           0 :     end procedure
    9010             : #endif
    9011             : 
    9012             : #if RK3_ENABLED
    9013           0 :     module procedure setUnifRandRNGSLU_D3_RK3
    9014             :         use pm_kind, only: RKC => RK3
    9015             : #include "pm_distUnif@routines.inc.F90"
    9016           0 :     end procedure
    9017             : #endif
    9018             : 
    9019             : #if RK2_ENABLED
    9020           0 :     module procedure setUnifRandRNGSLU_D3_RK2
    9021             :         use pm_kind, only: RKC => RK2
    9022             : #include "pm_distUnif@routines.inc.F90"
    9023           0 :     end procedure
    9024             : #endif
    9025             : 
    9026             : #if RK1_ENABLED
    9027           0 :     module procedure setUnifRandRNGSLU_D3_RK1
    9028             :         use pm_kind, only: RKC => RK1
    9029             : #include "pm_distUnif@routines.inc.F90"
    9030           0 :     end procedure
    9031             : #endif
    9032             : 
    9033             : #undef RK_ENABLED
    9034             : 
    9035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9036             : 
    9037             : #undef D3_ENABLED
    9038             : 
    9039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9042             : 
    9043             : #undef LU_ENABLED
    9044             : 
    9045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9046             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9048             : 
    9049             : #undef SM64_ENABLED
    9050             : 
    9051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9052             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9054             : 
    9055             : #define X256SSG_ENABLED 1
    9056             : 
    9057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9060             : 
    9061             : #define DD_ENABLED 1
    9062             : 
    9063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9066             : 
    9067             : #define D0_ENABLED 1
    9068             : 
    9069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9070             : 
    9071             : #define SK_ENABLED 1
    9072             : 
    9073             : #if SK5_ENABLED
    9074             :     module procedure setUnifRandRNGGDD_D0_SK5
    9075             :         use pm_kind, only: SKC => SK5
    9076             : #include "pm_distUnif@routines.inc.F90"
    9077             :     end procedure
    9078             : #endif
    9079             : 
    9080             : #if SK4_ENABLED
    9081             :     module procedure setUnifRandRNGGDD_D0_SK4
    9082             :         use pm_kind, only: SKC => SK4
    9083             : #include "pm_distUnif@routines.inc.F90"
    9084             :     end procedure
    9085             : #endif
    9086             : 
    9087             : #if SK3_ENABLED
    9088             :     module procedure setUnifRandRNGGDD_D0_SK3
    9089             :         use pm_kind, only: SKC => SK3
    9090             : #include "pm_distUnif@routines.inc.F90"
    9091             :     end procedure
    9092             : #endif
    9093             : 
    9094             : #if SK2_ENABLED
    9095             :     module procedure setUnifRandRNGGDD_D0_SK2
    9096             :         use pm_kind, only: SKC => SK2
    9097             : #include "pm_distUnif@routines.inc.F90"
    9098             :     end procedure
    9099             : #endif
    9100             : 
    9101             : #if SK1_ENABLED
    9102           0 :     module procedure setUnifRandRNGGDD_D0_SK1
    9103             :         use pm_kind, only: SKC => SK1
    9104             : #include "pm_distUnif@routines.inc.F90"
    9105           0 :     end procedure
    9106             : #endif
    9107             : 
    9108             : #undef SK_ENABLED
    9109             : 
    9110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9111             : 
    9112             : #define IK_ENABLED 1
    9113             : 
    9114             : #if IK5_ENABLED
    9115           0 :     module procedure setUnifRandRNGGDD_D0_IK5
    9116             :         use pm_kind, only: IKC => IK5
    9117             : #include "pm_distUnif@routines.inc.F90"
    9118             :     end procedure
    9119             : #endif
    9120             : 
    9121             : #if IK4_ENABLED
    9122           0 :     module procedure setUnifRandRNGGDD_D0_IK4
    9123             :         use pm_kind, only: IKC => IK4
    9124             : #include "pm_distUnif@routines.inc.F90"
    9125             :     end procedure
    9126             : #endif
    9127             : 
    9128             : #if IK3_ENABLED
    9129          20 :     module procedure setUnifRandRNGGDD_D0_IK3
    9130             :         use pm_kind, only: IKC => IK3
    9131             : #include "pm_distUnif@routines.inc.F90"
    9132             :     end procedure
    9133             : #endif
    9134             : 
    9135             : #if IK2_ENABLED
    9136           0 :     module procedure setUnifRandRNGGDD_D0_IK2
    9137             :         use pm_kind, only: IKC => IK2
    9138             : #include "pm_distUnif@routines.inc.F90"
    9139             :     end procedure
    9140             : #endif
    9141             : 
    9142             : #if IK1_ENABLED
    9143       10041 :     module procedure setUnifRandRNGGDD_D0_IK1
    9144             :         use pm_kind, only: IKC => IK1
    9145             : #include "pm_distUnif@routines.inc.F90"
    9146             :     end procedure
    9147             : #endif
    9148             : 
    9149             : #undef IK_ENABLED
    9150             : 
    9151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9152             : 
    9153             : #define LK_ENABLED 1
    9154             : 
    9155             : #if LK5_ENABLED
    9156           0 :     module procedure setUnifRandRNGGDD_D0_LK5
    9157             :         use pm_kind, only: LKC => LK5
    9158             : #include "pm_distUnif@routines.inc.F90"
    9159           0 :     end procedure
    9160             : #endif
    9161             : 
    9162             : #if LK4_ENABLED
    9163           0 :     module procedure setUnifRandRNGGDD_D0_LK4
    9164             :         use pm_kind, only: LKC => LK4
    9165             : #include "pm_distUnif@routines.inc.F90"
    9166           0 :     end procedure
    9167             : #endif
    9168             : 
    9169             : #if LK3_ENABLED
    9170          10 :     module procedure setUnifRandRNGGDD_D0_LK3
    9171             :         use pm_kind, only: LKC => LK3
    9172             : #include "pm_distUnif@routines.inc.F90"
    9173          10 :     end procedure
    9174             : #endif
    9175             : 
    9176             : #if LK2_ENABLED
    9177           0 :     module procedure setUnifRandRNGGDD_D0_LK2
    9178             :         use pm_kind, only: LKC => LK2
    9179             : #include "pm_distUnif@routines.inc.F90"
    9180           0 :     end procedure
    9181             : #endif
    9182             : 
    9183             : #if LK1_ENABLED
    9184           0 :     module procedure setUnifRandRNGGDD_D0_LK1
    9185             :         use pm_kind, only: LKC => LK1
    9186             : #include "pm_distUnif@routines.inc.F90"
    9187           0 :     end procedure
    9188             : #endif
    9189             : 
    9190             : #undef LK_ENABLED
    9191             : 
    9192             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9193             : 
    9194             : #define CK_ENABLED 1
    9195             : 
    9196             : #if CK5_ENABLED
    9197             :     module procedure setUnifRandRNGGDD_D0_CK5
    9198             :         use pm_kind, only: CKC => CK5
    9199             : #include "pm_distUnif@routines.inc.F90"
    9200             :     end procedure
    9201             : #endif
    9202             : 
    9203             : #if CK4_ENABLED
    9204           0 :     module procedure setUnifRandRNGGDD_D0_CK4
    9205             :         use pm_kind, only: CKC => CK4
    9206             : #include "pm_distUnif@routines.inc.F90"
    9207           0 :     end procedure
    9208             : #endif
    9209             : 
    9210             : #if CK3_ENABLED
    9211           0 :     module procedure setUnifRandRNGGDD_D0_CK3
    9212             :         use pm_kind, only: CKC => CK3
    9213             : #include "pm_distUnif@routines.inc.F90"
    9214           0 :     end procedure
    9215             : #endif
    9216             : 
    9217             : #if CK2_ENABLED
    9218           0 :     module procedure setUnifRandRNGGDD_D0_CK2
    9219             :         use pm_kind, only: CKC => CK2
    9220             : #include "pm_distUnif@routines.inc.F90"
    9221           0 :     end procedure
    9222             : #endif
    9223             : 
    9224             : #if CK1_ENABLED
    9225           0 :     module procedure setUnifRandRNGGDD_D0_CK1
    9226             :         use pm_kind, only: CKC => CK1
    9227             : #include "pm_distUnif@routines.inc.F90"
    9228           0 :     end procedure
    9229             : #endif
    9230             : 
    9231             : #undef CK_ENABLED
    9232             : 
    9233             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9234             : 
    9235             : #define RK_ENABLED 1
    9236             : 
    9237             : #if RK5_ENABLED
    9238             :     module procedure setUnifRandRNGGDD_D0_RK5
    9239             :         use pm_kind, only: RKC => RK5
    9240             : #include "pm_distUnif@routines.inc.F90"
    9241             :     end procedure
    9242             : #endif
    9243             : 
    9244             : #if RK4_ENABLED
    9245           7 :     module procedure setUnifRandRNGGDD_D0_RK4
    9246             :         use pm_kind, only: RKC => RK4
    9247             : #include "pm_distUnif@routines.inc.F90"
    9248           7 :     end procedure
    9249             : #endif
    9250             : 
    9251             : #if RK3_ENABLED
    9252           0 :     module procedure setUnifRandRNGGDD_D0_RK3
    9253             :         use pm_kind, only: RKC => RK3
    9254             : #include "pm_distUnif@routines.inc.F90"
    9255           0 :     end procedure
    9256             : #endif
    9257             : 
    9258             : #if RK2_ENABLED
    9259           0 :     module procedure setUnifRandRNGGDD_D0_RK2
    9260             :         use pm_kind, only: RKC => RK2
    9261             : #include "pm_distUnif@routines.inc.F90"
    9262           0 :     end procedure
    9263             : #endif
    9264             : 
    9265             : #if RK1_ENABLED
    9266       15015 :     module procedure setUnifRandRNGGDD_D0_RK1
    9267             :         use pm_kind, only: RKC => RK1
    9268             : #include "pm_distUnif@routines.inc.F90"
    9269       15015 :     end procedure
    9270             : #endif
    9271             : 
    9272             : #undef RK_ENABLED
    9273             : 
    9274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9275             : 
    9276             : #undef D0_ENABLED
    9277             : 
    9278             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9279             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9281             : 
    9282             : #define D1_ENABLED 1
    9283             : 
    9284             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9285             : 
    9286             : #define SK_ENABLED 1
    9287             : 
    9288             : #if SK5_ENABLED
    9289             :     module procedure setUnifRandRNGGDD_D1_SK5
    9290             :         use pm_kind, only: SKC => SK5
    9291             : #include "pm_distUnif@routines.inc.F90"
    9292             :     end procedure
    9293             : #endif
    9294             : 
    9295             : #if SK4_ENABLED
    9296             :     module procedure setUnifRandRNGGDD_D1_SK4
    9297             :         use pm_kind, only: SKC => SK4
    9298             : #include "pm_distUnif@routines.inc.F90"
    9299             :     end procedure
    9300             : #endif
    9301             : 
    9302             : #if SK3_ENABLED
    9303             :     module procedure setUnifRandRNGGDD_D1_SK3
    9304             :         use pm_kind, only: SKC => SK3
    9305             : #include "pm_distUnif@routines.inc.F90"
    9306             :     end procedure
    9307             : #endif
    9308             : 
    9309             : #if SK2_ENABLED
    9310             :     module procedure setUnifRandRNGGDD_D1_SK2
    9311             :         use pm_kind, only: SKC => SK2
    9312             : #include "pm_distUnif@routines.inc.F90"
    9313             :     end procedure
    9314             : #endif
    9315             : 
    9316             : #if SK1_ENABLED
    9317           0 :     module procedure setUnifRandRNGGDD_D1_SK1
    9318             :         use pm_kind, only: SKC => SK1
    9319             : #include "pm_distUnif@routines.inc.F90"
    9320           0 :     end procedure
    9321             : #endif
    9322             : 
    9323             : #undef SK_ENABLED
    9324             : 
    9325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9326             : 
    9327             : #define IK_ENABLED 1
    9328             : 
    9329             : #if IK5_ENABLED
    9330           0 :     module procedure setUnifRandRNGGDD_D1_IK5
    9331             :         use pm_kind, only: IKC => IK5
    9332             : #include "pm_distUnif@routines.inc.F90"
    9333           0 :     end procedure
    9334             : #endif
    9335             : 
    9336             : #if IK4_ENABLED
    9337           0 :     module procedure setUnifRandRNGGDD_D1_IK4
    9338             :         use pm_kind, only: IKC => IK4
    9339             : #include "pm_distUnif@routines.inc.F90"
    9340           0 :     end procedure
    9341             : #endif
    9342             : 
    9343             : #if IK3_ENABLED
    9344           0 :     module procedure setUnifRandRNGGDD_D1_IK3
    9345             :         use pm_kind, only: IKC => IK3
    9346             : #include "pm_distUnif@routines.inc.F90"
    9347           0 :     end procedure
    9348             : #endif
    9349             : 
    9350             : #if IK2_ENABLED
    9351           0 :     module procedure setUnifRandRNGGDD_D1_IK2
    9352             :         use pm_kind, only: IKC => IK2
    9353             : #include "pm_distUnif@routines.inc.F90"
    9354           0 :     end procedure
    9355             : #endif
    9356             : 
    9357             : #if IK1_ENABLED
    9358           1 :     module procedure setUnifRandRNGGDD_D1_IK1
    9359             :         use pm_kind, only: IKC => IK1
    9360             : #include "pm_distUnif@routines.inc.F90"
    9361           1 :     end procedure
    9362             : #endif
    9363             : 
    9364             : #undef IK_ENABLED
    9365             : 
    9366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9367             : 
    9368             : #define LK_ENABLED 1
    9369             : 
    9370             : #if LK5_ENABLED
    9371           0 :     module procedure setUnifRandRNGGDD_D1_LK5
    9372             :         use pm_kind, only: LKC => LK5
    9373             : #include "pm_distUnif@routines.inc.F90"
    9374           0 :     end procedure
    9375             : #endif
    9376             : 
    9377             : #if LK4_ENABLED
    9378           0 :     module procedure setUnifRandRNGGDD_D1_LK4
    9379             :         use pm_kind, only: LKC => LK4
    9380             : #include "pm_distUnif@routines.inc.F90"
    9381           0 :     end procedure
    9382             : #endif
    9383             : 
    9384             : #if LK3_ENABLED
    9385           0 :     module procedure setUnifRandRNGGDD_D1_LK3
    9386             :         use pm_kind, only: LKC => LK3
    9387             : #include "pm_distUnif@routines.inc.F90"
    9388           0 :     end procedure
    9389             : #endif
    9390             : 
    9391             : #if LK2_ENABLED
    9392           0 :     module procedure setUnifRandRNGGDD_D1_LK2
    9393             :         use pm_kind, only: LKC => LK2
    9394             : #include "pm_distUnif@routines.inc.F90"
    9395           0 :     end procedure
    9396             : #endif
    9397             : 
    9398             : #if LK1_ENABLED
    9399           0 :     module procedure setUnifRandRNGGDD_D1_LK1
    9400             :         use pm_kind, only: LKC => LK1
    9401             : #include "pm_distUnif@routines.inc.F90"
    9402           0 :     end procedure
    9403             : #endif
    9404             : 
    9405             : #undef LK_ENABLED
    9406             : 
    9407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9408             : 
    9409             : #define CK_ENABLED 1
    9410             : 
    9411             : #if CK5_ENABLED
    9412             :     module procedure setUnifRandRNGGDD_D1_CK5
    9413             :         use pm_kind, only: CKC => CK5
    9414             : #include "pm_distUnif@routines.inc.F90"
    9415             :     end procedure
    9416             : #endif
    9417             : 
    9418             : #if CK4_ENABLED
    9419           0 :     module procedure setUnifRandRNGGDD_D1_CK4
    9420             :         use pm_kind, only: CKC => CK4
    9421             : #include "pm_distUnif@routines.inc.F90"
    9422           0 :     end procedure
    9423             : #endif
    9424             : 
    9425             : #if CK3_ENABLED
    9426           0 :     module procedure setUnifRandRNGGDD_D1_CK3
    9427             :         use pm_kind, only: CKC => CK3
    9428             : #include "pm_distUnif@routines.inc.F90"
    9429           0 :     end procedure
    9430             : #endif
    9431             : 
    9432             : #if CK2_ENABLED
    9433           0 :     module procedure setUnifRandRNGGDD_D1_CK2
    9434             :         use pm_kind, only: CKC => CK2
    9435             : #include "pm_distUnif@routines.inc.F90"
    9436           0 :     end procedure
    9437             : #endif
    9438             : 
    9439             : #if CK1_ENABLED
    9440           0 :     module procedure setUnifRandRNGGDD_D1_CK1
    9441             :         use pm_kind, only: CKC => CK1
    9442             : #include "pm_distUnif@routines.inc.F90"
    9443           0 :     end procedure
    9444             : #endif
    9445             : 
    9446             : #undef CK_ENABLED
    9447             : 
    9448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9449             : 
    9450             : #define RK_ENABLED 1
    9451             : 
    9452             : #if RK5_ENABLED
    9453             :     module procedure setUnifRandRNGGDD_D1_RK5
    9454             :         use pm_kind, only: RKC => RK5
    9455             : #include "pm_distUnif@routines.inc.F90"
    9456             :     end procedure
    9457             : #endif
    9458             : 
    9459             : #if RK4_ENABLED
    9460           0 :     module procedure setUnifRandRNGGDD_D1_RK4
    9461             :         use pm_kind, only: RKC => RK4
    9462             : #include "pm_distUnif@routines.inc.F90"
    9463           0 :     end procedure
    9464             : #endif
    9465             : 
    9466             : #if RK3_ENABLED
    9467           0 :     module procedure setUnifRandRNGGDD_D1_RK3
    9468             :         use pm_kind, only: RKC => RK3
    9469             : #include "pm_distUnif@routines.inc.F90"
    9470           0 :     end procedure
    9471             : #endif
    9472             : 
    9473             : #if RK2_ENABLED
    9474           0 :     module procedure setUnifRandRNGGDD_D1_RK2
    9475             :         use pm_kind, only: RKC => RK2
    9476             : #include "pm_distUnif@routines.inc.F90"
    9477           0 :     end procedure
    9478             : #endif
    9479             : 
    9480             : #if RK1_ENABLED
    9481           1 :     module procedure setUnifRandRNGGDD_D1_RK1
    9482             :         use pm_kind, only: RKC => RK1
    9483             : #include "pm_distUnif@routines.inc.F90"
    9484           1 :     end procedure
    9485             : #endif
    9486             : 
    9487             : #undef RK_ENABLED
    9488             : 
    9489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9490             : 
    9491             : #undef D1_ENABLED
    9492             : 
    9493             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9496             : 
    9497             : #define D2_ENABLED 1
    9498             : 
    9499             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9500             : 
    9501             : #define SK_ENABLED 1
    9502             : 
    9503             : #if SK5_ENABLED
    9504             :     module procedure setUnifRandRNGGDD_D2_SK5
    9505             :         use pm_kind, only: SKC => SK5
    9506             : #include "pm_distUnif@routines.inc.F90"
    9507             :     end procedure
    9508             : #endif
    9509             : 
    9510             : #if SK4_ENABLED
    9511             :     module procedure setUnifRandRNGGDD_D2_SK4
    9512             :         use pm_kind, only: SKC => SK4
    9513             : #include "pm_distUnif@routines.inc.F90"
    9514             :     end procedure
    9515             : #endif
    9516             : 
    9517             : #if SK3_ENABLED
    9518             :     module procedure setUnifRandRNGGDD_D2_SK3
    9519             :         use pm_kind, only: SKC => SK3
    9520             : #include "pm_distUnif@routines.inc.F90"
    9521             :     end procedure
    9522             : #endif
    9523             : 
    9524             : #if SK2_ENABLED
    9525             :     module procedure setUnifRandRNGGDD_D2_SK2
    9526             :         use pm_kind, only: SKC => SK2
    9527             : #include "pm_distUnif@routines.inc.F90"
    9528             :     end procedure
    9529             : #endif
    9530             : 
    9531             : #if SK1_ENABLED
    9532           0 :     module procedure setUnifRandRNGGDD_D2_SK1
    9533             :         use pm_kind, only: SKC => SK1
    9534             : #include "pm_distUnif@routines.inc.F90"
    9535           0 :     end procedure
    9536             : #endif
    9537             : 
    9538             : #undef SK_ENABLED
    9539             : 
    9540             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9541             : 
    9542             : #define IK_ENABLED 1
    9543             : 
    9544             : #if IK5_ENABLED
    9545           0 :     module procedure setUnifRandRNGGDD_D2_IK5
    9546             :         use pm_kind, only: IKC => IK5
    9547             : #include "pm_distUnif@routines.inc.F90"
    9548           0 :     end procedure
    9549             : #endif
    9550             : 
    9551             : #if IK4_ENABLED
    9552           0 :     module procedure setUnifRandRNGGDD_D2_IK4
    9553             :         use pm_kind, only: IKC => IK4
    9554             : #include "pm_distUnif@routines.inc.F90"
    9555           0 :     end procedure
    9556             : #endif
    9557             : 
    9558             : #if IK3_ENABLED
    9559           0 :     module procedure setUnifRandRNGGDD_D2_IK3
    9560             :         use pm_kind, only: IKC => IK3
    9561             : #include "pm_distUnif@routines.inc.F90"
    9562           0 :     end procedure
    9563             : #endif
    9564             : 
    9565             : #if IK2_ENABLED
    9566           0 :     module procedure setUnifRandRNGGDD_D2_IK2
    9567             :         use pm_kind, only: IKC => IK2
    9568             : #include "pm_distUnif@routines.inc.F90"
    9569           0 :     end procedure
    9570             : #endif
    9571             : 
    9572             : #if IK1_ENABLED
    9573           0 :     module procedure setUnifRandRNGGDD_D2_IK1
    9574             :         use pm_kind, only: IKC => IK1
    9575             : #include "pm_distUnif@routines.inc.F90"
    9576           0 :     end procedure
    9577             : #endif
    9578             : 
    9579             : #undef IK_ENABLED
    9580             : 
    9581             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9582             : 
    9583             : #define LK_ENABLED 1
    9584             : 
    9585             : #if LK5_ENABLED
    9586           0 :     module procedure setUnifRandRNGGDD_D2_LK5
    9587             :         use pm_kind, only: LKC => LK5
    9588             : #include "pm_distUnif@routines.inc.F90"
    9589           0 :     end procedure
    9590             : #endif
    9591             : 
    9592             : #if LK4_ENABLED
    9593           0 :     module procedure setUnifRandRNGGDD_D2_LK4
    9594             :         use pm_kind, only: LKC => LK4
    9595             : #include "pm_distUnif@routines.inc.F90"
    9596           0 :     end procedure
    9597             : #endif
    9598             : 
    9599             : #if LK3_ENABLED
    9600           0 :     module procedure setUnifRandRNGGDD_D2_LK3
    9601             :         use pm_kind, only: LKC => LK3
    9602             : #include "pm_distUnif@routines.inc.F90"
    9603           0 :     end procedure
    9604             : #endif
    9605             : 
    9606             : #if LK2_ENABLED
    9607           0 :     module procedure setUnifRandRNGGDD_D2_LK2
    9608             :         use pm_kind, only: LKC => LK2
    9609             : #include "pm_distUnif@routines.inc.F90"
    9610           0 :     end procedure
    9611             : #endif
    9612             : 
    9613             : #if LK1_ENABLED
    9614           0 :     module procedure setUnifRandRNGGDD_D2_LK1
    9615             :         use pm_kind, only: LKC => LK1
    9616             : #include "pm_distUnif@routines.inc.F90"
    9617           0 :     end procedure
    9618             : #endif
    9619             : 
    9620             : #undef LK_ENABLED
    9621             : 
    9622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9623             : 
    9624             : #define CK_ENABLED 1
    9625             : 
    9626             : #if CK5_ENABLED
    9627             :     module procedure setUnifRandRNGGDD_D2_CK5
    9628             :         use pm_kind, only: CKC => CK5
    9629             : #include "pm_distUnif@routines.inc.F90"
    9630             :     end procedure
    9631             : #endif
    9632             : 
    9633             : #if CK4_ENABLED
    9634           0 :     module procedure setUnifRandRNGGDD_D2_CK4
    9635             :         use pm_kind, only: CKC => CK4
    9636             : #include "pm_distUnif@routines.inc.F90"
    9637           0 :     end procedure
    9638             : #endif
    9639             : 
    9640             : #if CK3_ENABLED
    9641           0 :     module procedure setUnifRandRNGGDD_D2_CK3
    9642             :         use pm_kind, only: CKC => CK3
    9643             : #include "pm_distUnif@routines.inc.F90"
    9644           0 :     end procedure
    9645             : #endif
    9646             : 
    9647             : #if CK2_ENABLED
    9648           0 :     module procedure setUnifRandRNGGDD_D2_CK2
    9649             :         use pm_kind, only: CKC => CK2
    9650             : #include "pm_distUnif@routines.inc.F90"
    9651           0 :     end procedure
    9652             : #endif
    9653             : 
    9654             : #if CK1_ENABLED
    9655           0 :     module procedure setUnifRandRNGGDD_D2_CK1
    9656             :         use pm_kind, only: CKC => CK1
    9657             : #include "pm_distUnif@routines.inc.F90"
    9658           0 :     end procedure
    9659             : #endif
    9660             : 
    9661             : #undef CK_ENABLED
    9662             : 
    9663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9664             : 
    9665             : #define RK_ENABLED 1
    9666             : 
    9667             : #if RK5_ENABLED
    9668             :     module procedure setUnifRandRNGGDD_D2_RK5
    9669             :         use pm_kind, only: RKC => RK5
    9670             : #include "pm_distUnif@routines.inc.F90"
    9671             :     end procedure
    9672             : #endif
    9673             : 
    9674             : #if RK4_ENABLED
    9675           0 :     module procedure setUnifRandRNGGDD_D2_RK4
    9676             :         use pm_kind, only: RKC => RK4
    9677             : #include "pm_distUnif@routines.inc.F90"
    9678           0 :     end procedure
    9679             : #endif
    9680             : 
    9681             : #if RK3_ENABLED
    9682           0 :     module procedure setUnifRandRNGGDD_D2_RK3
    9683             :         use pm_kind, only: RKC => RK3
    9684             : #include "pm_distUnif@routines.inc.F90"
    9685           0 :     end procedure
    9686             : #endif
    9687             : 
    9688             : #if RK2_ENABLED
    9689           0 :     module procedure setUnifRandRNGGDD_D2_RK2
    9690             :         use pm_kind, only: RKC => RK2
    9691             : #include "pm_distUnif@routines.inc.F90"
    9692           0 :     end procedure
    9693             : #endif
    9694             : 
    9695             : #if RK1_ENABLED
    9696           0 :     module procedure setUnifRandRNGGDD_D2_RK1
    9697             :         use pm_kind, only: RKC => RK1
    9698             : #include "pm_distUnif@routines.inc.F90"
    9699           0 :     end procedure
    9700             : #endif
    9701             : 
    9702             : #undef RK_ENABLED
    9703             : 
    9704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9705             : 
    9706             : #undef D2_ENABLED
    9707             : 
    9708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9711             : 
    9712             : #define D3_ENABLED 1
    9713             : 
    9714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9715             : 
    9716             : #define SK_ENABLED 1
    9717             : 
    9718             : #if SK5_ENABLED
    9719             :     module procedure setUnifRandRNGGDD_D3_SK5
    9720             :         use pm_kind, only: SKC => SK5
    9721             : #include "pm_distUnif@routines.inc.F90"
    9722             :     end procedure
    9723             : #endif
    9724             : 
    9725             : #if SK4_ENABLED
    9726             :     module procedure setUnifRandRNGGDD_D3_SK4
    9727             :         use pm_kind, only: SKC => SK4
    9728             : #include "pm_distUnif@routines.inc.F90"
    9729             :     end procedure
    9730             : #endif
    9731             : 
    9732             : #if SK3_ENABLED
    9733             :     module procedure setUnifRandRNGGDD_D3_SK3
    9734             :         use pm_kind, only: SKC => SK3
    9735             : #include "pm_distUnif@routines.inc.F90"
    9736             :     end procedure
    9737             : #endif
    9738             : 
    9739             : #if SK2_ENABLED
    9740             :     module procedure setUnifRandRNGGDD_D3_SK2
    9741             :         use pm_kind, only: SKC => SK2
    9742             : #include "pm_distUnif@routines.inc.F90"
    9743             :     end procedure
    9744             : #endif
    9745             : 
    9746             : #if SK1_ENABLED
    9747           0 :     module procedure setUnifRandRNGGDD_D3_SK1
    9748             :         use pm_kind, only: SKC => SK1
    9749             : #include "pm_distUnif@routines.inc.F90"
    9750           0 :     end procedure
    9751             : #endif
    9752             : 
    9753             : #undef SK_ENABLED
    9754             : 
    9755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9756             : 
    9757             : #define IK_ENABLED 1
    9758             : 
    9759             : #if IK5_ENABLED
    9760           0 :     module procedure setUnifRandRNGGDD_D3_IK5
    9761             :         use pm_kind, only: IKC => IK5
    9762             : #include "pm_distUnif@routines.inc.F90"
    9763           0 :     end procedure
    9764             : #endif
    9765             : 
    9766             : #if IK4_ENABLED
    9767           0 :     module procedure setUnifRandRNGGDD_D3_IK4
    9768             :         use pm_kind, only: IKC => IK4
    9769             : #include "pm_distUnif@routines.inc.F90"
    9770           0 :     end procedure
    9771             : #endif
    9772             : 
    9773             : #if IK3_ENABLED
    9774           0 :     module procedure setUnifRandRNGGDD_D3_IK3
    9775             :         use pm_kind, only: IKC => IK3
    9776             : #include "pm_distUnif@routines.inc.F90"
    9777           0 :     end procedure
    9778             : #endif
    9779             : 
    9780             : #if IK2_ENABLED
    9781           0 :     module procedure setUnifRandRNGGDD_D3_IK2
    9782             :         use pm_kind, only: IKC => IK2
    9783             : #include "pm_distUnif@routines.inc.F90"
    9784           0 :     end procedure
    9785             : #endif
    9786             : 
    9787             : #if IK1_ENABLED
    9788           0 :     module procedure setUnifRandRNGGDD_D3_IK1
    9789             :         use pm_kind, only: IKC => IK1
    9790             : #include "pm_distUnif@routines.inc.F90"
    9791           0 :     end procedure
    9792             : #endif
    9793             : 
    9794             : #undef IK_ENABLED
    9795             : 
    9796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9797             : 
    9798             : #define LK_ENABLED 1
    9799             : 
    9800             : #if LK5_ENABLED
    9801           0 :     module procedure setUnifRandRNGGDD_D3_LK5
    9802             :         use pm_kind, only: LKC => LK5
    9803             : #include "pm_distUnif@routines.inc.F90"
    9804           0 :     end procedure
    9805             : #endif
    9806             : 
    9807             : #if LK4_ENABLED
    9808           0 :     module procedure setUnifRandRNGGDD_D3_LK4
    9809             :         use pm_kind, only: LKC => LK4
    9810             : #include "pm_distUnif@routines.inc.F90"
    9811           0 :     end procedure
    9812             : #endif
    9813             : 
    9814             : #if LK3_ENABLED
    9815           0 :     module procedure setUnifRandRNGGDD_D3_LK3
    9816             :         use pm_kind, only: LKC => LK3
    9817             : #include "pm_distUnif@routines.inc.F90"
    9818           0 :     end procedure
    9819             : #endif
    9820             : 
    9821             : #if LK2_ENABLED
    9822           0 :     module procedure setUnifRandRNGGDD_D3_LK2
    9823             :         use pm_kind, only: LKC => LK2
    9824             : #include "pm_distUnif@routines.inc.F90"
    9825           0 :     end procedure
    9826             : #endif
    9827             : 
    9828             : #if LK1_ENABLED
    9829           0 :     module procedure setUnifRandRNGGDD_D3_LK1
    9830             :         use pm_kind, only: LKC => LK1
    9831             : #include "pm_distUnif@routines.inc.F90"
    9832           0 :     end procedure
    9833             : #endif
    9834             : 
    9835             : #undef LK_ENABLED
    9836             : 
    9837             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9838             : 
    9839             : #define CK_ENABLED 1
    9840             : 
    9841             : #if CK5_ENABLED
    9842             :     module procedure setUnifRandRNGGDD_D3_CK5
    9843             :         use pm_kind, only: CKC => CK5
    9844             : #include "pm_distUnif@routines.inc.F90"
    9845             :     end procedure
    9846             : #endif
    9847             : 
    9848             : #if CK4_ENABLED
    9849           0 :     module procedure setUnifRandRNGGDD_D3_CK4
    9850             :         use pm_kind, only: CKC => CK4
    9851             : #include "pm_distUnif@routines.inc.F90"
    9852           0 :     end procedure
    9853             : #endif
    9854             : 
    9855             : #if CK3_ENABLED
    9856           0 :     module procedure setUnifRandRNGGDD_D3_CK3
    9857             :         use pm_kind, only: CKC => CK3
    9858             : #include "pm_distUnif@routines.inc.F90"
    9859           0 :     end procedure
    9860             : #endif
    9861             : 
    9862             : #if CK2_ENABLED
    9863           0 :     module procedure setUnifRandRNGGDD_D3_CK2
    9864             :         use pm_kind, only: CKC => CK2
    9865             : #include "pm_distUnif@routines.inc.F90"
    9866           0 :     end procedure
    9867             : #endif
    9868             : 
    9869             : #if CK1_ENABLED
    9870           0 :     module procedure setUnifRandRNGGDD_D3_CK1
    9871             :         use pm_kind, only: CKC => CK1
    9872             : #include "pm_distUnif@routines.inc.F90"
    9873           0 :     end procedure
    9874             : #endif
    9875             : 
    9876             : #undef CK_ENABLED
    9877             : 
    9878             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9879             : 
    9880             : #define RK_ENABLED 1
    9881             : 
    9882             : #if RK5_ENABLED
    9883             :     module procedure setUnifRandRNGGDD_D3_RK5
    9884             :         use pm_kind, only: RKC => RK5
    9885             : #include "pm_distUnif@routines.inc.F90"
    9886             :     end procedure
    9887             : #endif
    9888             : 
    9889             : #if RK4_ENABLED
    9890           0 :     module procedure setUnifRandRNGGDD_D3_RK4
    9891             :         use pm_kind, only: RKC => RK4
    9892             : #include "pm_distUnif@routines.inc.F90"
    9893           0 :     end procedure
    9894             : #endif
    9895             : 
    9896             : #if RK3_ENABLED
    9897           0 :     module procedure setUnifRandRNGGDD_D3_RK3
    9898             :         use pm_kind, only: RKC => RK3
    9899             : #include "pm_distUnif@routines.inc.F90"
    9900           0 :     end procedure
    9901             : #endif
    9902             : 
    9903             : #if RK2_ENABLED
    9904           0 :     module procedure setUnifRandRNGGDD_D3_RK2
    9905             :         use pm_kind, only: RKC => RK2
    9906             : #include "pm_distUnif@routines.inc.F90"
    9907           0 :     end procedure
    9908             : #endif
    9909             : 
    9910             : #if RK1_ENABLED
    9911           0 :     module procedure setUnifRandRNGGDD_D3_RK1
    9912             :         use pm_kind, only: RKC => RK1
    9913             : #include "pm_distUnif@routines.inc.F90"
    9914           0 :     end procedure
    9915             : #endif
    9916             : 
    9917             : #undef RK_ENABLED
    9918             : 
    9919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9920             : 
    9921             : #undef D3_ENABLED
    9922             : 
    9923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9926             : 
    9927             : #undef DD_ENABLED
    9928             : 
    9929             : #define LU_ENABLED 1
    9930             : 
    9931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9933             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9934             : 
    9935             : #define D0_ENABLED 1
    9936             : 
    9937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9938             : 
    9939             : #define SK_ENABLED 1
    9940             : 
    9941             : #if SK5_ENABLED
    9942             :     module procedure setUnifRandRNGGLU_D0_SK5
    9943             :         use pm_kind, only: SKC => SK5
    9944             : #include "pm_distUnif@routines.inc.F90"
    9945             :     end procedure
    9946             : #endif
    9947             : 
    9948             : #if SK4_ENABLED
    9949             :     module procedure setUnifRandRNGGLU_D0_SK4
    9950             :         use pm_kind, only: SKC => SK4
    9951             : #include "pm_distUnif@routines.inc.F90"
    9952             :     end procedure
    9953             : #endif
    9954             : 
    9955             : #if SK3_ENABLED
    9956             :     module procedure setUnifRandRNGGLU_D0_SK3
    9957             :         use pm_kind, only: SKC => SK3
    9958             : #include "pm_distUnif@routines.inc.F90"
    9959             :     end procedure
    9960             : #endif
    9961             : 
    9962             : #if SK2_ENABLED
    9963             :     module procedure setUnifRandRNGGLU_D0_SK2
    9964             :         use pm_kind, only: SKC => SK2
    9965             : #include "pm_distUnif@routines.inc.F90"
    9966             :     end procedure
    9967             : #endif
    9968             : 
    9969             : #if SK1_ENABLED
    9970           5 :     module procedure setUnifRandRNGGLU_D0_SK1
    9971             :         use pm_kind, only: SKC => SK1
    9972             : #include "pm_distUnif@routines.inc.F90"
    9973           5 :     end procedure
    9974             : #endif
    9975             : 
    9976             : #undef SK_ENABLED
    9977             : 
    9978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9979             : 
    9980             : #define IK_ENABLED 1
    9981             : 
    9982             : #if IK5_ENABLED
    9983           0 :     module procedure setUnifRandRNGGLU_D0_IK5
    9984             :         use pm_kind, only: IKC => IK5
    9985             : #include "pm_distUnif@routines.inc.F90"
    9986             :     end procedure
    9987             : #endif
    9988             : 
    9989             : #if IK4_ENABLED
    9990           0 :     module procedure setUnifRandRNGGLU_D0_IK4
    9991             :         use pm_kind, only: IKC => IK4
    9992             : #include "pm_distUnif@routines.inc.F90"
    9993             :     end procedure
    9994             : #endif
    9995             : 
    9996             : #if IK3_ENABLED
    9997          20 :     module procedure setUnifRandRNGGLU_D0_IK3
    9998             :         use pm_kind, only: IKC => IK3
    9999             : #include "pm_distUnif@routines.inc.F90"
   10000             :     end procedure
   10001             : #endif
   10002             : 
   10003             : #if IK2_ENABLED
   10004           0 :     module procedure setUnifRandRNGGLU_D0_IK2
   10005             :         use pm_kind, only: IKC => IK2
   10006             : #include "pm_distUnif@routines.inc.F90"
   10007             :     end procedure
   10008             : #endif
   10009             : 
   10010             : #if IK1_ENABLED
   10011           5 :     module procedure setUnifRandRNGGLU_D0_IK1
   10012             :         use pm_kind, only: IKC => IK1
   10013             : #include "pm_distUnif@routines.inc.F90"
   10014             :     end procedure
   10015             : #endif
   10016             : 
   10017             : #undef IK_ENABLED
   10018             : 
   10019             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10020             : 
   10021             : #define LK_ENABLED 1
   10022             : 
   10023             : #if LK5_ENABLED
   10024           0 :     module procedure setUnifRandRNGGLU_D0_LK5
   10025             :         use pm_kind, only: LKC => LK5
   10026             : #include "pm_distUnif@routines.inc.F90"
   10027           0 :     end procedure
   10028             : #endif
   10029             : 
   10030             : #if LK4_ENABLED
   10031           0 :     module procedure setUnifRandRNGGLU_D0_LK4
   10032             :         use pm_kind, only: LKC => LK4
   10033             : #include "pm_distUnif@routines.inc.F90"
   10034           0 :     end procedure
   10035             : #endif
   10036             : 
   10037             : #if LK3_ENABLED
   10038          10 :     module procedure setUnifRandRNGGLU_D0_LK3
   10039             :         use pm_kind, only: LKC => LK3
   10040             : #include "pm_distUnif@routines.inc.F90"
   10041          10 :     end procedure
   10042             : #endif
   10043             : 
   10044             : #if LK2_ENABLED
   10045           0 :     module procedure setUnifRandRNGGLU_D0_LK2
   10046             :         use pm_kind, only: LKC => LK2
   10047             : #include "pm_distUnif@routines.inc.F90"
   10048           0 :     end procedure
   10049             : #endif
   10050             : 
   10051             : #if LK1_ENABLED
   10052           0 :     module procedure setUnifRandRNGGLU_D0_LK1
   10053             :         use pm_kind, only: LKC => LK1
   10054             : #include "pm_distUnif@routines.inc.F90"
   10055           0 :     end procedure
   10056             : #endif
   10057             : 
   10058             : #undef LK_ENABLED
   10059             : 
   10060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10061             : 
   10062             : #define CK_ENABLED 1
   10063             : 
   10064             : #if CK5_ENABLED
   10065             :     module procedure setUnifRandRNGGLU_D0_CK5
   10066             :         use pm_kind, only: CKC => CK5
   10067             : #include "pm_distUnif@routines.inc.F90"
   10068             :     end procedure
   10069             : #endif
   10070             : 
   10071             : #if CK4_ENABLED
   10072           0 :     module procedure setUnifRandRNGGLU_D0_CK4
   10073             :         use pm_kind, only: CKC => CK4
   10074             : #include "pm_distUnif@routines.inc.F90"
   10075           0 :     end procedure
   10076             : #endif
   10077             : 
   10078             : #if CK3_ENABLED
   10079           0 :     module procedure setUnifRandRNGGLU_D0_CK3
   10080             :         use pm_kind, only: CKC => CK3
   10081             : #include "pm_distUnif@routines.inc.F90"
   10082           0 :     end procedure
   10083             : #endif
   10084             : 
   10085             : #if CK2_ENABLED
   10086           0 :     module procedure setUnifRandRNGGLU_D0_CK2
   10087             :         use pm_kind, only: CKC => CK2
   10088             : #include "pm_distUnif@routines.inc.F90"
   10089           0 :     end procedure
   10090             : #endif
   10091             : 
   10092             : #if CK1_ENABLED
   10093        5005 :     module procedure setUnifRandRNGGLU_D0_CK1
   10094             :         use pm_kind, only: CKC => CK1
   10095             : #include "pm_distUnif@routines.inc.F90"
   10096        5005 :     end procedure
   10097             : #endif
   10098             : 
   10099             : #undef CK_ENABLED
   10100             : 
   10101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10102             : 
   10103             : #define RK_ENABLED 1
   10104             : 
   10105             : #if RK5_ENABLED
   10106             :     module procedure setUnifRandRNGGLU_D0_RK5
   10107             :         use pm_kind, only: RKC => RK5
   10108             : #include "pm_distUnif@routines.inc.F90"
   10109             :     end procedure
   10110             : #endif
   10111             : 
   10112             : #if RK4_ENABLED
   10113           5 :     module procedure setUnifRandRNGGLU_D0_RK4
   10114             :         use pm_kind, only: RKC => RK4
   10115             : #include "pm_distUnif@routines.inc.F90"
   10116           5 :     end procedure
   10117             : #endif
   10118             : 
   10119             : #if RK3_ENABLED
   10120           0 :     module procedure setUnifRandRNGGLU_D0_RK3
   10121             :         use pm_kind, only: RKC => RK3
   10122             : #include "pm_distUnif@routines.inc.F90"
   10123           0 :     end procedure
   10124             : #endif
   10125             : 
   10126             : #if RK2_ENABLED
   10127           0 :     module procedure setUnifRandRNGGLU_D0_RK2
   10128             :         use pm_kind, only: RKC => RK2
   10129             : #include "pm_distUnif@routines.inc.F90"
   10130           0 :     end procedure
   10131             : #endif
   10132             : 
   10133             : #if RK1_ENABLED
   10134       10015 :     module procedure setUnifRandRNGGLU_D0_RK1
   10135             :         use pm_kind, only: RKC => RK1
   10136             : #include "pm_distUnif@routines.inc.F90"
   10137       10015 :     end procedure
   10138             : #endif
   10139             : 
   10140             : #undef RK_ENABLED
   10141             : 
   10142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10143             : 
   10144             : #undef D0_ENABLED
   10145             : 
   10146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10149             : 
   10150             : #define D1_ENABLED 1
   10151             : 
   10152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10153             : 
   10154             : #define SK_ENABLED 1
   10155             : 
   10156             : #if SK5_ENABLED
   10157             :     module procedure setUnifRandRNGGLU_D1_SK5
   10158             :         use pm_kind, only: SKC => SK5
   10159             : #include "pm_distUnif@routines.inc.F90"
   10160             :     end procedure
   10161             : #endif
   10162             : 
   10163             : #if SK4_ENABLED
   10164             :     module procedure setUnifRandRNGGLU_D1_SK4
   10165             :         use pm_kind, only: SKC => SK4
   10166             : #include "pm_distUnif@routines.inc.F90"
   10167             :     end procedure
   10168             : #endif
   10169             : 
   10170             : #if SK3_ENABLED
   10171             :     module procedure setUnifRandRNGGLU_D1_SK3
   10172             :         use pm_kind, only: SKC => SK3
   10173             : #include "pm_distUnif@routines.inc.F90"
   10174             :     end procedure
   10175             : #endif
   10176             : 
   10177             : #if SK2_ENABLED
   10178             :     module procedure setUnifRandRNGGLU_D1_SK2
   10179             :         use pm_kind, only: SKC => SK2
   10180             : #include "pm_distUnif@routines.inc.F90"
   10181             :     end procedure
   10182             : #endif
   10183             : 
   10184             : #if SK1_ENABLED
   10185           0 :     module procedure setUnifRandRNGGLU_D1_SK1
   10186             :         use pm_kind, only: SKC => SK1
   10187             : #include "pm_distUnif@routines.inc.F90"
   10188           0 :     end procedure
   10189             : #endif
   10190             : 
   10191             : #undef SK_ENABLED
   10192             : 
   10193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10194             : 
   10195             : #define IK_ENABLED 1
   10196             : 
   10197             : #if IK5_ENABLED
   10198           0 :     module procedure setUnifRandRNGGLU_D1_IK5
   10199             :         use pm_kind, only: IKC => IK5
   10200             : #include "pm_distUnif@routines.inc.F90"
   10201           0 :     end procedure
   10202             : #endif
   10203             : 
   10204             : #if IK4_ENABLED
   10205           0 :     module procedure setUnifRandRNGGLU_D1_IK4
   10206             :         use pm_kind, only: IKC => IK4
   10207             : #include "pm_distUnif@routines.inc.F90"
   10208           0 :     end procedure
   10209             : #endif
   10210             : 
   10211             : #if IK3_ENABLED
   10212           0 :     module procedure setUnifRandRNGGLU_D1_IK3
   10213             :         use pm_kind, only: IKC => IK3
   10214             : #include "pm_distUnif@routines.inc.F90"
   10215           0 :     end procedure
   10216             : #endif
   10217             : 
   10218             : #if IK2_ENABLED
   10219           0 :     module procedure setUnifRandRNGGLU_D1_IK2
   10220             :         use pm_kind, only: IKC => IK2
   10221             : #include "pm_distUnif@routines.inc.F90"
   10222           0 :     end procedure
   10223             : #endif
   10224             : 
   10225             : #if IK1_ENABLED
   10226           0 :     module procedure setUnifRandRNGGLU_D1_IK1
   10227             :         use pm_kind, only: IKC => IK1
   10228             : #include "pm_distUnif@routines.inc.F90"
   10229           0 :     end procedure
   10230             : #endif
   10231             : 
   10232             : #undef IK_ENABLED
   10233             : 
   10234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10235             : 
   10236             : #define LK_ENABLED 1
   10237             : 
   10238             : #if LK5_ENABLED
   10239           0 :     module procedure setUnifRandRNGGLU_D1_LK5
   10240             :         use pm_kind, only: LKC => LK5
   10241             : #include "pm_distUnif@routines.inc.F90"
   10242           0 :     end procedure
   10243             : #endif
   10244             : 
   10245             : #if LK4_ENABLED
   10246           0 :     module procedure setUnifRandRNGGLU_D1_LK4
   10247             :         use pm_kind, only: LKC => LK4
   10248             : #include "pm_distUnif@routines.inc.F90"
   10249           0 :     end procedure
   10250             : #endif
   10251             : 
   10252             : #if LK3_ENABLED
   10253           0 :     module procedure setUnifRandRNGGLU_D1_LK3
   10254             :         use pm_kind, only: LKC => LK3
   10255             : #include "pm_distUnif@routines.inc.F90"
   10256           0 :     end procedure
   10257             : #endif
   10258             : 
   10259             : #if LK2_ENABLED
   10260           0 :     module procedure setUnifRandRNGGLU_D1_LK2
   10261             :         use pm_kind, only: LKC => LK2
   10262             : #include "pm_distUnif@routines.inc.F90"
   10263           0 :     end procedure
   10264             : #endif
   10265             : 
   10266             : #if LK1_ENABLED
   10267           0 :     module procedure setUnifRandRNGGLU_D1_LK1
   10268             :         use pm_kind, only: LKC => LK1
   10269             : #include "pm_distUnif@routines.inc.F90"
   10270           0 :     end procedure
   10271             : #endif
   10272             : 
   10273             : #undef LK_ENABLED
   10274             : 
   10275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10276             : 
   10277             : #define CK_ENABLED 1
   10278             : 
   10279             : #if CK5_ENABLED
   10280             :     module procedure setUnifRandRNGGLU_D1_CK5
   10281             :         use pm_kind, only: CKC => CK5
   10282             : #include "pm_distUnif@routines.inc.F90"
   10283             :     end procedure
   10284             : #endif
   10285             : 
   10286             : #if CK4_ENABLED
   10287           0 :     module procedure setUnifRandRNGGLU_D1_CK4
   10288             :         use pm_kind, only: CKC => CK4
   10289             : #include "pm_distUnif@routines.inc.F90"
   10290           0 :     end procedure
   10291             : #endif
   10292             : 
   10293             : #if CK3_ENABLED
   10294           0 :     module procedure setUnifRandRNGGLU_D1_CK3
   10295             :         use pm_kind, only: CKC => CK3
   10296             : #include "pm_distUnif@routines.inc.F90"
   10297           0 :     end procedure
   10298             : #endif
   10299             : 
   10300             : #if CK2_ENABLED
   10301           0 :     module procedure setUnifRandRNGGLU_D1_CK2
   10302             :         use pm_kind, only: CKC => CK2
   10303             : #include "pm_distUnif@routines.inc.F90"
   10304           0 :     end procedure
   10305             : #endif
   10306             : 
   10307             : #if CK1_ENABLED
   10308           1 :     module procedure setUnifRandRNGGLU_D1_CK1
   10309             :         use pm_kind, only: CKC => CK1
   10310             : #include "pm_distUnif@routines.inc.F90"
   10311           1 :     end procedure
   10312             : #endif
   10313             : 
   10314             : #undef CK_ENABLED
   10315             : 
   10316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10317             : 
   10318             : #define RK_ENABLED 1
   10319             : 
   10320             : #if RK5_ENABLED
   10321             :     module procedure setUnifRandRNGGLU_D1_RK5
   10322             :         use pm_kind, only: RKC => RK5
   10323             : #include "pm_distUnif@routines.inc.F90"
   10324             :     end procedure
   10325             : #endif
   10326             : 
   10327             : #if RK4_ENABLED
   10328           0 :     module procedure setUnifRandRNGGLU_D1_RK4
   10329             :         use pm_kind, only: RKC => RK4
   10330             : #include "pm_distUnif@routines.inc.F90"
   10331           0 :     end procedure
   10332             : #endif
   10333             : 
   10334             : #if RK3_ENABLED
   10335           0 :     module procedure setUnifRandRNGGLU_D1_RK3
   10336             :         use pm_kind, only: RKC => RK3
   10337             : #include "pm_distUnif@routines.inc.F90"
   10338           0 :     end procedure
   10339             : #endif
   10340             : 
   10341             : #if RK2_ENABLED
   10342           0 :     module procedure setUnifRandRNGGLU_D1_RK2
   10343             :         use pm_kind, only: RKC => RK2
   10344             : #include "pm_distUnif@routines.inc.F90"
   10345           0 :     end procedure
   10346             : #endif
   10347             : 
   10348             : #if RK1_ENABLED
   10349           0 :     module procedure setUnifRandRNGGLU_D1_RK1
   10350             :         use pm_kind, only: RKC => RK1
   10351             : #include "pm_distUnif@routines.inc.F90"
   10352           0 :     end procedure
   10353             : #endif
   10354             : 
   10355             : #undef RK_ENABLED
   10356             : 
   10357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10358             : 
   10359             : #undef D1_ENABLED
   10360             : 
   10361             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10364             : 
   10365             : #define D2_ENABLED 1
   10366             : 
   10367             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10368             : 
   10369             : #define SK_ENABLED 1
   10370             : 
   10371             : #if SK5_ENABLED
   10372             :     module procedure setUnifRandRNGGLU_D2_SK5
   10373             :         use pm_kind, only: SKC => SK5
   10374             : #include "pm_distUnif@routines.inc.F90"
   10375             :     end procedure
   10376             : #endif
   10377             : 
   10378             : #if SK4_ENABLED
   10379             :     module procedure setUnifRandRNGGLU_D2_SK4
   10380             :         use pm_kind, only: SKC => SK4
   10381             : #include "pm_distUnif@routines.inc.F90"
   10382             :     end procedure
   10383             : #endif
   10384             : 
   10385             : #if SK3_ENABLED
   10386             :     module procedure setUnifRandRNGGLU_D2_SK3
   10387             :         use pm_kind, only: SKC => SK3
   10388             : #include "pm_distUnif@routines.inc.F90"
   10389             :     end procedure
   10390             : #endif
   10391             : 
   10392             : #if SK2_ENABLED
   10393             :     module procedure setUnifRandRNGGLU_D2_SK2
   10394             :         use pm_kind, only: SKC => SK2
   10395             : #include "pm_distUnif@routines.inc.F90"
   10396             :     end procedure
   10397             : #endif
   10398             : 
   10399             : #if SK1_ENABLED
   10400           0 :     module procedure setUnifRandRNGGLU_D2_SK1
   10401             :         use pm_kind, only: SKC => SK1
   10402             : #include "pm_distUnif@routines.inc.F90"
   10403           0 :     end procedure
   10404             : #endif
   10405             : 
   10406             : #undef SK_ENABLED
   10407             : 
   10408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10409             : 
   10410             : #define IK_ENABLED 1
   10411             : 
   10412             : #if IK5_ENABLED
   10413           0 :     module procedure setUnifRandRNGGLU_D2_IK5
   10414             :         use pm_kind, only: IKC => IK5
   10415             : #include "pm_distUnif@routines.inc.F90"
   10416           0 :     end procedure
   10417             : #endif
   10418             : 
   10419             : #if IK4_ENABLED
   10420           0 :     module procedure setUnifRandRNGGLU_D2_IK4
   10421             :         use pm_kind, only: IKC => IK4
   10422             : #include "pm_distUnif@routines.inc.F90"
   10423           0 :     end procedure
   10424             : #endif
   10425             : 
   10426             : #if IK3_ENABLED
   10427           0 :     module procedure setUnifRandRNGGLU_D2_IK3
   10428             :         use pm_kind, only: IKC => IK3
   10429             : #include "pm_distUnif@routines.inc.F90"
   10430           0 :     end procedure
   10431             : #endif
   10432             : 
   10433             : #if IK2_ENABLED
   10434           0 :     module procedure setUnifRandRNGGLU_D2_IK2
   10435             :         use pm_kind, only: IKC => IK2
   10436             : #include "pm_distUnif@routines.inc.F90"
   10437           0 :     end procedure
   10438             : #endif
   10439             : 
   10440             : #if IK1_ENABLED
   10441           0 :     module procedure setUnifRandRNGGLU_D2_IK1
   10442             :         use pm_kind, only: IKC => IK1
   10443             : #include "pm_distUnif@routines.inc.F90"
   10444           0 :     end procedure
   10445             : #endif
   10446             : 
   10447             : #undef IK_ENABLED
   10448             : 
   10449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10450             : 
   10451             : #define LK_ENABLED 1
   10452             : 
   10453             : #if LK5_ENABLED
   10454           0 :     module procedure setUnifRandRNGGLU_D2_LK5
   10455             :         use pm_kind, only: LKC => LK5
   10456             : #include "pm_distUnif@routines.inc.F90"
   10457           0 :     end procedure
   10458             : #endif
   10459             : 
   10460             : #if LK4_ENABLED
   10461           0 :     module procedure setUnifRandRNGGLU_D2_LK4
   10462             :         use pm_kind, only: LKC => LK4
   10463             : #include "pm_distUnif@routines.inc.F90"
   10464           0 :     end procedure
   10465             : #endif
   10466             : 
   10467             : #if LK3_ENABLED
   10468           0 :     module procedure setUnifRandRNGGLU_D2_LK3
   10469             :         use pm_kind, only: LKC => LK3
   10470             : #include "pm_distUnif@routines.inc.F90"
   10471           0 :     end procedure
   10472             : #endif
   10473             : 
   10474             : #if LK2_ENABLED
   10475           0 :     module procedure setUnifRandRNGGLU_D2_LK2
   10476             :         use pm_kind, only: LKC => LK2
   10477             : #include "pm_distUnif@routines.inc.F90"
   10478           0 :     end procedure
   10479             : #endif
   10480             : 
   10481             : #if LK1_ENABLED
   10482           0 :     module procedure setUnifRandRNGGLU_D2_LK1
   10483             :         use pm_kind, only: LKC => LK1
   10484             : #include "pm_distUnif@routines.inc.F90"
   10485           0 :     end procedure
   10486             : #endif
   10487             : 
   10488             : #undef LK_ENABLED
   10489             : 
   10490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10491             : 
   10492             : #define CK_ENABLED 1
   10493             : 
   10494             : #if CK5_ENABLED
   10495             :     module procedure setUnifRandRNGGLU_D2_CK5
   10496             :         use pm_kind, only: CKC => CK5
   10497             : #include "pm_distUnif@routines.inc.F90"
   10498             :     end procedure
   10499             : #endif
   10500             : 
   10501             : #if CK4_ENABLED
   10502           0 :     module procedure setUnifRandRNGGLU_D2_CK4
   10503             :         use pm_kind, only: CKC => CK4
   10504             : #include "pm_distUnif@routines.inc.F90"
   10505           0 :     end procedure
   10506             : #endif
   10507             : 
   10508             : #if CK3_ENABLED
   10509           0 :     module procedure setUnifRandRNGGLU_D2_CK3
   10510             :         use pm_kind, only: CKC => CK3
   10511             : #include "pm_distUnif@routines.inc.F90"
   10512           0 :     end procedure
   10513             : #endif
   10514             : 
   10515             : #if CK2_ENABLED
   10516           0 :     module procedure setUnifRandRNGGLU_D2_CK2
   10517             :         use pm_kind, only: CKC => CK2
   10518             : #include "pm_distUnif@routines.inc.F90"
   10519           0 :     end procedure
   10520             : #endif
   10521             : 
   10522             : #if CK1_ENABLED
   10523           0 :     module procedure setUnifRandRNGGLU_D2_CK1
   10524             :         use pm_kind, only: CKC => CK1
   10525             : #include "pm_distUnif@routines.inc.F90"
   10526           0 :     end procedure
   10527             : #endif
   10528             : 
   10529             : #undef CK_ENABLED
   10530             : 
   10531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10532             : 
   10533             : #define RK_ENABLED 1
   10534             : 
   10535             : #if RK5_ENABLED
   10536             :     module procedure setUnifRandRNGGLU_D2_RK5
   10537             :         use pm_kind, only: RKC => RK5
   10538             : #include "pm_distUnif@routines.inc.F90"
   10539             :     end procedure
   10540             : #endif
   10541             : 
   10542             : #if RK4_ENABLED
   10543           0 :     module procedure setUnifRandRNGGLU_D2_RK4
   10544             :         use pm_kind, only: RKC => RK4
   10545             : #include "pm_distUnif@routines.inc.F90"
   10546           0 :     end procedure
   10547             : #endif
   10548             : 
   10549             : #if RK3_ENABLED
   10550           0 :     module procedure setUnifRandRNGGLU_D2_RK3
   10551             :         use pm_kind, only: RKC => RK3
   10552             : #include "pm_distUnif@routines.inc.F90"
   10553           0 :     end procedure
   10554             : #endif
   10555             : 
   10556             : #if RK2_ENABLED
   10557           0 :     module procedure setUnifRandRNGGLU_D2_RK2
   10558             :         use pm_kind, only: RKC => RK2
   10559             : #include "pm_distUnif@routines.inc.F90"
   10560           0 :     end procedure
   10561             : #endif
   10562             : 
   10563             : #if RK1_ENABLED
   10564           0 :     module procedure setUnifRandRNGGLU_D2_RK1
   10565             :         use pm_kind, only: RKC => RK1
   10566             : #include "pm_distUnif@routines.inc.F90"
   10567           0 :     end procedure
   10568             : #endif
   10569             : 
   10570             : #undef RK_ENABLED
   10571             : 
   10572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10573             : 
   10574             : #undef D2_ENABLED
   10575             : 
   10576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10579             : 
   10580             : #define D3_ENABLED 1
   10581             : 
   10582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10583             : 
   10584             : #define SK_ENABLED 1
   10585             : 
   10586             : #if SK5_ENABLED
   10587             :     module procedure setUnifRandRNGGLU_D3_SK5
   10588             :         use pm_kind, only: SKC => SK5
   10589             : #include "pm_distUnif@routines.inc.F90"
   10590             :     end procedure
   10591             : #endif
   10592             : 
   10593             : #if SK4_ENABLED
   10594             :     module procedure setUnifRandRNGGLU_D3_SK4
   10595             :         use pm_kind, only: SKC => SK4
   10596             : #include "pm_distUnif@routines.inc.F90"
   10597             :     end procedure
   10598             : #endif
   10599             : 
   10600             : #if SK3_ENABLED
   10601             :     module procedure setUnifRandRNGGLU_D3_SK3
   10602             :         use pm_kind, only: SKC => SK3
   10603             : #include "pm_distUnif@routines.inc.F90"
   10604             :     end procedure
   10605             : #endif
   10606             : 
   10607             : #if SK2_ENABLED
   10608             :     module procedure setUnifRandRNGGLU_D3_SK2
   10609             :         use pm_kind, only: SKC => SK2
   10610             : #include "pm_distUnif@routines.inc.F90"
   10611             :     end procedure
   10612             : #endif
   10613             : 
   10614             : #if SK1_ENABLED
   10615           0 :     module procedure setUnifRandRNGGLU_D3_SK1
   10616             :         use pm_kind, only: SKC => SK1
   10617             : #include "pm_distUnif@routines.inc.F90"
   10618           0 :     end procedure
   10619             : #endif
   10620             : 
   10621             : #undef SK_ENABLED
   10622             : 
   10623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10624             : 
   10625             : #define IK_ENABLED 1
   10626             : 
   10627             : #if IK5_ENABLED
   10628           0 :     module procedure setUnifRandRNGGLU_D3_IK5
   10629             :         use pm_kind, only: IKC => IK5
   10630             : #include "pm_distUnif@routines.inc.F90"
   10631           0 :     end procedure
   10632             : #endif
   10633             : 
   10634             : #if IK4_ENABLED
   10635           0 :     module procedure setUnifRandRNGGLU_D3_IK4
   10636             :         use pm_kind, only: IKC => IK4
   10637             : #include "pm_distUnif@routines.inc.F90"
   10638           0 :     end procedure
   10639             : #endif
   10640             : 
   10641             : #if IK3_ENABLED
   10642           0 :     module procedure setUnifRandRNGGLU_D3_IK3
   10643             :         use pm_kind, only: IKC => IK3
   10644             : #include "pm_distUnif@routines.inc.F90"
   10645           0 :     end procedure
   10646             : #endif
   10647             : 
   10648             : #if IK2_ENABLED
   10649           0 :     module procedure setUnifRandRNGGLU_D3_IK2
   10650             :         use pm_kind, only: IKC => IK2
   10651             : #include "pm_distUnif@routines.inc.F90"
   10652           0 :     end procedure
   10653             : #endif
   10654             : 
   10655             : #if IK1_ENABLED
   10656           0 :     module procedure setUnifRandRNGGLU_D3_IK1
   10657             :         use pm_kind, only: IKC => IK1
   10658             : #include "pm_distUnif@routines.inc.F90"
   10659           0 :     end procedure
   10660             : #endif
   10661             : 
   10662             : #undef IK_ENABLED
   10663             : 
   10664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10665             : 
   10666             : #define LK_ENABLED 1
   10667             : 
   10668             : #if LK5_ENABLED
   10669           0 :     module procedure setUnifRandRNGGLU_D3_LK5
   10670             :         use pm_kind, only: LKC => LK5
   10671             : #include "pm_distUnif@routines.inc.F90"
   10672           0 :     end procedure
   10673             : #endif
   10674             : 
   10675             : #if LK4_ENABLED
   10676           0 :     module procedure setUnifRandRNGGLU_D3_LK4
   10677             :         use pm_kind, only: LKC => LK4
   10678             : #include "pm_distUnif@routines.inc.F90"
   10679           0 :     end procedure
   10680             : #endif
   10681             : 
   10682             : #if LK3_ENABLED
   10683           0 :     module procedure setUnifRandRNGGLU_D3_LK3
   10684             :         use pm_kind, only: LKC => LK3
   10685             : #include "pm_distUnif@routines.inc.F90"
   10686           0 :     end procedure
   10687             : #endif
   10688             : 
   10689             : #if LK2_ENABLED
   10690           0 :     module procedure setUnifRandRNGGLU_D3_LK2
   10691             :         use pm_kind, only: LKC => LK2
   10692             : #include "pm_distUnif@routines.inc.F90"
   10693           0 :     end procedure
   10694             : #endif
   10695             : 
   10696             : #if LK1_ENABLED
   10697           0 :     module procedure setUnifRandRNGGLU_D3_LK1
   10698             :         use pm_kind, only: LKC => LK1
   10699             : #include "pm_distUnif@routines.inc.F90"
   10700           0 :     end procedure
   10701             : #endif
   10702             : 
   10703             : #undef LK_ENABLED
   10704             : 
   10705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10706             : 
   10707             : #define CK_ENABLED 1
   10708             : 
   10709             : #if CK5_ENABLED
   10710             :     module procedure setUnifRandRNGGLU_D3_CK5
   10711             :         use pm_kind, only: CKC => CK5
   10712             : #include "pm_distUnif@routines.inc.F90"
   10713             :     end procedure
   10714             : #endif
   10715             : 
   10716             : #if CK4_ENABLED
   10717           0 :     module procedure setUnifRandRNGGLU_D3_CK4
   10718             :         use pm_kind, only: CKC => CK4
   10719             : #include "pm_distUnif@routines.inc.F90"
   10720           0 :     end procedure
   10721             : #endif
   10722             : 
   10723             : #if CK3_ENABLED
   10724           0 :     module procedure setUnifRandRNGGLU_D3_CK3
   10725             :         use pm_kind, only: CKC => CK3
   10726             : #include "pm_distUnif@routines.inc.F90"
   10727           0 :     end procedure
   10728             : #endif
   10729             : 
   10730             : #if CK2_ENABLED
   10731           0 :     module procedure setUnifRandRNGGLU_D3_CK2
   10732             :         use pm_kind, only: CKC => CK2
   10733             : #include "pm_distUnif@routines.inc.F90"
   10734           0 :     end procedure
   10735             : #endif
   10736             : 
   10737             : #if CK1_ENABLED
   10738           0 :     module procedure setUnifRandRNGGLU_D3_CK1
   10739             :         use pm_kind, only: CKC => CK1
   10740             : #include "pm_distUnif@routines.inc.F90"
   10741           0 :     end procedure
   10742             : #endif
   10743             : 
   10744             : #undef CK_ENABLED
   10745             : 
   10746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10747             : 
   10748             : #define RK_ENABLED 1
   10749             : 
   10750             : #if RK5_ENABLED
   10751             :     module procedure setUnifRandRNGGLU_D3_RK5
   10752             :         use pm_kind, only: RKC => RK5
   10753             : #include "pm_distUnif@routines.inc.F90"
   10754             :     end procedure
   10755             : #endif
   10756             : 
   10757             : #if RK4_ENABLED
   10758           0 :     module procedure setUnifRandRNGGLU_D3_RK4
   10759             :         use pm_kind, only: RKC => RK4
   10760             : #include "pm_distUnif@routines.inc.F90"
   10761           0 :     end procedure
   10762             : #endif
   10763             : 
   10764             : #if RK3_ENABLED
   10765           0 :     module procedure setUnifRandRNGGLU_D3_RK3
   10766             :         use pm_kind, only: RKC => RK3
   10767             : #include "pm_distUnif@routines.inc.F90"
   10768           0 :     end procedure
   10769             : #endif
   10770             : 
   10771             : #if RK2_ENABLED
   10772           0 :     module procedure setUnifRandRNGGLU_D3_RK2
   10773             :         use pm_kind, only: RKC => RK2
   10774             : #include "pm_distUnif@routines.inc.F90"
   10775           0 :     end procedure
   10776             : #endif
   10777             : 
   10778             : #if RK1_ENABLED
   10779           0 :     module procedure setUnifRandRNGGLU_D3_RK1
   10780             :         use pm_kind, only: RKC => RK1
   10781             : #include "pm_distUnif@routines.inc.F90"
   10782           0 :     end procedure
   10783             : #endif
   10784             : 
   10785             : #undef RK_ENABLED
   10786             : 
   10787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10788             : 
   10789             : #undef D3_ENABLED
   10790             : 
   10791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10792             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10794             : 
   10795             : #undef LU_ENABLED
   10796             : 
   10797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10800             : 
   10801             : #undef X256SSG_ENABLED
   10802             : 
   10803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10806             : 
   10807             : #define X256SSW_ENABLED 1
   10808             : 
   10809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10812             : 
   10813             : #define DD_ENABLED 1
   10814             : 
   10815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10818             : 
   10819             : #define D0_ENABLED 1
   10820             : 
   10821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10822             : 
   10823             : #define SK_ENABLED 1
   10824             : 
   10825             : #if SK5_ENABLED
   10826             :     module procedure setUnifRandRNGXDD_D0_SK5
   10827             :         use pm_kind, only: SKC => SK5
   10828             : #include "pm_distUnif@routines.inc.F90"
   10829             :     end procedure
   10830             : #endif
   10831             : 
   10832             : #if SK4_ENABLED
   10833             :     module procedure setUnifRandRNGXDD_D0_SK4
   10834             :         use pm_kind, only: SKC => SK4
   10835             : #include "pm_distUnif@routines.inc.F90"
   10836             :     end procedure
   10837             : #endif
   10838             : 
   10839             : #if SK3_ENABLED
   10840             :     module procedure setUnifRandRNGXDD_D0_SK3
   10841             :         use pm_kind, only: SKC => SK3
   10842             : #include "pm_distUnif@routines.inc.F90"
   10843             :     end procedure
   10844             : #endif
   10845             : 
   10846             : #if SK2_ENABLED
   10847             :     module procedure setUnifRandRNGXDD_D0_SK2
   10848             :         use pm_kind, only: SKC => SK2
   10849             : #include "pm_distUnif@routines.inc.F90"
   10850             :     end procedure
   10851             : #endif
   10852             : 
   10853             : #if SK1_ENABLED
   10854           0 :     module procedure setUnifRandRNGXDD_D0_SK1
   10855             :         use pm_kind, only: SKC => SK1
   10856             : #include "pm_distUnif@routines.inc.F90"
   10857           0 :     end procedure
   10858             : #endif
   10859             : 
   10860             : #undef SK_ENABLED
   10861             : 
   10862             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10863             : 
   10864             : #define IK_ENABLED 1
   10865             : 
   10866             : #if IK5_ENABLED
   10867           0 :     module procedure setUnifRandRNGXDD_D0_IK5
   10868             :         use pm_kind, only: IKC => IK5
   10869             : #include "pm_distUnif@routines.inc.F90"
   10870           0 :     end procedure
   10871             : #endif
   10872             : 
   10873             : #if IK4_ENABLED
   10874           0 :     module procedure setUnifRandRNGXDD_D0_IK4
   10875             :         use pm_kind, only: IKC => IK4
   10876             : #include "pm_distUnif@routines.inc.F90"
   10877             :     end procedure
   10878             : #endif
   10879             : 
   10880             : #if IK3_ENABLED
   10881    11713806 :     module procedure setUnifRandRNGXDD_D0_IK3
   10882             :         use pm_kind, only: IKC => IK3
   10883             : #include "pm_distUnif@routines.inc.F90"
   10884             :     end procedure
   10885             : #endif
   10886             : 
   10887             : #if IK2_ENABLED
   10888           0 :     module procedure setUnifRandRNGXDD_D0_IK2
   10889             :         use pm_kind, only: IKC => IK2
   10890             : #include "pm_distUnif@routines.inc.F90"
   10891             :     end procedure
   10892             : #endif
   10893             : 
   10894             : #if IK1_ENABLED
   10895          16 :     module procedure setUnifRandRNGXDD_D0_IK1
   10896             :         use pm_kind, only: IKC => IK1
   10897             : #include "pm_distUnif@routines.inc.F90"
   10898             :     end procedure
   10899             : #endif
   10900             : 
   10901             : #undef IK_ENABLED
   10902             : 
   10903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10904             : 
   10905             : #define LK_ENABLED 1
   10906             : 
   10907             : #if LK5_ENABLED
   10908           0 :     module procedure setUnifRandRNGXDD_D0_LK5
   10909             :         use pm_kind, only: LKC => LK5
   10910             : #include "pm_distUnif@routines.inc.F90"
   10911           0 :     end procedure
   10912             : #endif
   10913             : 
   10914             : #if LK4_ENABLED
   10915           0 :     module procedure setUnifRandRNGXDD_D0_LK4
   10916             :         use pm_kind, only: LKC => LK4
   10917             : #include "pm_distUnif@routines.inc.F90"
   10918           0 :     end procedure
   10919             : #endif
   10920             : 
   10921             : #if LK3_ENABLED
   10922          10 :     module procedure setUnifRandRNGXDD_D0_LK3
   10923             :         use pm_kind, only: LKC => LK3
   10924             : #include "pm_distUnif@routines.inc.F90"
   10925          10 :     end procedure
   10926             : #endif
   10927             : 
   10928             : #if LK2_ENABLED
   10929           0 :     module procedure setUnifRandRNGXDD_D0_LK2
   10930             :         use pm_kind, only: LKC => LK2
   10931             : #include "pm_distUnif@routines.inc.F90"
   10932           0 :     end procedure
   10933             : #endif
   10934             : 
   10935             : #if LK1_ENABLED
   10936           0 :     module procedure setUnifRandRNGXDD_D0_LK1
   10937             :         use pm_kind, only: LKC => LK1
   10938             : #include "pm_distUnif@routines.inc.F90"
   10939           0 :     end procedure
   10940             : #endif
   10941             : 
   10942             : #undef LK_ENABLED
   10943             : 
   10944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10945             : 
   10946             : #define CK_ENABLED 1
   10947             : 
   10948             : #if CK5_ENABLED
   10949             :     module procedure setUnifRandRNGXDD_D0_CK5
   10950             :         use pm_kind, only: CKC => CK5
   10951             : #include "pm_distUnif@routines.inc.F90"
   10952             :     end procedure
   10953             : #endif
   10954             : 
   10955             : #if CK4_ENABLED
   10956           0 :     module procedure setUnifRandRNGXDD_D0_CK4
   10957             :         use pm_kind, only: CKC => CK4
   10958             : #include "pm_distUnif@routines.inc.F90"
   10959           0 :     end procedure
   10960             : #endif
   10961             : 
   10962             : #if CK3_ENABLED
   10963           0 :     module procedure setUnifRandRNGXDD_D0_CK3
   10964             :         use pm_kind, only: CKC => CK3
   10965             : #include "pm_distUnif@routines.inc.F90"
   10966           0 :     end procedure
   10967             : #endif
   10968             : 
   10969             : #if CK2_ENABLED
   10970           0 :     module procedure setUnifRandRNGXDD_D0_CK2
   10971             :         use pm_kind, only: CKC => CK2
   10972             : #include "pm_distUnif@routines.inc.F90"
   10973           0 :     end procedure
   10974             : #endif
   10975             : 
   10976             : #if CK1_ENABLED
   10977           0 :     module procedure setUnifRandRNGXDD_D0_CK1
   10978             :         use pm_kind, only: CKC => CK1
   10979             : #include "pm_distUnif@routines.inc.F90"
   10980           0 :     end procedure
   10981             : #endif
   10982             : 
   10983             : #undef CK_ENABLED
   10984             : 
   10985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10986             : 
   10987             : #define RK_ENABLED 1
   10988             : 
   10989             : #if RK5_ENABLED
   10990             :     module procedure setUnifRandRNGXDD_D0_RK5
   10991             :         use pm_kind, only: RKC => RK5
   10992             : #include "pm_distUnif@routines.inc.F90"
   10993             :     end procedure
   10994             : #endif
   10995             : 
   10996             : #if RK4_ENABLED
   10997          11 :     module procedure setUnifRandRNGXDD_D0_RK4
   10998             :         use pm_kind, only: RKC => RK4
   10999             : #include "pm_distUnif@routines.inc.F90"
   11000          11 :     end procedure
   11001             : #endif
   11002             : 
   11003             : #if RK3_ENABLED
   11004           0 :     module procedure setUnifRandRNGXDD_D0_RK3
   11005             :         use pm_kind, only: RKC => RK3
   11006             : #include "pm_distUnif@routines.inc.F90"
   11007           0 :     end procedure
   11008             : #endif
   11009             : 
   11010             : #if RK2_ENABLED
   11011     4379571 :     module procedure setUnifRandRNGXDD_D0_RK2
   11012             :         use pm_kind, only: RKC => RK2
   11013             : #include "pm_distUnif@routines.inc.F90"
   11014     4379571 :     end procedure
   11015             : #endif
   11016             : 
   11017             : #if RK1_ENABLED
   11018      534527 :     module procedure setUnifRandRNGXDD_D0_RK1
   11019             :         use pm_kind, only: RKC => RK1
   11020             : #include "pm_distUnif@routines.inc.F90"
   11021      534527 :     end procedure
   11022             : #endif
   11023             : 
   11024             : #undef RK_ENABLED
   11025             : 
   11026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11027             : 
   11028             : #undef D0_ENABLED
   11029             : 
   11030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11033             : 
   11034             : #define D1_ENABLED 1
   11035             : 
   11036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11037             : 
   11038             : #define SK_ENABLED 1
   11039             : 
   11040             : #if SK5_ENABLED
   11041             :     module procedure setUnifRandRNGXDD_D1_SK5
   11042             :         use pm_kind, only: SKC => SK5
   11043             : #include "pm_distUnif@routines.inc.F90"
   11044             :     end procedure
   11045             : #endif
   11046             : 
   11047             : #if SK4_ENABLED
   11048             :     module procedure setUnifRandRNGXDD_D1_SK4
   11049             :         use pm_kind, only: SKC => SK4
   11050             : #include "pm_distUnif@routines.inc.F90"
   11051             :     end procedure
   11052             : #endif
   11053             : 
   11054             : #if SK3_ENABLED
   11055             :     module procedure setUnifRandRNGXDD_D1_SK3
   11056             :         use pm_kind, only: SKC => SK3
   11057             : #include "pm_distUnif@routines.inc.F90"
   11058             :     end procedure
   11059             : #endif
   11060             : 
   11061             : #if SK2_ENABLED
   11062             :     module procedure setUnifRandRNGXDD_D1_SK2
   11063             :         use pm_kind, only: SKC => SK2
   11064             : #include "pm_distUnif@routines.inc.F90"
   11065             :     end procedure
   11066             : #endif
   11067             : 
   11068             : #if SK1_ENABLED
   11069           0 :     module procedure setUnifRandRNGXDD_D1_SK1
   11070             :         use pm_kind, only: SKC => SK1
   11071             : #include "pm_distUnif@routines.inc.F90"
   11072           0 :     end procedure
   11073             : #endif
   11074             : 
   11075             : #undef SK_ENABLED
   11076             : 
   11077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11078             : 
   11079             : #define IK_ENABLED 1
   11080             : 
   11081             : #if IK5_ENABLED
   11082           0 :     module procedure setUnifRandRNGXDD_D1_IK5
   11083             :         use pm_kind, only: IKC => IK5
   11084             : #include "pm_distUnif@routines.inc.F90"
   11085           0 :     end procedure
   11086             : #endif
   11087             : 
   11088             : #if IK4_ENABLED
   11089           0 :     module procedure setUnifRandRNGXDD_D1_IK4
   11090             :         use pm_kind, only: IKC => IK4
   11091             : #include "pm_distUnif@routines.inc.F90"
   11092           0 :     end procedure
   11093             : #endif
   11094             : 
   11095             : #if IK3_ENABLED
   11096           0 :     module procedure setUnifRandRNGXDD_D1_IK3
   11097             :         use pm_kind, only: IKC => IK3
   11098             : #include "pm_distUnif@routines.inc.F90"
   11099           0 :     end procedure
   11100             : #endif
   11101             : 
   11102             : #if IK2_ENABLED
   11103           0 :     module procedure setUnifRandRNGXDD_D1_IK2
   11104             :         use pm_kind, only: IKC => IK2
   11105             : #include "pm_distUnif@routines.inc.F90"
   11106           0 :     end procedure
   11107             : #endif
   11108             : 
   11109             : #if IK1_ENABLED
   11110           0 :     module procedure setUnifRandRNGXDD_D1_IK1
   11111             :         use pm_kind, only: IKC => IK1
   11112             : #include "pm_distUnif@routines.inc.F90"
   11113           0 :     end procedure
   11114             : #endif
   11115             : 
   11116             : #undef IK_ENABLED
   11117             : 
   11118             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11119             : 
   11120             : #define LK_ENABLED 1
   11121             : 
   11122             : #if LK5_ENABLED
   11123           0 :     module procedure setUnifRandRNGXDD_D1_LK5
   11124             :         use pm_kind, only: LKC => LK5
   11125             : #include "pm_distUnif@routines.inc.F90"
   11126           0 :     end procedure
   11127             : #endif
   11128             : 
   11129             : #if LK4_ENABLED
   11130           0 :     module procedure setUnifRandRNGXDD_D1_LK4
   11131             :         use pm_kind, only: LKC => LK4
   11132             : #include "pm_distUnif@routines.inc.F90"
   11133           0 :     end procedure
   11134             : #endif
   11135             : 
   11136             : #if LK3_ENABLED
   11137           0 :     module procedure setUnifRandRNGXDD_D1_LK3
   11138             :         use pm_kind, only: LKC => LK3
   11139             : #include "pm_distUnif@routines.inc.F90"
   11140           0 :     end procedure
   11141             : #endif
   11142             : 
   11143             : #if LK2_ENABLED
   11144           0 :     module procedure setUnifRandRNGXDD_D1_LK2
   11145             :         use pm_kind, only: LKC => LK2
   11146             : #include "pm_distUnif@routines.inc.F90"
   11147           0 :     end procedure
   11148             : #endif
   11149             : 
   11150             : #if LK1_ENABLED
   11151           0 :     module procedure setUnifRandRNGXDD_D1_LK1
   11152             :         use pm_kind, only: LKC => LK1
   11153             : #include "pm_distUnif@routines.inc.F90"
   11154           0 :     end procedure
   11155             : #endif
   11156             : 
   11157             : #undef LK_ENABLED
   11158             : 
   11159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11160             : 
   11161             : #define CK_ENABLED 1
   11162             : 
   11163             : #if CK5_ENABLED
   11164             :     module procedure setUnifRandRNGXDD_D1_CK5
   11165             :         use pm_kind, only: CKC => CK5
   11166             : #include "pm_distUnif@routines.inc.F90"
   11167             :     end procedure
   11168             : #endif
   11169             : 
   11170             : #if CK4_ENABLED
   11171           0 :     module procedure setUnifRandRNGXDD_D1_CK4
   11172             :         use pm_kind, only: CKC => CK4
   11173             : #include "pm_distUnif@routines.inc.F90"
   11174           0 :     end procedure
   11175             : #endif
   11176             : 
   11177             : #if CK3_ENABLED
   11178           0 :     module procedure setUnifRandRNGXDD_D1_CK3
   11179             :         use pm_kind, only: CKC => CK3
   11180             : #include "pm_distUnif@routines.inc.F90"
   11181           0 :     end procedure
   11182             : #endif
   11183             : 
   11184             : #if CK2_ENABLED
   11185           0 :     module procedure setUnifRandRNGXDD_D1_CK2
   11186             :         use pm_kind, only: CKC => CK2
   11187             : #include "pm_distUnif@routines.inc.F90"
   11188           0 :     end procedure
   11189             : #endif
   11190             : 
   11191             : #if CK1_ENABLED
   11192           0 :     module procedure setUnifRandRNGXDD_D1_CK1
   11193             :         use pm_kind, only: CKC => CK1
   11194             : #include "pm_distUnif@routines.inc.F90"
   11195           0 :     end procedure
   11196             : #endif
   11197             : 
   11198             : #undef CK_ENABLED
   11199             : 
   11200             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11201             : 
   11202             : #define RK_ENABLED 1
   11203             : 
   11204             : #if RK5_ENABLED
   11205             :     module procedure setUnifRandRNGXDD_D1_RK5
   11206             :         use pm_kind, only: RKC => RK5
   11207             : #include "pm_distUnif@routines.inc.F90"
   11208             :     end procedure
   11209             : #endif
   11210             : 
   11211             : #if RK4_ENABLED
   11212           0 :     module procedure setUnifRandRNGXDD_D1_RK4
   11213             :         use pm_kind, only: RKC => RK4
   11214             : #include "pm_distUnif@routines.inc.F90"
   11215           0 :     end procedure
   11216             : #endif
   11217             : 
   11218             : #if RK3_ENABLED
   11219           0 :     module procedure setUnifRandRNGXDD_D1_RK3
   11220             :         use pm_kind, only: RKC => RK3
   11221             : #include "pm_distUnif@routines.inc.F90"
   11222           0 :     end procedure
   11223             : #endif
   11224             : 
   11225             : #if RK2_ENABLED
   11226           0 :     module procedure setUnifRandRNGXDD_D1_RK2
   11227             :         use pm_kind, only: RKC => RK2
   11228             : #include "pm_distUnif@routines.inc.F90"
   11229           0 :     end procedure
   11230             : #endif
   11231             : 
   11232             : #if RK1_ENABLED
   11233           3 :     module procedure setUnifRandRNGXDD_D1_RK1
   11234             :         use pm_kind, only: RKC => RK1
   11235             : #include "pm_distUnif@routines.inc.F90"
   11236           3 :     end procedure
   11237             : #endif
   11238             : 
   11239             : #undef RK_ENABLED
   11240             : 
   11241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11242             : 
   11243             : #undef D1_ENABLED
   11244             : 
   11245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11248             : 
   11249             : #define D2_ENABLED 1
   11250             : 
   11251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11252             : 
   11253             : #define SK_ENABLED 1
   11254             : 
   11255             : #if SK5_ENABLED
   11256             :     module procedure setUnifRandRNGXDD_D2_SK5
   11257             :         use pm_kind, only: SKC => SK5
   11258             : #include "pm_distUnif@routines.inc.F90"
   11259             :     end procedure
   11260             : #endif
   11261             : 
   11262             : #if SK4_ENABLED
   11263             :     module procedure setUnifRandRNGXDD_D2_SK4
   11264             :         use pm_kind, only: SKC => SK4
   11265             : #include "pm_distUnif@routines.inc.F90"
   11266             :     end procedure
   11267             : #endif
   11268             : 
   11269             : #if SK3_ENABLED
   11270             :     module procedure setUnifRandRNGXDD_D2_SK3
   11271             :         use pm_kind, only: SKC => SK3
   11272             : #include "pm_distUnif@routines.inc.F90"
   11273             :     end procedure
   11274             : #endif
   11275             : 
   11276             : #if SK2_ENABLED
   11277             :     module procedure setUnifRandRNGXDD_D2_SK2
   11278             :         use pm_kind, only: SKC => SK2
   11279             : #include "pm_distUnif@routines.inc.F90"
   11280             :     end procedure
   11281             : #endif
   11282             : 
   11283             : #if SK1_ENABLED
   11284           0 :     module procedure setUnifRandRNGXDD_D2_SK1
   11285             :         use pm_kind, only: SKC => SK1
   11286             : #include "pm_distUnif@routines.inc.F90"
   11287           0 :     end procedure
   11288             : #endif
   11289             : 
   11290             : #undef SK_ENABLED
   11291             : 
   11292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11293             : 
   11294             : #define IK_ENABLED 1
   11295             : 
   11296             : #if IK5_ENABLED
   11297           0 :     module procedure setUnifRandRNGXDD_D2_IK5
   11298             :         use pm_kind, only: IKC => IK5
   11299             : #include "pm_distUnif@routines.inc.F90"
   11300           0 :     end procedure
   11301             : #endif
   11302             : 
   11303             : #if IK4_ENABLED
   11304           0 :     module procedure setUnifRandRNGXDD_D2_IK4
   11305             :         use pm_kind, only: IKC => IK4
   11306             : #include "pm_distUnif@routines.inc.F90"
   11307           0 :     end procedure
   11308             : #endif
   11309             : 
   11310             : #if IK3_ENABLED
   11311           0 :     module procedure setUnifRandRNGXDD_D2_IK3
   11312             :         use pm_kind, only: IKC => IK3
   11313             : #include "pm_distUnif@routines.inc.F90"
   11314           0 :     end procedure
   11315             : #endif
   11316             : 
   11317             : #if IK2_ENABLED
   11318           0 :     module procedure setUnifRandRNGXDD_D2_IK2
   11319             :         use pm_kind, only: IKC => IK2
   11320             : #include "pm_distUnif@routines.inc.F90"
   11321           0 :     end procedure
   11322             : #endif
   11323             : 
   11324             : #if IK1_ENABLED
   11325           0 :     module procedure setUnifRandRNGXDD_D2_IK1
   11326             :         use pm_kind, only: IKC => IK1
   11327             : #include "pm_distUnif@routines.inc.F90"
   11328           0 :     end procedure
   11329             : #endif
   11330             : 
   11331             : #undef IK_ENABLED
   11332             : 
   11333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11334             : 
   11335             : #define LK_ENABLED 1
   11336             : 
   11337             : #if LK5_ENABLED
   11338           0 :     module procedure setUnifRandRNGXDD_D2_LK5
   11339             :         use pm_kind, only: LKC => LK5
   11340             : #include "pm_distUnif@routines.inc.F90"
   11341           0 :     end procedure
   11342             : #endif
   11343             : 
   11344             : #if LK4_ENABLED
   11345           0 :     module procedure setUnifRandRNGXDD_D2_LK4
   11346             :         use pm_kind, only: LKC => LK4
   11347             : #include "pm_distUnif@routines.inc.F90"
   11348           0 :     end procedure
   11349             : #endif
   11350             : 
   11351             : #if LK3_ENABLED
   11352           0 :     module procedure setUnifRandRNGXDD_D2_LK3
   11353             :         use pm_kind, only: LKC => LK3
   11354             : #include "pm_distUnif@routines.inc.F90"
   11355           0 :     end procedure
   11356             : #endif
   11357             : 
   11358             : #if LK2_ENABLED
   11359           0 :     module procedure setUnifRandRNGXDD_D2_LK2
   11360             :         use pm_kind, only: LKC => LK2
   11361             : #include "pm_distUnif@routines.inc.F90"
   11362           0 :     end procedure
   11363             : #endif
   11364             : 
   11365             : #if LK1_ENABLED
   11366           0 :     module procedure setUnifRandRNGXDD_D2_LK1
   11367             :         use pm_kind, only: LKC => LK1
   11368             : #include "pm_distUnif@routines.inc.F90"
   11369           0 :     end procedure
   11370             : #endif
   11371             : 
   11372             : #undef LK_ENABLED
   11373             : 
   11374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11375             : 
   11376             : #define CK_ENABLED 1
   11377             : 
   11378             : #if CK5_ENABLED
   11379             :     module procedure setUnifRandRNGXDD_D2_CK5
   11380             :         use pm_kind, only: CKC => CK5
   11381             : #include "pm_distUnif@routines.inc.F90"
   11382             :     end procedure
   11383             : #endif
   11384             : 
   11385             : #if CK4_ENABLED
   11386           0 :     module procedure setUnifRandRNGXDD_D2_CK4
   11387             :         use pm_kind, only: CKC => CK4
   11388             : #include "pm_distUnif@routines.inc.F90"
   11389           0 :     end procedure
   11390             : #endif
   11391             : 
   11392             : #if CK3_ENABLED
   11393           0 :     module procedure setUnifRandRNGXDD_D2_CK3
   11394             :         use pm_kind, only: CKC => CK3
   11395             : #include "pm_distUnif@routines.inc.F90"
   11396           0 :     end procedure
   11397             : #endif
   11398             : 
   11399             : #if CK2_ENABLED
   11400           0 :     module procedure setUnifRandRNGXDD_D2_CK2
   11401             :         use pm_kind, only: CKC => CK2
   11402             : #include "pm_distUnif@routines.inc.F90"
   11403           0 :     end procedure
   11404             : #endif
   11405             : 
   11406             : #if CK1_ENABLED
   11407           0 :     module procedure setUnifRandRNGXDD_D2_CK1
   11408             :         use pm_kind, only: CKC => CK1
   11409             : #include "pm_distUnif@routines.inc.F90"
   11410           0 :     end procedure
   11411             : #endif
   11412             : 
   11413             : #undef CK_ENABLED
   11414             : 
   11415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11416             : 
   11417             : #define RK_ENABLED 1
   11418             : 
   11419             : #if RK5_ENABLED
   11420             :     module procedure setUnifRandRNGXDD_D2_RK5
   11421             :         use pm_kind, only: RKC => RK5
   11422             : #include "pm_distUnif@routines.inc.F90"
   11423             :     end procedure
   11424             : #endif
   11425             : 
   11426             : #if RK4_ENABLED
   11427           0 :     module procedure setUnifRandRNGXDD_D2_RK4
   11428             :         use pm_kind, only: RKC => RK4
   11429             : #include "pm_distUnif@routines.inc.F90"
   11430           0 :     end procedure
   11431             : #endif
   11432             : 
   11433             : #if RK3_ENABLED
   11434           0 :     module procedure setUnifRandRNGXDD_D2_RK3
   11435             :         use pm_kind, only: RKC => RK3
   11436             : #include "pm_distUnif@routines.inc.F90"
   11437           0 :     end procedure
   11438             : #endif
   11439             : 
   11440             : #if RK2_ENABLED
   11441           0 :     module procedure setUnifRandRNGXDD_D2_RK2
   11442             :         use pm_kind, only: RKC => RK2
   11443             : #include "pm_distUnif@routines.inc.F90"
   11444           0 :     end procedure
   11445             : #endif
   11446             : 
   11447             : #if RK1_ENABLED
   11448           0 :     module procedure setUnifRandRNGXDD_D2_RK1
   11449             :         use pm_kind, only: RKC => RK1
   11450             : #include "pm_distUnif@routines.inc.F90"
   11451           0 :     end procedure
   11452             : #endif
   11453             : 
   11454             : #undef RK_ENABLED
   11455             : 
   11456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11457             : 
   11458             : #undef D2_ENABLED
   11459             : 
   11460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11463             : 
   11464             : #define D3_ENABLED 1
   11465             : 
   11466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11467             : 
   11468             : #define SK_ENABLED 1
   11469             : 
   11470             : #if SK5_ENABLED
   11471             :     module procedure setUnifRandRNGXDD_D3_SK5
   11472             :         use pm_kind, only: SKC => SK5
   11473             : #include "pm_distUnif@routines.inc.F90"
   11474             :     end procedure
   11475             : #endif
   11476             : 
   11477             : #if SK4_ENABLED
   11478             :     module procedure setUnifRandRNGXDD_D3_SK4
   11479             :         use pm_kind, only: SKC => SK4
   11480             : #include "pm_distUnif@routines.inc.F90"
   11481             :     end procedure
   11482             : #endif
   11483             : 
   11484             : #if SK3_ENABLED
   11485             :     module procedure setUnifRandRNGXDD_D3_SK3
   11486             :         use pm_kind, only: SKC => SK3
   11487             : #include "pm_distUnif@routines.inc.F90"
   11488             :     end procedure
   11489             : #endif
   11490             : 
   11491             : #if SK2_ENABLED
   11492             :     module procedure setUnifRandRNGXDD_D3_SK2
   11493             :         use pm_kind, only: SKC => SK2
   11494             : #include "pm_distUnif@routines.inc.F90"
   11495             :     end procedure
   11496             : #endif
   11497             : 
   11498             : #if SK1_ENABLED
   11499           0 :     module procedure setUnifRandRNGXDD_D3_SK1
   11500             :         use pm_kind, only: SKC => SK1
   11501             : #include "pm_distUnif@routines.inc.F90"
   11502           0 :     end procedure
   11503             : #endif
   11504             : 
   11505             : #undef SK_ENABLED
   11506             : 
   11507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11508             : 
   11509             : #define IK_ENABLED 1
   11510             : 
   11511             : #if IK5_ENABLED
   11512           0 :     module procedure setUnifRandRNGXDD_D3_IK5
   11513             :         use pm_kind, only: IKC => IK5
   11514             : #include "pm_distUnif@routines.inc.F90"
   11515           0 :     end procedure
   11516             : #endif
   11517             : 
   11518             : #if IK4_ENABLED
   11519           0 :     module procedure setUnifRandRNGXDD_D3_IK4
   11520             :         use pm_kind, only: IKC => IK4
   11521             : #include "pm_distUnif@routines.inc.F90"
   11522           0 :     end procedure
   11523             : #endif
   11524             : 
   11525             : #if IK3_ENABLED
   11526           0 :     module procedure setUnifRandRNGXDD_D3_IK3
   11527             :         use pm_kind, only: IKC => IK3
   11528             : #include "pm_distUnif@routines.inc.F90"
   11529           0 :     end procedure
   11530             : #endif
   11531             : 
   11532             : #if IK2_ENABLED
   11533           0 :     module procedure setUnifRandRNGXDD_D3_IK2
   11534             :         use pm_kind, only: IKC => IK2
   11535             : #include "pm_distUnif@routines.inc.F90"
   11536           0 :     end procedure
   11537             : #endif
   11538             : 
   11539             : #if IK1_ENABLED
   11540           0 :     module procedure setUnifRandRNGXDD_D3_IK1
   11541             :         use pm_kind, only: IKC => IK1
   11542             : #include "pm_distUnif@routines.inc.F90"
   11543           0 :     end procedure
   11544             : #endif
   11545             : 
   11546             : #undef IK_ENABLED
   11547             : 
   11548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11549             : 
   11550             : #define LK_ENABLED 1
   11551             : 
   11552             : #if LK5_ENABLED
   11553           0 :     module procedure setUnifRandRNGXDD_D3_LK5
   11554             :         use pm_kind, only: LKC => LK5
   11555             : #include "pm_distUnif@routines.inc.F90"
   11556           0 :     end procedure
   11557             : #endif
   11558             : 
   11559             : #if LK4_ENABLED
   11560           0 :     module procedure setUnifRandRNGXDD_D3_LK4
   11561             :         use pm_kind, only: LKC => LK4
   11562             : #include "pm_distUnif@routines.inc.F90"
   11563           0 :     end procedure
   11564             : #endif
   11565             : 
   11566             : #if LK3_ENABLED
   11567           0 :     module procedure setUnifRandRNGXDD_D3_LK3
   11568             :         use pm_kind, only: LKC => LK3
   11569             : #include "pm_distUnif@routines.inc.F90"
   11570           0 :     end procedure
   11571             : #endif
   11572             : 
   11573             : #if LK2_ENABLED
   11574           0 :     module procedure setUnifRandRNGXDD_D3_LK2
   11575             :         use pm_kind, only: LKC => LK2
   11576             : #include "pm_distUnif@routines.inc.F90"
   11577           0 :     end procedure
   11578             : #endif
   11579             : 
   11580             : #if LK1_ENABLED
   11581           0 :     module procedure setUnifRandRNGXDD_D3_LK1
   11582             :         use pm_kind, only: LKC => LK1
   11583             : #include "pm_distUnif@routines.inc.F90"
   11584           0 :     end procedure
   11585             : #endif
   11586             : 
   11587             : #undef LK_ENABLED
   11588             : 
   11589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11590             : 
   11591             : #define CK_ENABLED 1
   11592             : 
   11593             : #if CK5_ENABLED
   11594             :     module procedure setUnifRandRNGXDD_D3_CK5
   11595             :         use pm_kind, only: CKC => CK5
   11596             : #include "pm_distUnif@routines.inc.F90"
   11597             :     end procedure
   11598             : #endif
   11599             : 
   11600             : #if CK4_ENABLED
   11601           0 :     module procedure setUnifRandRNGXDD_D3_CK4
   11602             :         use pm_kind, only: CKC => CK4
   11603             : #include "pm_distUnif@routines.inc.F90"
   11604           0 :     end procedure
   11605             : #endif
   11606             : 
   11607             : #if CK3_ENABLED
   11608           0 :     module procedure setUnifRandRNGXDD_D3_CK3
   11609             :         use pm_kind, only: CKC => CK3
   11610             : #include "pm_distUnif@routines.inc.F90"
   11611           0 :     end procedure
   11612             : #endif
   11613             : 
   11614             : #if CK2_ENABLED
   11615           0 :     module procedure setUnifRandRNGXDD_D3_CK2
   11616             :         use pm_kind, only: CKC => CK2
   11617             : #include "pm_distUnif@routines.inc.F90"
   11618           0 :     end procedure
   11619             : #endif
   11620             : 
   11621             : #if CK1_ENABLED
   11622           0 :     module procedure setUnifRandRNGXDD_D3_CK1
   11623             :         use pm_kind, only: CKC => CK1
   11624             : #include "pm_distUnif@routines.inc.F90"
   11625           0 :     end procedure
   11626             : #endif
   11627             : 
   11628             : #undef CK_ENABLED
   11629             : 
   11630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11631             : 
   11632             : #define RK_ENABLED 1
   11633             : 
   11634             : #if RK5_ENABLED
   11635             :     module procedure setUnifRandRNGXDD_D3_RK5
   11636             :         use pm_kind, only: RKC => RK5
   11637             : #include "pm_distUnif@routines.inc.F90"
   11638             :     end procedure
   11639             : #endif
   11640             : 
   11641             : #if RK4_ENABLED
   11642           0 :     module procedure setUnifRandRNGXDD_D3_RK4
   11643             :         use pm_kind, only: RKC => RK4
   11644             : #include "pm_distUnif@routines.inc.F90"
   11645           0 :     end procedure
   11646             : #endif
   11647             : 
   11648             : #if RK3_ENABLED
   11649           0 :     module procedure setUnifRandRNGXDD_D3_RK3
   11650             :         use pm_kind, only: RKC => RK3
   11651             : #include "pm_distUnif@routines.inc.F90"
   11652           0 :     end procedure
   11653             : #endif
   11654             : 
   11655             : #if RK2_ENABLED
   11656           0 :     module procedure setUnifRandRNGXDD_D3_RK2
   11657             :         use pm_kind, only: RKC => RK2
   11658             : #include "pm_distUnif@routines.inc.F90"
   11659           0 :     end procedure
   11660             : #endif
   11661             : 
   11662             : #if RK1_ENABLED
   11663           0 :     module procedure setUnifRandRNGXDD_D3_RK1
   11664             :         use pm_kind, only: RKC => RK1
   11665             : #include "pm_distUnif@routines.inc.F90"
   11666           0 :     end procedure
   11667             : #endif
   11668             : 
   11669             : #undef RK_ENABLED
   11670             : 
   11671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11672             : 
   11673             : #undef D3_ENABLED
   11674             : 
   11675             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11678             : 
   11679             : #undef DD_ENABLED
   11680             : 
   11681             : #define LU_ENABLED 1
   11682             : 
   11683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11686             : 
   11687             : #define D0_ENABLED 1
   11688             : 
   11689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11690             : 
   11691             : #define SK_ENABLED 1
   11692             : 
   11693             : #if SK5_ENABLED
   11694             :     module procedure setUnifRandRNGXLU_D0_SK5
   11695             :         use pm_kind, only: SKC => SK5
   11696             : #include "pm_distUnif@routines.inc.F90"
   11697             :     end procedure
   11698             : #endif
   11699             : 
   11700             : #if SK4_ENABLED
   11701             :     module procedure setUnifRandRNGXLU_D0_SK4
   11702             :         use pm_kind, only: SKC => SK4
   11703             : #include "pm_distUnif@routines.inc.F90"
   11704             :     end procedure
   11705             : #endif
   11706             : 
   11707             : #if SK3_ENABLED
   11708             :     module procedure setUnifRandRNGXLU_D0_SK3
   11709             :         use pm_kind, only: SKC => SK3
   11710             : #include "pm_distUnif@routines.inc.F90"
   11711             :     end procedure
   11712             : #endif
   11713             : 
   11714             : #if SK2_ENABLED
   11715             :     module procedure setUnifRandRNGXLU_D0_SK2
   11716             :         use pm_kind, only: SKC => SK2
   11717             : #include "pm_distUnif@routines.inc.F90"
   11718             :     end procedure
   11719             : #endif
   11720             : 
   11721             : #if SK1_ENABLED
   11722      387171 :     module procedure setUnifRandRNGXLU_D0_SK1
   11723             :         use pm_kind, only: SKC => SK1
   11724             : #include "pm_distUnif@routines.inc.F90"
   11725      387171 :     end procedure
   11726             : #endif
   11727             : 
   11728             : #undef SK_ENABLED
   11729             : 
   11730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11731             : 
   11732             : #define IK_ENABLED 1
   11733             : 
   11734             : #if IK5_ENABLED
   11735           0 :     module procedure setUnifRandRNGXLU_D0_IK5
   11736             :         use pm_kind, only: IKC => IK5
   11737             : #include "pm_distUnif@routines.inc.F90"
   11738             :     end procedure
   11739             : #endif
   11740             : 
   11741             : #if IK4_ENABLED
   11742           0 :     module procedure setUnifRandRNGXLU_D0_IK4
   11743             :         use pm_kind, only: IKC => IK4
   11744             : #include "pm_distUnif@routines.inc.F90"
   11745             :     end procedure
   11746             : #endif
   11747             : 
   11748             : #if IK3_ENABLED
   11749    11711752 :     module procedure setUnifRandRNGXLU_D0_IK3
   11750             :         use pm_kind, only: IKC => IK3
   11751             : #include "pm_distUnif@routines.inc.F90"
   11752             :     end procedure
   11753             : #endif
   11754             : 
   11755             : #if IK2_ENABLED
   11756           0 :     module procedure setUnifRandRNGXLU_D0_IK2
   11757             :         use pm_kind, only: IKC => IK2
   11758             : #include "pm_distUnif@routines.inc.F90"
   11759             :     end procedure
   11760             : #endif
   11761             : 
   11762             : #if IK1_ENABLED
   11763           5 :     module procedure setUnifRandRNGXLU_D0_IK1
   11764             :         use pm_kind, only: IKC => IK1
   11765             : #include "pm_distUnif@routines.inc.F90"
   11766             :     end procedure
   11767             : #endif
   11768             : 
   11769             : #undef IK_ENABLED
   11770             : 
   11771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11772             : 
   11773             : #define LK_ENABLED 1
   11774             : 
   11775             : #if LK5_ENABLED
   11776           0 :     module procedure setUnifRandRNGXLU_D0_LK5
   11777             :         use pm_kind, only: LKC => LK5
   11778             : #include "pm_distUnif@routines.inc.F90"
   11779           0 :     end procedure
   11780             : #endif
   11781             : 
   11782             : #if LK4_ENABLED
   11783           0 :     module procedure setUnifRandRNGXLU_D0_LK4
   11784             :         use pm_kind, only: LKC => LK4
   11785             : #include "pm_distUnif@routines.inc.F90"
   11786           0 :     end procedure
   11787             : #endif
   11788             : 
   11789             : #if LK3_ENABLED
   11790          10 :     module procedure setUnifRandRNGXLU_D0_LK3
   11791             :         use pm_kind, only: LKC => LK3
   11792             : #include "pm_distUnif@routines.inc.F90"
   11793          10 :     end procedure
   11794             : #endif
   11795             : 
   11796             : #if LK2_ENABLED
   11797           0 :     module procedure setUnifRandRNGXLU_D0_LK2
   11798             :         use pm_kind, only: LKC => LK2
   11799             : #include "pm_distUnif@routines.inc.F90"
   11800           0 :     end procedure
   11801             : #endif
   11802             : 
   11803             : #if LK1_ENABLED
   11804           0 :     module procedure setUnifRandRNGXLU_D0_LK1
   11805             :         use pm_kind, only: LKC => LK1
   11806             : #include "pm_distUnif@routines.inc.F90"
   11807           0 :     end procedure
   11808             : #endif
   11809             : 
   11810             : #undef LK_ENABLED
   11811             : 
   11812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11813             : 
   11814             : #define CK_ENABLED 1
   11815             : 
   11816             : #if CK5_ENABLED
   11817             :     module procedure setUnifRandRNGXLU_D0_CK5
   11818             :         use pm_kind, only: CKC => CK5
   11819             : #include "pm_distUnif@routines.inc.F90"
   11820             :     end procedure
   11821             : #endif
   11822             : 
   11823             : #if CK4_ENABLED
   11824           0 :     module procedure setUnifRandRNGXLU_D0_CK4
   11825             :         use pm_kind, only: CKC => CK4
   11826             : #include "pm_distUnif@routines.inc.F90"
   11827           0 :     end procedure
   11828             : #endif
   11829             : 
   11830             : #if CK3_ENABLED
   11831           0 :     module procedure setUnifRandRNGXLU_D0_CK3
   11832             :         use pm_kind, only: CKC => CK3
   11833             : #include "pm_distUnif@routines.inc.F90"
   11834           0 :     end procedure
   11835             : #endif
   11836             : 
   11837             : #if CK2_ENABLED
   11838           0 :     module procedure setUnifRandRNGXLU_D0_CK2
   11839             :         use pm_kind, only: CKC => CK2
   11840             : #include "pm_distUnif@routines.inc.F90"
   11841           0 :     end procedure
   11842             : #endif
   11843             : 
   11844             : #if CK1_ENABLED
   11845        5005 :     module procedure setUnifRandRNGXLU_D0_CK1
   11846             :         use pm_kind, only: CKC => CK1
   11847             : #include "pm_distUnif@routines.inc.F90"
   11848        5005 :     end procedure
   11849             : #endif
   11850             : 
   11851             : #undef CK_ENABLED
   11852             : 
   11853             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11854             : 
   11855             : #define RK_ENABLED 1
   11856             : 
   11857             : #if RK5_ENABLED
   11858             :     module procedure setUnifRandRNGXLU_D0_RK5
   11859             :         use pm_kind, only: RKC => RK5
   11860             : #include "pm_distUnif@routines.inc.F90"
   11861             :     end procedure
   11862             : #endif
   11863             : 
   11864             : #if RK4_ENABLED
   11865           5 :     module procedure setUnifRandRNGXLU_D0_RK4
   11866             :         use pm_kind, only: RKC => RK4
   11867             : #include "pm_distUnif@routines.inc.F90"
   11868           5 :     end procedure
   11869             : #endif
   11870             : 
   11871             : #if RK3_ENABLED
   11872           0 :     module procedure setUnifRandRNGXLU_D0_RK3
   11873             :         use pm_kind, only: RKC => RK3
   11874             : #include "pm_distUnif@routines.inc.F90"
   11875           0 :     end procedure
   11876             : #endif
   11877             : 
   11878             : #if RK2_ENABLED
   11879     3338085 :     module procedure setUnifRandRNGXLU_D0_RK2
   11880             :         use pm_kind, only: RKC => RK2
   11881             : #include "pm_distUnif@routines.inc.F90"
   11882     3338085 :     end procedure
   11883             : #endif
   11884             : 
   11885             : #if RK1_ENABLED
   11886      421126 :     module procedure setUnifRandRNGXLU_D0_RK1
   11887             :         use pm_kind, only: RKC => RK1
   11888             : #include "pm_distUnif@routines.inc.F90"
   11889      421126 :     end procedure
   11890             : #endif
   11891             : 
   11892             : #undef RK_ENABLED
   11893             : 
   11894             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11895             : 
   11896             : #undef D0_ENABLED
   11897             : 
   11898             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11900             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11901             : 
   11902             : #define D1_ENABLED 1
   11903             : 
   11904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11905             : 
   11906             : #define SK_ENABLED 1
   11907             : 
   11908             : #if SK5_ENABLED
   11909             :     module procedure setUnifRandRNGXLU_D1_SK5
   11910             :         use pm_kind, only: SKC => SK5
   11911             : #include "pm_distUnif@routines.inc.F90"
   11912             :     end procedure
   11913             : #endif
   11914             : 
   11915             : #if SK4_ENABLED
   11916             :     module procedure setUnifRandRNGXLU_D1_SK4
   11917             :         use pm_kind, only: SKC => SK4
   11918             : #include "pm_distUnif@routines.inc.F90"
   11919             :     end procedure
   11920             : #endif
   11921             : 
   11922             : #if SK3_ENABLED
   11923             :     module procedure setUnifRandRNGXLU_D1_SK3
   11924             :         use pm_kind, only: SKC => SK3
   11925             : #include "pm_distUnif@routines.inc.F90"
   11926             :     end procedure
   11927             : #endif
   11928             : 
   11929             : #if SK2_ENABLED
   11930             :     module procedure setUnifRandRNGXLU_D1_SK2
   11931             :         use pm_kind, only: SKC => SK2
   11932             : #include "pm_distUnif@routines.inc.F90"
   11933             :     end procedure
   11934             : #endif
   11935             : 
   11936             : #if SK1_ENABLED
   11937           0 :     module procedure setUnifRandRNGXLU_D1_SK1
   11938             :         use pm_kind, only: SKC => SK1
   11939             : #include "pm_distUnif@routines.inc.F90"
   11940           0 :     end procedure
   11941             : #endif
   11942             : 
   11943             : #undef SK_ENABLED
   11944             : 
   11945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11946             : 
   11947             : #define IK_ENABLED 1
   11948             : 
   11949             : #if IK5_ENABLED
   11950           0 :     module procedure setUnifRandRNGXLU_D1_IK5
   11951             :         use pm_kind, only: IKC => IK5
   11952             : #include "pm_distUnif@routines.inc.F90"
   11953           0 :     end procedure
   11954             : #endif
   11955             : 
   11956             : #if IK4_ENABLED
   11957           0 :     module procedure setUnifRandRNGXLU_D1_IK4
   11958             :         use pm_kind, only: IKC => IK4
   11959             : #include "pm_distUnif@routines.inc.F90"
   11960           0 :     end procedure
   11961             : #endif
   11962             : 
   11963             : #if IK3_ENABLED
   11964           8 :     module procedure setUnifRandRNGXLU_D1_IK3
   11965             :         use pm_kind, only: IKC => IK3
   11966             : #include "pm_distUnif@routines.inc.F90"
   11967           8 :     end procedure
   11968             : #endif
   11969             : 
   11970             : #if IK2_ENABLED
   11971           0 :     module procedure setUnifRandRNGXLU_D1_IK2
   11972             :         use pm_kind, only: IKC => IK2
   11973             : #include "pm_distUnif@routines.inc.F90"
   11974           0 :     end procedure
   11975             : #endif
   11976             : 
   11977             : #if IK1_ENABLED
   11978           0 :     module procedure setUnifRandRNGXLU_D1_IK1
   11979             :         use pm_kind, only: IKC => IK1
   11980             : #include "pm_distUnif@routines.inc.F90"
   11981           0 :     end procedure
   11982             : #endif
   11983             : 
   11984             : #undef IK_ENABLED
   11985             : 
   11986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11987             : 
   11988             : #define LK_ENABLED 1
   11989             : 
   11990             : #if LK5_ENABLED
   11991           0 :     module procedure setUnifRandRNGXLU_D1_LK5
   11992             :         use pm_kind, only: LKC => LK5
   11993             : #include "pm_distUnif@routines.inc.F90"
   11994           0 :     end procedure
   11995             : #endif
   11996             : 
   11997             : #if LK4_ENABLED
   11998           0 :     module procedure setUnifRandRNGXLU_D1_LK4
   11999             :         use pm_kind, only: LKC => LK4
   12000             : #include "pm_distUnif@routines.inc.F90"
   12001           0 :     end procedure
   12002             : #endif
   12003             : 
   12004             : #if LK3_ENABLED
   12005           0 :     module procedure setUnifRandRNGXLU_D1_LK3
   12006             :         use pm_kind, only: LKC => LK3
   12007             : #include "pm_distUnif@routines.inc.F90"
   12008           0 :     end procedure
   12009             : #endif
   12010             : 
   12011             : #if LK2_ENABLED
   12012           0 :     module procedure setUnifRandRNGXLU_D1_LK2
   12013             :         use pm_kind, only: LKC => LK2
   12014             : #include "pm_distUnif@routines.inc.F90"
   12015           0 :     end procedure
   12016             : #endif
   12017             : 
   12018             : #if LK1_ENABLED
   12019           0 :     module procedure setUnifRandRNGXLU_D1_LK1
   12020             :         use pm_kind, only: LKC => LK1
   12021             : #include "pm_distUnif@routines.inc.F90"
   12022           0 :     end procedure
   12023             : #endif
   12024             : 
   12025             : #undef LK_ENABLED
   12026             : 
   12027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12028             : 
   12029             : #define CK_ENABLED 1
   12030             : 
   12031             : #if CK5_ENABLED
   12032             :     module procedure setUnifRandRNGXLU_D1_CK5
   12033             :         use pm_kind, only: CKC => CK5
   12034             : #include "pm_distUnif@routines.inc.F90"
   12035             :     end procedure
   12036             : #endif
   12037             : 
   12038             : #if CK4_ENABLED
   12039           0 :     module procedure setUnifRandRNGXLU_D1_CK4
   12040             :         use pm_kind, only: CKC => CK4
   12041             : #include "pm_distUnif@routines.inc.F90"
   12042           0 :     end procedure
   12043             : #endif
   12044             : 
   12045             : #if CK3_ENABLED
   12046           0 :     module procedure setUnifRandRNGXLU_D1_CK3
   12047             :         use pm_kind, only: CKC => CK3
   12048             : #include "pm_distUnif@routines.inc.F90"
   12049           0 :     end procedure
   12050             : #endif
   12051             : 
   12052             : #if CK2_ENABLED
   12053           0 :     module procedure setUnifRandRNGXLU_D1_CK2
   12054             :         use pm_kind, only: CKC => CK2
   12055             : #include "pm_distUnif@routines.inc.F90"
   12056           0 :     end procedure
   12057             : #endif
   12058             : 
   12059             : #if CK1_ENABLED
   12060           1 :     module procedure setUnifRandRNGXLU_D1_CK1
   12061             :         use pm_kind, only: CKC => CK1
   12062             : #include "pm_distUnif@routines.inc.F90"
   12063           1 :     end procedure
   12064             : #endif
   12065             : 
   12066             : #undef CK_ENABLED
   12067             : 
   12068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12069             : 
   12070             : #define RK_ENABLED 1
   12071             : 
   12072             : #if RK5_ENABLED
   12073             :     module procedure setUnifRandRNGXLU_D1_RK5
   12074             :         use pm_kind, only: RKC => RK5
   12075             : #include "pm_distUnif@routines.inc.F90"
   12076             :     end procedure
   12077             : #endif
   12078             : 
   12079             : #if RK4_ENABLED
   12080           0 :     module procedure setUnifRandRNGXLU_D1_RK4
   12081             :         use pm_kind, only: RKC => RK4
   12082             : #include "pm_distUnif@routines.inc.F90"
   12083           0 :     end procedure
   12084             : #endif
   12085             : 
   12086             : #if RK3_ENABLED
   12087           0 :     module procedure setUnifRandRNGXLU_D1_RK3
   12088             :         use pm_kind, only: RKC => RK3
   12089             : #include "pm_distUnif@routines.inc.F90"
   12090           0 :     end procedure
   12091             : #endif
   12092             : 
   12093             : #if RK2_ENABLED
   12094           0 :     module procedure setUnifRandRNGXLU_D1_RK2
   12095             :         use pm_kind, only: RKC => RK2
   12096             : #include "pm_distUnif@routines.inc.F90"
   12097           0 :     end procedure
   12098             : #endif
   12099             : 
   12100             : #if RK1_ENABLED
   12101           0 :     module procedure setUnifRandRNGXLU_D1_RK1
   12102             :         use pm_kind, only: RKC => RK1
   12103             : #include "pm_distUnif@routines.inc.F90"
   12104           0 :     end procedure
   12105             : #endif
   12106             : 
   12107             : #undef RK_ENABLED
   12108             : 
   12109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12110             : 
   12111             : #undef D1_ENABLED
   12112             : 
   12113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12116             : 
   12117             : #define D2_ENABLED 1
   12118             : 
   12119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12120             : 
   12121             : #define SK_ENABLED 1
   12122             : 
   12123             : #if SK5_ENABLED
   12124             :     module procedure setUnifRandRNGXLU_D2_SK5
   12125             :         use pm_kind, only: SKC => SK5
   12126             : #include "pm_distUnif@routines.inc.F90"
   12127             :     end procedure
   12128             : #endif
   12129             : 
   12130             : #if SK4_ENABLED
   12131             :     module procedure setUnifRandRNGXLU_D2_SK4
   12132             :         use pm_kind, only: SKC => SK4
   12133             : #include "pm_distUnif@routines.inc.F90"
   12134             :     end procedure
   12135             : #endif
   12136             : 
   12137             : #if SK3_ENABLED
   12138             :     module procedure setUnifRandRNGXLU_D2_SK3
   12139             :         use pm_kind, only: SKC => SK3
   12140             : #include "pm_distUnif@routines.inc.F90"
   12141             :     end procedure
   12142             : #endif
   12143             : 
   12144             : #if SK2_ENABLED
   12145             :     module procedure setUnifRandRNGXLU_D2_SK2
   12146             :         use pm_kind, only: SKC => SK2
   12147             : #include "pm_distUnif@routines.inc.F90"
   12148             :     end procedure
   12149             : #endif
   12150             : 
   12151             : #if SK1_ENABLED
   12152           0 :     module procedure setUnifRandRNGXLU_D2_SK1
   12153             :         use pm_kind, only: SKC => SK1
   12154             : #include "pm_distUnif@routines.inc.F90"
   12155           0 :     end procedure
   12156             : #endif
   12157             : 
   12158             : #undef SK_ENABLED
   12159             : 
   12160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12161             : 
   12162             : #define IK_ENABLED 1
   12163             : 
   12164             : #if IK5_ENABLED
   12165           0 :     module procedure setUnifRandRNGXLU_D2_IK5
   12166             :         use pm_kind, only: IKC => IK5
   12167             : #include "pm_distUnif@routines.inc.F90"
   12168           0 :     end procedure
   12169             : #endif
   12170             : 
   12171             : #if IK4_ENABLED
   12172           0 :     module procedure setUnifRandRNGXLU_D2_IK4
   12173             :         use pm_kind, only: IKC => IK4
   12174             : #include "pm_distUnif@routines.inc.F90"
   12175           0 :     end procedure
   12176             : #endif
   12177             : 
   12178             : #if IK3_ENABLED
   12179           0 :     module procedure setUnifRandRNGXLU_D2_IK3
   12180             :         use pm_kind, only: IKC => IK3
   12181             : #include "pm_distUnif@routines.inc.F90"
   12182           0 :     end procedure
   12183             : #endif
   12184             : 
   12185             : #if IK2_ENABLED
   12186           0 :     module procedure setUnifRandRNGXLU_D2_IK2
   12187             :         use pm_kind, only: IKC => IK2
   12188             : #include "pm_distUnif@routines.inc.F90"
   12189           0 :     end procedure
   12190             : #endif
   12191             : 
   12192             : #if IK1_ENABLED
   12193           0 :     module procedure setUnifRandRNGXLU_D2_IK1
   12194             :         use pm_kind, only: IKC => IK1
   12195             : #include "pm_distUnif@routines.inc.F90"
   12196           0 :     end procedure
   12197             : #endif
   12198             : 
   12199             : #undef IK_ENABLED
   12200             : 
   12201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12202             : 
   12203             : #define LK_ENABLED 1
   12204             : 
   12205             : #if LK5_ENABLED
   12206           0 :     module procedure setUnifRandRNGXLU_D2_LK5
   12207             :         use pm_kind, only: LKC => LK5
   12208             : #include "pm_distUnif@routines.inc.F90"
   12209           0 :     end procedure
   12210             : #endif
   12211             : 
   12212             : #if LK4_ENABLED
   12213           0 :     module procedure setUnifRandRNGXLU_D2_LK4
   12214             :         use pm_kind, only: LKC => LK4
   12215             : #include "pm_distUnif@routines.inc.F90"
   12216           0 :     end procedure
   12217             : #endif
   12218             : 
   12219             : #if LK3_ENABLED
   12220           0 :     module procedure setUnifRandRNGXLU_D2_LK3
   12221             :         use pm_kind, only: LKC => LK3
   12222             : #include "pm_distUnif@routines.inc.F90"
   12223           0 :     end procedure
   12224             : #endif
   12225             : 
   12226             : #if LK2_ENABLED
   12227           0 :     module procedure setUnifRandRNGXLU_D2_LK2
   12228             :         use pm_kind, only: LKC => LK2
   12229             : #include "pm_distUnif@routines.inc.F90"
   12230           0 :     end procedure
   12231             : #endif
   12232             : 
   12233             : #if LK1_ENABLED
   12234           0 :     module procedure setUnifRandRNGXLU_D2_LK1
   12235             :         use pm_kind, only: LKC => LK1
   12236             : #include "pm_distUnif@routines.inc.F90"
   12237           0 :     end procedure
   12238             : #endif
   12239             : 
   12240             : #undef LK_ENABLED
   12241             : 
   12242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12243             : 
   12244             : #define CK_ENABLED 1
   12245             : 
   12246             : #if CK5_ENABLED
   12247             :     module procedure setUnifRandRNGXLU_D2_CK5
   12248             :         use pm_kind, only: CKC => CK5
   12249             : #include "pm_distUnif@routines.inc.F90"
   12250             :     end procedure
   12251             : #endif
   12252             : 
   12253             : #if CK4_ENABLED
   12254           0 :     module procedure setUnifRandRNGXLU_D2_CK4
   12255             :         use pm_kind, only: CKC => CK4
   12256             : #include "pm_distUnif@routines.inc.F90"
   12257           0 :     end procedure
   12258             : #endif
   12259             : 
   12260             : #if CK3_ENABLED
   12261           0 :     module procedure setUnifRandRNGXLU_D2_CK3
   12262             :         use pm_kind, only: CKC => CK3
   12263             : #include "pm_distUnif@routines.inc.F90"
   12264           0 :     end procedure
   12265             : #endif
   12266             : 
   12267             : #if CK2_ENABLED
   12268           0 :     module procedure setUnifRandRNGXLU_D2_CK2
   12269             :         use pm_kind, only: CKC => CK2
   12270             : #include "pm_distUnif@routines.inc.F90"
   12271           0 :     end procedure
   12272             : #endif
   12273             : 
   12274             : #if CK1_ENABLED
   12275           0 :     module procedure setUnifRandRNGXLU_D2_CK1
   12276             :         use pm_kind, only: CKC => CK1
   12277             : #include "pm_distUnif@routines.inc.F90"
   12278           0 :     end procedure
   12279             : #endif
   12280             : 
   12281             : #undef CK_ENABLED
   12282             : 
   12283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12284             : 
   12285             : #define RK_ENABLED 1
   12286             : 
   12287             : #if RK5_ENABLED
   12288             :     module procedure setUnifRandRNGXLU_D2_RK5
   12289             :         use pm_kind, only: RKC => RK5
   12290             : #include "pm_distUnif@routines.inc.F90"
   12291             :     end procedure
   12292             : #endif
   12293             : 
   12294             : #if RK4_ENABLED
   12295           0 :     module procedure setUnifRandRNGXLU_D2_RK4
   12296             :         use pm_kind, only: RKC => RK4
   12297             : #include "pm_distUnif@routines.inc.F90"
   12298           0 :     end procedure
   12299             : #endif
   12300             : 
   12301             : #if RK3_ENABLED
   12302           0 :     module procedure setUnifRandRNGXLU_D2_RK3
   12303             :         use pm_kind, only: RKC => RK3
   12304             : #include "pm_distUnif@routines.inc.F90"
   12305           0 :     end procedure
   12306             : #endif
   12307             : 
   12308             : #if RK2_ENABLED
   12309           0 :     module procedure setUnifRandRNGXLU_D2_RK2
   12310             :         use pm_kind, only: RKC => RK2
   12311             : #include "pm_distUnif@routines.inc.F90"
   12312           0 :     end procedure
   12313             : #endif
   12314             : 
   12315             : #if RK1_ENABLED
   12316           0 :     module procedure setUnifRandRNGXLU_D2_RK1
   12317             :         use pm_kind, only: RKC => RK1
   12318             : #include "pm_distUnif@routines.inc.F90"
   12319           0 :     end procedure
   12320             : #endif
   12321             : 
   12322             : #undef RK_ENABLED
   12323             : 
   12324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12325             : 
   12326             : #undef D2_ENABLED
   12327             : 
   12328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12331             : 
   12332             : #define D3_ENABLED 1
   12333             : 
   12334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12335             : 
   12336             : #define SK_ENABLED 1
   12337             : 
   12338             : #if SK5_ENABLED
   12339             :     module procedure setUnifRandRNGXLU_D3_SK5
   12340             :         use pm_kind, only: SKC => SK5
   12341             : #include "pm_distUnif@routines.inc.F90"
   12342             :     end procedure
   12343             : #endif
   12344             : 
   12345             : #if SK4_ENABLED
   12346             :     module procedure setUnifRandRNGXLU_D3_SK4
   12347             :         use pm_kind, only: SKC => SK4
   12348             : #include "pm_distUnif@routines.inc.F90"
   12349             :     end procedure
   12350             : #endif
   12351             : 
   12352             : #if SK3_ENABLED
   12353             :     module procedure setUnifRandRNGXLU_D3_SK3
   12354             :         use pm_kind, only: SKC => SK3
   12355             : #include "pm_distUnif@routines.inc.F90"
   12356             :     end procedure
   12357             : #endif
   12358             : 
   12359             : #if SK2_ENABLED
   12360             :     module procedure setUnifRandRNGXLU_D3_SK2
   12361             :         use pm_kind, only: SKC => SK2
   12362             : #include "pm_distUnif@routines.inc.F90"
   12363             :     end procedure
   12364             : #endif
   12365             : 
   12366             : #if SK1_ENABLED
   12367           0 :     module procedure setUnifRandRNGXLU_D3_SK1
   12368             :         use pm_kind, only: SKC => SK1
   12369             : #include "pm_distUnif@routines.inc.F90"
   12370           0 :     end procedure
   12371             : #endif
   12372             : 
   12373             : #undef SK_ENABLED
   12374             : 
   12375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12376             : 
   12377             : #define IK_ENABLED 1
   12378             : 
   12379             : #if IK5_ENABLED
   12380           0 :     module procedure setUnifRandRNGXLU_D3_IK5
   12381             :         use pm_kind, only: IKC => IK5
   12382             : #include "pm_distUnif@routines.inc.F90"
   12383           0 :     end procedure
   12384             : #endif
   12385             : 
   12386             : #if IK4_ENABLED
   12387           0 :     module procedure setUnifRandRNGXLU_D3_IK4
   12388             :         use pm_kind, only: IKC => IK4
   12389             : #include "pm_distUnif@routines.inc.F90"
   12390           0 :     end procedure
   12391             : #endif
   12392             : 
   12393             : #if IK3_ENABLED
   12394           0 :     module procedure setUnifRandRNGXLU_D3_IK3
   12395             :         use pm_kind, only: IKC => IK3
   12396             : #include "pm_distUnif@routines.inc.F90"
   12397           0 :     end procedure
   12398             : #endif
   12399             : 
   12400             : #if IK2_ENABLED
   12401           0 :     module procedure setUnifRandRNGXLU_D3_IK2
   12402             :         use pm_kind, only: IKC => IK2
   12403             : #include "pm_distUnif@routines.inc.F90"
   12404           0 :     end procedure
   12405             : #endif
   12406             : 
   12407             : #if IK1_ENABLED
   12408           0 :     module procedure setUnifRandRNGXLU_D3_IK1
   12409             :         use pm_kind, only: IKC => IK1
   12410             : #include "pm_distUnif@routines.inc.F90"
   12411           0 :     end procedure
   12412             : #endif
   12413             : 
   12414             : #undef IK_ENABLED
   12415             : 
   12416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12417             : 
   12418             : #define LK_ENABLED 1
   12419             : 
   12420             : #if LK5_ENABLED
   12421           0 :     module procedure setUnifRandRNGXLU_D3_LK5
   12422             :         use pm_kind, only: LKC => LK5
   12423             : #include "pm_distUnif@routines.inc.F90"
   12424           0 :     end procedure
   12425             : #endif
   12426             : 
   12427             : #if LK4_ENABLED
   12428           0 :     module procedure setUnifRandRNGXLU_D3_LK4
   12429             :         use pm_kind, only: LKC => LK4
   12430             : #include "pm_distUnif@routines.inc.F90"
   12431           0 :     end procedure
   12432             : #endif
   12433             : 
   12434             : #if LK3_ENABLED
   12435           0 :     module procedure setUnifRandRNGXLU_D3_LK3
   12436             :         use pm_kind, only: LKC => LK3
   12437             : #include "pm_distUnif@routines.inc.F90"
   12438           0 :     end procedure
   12439             : #endif
   12440             : 
   12441             : #if LK2_ENABLED
   12442           0 :     module procedure setUnifRandRNGXLU_D3_LK2
   12443             :         use pm_kind, only: LKC => LK2
   12444             : #include "pm_distUnif@routines.inc.F90"
   12445           0 :     end procedure
   12446             : #endif
   12447             : 
   12448             : #if LK1_ENABLED
   12449           0 :     module procedure setUnifRandRNGXLU_D3_LK1
   12450             :         use pm_kind, only: LKC => LK1
   12451             : #include "pm_distUnif@routines.inc.F90"
   12452           0 :     end procedure
   12453             : #endif
   12454             : 
   12455             : #undef LK_ENABLED
   12456             : 
   12457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12458             : 
   12459             : #define CK_ENABLED 1
   12460             : 
   12461             : #if CK5_ENABLED
   12462             :     module procedure setUnifRandRNGXLU_D3_CK5
   12463             :         use pm_kind, only: CKC => CK5
   12464             : #include "pm_distUnif@routines.inc.F90"
   12465             :     end procedure
   12466             : #endif
   12467             : 
   12468             : #if CK4_ENABLED
   12469           0 :     module procedure setUnifRandRNGXLU_D3_CK4
   12470             :         use pm_kind, only: CKC => CK4
   12471             : #include "pm_distUnif@routines.inc.F90"
   12472           0 :     end procedure
   12473             : #endif
   12474             : 
   12475             : #if CK3_ENABLED
   12476           0 :     module procedure setUnifRandRNGXLU_D3_CK3
   12477             :         use pm_kind, only: CKC => CK3
   12478             : #include "pm_distUnif@routines.inc.F90"
   12479           0 :     end procedure
   12480             : #endif
   12481             : 
   12482             : #if CK2_ENABLED
   12483           0 :     module procedure setUnifRandRNGXLU_D3_CK2
   12484             :         use pm_kind, only: CKC => CK2
   12485             : #include "pm_distUnif@routines.inc.F90"
   12486           0 :     end procedure
   12487             : #endif
   12488             : 
   12489             : #if CK1_ENABLED
   12490           0 :     module procedure setUnifRandRNGXLU_D3_CK1
   12491             :         use pm_kind, only: CKC => CK1
   12492             : #include "pm_distUnif@routines.inc.F90"
   12493           0 :     end procedure
   12494             : #endif
   12495             : 
   12496             : #undef CK_ENABLED
   12497             : 
   12498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12499             : 
   12500             : #define RK_ENABLED 1
   12501             : 
   12502             : #if RK5_ENABLED
   12503             :     module procedure setUnifRandRNGXLU_D3_RK5
   12504             :         use pm_kind, only: RKC => RK5
   12505             : #include "pm_distUnif@routines.inc.F90"
   12506             :     end procedure
   12507             : #endif
   12508             : 
   12509             : #if RK4_ENABLED
   12510           0 :     module procedure setUnifRandRNGXLU_D3_RK4
   12511             :         use pm_kind, only: RKC => RK4
   12512             : #include "pm_distUnif@routines.inc.F90"
   12513           0 :     end procedure
   12514             : #endif
   12515             : 
   12516             : #if RK3_ENABLED
   12517           0 :     module procedure setUnifRandRNGXLU_D3_RK3
   12518             :         use pm_kind, only: RKC => RK3
   12519             : #include "pm_distUnif@routines.inc.F90"
   12520           0 :     end procedure
   12521             : #endif
   12522             : 
   12523             : #if RK2_ENABLED
   12524           0 :     module procedure setUnifRandRNGXLU_D3_RK2
   12525             :         use pm_kind, only: RKC => RK2
   12526             : #include "pm_distUnif@routines.inc.F90"
   12527           0 :     end procedure
   12528             : #endif
   12529             : 
   12530             : #if RK1_ENABLED
   12531           0 :     module procedure setUnifRandRNGXLU_D3_RK1
   12532             :         use pm_kind, only: RKC => RK1
   12533             : #include "pm_distUnif@routines.inc.F90"
   12534           0 :     end procedure
   12535             : #endif
   12536             : 
   12537             : #undef RK_ENABLED
   12538             : 
   12539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12540             : 
   12541             : #undef D3_ENABLED
   12542             : 
   12543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12546             : 
   12547             : #undef LU_ENABLED
   12548             : 
   12549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12552             : 
   12553             : #undef X256SSW_ENABLED
   12554             : 
   12555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12558             : 
   12559             : #undef setUnifRand_ENABLED
   12560             : 
   12561             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12562             : 
   12563             : #undef CHECK_ASSERTION
   12564             : 
   12565             : end submodule routines

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