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

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_arrayChoice](@ref pm_arrayChoice).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Monday March 6, 2017, 3:22 pm, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin.<br>
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayChoice) 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: RKD
      40             :     use pm_distUnif, only: rngf
      41             :     use pm_arrayRange, only: setRange
      42             :     use pm_arraySearch, only: getBin
      43             :     use pm_arrayShuffle, only: setShuffled
      44             :     use pm_arraySpace, only: setLinSpace
      45             :     use pm_distUnif, only: setUnifRand
      46             :     implicit none
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : contains
      51             : 
      52             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define getChoice_ENABLED 1
      55             : 
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             : 
      60             : #define Def_ENABLED 1
      61             : 
      62             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      63             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      64             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      65             : 
      66             : #define RNGD_ENABLED 1
      67             : 
      68             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      69             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      70             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      71             : 
      72             : #define D0_D0_ENABLED 1
      73             : 
      74             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      75             : 
      76             : #define SK_ENABLED 1
      77             : 
      78             : #if SK5_ENABLED
      79             :     module procedure getChoiceRNGD_D0_D0_SK5
      80             :         use pm_kind, only: SKC => SK5
      81             : #include "pm_arrayChoice@routines.inc.F90"
      82             :     end procedure
      83             : #endif
      84             : 
      85             : #if SK4_ENABLED
      86             :     module procedure getChoiceRNGD_D0_D0_SK4
      87             :         use pm_kind, only: SKC => SK4
      88             : #include "pm_arrayChoice@routines.inc.F90"
      89             :     end procedure
      90             : #endif
      91             : 
      92             : #if SK3_ENABLED
      93             :     module procedure getChoiceRNGD_D0_D0_SK3
      94             :         use pm_kind, only: SKC => SK3
      95             : #include "pm_arrayChoice@routines.inc.F90"
      96             :     end procedure
      97             : #endif
      98             : 
      99             : #if SK2_ENABLED
     100             :     module procedure getChoiceRNGD_D0_D0_SK2
     101             :         use pm_kind, only: SKC => SK2
     102             : #include "pm_arrayChoice@routines.inc.F90"
     103             :     end procedure
     104             : #endif
     105             : 
     106             : #if SK1_ENABLED
     107         110 :     module procedure getChoiceRNGD_D0_D0_SK1
     108             :         use pm_kind, only: SKC => SK1
     109             : #include "pm_arrayChoice@routines.inc.F90"
     110         110 :     end procedure
     111             : #endif
     112             : 
     113             : #undef SK_ENABLED
     114             : 
     115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     116             : 
     117             : #undef D0_D0_ENABLED
     118             : 
     119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     122             : 
     123             : #define D0_S1_ENABLED 1
     124             : 
     125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     126             : 
     127             : #define SK_ENABLED 1
     128             : 
     129             : #if SK5_ENABLED
     130             :     module procedure getChoiceRNGD_D0_S1_SK5
     131             :         use pm_kind, only: SKC => SK5
     132             : #include "pm_arrayChoice@routines.inc.F90"
     133             :     end procedure
     134             : #endif
     135             : 
     136             : #if SK4_ENABLED
     137             :     module procedure getChoiceRNGD_D0_S1_SK4
     138             :         use pm_kind, only: SKC => SK4
     139             : #include "pm_arrayChoice@routines.inc.F90"
     140             :     end procedure
     141             : #endif
     142             : 
     143             : #if SK3_ENABLED
     144             :     module procedure getChoiceRNGD_D0_S1_SK3
     145             :         use pm_kind, only: SKC => SK3
     146             : #include "pm_arrayChoice@routines.inc.F90"
     147             :     end procedure
     148             : #endif
     149             : 
     150             : #if SK2_ENABLED
     151             :     module procedure getChoiceRNGD_D0_S1_SK2
     152             :         use pm_kind, only: SKC => SK2
     153             : #include "pm_arrayChoice@routines.inc.F90"
     154             :     end procedure
     155             : #endif
     156             : 
     157             : #if SK1_ENABLED
     158         320 :     module procedure getChoiceRNGD_D0_S1_SK1
     159             :         use pm_kind, only: SKC => SK1
     160             : #include "pm_arrayChoice@routines.inc.F90"
     161         320 :     end procedure
     162             : #endif
     163             : 
     164             : #undef SK_ENABLED
     165             : 
     166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     167             : 
     168             : #undef D0_S1_ENABLED
     169             : 
     170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     173             : 
     174             : #define D1_D0_ENABLED 1
     175             : 
     176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     177             : 
     178             : #define SK_ENABLED 1
     179             : 
     180             : #if SK5_ENABLED
     181             :     module procedure getChoiceRNGD_D1_D0_SK5
     182             :         use pm_kind, only: SKC => SK5
     183             : #include "pm_arrayChoice@routines.inc.F90"
     184             :     end procedure
     185             : #endif
     186             : 
     187             : #if SK4_ENABLED
     188             :     module procedure getChoiceRNGD_D1_D0_SK4
     189             :         use pm_kind, only: SKC => SK4
     190             : #include "pm_arrayChoice@routines.inc.F90"
     191             :     end procedure
     192             : #endif
     193             : 
     194             : #if SK3_ENABLED
     195             :     module procedure getChoiceRNGD_D1_D0_SK3
     196             :         use pm_kind, only: SKC => SK3
     197             : #include "pm_arrayChoice@routines.inc.F90"
     198             :     end procedure
     199             : #endif
     200             : 
     201             : #if SK2_ENABLED
     202             :     module procedure getChoiceRNGD_D1_D0_SK2
     203             :         use pm_kind, only: SKC => SK2
     204             : #include "pm_arrayChoice@routines.inc.F90"
     205             :     end procedure
     206             : #endif
     207             : 
     208             : #if SK1_ENABLED
     209         160 :     module procedure getChoiceRNGD_D1_D0_SK1
     210             :         use pm_kind, only: SKC => SK1
     211             : #include "pm_arrayChoice@routines.inc.F90"
     212         160 :     end procedure
     213             : #endif
     214             : 
     215             : #undef SK_ENABLED
     216             : 
     217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     218             : 
     219             : #define IK_ENABLED 1
     220             : 
     221             : #if IK5_ENABLED
     222         300 :     module procedure getChoiceRNGD_D1_D0_IK5
     223             :         use pm_kind, only: IKC => IK5
     224             : #include "pm_arrayChoice@routines.inc.F90"
     225         300 :     end procedure
     226             : #endif
     227             : 
     228             : #if IK4_ENABLED
     229         300 :     module procedure getChoiceRNGD_D1_D0_IK4
     230             :         use pm_kind, only: IKC => IK4
     231             : #include "pm_arrayChoice@routines.inc.F90"
     232         300 :     end procedure
     233             : #endif
     234             : 
     235             : #if IK3_ENABLED
     236       22029 :     module procedure getChoiceRNGD_D1_D0_IK3
     237             :         use pm_kind, only: IKC => IK3
     238             : #include "pm_arrayChoice@routines.inc.F90"
     239       22029 :     end procedure
     240             : #endif
     241             : 
     242             : #if IK2_ENABLED
     243         300 :     module procedure getChoiceRNGD_D1_D0_IK2
     244             :         use pm_kind, only: IKC => IK2
     245             : #include "pm_arrayChoice@routines.inc.F90"
     246         300 :     end procedure
     247             : #endif
     248             : 
     249             : #if IK1_ENABLED
     250         300 :     module procedure getChoiceRNGD_D1_D0_IK1
     251             :         use pm_kind, only: IKC => IK1
     252             : #include "pm_arrayChoice@routines.inc.F90"
     253         300 :     end procedure
     254             : #endif
     255             : 
     256             : #undef IK_ENABLED
     257             : 
     258             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     259             : 
     260             : #define LK_ENABLED 1
     261             : 
     262             : #if LK5_ENABLED
     263         100 :     module procedure getChoiceRNGD_D1_D0_LK5
     264             :         use pm_kind, only: LKC => LK5
     265             : #include "pm_arrayChoice@routines.inc.F90"
     266         100 :     end procedure
     267             : #endif
     268             : 
     269             : #if LK4_ENABLED
     270         100 :     module procedure getChoiceRNGD_D1_D0_LK4
     271             :         use pm_kind, only: LKC => LK4
     272             : #include "pm_arrayChoice@routines.inc.F90"
     273         100 :     end procedure
     274             : #endif
     275             : 
     276             : #if LK3_ENABLED
     277         140 :     module procedure getChoiceRNGD_D1_D0_LK3
     278             :         use pm_kind, only: LKC => LK3
     279             : #include "pm_arrayChoice@routines.inc.F90"
     280         140 :     end procedure
     281             : #endif
     282             : 
     283             : #if LK2_ENABLED
     284         100 :     module procedure getChoiceRNGD_D1_D0_LK2
     285             :         use pm_kind, only: LKC => LK2
     286             : #include "pm_arrayChoice@routines.inc.F90"
     287         100 :     end procedure
     288             : #endif
     289             : 
     290             : #if LK1_ENABLED
     291         100 :     module procedure getChoiceRNGD_D1_D0_LK1
     292             :         use pm_kind, only: LKC => LK1
     293             : #include "pm_arrayChoice@routines.inc.F90"
     294         100 :     end procedure
     295             : #endif
     296             : 
     297             : #undef LK_ENABLED
     298             : 
     299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     300             : 
     301             : #define CK_ENABLED 1
     302             : 
     303             : #if CK5_ENABLED
     304             :     module procedure getChoiceRNGD_D1_D0_CK5
     305             :         use pm_kind, only: CKC => CK5
     306             : #include "pm_arrayChoice@routines.inc.F90"
     307             :     end procedure
     308             : #endif
     309             : 
     310             : #if CK4_ENABLED
     311         400 :     module procedure getChoiceRNGD_D1_D0_CK4
     312             :         use pm_kind, only: CKC => CK4
     313             : #include "pm_arrayChoice@routines.inc.F90"
     314         400 :     end procedure
     315             : #endif
     316             : 
     317             : #if CK3_ENABLED
     318         400 :     module procedure getChoiceRNGD_D1_D0_CK3
     319             :         use pm_kind, only: CKC => CK3
     320             : #include "pm_arrayChoice@routines.inc.F90"
     321         400 :     end procedure
     322             : #endif
     323             : 
     324             : #if CK2_ENABLED
     325         400 :     module procedure getChoiceRNGD_D1_D0_CK2
     326             :         use pm_kind, only: CKC => CK2
     327             : #include "pm_arrayChoice@routines.inc.F90"
     328         400 :     end procedure
     329             : #endif
     330             : 
     331             : #if CK1_ENABLED
     332         480 :     module procedure getChoiceRNGD_D1_D0_CK1
     333             :         use pm_kind, only: CKC => CK1
     334             : #include "pm_arrayChoice@routines.inc.F90"
     335         480 :     end procedure
     336             : #endif
     337             : 
     338             : #undef CK_ENABLED
     339             : 
     340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     341             : 
     342             : #define RK_ENABLED 1
     343             : 
     344             : #if RK5_ENABLED
     345             :     module procedure getChoiceRNGD_D1_D0_RK5
     346             :         use pm_kind, only: RKC => RK5
     347             : #include "pm_arrayChoice@routines.inc.F90"
     348             :     end procedure
     349             : #endif
     350             : 
     351             : #if RK4_ENABLED
     352        5000 :     module procedure getChoiceRNGD_D1_D0_RK4
     353             :         use pm_kind, only: RKC => RK4
     354             : #include "pm_arrayChoice@routines.inc.F90"
     355        5000 :     end procedure
     356             : #endif
     357             : 
     358             : #if RK3_ENABLED
     359        5000 :     module procedure getChoiceRNGD_D1_D0_RK3
     360             :         use pm_kind, only: RKC => RK3
     361             : #include "pm_arrayChoice@routines.inc.F90"
     362        5000 :     end procedure
     363             : #endif
     364             : 
     365             : #if RK2_ENABLED
     366        5000 :     module procedure getChoiceRNGD_D1_D0_RK2
     367             :         use pm_kind, only: RKC => RK2
     368             : #include "pm_arrayChoice@routines.inc.F90"
     369        5000 :     end procedure
     370             : #endif
     371             : 
     372             : #if RK1_ENABLED
     373        5030 :     module procedure getChoiceRNGD_D1_D0_RK1
     374             :         use pm_kind, only: RKC => RK1
     375             : #include "pm_arrayChoice@routines.inc.F90"
     376        5030 :     end procedure
     377             : #endif
     378             : 
     379             : #undef RK_ENABLED
     380             : 
     381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     382             : 
     383             : #undef D1_D0_ENABLED
     384             : 
     385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     388             : 
     389             : #define D1_D1_ENABLED 1
     390             : 
     391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     392             : 
     393             : #define SK_ENABLED 1
     394             : 
     395             : #if SK5_ENABLED
     396             :     module procedure getChoiceRNGD_D1_D1_SK5
     397             :         use pm_kind, only: SKC => SK5
     398             : #include "pm_arrayChoice@routines.inc.F90"
     399             :     end procedure
     400             : #endif
     401             : 
     402             : #if SK4_ENABLED
     403             :     module procedure getChoiceRNGD_D1_D1_SK4
     404             :         use pm_kind, only: SKC => SK4
     405             : #include "pm_arrayChoice@routines.inc.F90"
     406             :     end procedure
     407             : #endif
     408             : 
     409             : #if SK3_ENABLED
     410             :     module procedure getChoiceRNGD_D1_D1_SK3
     411             :         use pm_kind, only: SKC => SK3
     412             : #include "pm_arrayChoice@routines.inc.F90"
     413             :     end procedure
     414             : #endif
     415             : 
     416             : #if SK2_ENABLED
     417             :     module procedure getChoiceRNGD_D1_D1_SK2
     418             :         use pm_kind, only: SKC => SK2
     419             : #include "pm_arrayChoice@routines.inc.F90"
     420             :     end procedure
     421             : #endif
     422             : 
     423             : #if SK1_ENABLED
     424         320 :     module procedure getChoiceRNGD_D1_D1_SK1
     425             :         use pm_kind, only: SKC => SK1
     426             : #include "pm_arrayChoice@routines.inc.F90"
     427         320 :     end procedure
     428             : #endif
     429             : 
     430             : #undef SK_ENABLED
     431             : 
     432             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     433             : 
     434             : #define IK_ENABLED 1
     435             : 
     436             : #if IK5_ENABLED
     437         300 :     module procedure getChoiceRNGD_D1_D1_IK5
     438             :         use pm_kind, only: IKC => IK5
     439             : #include "pm_arrayChoice@routines.inc.F90"
     440         300 :     end procedure
     441             : #endif
     442             : 
     443             : #if IK4_ENABLED
     444         300 :     module procedure getChoiceRNGD_D1_D1_IK4
     445             :         use pm_kind, only: IKC => IK4
     446             : #include "pm_arrayChoice@routines.inc.F90"
     447         300 :     end procedure
     448             : #endif
     449             : 
     450             : #if IK3_ENABLED
     451        7920 :     module procedure getChoiceRNGD_D1_D1_IK3
     452             :         use pm_kind, only: IKC => IK3
     453             : #include "pm_arrayChoice@routines.inc.F90"
     454        7920 :     end procedure
     455             : #endif
     456             : 
     457             : #if IK2_ENABLED
     458         300 :     module procedure getChoiceRNGD_D1_D1_IK2
     459             :         use pm_kind, only: IKC => IK2
     460             : #include "pm_arrayChoice@routines.inc.F90"
     461         300 :     end procedure
     462             : #endif
     463             : 
     464             : #if IK1_ENABLED
     465         300 :     module procedure getChoiceRNGD_D1_D1_IK1
     466             :         use pm_kind, only: IKC => IK1
     467             : #include "pm_arrayChoice@routines.inc.F90"
     468         300 :     end procedure
     469             : #endif
     470             : 
     471             : #undef IK_ENABLED
     472             : 
     473             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     474             : 
     475             : #define LK_ENABLED 1
     476             : 
     477             : #if LK5_ENABLED
     478         300 :     module procedure getChoiceRNGD_D1_D1_LK5
     479             :         use pm_kind, only: LKC => LK5
     480             : #include "pm_arrayChoice@routines.inc.F90"
     481         300 :     end procedure
     482             : #endif
     483             : 
     484             : #if LK4_ENABLED
     485         300 :     module procedure getChoiceRNGD_D1_D1_LK4
     486             :         use pm_kind, only: LKC => LK4
     487             : #include "pm_arrayChoice@routines.inc.F90"
     488         300 :     end procedure
     489             : #endif
     490             : 
     491             : #if LK3_ENABLED
     492         320 :     module procedure getChoiceRNGD_D1_D1_LK3
     493             :         use pm_kind, only: LKC => LK3
     494             : #include "pm_arrayChoice@routines.inc.F90"
     495         320 :     end procedure
     496             : #endif
     497             : 
     498             : #if LK2_ENABLED
     499         300 :     module procedure getChoiceRNGD_D1_D1_LK2
     500             :         use pm_kind, only: LKC => LK2
     501             : #include "pm_arrayChoice@routines.inc.F90"
     502         300 :     end procedure
     503             : #endif
     504             : 
     505             : #if LK1_ENABLED
     506         300 :     module procedure getChoiceRNGD_D1_D1_LK1
     507             :         use pm_kind, only: LKC => LK1
     508             : #include "pm_arrayChoice@routines.inc.F90"
     509         300 :     end procedure
     510             : #endif
     511             : 
     512             : #undef LK_ENABLED
     513             : 
     514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     515             : 
     516             : #define CK_ENABLED 1
     517             : 
     518             : #if CK5_ENABLED
     519             :     module procedure getChoiceRNGD_D1_D1_CK5
     520             :         use pm_kind, only: CKC => CK5
     521             : #include "pm_arrayChoice@routines.inc.F90"
     522             :     end procedure
     523             : #endif
     524             : 
     525             : #if CK4_ENABLED
     526         300 :     module procedure getChoiceRNGD_D1_D1_CK4
     527             :         use pm_kind, only: CKC => CK4
     528             : #include "pm_arrayChoice@routines.inc.F90"
     529         300 :     end procedure
     530             : #endif
     531             : 
     532             : #if CK3_ENABLED
     533         300 :     module procedure getChoiceRNGD_D1_D1_CK3
     534             :         use pm_kind, only: CKC => CK3
     535             : #include "pm_arrayChoice@routines.inc.F90"
     536         300 :     end procedure
     537             : #endif
     538             : 
     539             : #if CK2_ENABLED
     540         300 :     module procedure getChoiceRNGD_D1_D1_CK2
     541             :         use pm_kind, only: CKC => CK2
     542             : #include "pm_arrayChoice@routines.inc.F90"
     543         300 :     end procedure
     544             : #endif
     545             : 
     546             : #if CK1_ENABLED
     547         320 :     module procedure getChoiceRNGD_D1_D1_CK1
     548             :         use pm_kind, only: CKC => CK1
     549             : #include "pm_arrayChoice@routines.inc.F90"
     550         320 :     end procedure
     551             : #endif
     552             : 
     553             : #undef CK_ENABLED
     554             : 
     555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     556             : 
     557             : #define RK_ENABLED 1
     558             : 
     559             : #if RK5_ENABLED
     560             :     module procedure getChoiceRNGD_D1_D1_RK5
     561             :         use pm_kind, only: RKC => RK5
     562             : #include "pm_arrayChoice@routines.inc.F90"
     563             :     end procedure
     564             : #endif
     565             : 
     566             : #if RK4_ENABLED
     567         300 :     module procedure getChoiceRNGD_D1_D1_RK4
     568             :         use pm_kind, only: RKC => RK4
     569             : #include "pm_arrayChoice@routines.inc.F90"
     570         300 :     end procedure
     571             : #endif
     572             : 
     573             : #if RK3_ENABLED
     574         300 :     module procedure getChoiceRNGD_D1_D1_RK3
     575             :         use pm_kind, only: RKC => RK3
     576             : #include "pm_arrayChoice@routines.inc.F90"
     577         300 :     end procedure
     578             : #endif
     579             : 
     580             : #if RK2_ENABLED
     581         300 :     module procedure getChoiceRNGD_D1_D1_RK2
     582             :         use pm_kind, only: RKC => RK2
     583             : #include "pm_arrayChoice@routines.inc.F90"
     584         300 :     end procedure
     585             : #endif
     586             : 
     587             : #if RK1_ENABLED
     588         320 :     module procedure getChoiceRNGD_D1_D1_RK1
     589             :         use pm_kind, only: RKC => RK1
     590             : #include "pm_arrayChoice@routines.inc.F90"
     591         320 :     end procedure
     592             : #endif
     593             : 
     594             : #undef RK_ENABLED
     595             : 
     596             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     597             : 
     598             : #undef D1_D1_ENABLED
     599             : 
     600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     603             : 
     604             : #undef RNGD_ENABLED
     605             : 
     606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     609             : 
     610             : #undef Def_ENABLED
     611             : 
     612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     615             : 
     616             : #undef getChoice_ENABLED
     617             : 
     618             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             : 
     620             : #define setChoice_ENABLED 1
     621             : 
     622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     625             : 
     626             : #define Def_ENABLED 1
     627             : 
     628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     631             : 
     632             : #define RNGF_ENABLED 1
     633             : 
     634             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     637             : 
     638             : #define D0_D0_ENABLED 1
     639             : 
     640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     641             : 
     642             : #define SK_ENABLED 1
     643             : 
     644             : #if SK5_ENABLED
     645             :     module procedure setChoiceRNGF_D0_D0_SK5
     646             :         use pm_kind, only: SKC => SK5
     647             : #include "pm_arrayChoice@routines.inc.F90"
     648             :     end procedure
     649             : #endif
     650             : 
     651             : #if SK4_ENABLED
     652             :     module procedure setChoiceRNGF_D0_D0_SK4
     653             :         use pm_kind, only: SKC => SK4
     654             : #include "pm_arrayChoice@routines.inc.F90"
     655             :     end procedure
     656             : #endif
     657             : 
     658             : #if SK3_ENABLED
     659             :     module procedure setChoiceRNGF_D0_D0_SK3
     660             :         use pm_kind, only: SKC => SK3
     661             : #include "pm_arrayChoice@routines.inc.F90"
     662             :     end procedure
     663             : #endif
     664             : 
     665             : #if SK2_ENABLED
     666             :     module procedure setChoiceRNGF_D0_D0_SK2
     667             :         use pm_kind, only: SKC => SK2
     668             : #include "pm_arrayChoice@routines.inc.F90"
     669             :     end procedure
     670             : #endif
     671             : 
     672             : #if SK1_ENABLED
     673        1073 :     module procedure setChoiceRNGF_D0_D0_SK1
     674             :         use pm_kind, only: SKC => SK1
     675             : #include "pm_arrayChoice@routines.inc.F90"
     676             :     end procedure
     677             : #endif
     678             : 
     679             : #undef SK_ENABLED
     680             : 
     681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     682             : 
     683             : #undef D0_D0_ENABLED
     684             : 
     685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     688             : 
     689             : #define D1_D0_ENABLED 1
     690             : 
     691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     692             : 
     693             : #define SK_ENABLED 1
     694             : 
     695             : #if SK5_ENABLED
     696             :     module procedure setChoiceRNGF_D1_D0_SK5
     697             :         use pm_kind, only: SKC => SK5
     698             : #include "pm_arrayChoice@routines.inc.F90"
     699             :     end procedure
     700             : #endif
     701             : 
     702             : #if SK4_ENABLED
     703             :     module procedure setChoiceRNGF_D1_D0_SK4
     704             :         use pm_kind, only: SKC => SK4
     705             : #include "pm_arrayChoice@routines.inc.F90"
     706             :     end procedure
     707             : #endif
     708             : 
     709             : #if SK3_ENABLED
     710             :     module procedure setChoiceRNGF_D1_D0_SK3
     711             :         use pm_kind, only: SKC => SK3
     712             : #include "pm_arrayChoice@routines.inc.F90"
     713             :     end procedure
     714             : #endif
     715             : 
     716             : #if SK2_ENABLED
     717             :     module procedure setChoiceRNGF_D1_D0_SK2
     718             :         use pm_kind, only: SKC => SK2
     719             : #include "pm_arrayChoice@routines.inc.F90"
     720             :     end procedure
     721             : #endif
     722             : 
     723             : #if SK1_ENABLED
     724         213 :     module procedure setChoiceRNGF_D1_D0_SK1
     725             :         use pm_kind, only: SKC => SK1
     726             : #include "pm_arrayChoice@routines.inc.F90"
     727         213 :     end procedure
     728             : #endif
     729             : 
     730             : #undef SK_ENABLED
     731             : 
     732             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     733             : 
     734             : #define IK_ENABLED 1
     735             : 
     736             : #if IK5_ENABLED
     737         353 :     module procedure setChoiceRNGF_D1_D0_IK5
     738             :         use pm_kind, only: IKC => IK5
     739             : #include "pm_arrayChoice@routines.inc.F90"
     740         353 :     end procedure
     741             : #endif
     742             : 
     743             : #if IK4_ENABLED
     744         350 :     module procedure setChoiceRNGF_D1_D0_IK4
     745             :         use pm_kind, only: IKC => IK4
     746             : #include "pm_arrayChoice@routines.inc.F90"
     747         350 :     end procedure
     748             : #endif
     749             : 
     750             : #if IK3_ENABLED
     751       22082 :     module procedure setChoiceRNGF_D1_D0_IK3
     752             :         use pm_kind, only: IKC => IK3
     753             : #include "pm_arrayChoice@routines.inc.F90"
     754       22082 :     end procedure
     755             : #endif
     756             : 
     757             : #if IK2_ENABLED
     758         351 :     module procedure setChoiceRNGF_D1_D0_IK2
     759             :         use pm_kind, only: IKC => IK2
     760             : #include "pm_arrayChoice@routines.inc.F90"
     761         351 :     end procedure
     762             : #endif
     763             : 
     764             : #if IK1_ENABLED
     765         353 :     module procedure setChoiceRNGF_D1_D0_IK1
     766             :         use pm_kind, only: IKC => IK1
     767             : #include "pm_arrayChoice@routines.inc.F90"
     768         353 :     end procedure
     769             : #endif
     770             : 
     771             : #undef IK_ENABLED
     772             : 
     773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775             : #define LK_ENABLED 1
     776             : 
     777             : #if LK5_ENABLED
     778         153 :     module procedure setChoiceRNGF_D1_D0_LK5
     779             :         use pm_kind, only: LKC => LK5
     780             : #include "pm_arrayChoice@routines.inc.F90"
     781         153 :     end procedure
     782             : #endif
     783             : 
     784             : #if LK4_ENABLED
     785         153 :     module procedure setChoiceRNGF_D1_D0_LK4
     786             :         use pm_kind, only: LKC => LK4
     787             : #include "pm_arrayChoice@routines.inc.F90"
     788         153 :     end procedure
     789             : #endif
     790             : 
     791             : #if LK3_ENABLED
     792         190 :     module procedure setChoiceRNGF_D1_D0_LK3
     793             :         use pm_kind, only: LKC => LK3
     794             : #include "pm_arrayChoice@routines.inc.F90"
     795         190 :     end procedure
     796             : #endif
     797             : 
     798             : #if LK2_ENABLED
     799         149 :     module procedure setChoiceRNGF_D1_D0_LK2
     800             :         use pm_kind, only: LKC => LK2
     801             : #include "pm_arrayChoice@routines.inc.F90"
     802         149 :     end procedure
     803             : #endif
     804             : 
     805             : #if LK1_ENABLED
     806         153 :     module procedure setChoiceRNGF_D1_D0_LK1
     807             :         use pm_kind, only: LKC => LK1
     808             : #include "pm_arrayChoice@routines.inc.F90"
     809         153 :     end procedure
     810             : #endif
     811             : 
     812             : #undef LK_ENABLED
     813             : 
     814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     815             : 
     816             : #define CK_ENABLED 1
     817             : 
     818             : #if CK5_ENABLED
     819             :     module procedure setChoiceRNGF_D1_D0_CK5
     820             :         use pm_kind, only: CKC => CK5
     821             : #include "pm_arrayChoice@routines.inc.F90"
     822             :     end procedure
     823             : #endif
     824             : 
     825             : #if CK4_ENABLED
     826         451 :     module procedure setChoiceRNGF_D1_D0_CK4
     827             :         use pm_kind, only: CKC => CK4
     828             : #include "pm_arrayChoice@routines.inc.F90"
     829         451 :     end procedure
     830             : #endif
     831             : 
     832             : #if CK3_ENABLED
     833         445 :     module procedure setChoiceRNGF_D1_D0_CK3
     834             :         use pm_kind, only: CKC => CK3
     835             : #include "pm_arrayChoice@routines.inc.F90"
     836         445 :     end procedure
     837             : #endif
     838             : 
     839             : #if CK2_ENABLED
     840         449 :     module procedure setChoiceRNGF_D1_D0_CK2
     841             :         use pm_kind, only: CKC => CK2
     842             : #include "pm_arrayChoice@routines.inc.F90"
     843         449 :     end procedure
     844             : #endif
     845             : 
     846             : #if CK1_ENABLED
     847         531 :     module procedure setChoiceRNGF_D1_D0_CK1
     848             :         use pm_kind, only: CKC => CK1
     849             : #include "pm_arrayChoice@routines.inc.F90"
     850         531 :     end procedure
     851             : #endif
     852             : 
     853             : #undef CK_ENABLED
     854             : 
     855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     856             : 
     857             : #define RK_ENABLED 1
     858             : 
     859             : #if RK5_ENABLED
     860             :     module procedure setChoiceRNGF_D1_D0_RK5
     861             :         use pm_kind, only: RKC => RK5
     862             : #include "pm_arrayChoice@routines.inc.F90"
     863             :     end procedure
     864             : #endif
     865             : 
     866             : #if RK4_ENABLED
     867        5056 :     module procedure setChoiceRNGF_D1_D0_RK4
     868             :         use pm_kind, only: RKC => RK4
     869             : #include "pm_arrayChoice@routines.inc.F90"
     870        5056 :     end procedure
     871             : #endif
     872             : 
     873             : #if RK3_ENABLED
     874        5053 :     module procedure setChoiceRNGF_D1_D0_RK3
     875             :         use pm_kind, only: RKC => RK3
     876             : #include "pm_arrayChoice@routines.inc.F90"
     877        5053 :     end procedure
     878             : #endif
     879             : 
     880             : #if RK2_ENABLED
     881        5046 :     module procedure setChoiceRNGF_D1_D0_RK2
     882             :         use pm_kind, only: RKC => RK2
     883             : #include "pm_arrayChoice@routines.inc.F90"
     884        5046 :     end procedure
     885             : #endif
     886             : 
     887             : #if RK1_ENABLED
     888        5070 :     module procedure setChoiceRNGF_D1_D0_RK1
     889             :         use pm_kind, only: RKC => RK1
     890             : #include "pm_arrayChoice@routines.inc.F90"
     891        5070 :     end procedure
     892             : #endif
     893             : 
     894             : #undef RK_ENABLED
     895             : 
     896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     897             : 
     898             : #undef D1_D0_ENABLED
     899             : 
     900             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     903             : 
     904             : #define D1_D1_ENABLED 1
     905             : 
     906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     907             : 
     908             : #define SK_ENABLED 1
     909             : 
     910             : #if SK5_ENABLED
     911             :     module procedure setChoiceRNGF_D1_D1_SK5
     912             :         use pm_kind, only: SKC => SK5
     913             : #include "pm_arrayChoice@routines.inc.F90"
     914             :     end procedure
     915             : #endif
     916             : 
     917             : #if SK4_ENABLED
     918             :     module procedure setChoiceRNGF_D1_D1_SK4
     919             :         use pm_kind, only: SKC => SK4
     920             : #include "pm_arrayChoice@routines.inc.F90"
     921             :     end procedure
     922             : #endif
     923             : 
     924             : #if SK3_ENABLED
     925             :     module procedure setChoiceRNGF_D1_D1_SK3
     926             :         use pm_kind, only: SKC => SK3
     927             : #include "pm_arrayChoice@routines.inc.F90"
     928             :     end procedure
     929             : #endif
     930             : 
     931             : #if SK2_ENABLED
     932             :     module procedure setChoiceRNGF_D1_D1_SK2
     933             :         use pm_kind, only: SKC => SK2
     934             : #include "pm_arrayChoice@routines.inc.F90"
     935             :     end procedure
     936             : #endif
     937             : 
     938             : #if SK1_ENABLED
     939         479 :     module procedure setChoiceRNGF_D1_D1_SK1
     940             :         use pm_kind, only: SKC => SK1
     941             : #include "pm_arrayChoice@routines.inc.F90"
     942             :     end procedure
     943             : #endif
     944             : 
     945             : #undef SK_ENABLED
     946             : 
     947             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     948             : 
     949             : #define IK_ENABLED 1
     950             : 
     951             : #if IK5_ENABLED
     952         915 :     module procedure setChoiceRNGF_D1_D1_IK5
     953             :         use pm_kind, only: IKC => IK5
     954             : #include "pm_arrayChoice@routines.inc.F90"
     955             :     end procedure
     956             : #endif
     957             : 
     958             : #if IK4_ENABLED
     959         864 :     module procedure setChoiceRNGF_D1_D1_IK4
     960             :         use pm_kind, only: IKC => IK4
     961             : #include "pm_arrayChoice@routines.inc.F90"
     962             :     end procedure
     963             : #endif
     964             : 
     965             : #if IK3_ENABLED
     966        8538 :     module procedure setChoiceRNGF_D1_D1_IK3
     967             :         use pm_kind, only: IKC => IK3
     968             : #include "pm_arrayChoice@routines.inc.F90"
     969             :     end procedure
     970             : #endif
     971             : 
     972             : #if IK2_ENABLED
     973         891 :     module procedure setChoiceRNGF_D1_D1_IK2
     974             :         use pm_kind, only: IKC => IK2
     975             : #include "pm_arrayChoice@routines.inc.F90"
     976             :     end procedure
     977             : #endif
     978             : 
     979             : #if IK1_ENABLED
     980         891 :     module procedure setChoiceRNGF_D1_D1_IK1
     981             :         use pm_kind, only: IKC => IK1
     982             : #include "pm_arrayChoice@routines.inc.F90"
     983             :     end procedure
     984             : #endif
     985             : 
     986             : #undef IK_ENABLED
     987             : 
     988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     989             : 
     990             : #define LK_ENABLED 1
     991             : 
     992             : #if LK5_ENABLED
     993         459 :     module procedure setChoiceRNGF_D1_D1_LK5
     994             :         use pm_kind, only: LKC => LK5
     995             : #include "pm_arrayChoice@routines.inc.F90"
     996             :     end procedure
     997             : #endif
     998             : 
     999             : #if LK4_ENABLED
    1000         459 :     module procedure setChoiceRNGF_D1_D1_LK4
    1001             :         use pm_kind, only: LKC => LK4
    1002             : #include "pm_arrayChoice@routines.inc.F90"
    1003             :     end procedure
    1004             : #endif
    1005             : 
    1006             : #if LK3_ENABLED
    1007         470 :     module procedure setChoiceRNGF_D1_D1_LK3
    1008             :         use pm_kind, only: LKC => LK3
    1009             : #include "pm_arrayChoice@routines.inc.F90"
    1010             :     end procedure
    1011             : #endif
    1012             : 
    1013             : #if LK2_ENABLED
    1014         447 :     module procedure setChoiceRNGF_D1_D1_LK2
    1015             :         use pm_kind, only: LKC => LK2
    1016             : #include "pm_arrayChoice@routines.inc.F90"
    1017             :     end procedure
    1018             : #endif
    1019             : 
    1020             : #if LK1_ENABLED
    1021         459 :     module procedure setChoiceRNGF_D1_D1_LK1
    1022             :         use pm_kind, only: LKC => LK1
    1023             : #include "pm_arrayChoice@routines.inc.F90"
    1024             :     end procedure
    1025             : #endif
    1026             : 
    1027             : #undef LK_ENABLED
    1028             : 
    1029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1030             : 
    1031             : #define CK_ENABLED 1
    1032             : 
    1033             : #if CK5_ENABLED
    1034             :     module procedure setChoiceRNGF_D1_D1_CK5
    1035             :         use pm_kind, only: CKC => CK5
    1036             : #include "pm_arrayChoice@routines.inc.F90"
    1037             :     end procedure
    1038             : #endif
    1039             : 
    1040             : #if CK4_ENABLED
    1041         453 :     module procedure setChoiceRNGF_D1_D1_CK4
    1042             :         use pm_kind, only: CKC => CK4
    1043             : #include "pm_arrayChoice@routines.inc.F90"
    1044             :     end procedure
    1045             : #endif
    1046             : 
    1047             : #if CK3_ENABLED
    1048         435 :     module procedure setChoiceRNGF_D1_D1_CK3
    1049             :         use pm_kind, only: CKC => CK3
    1050             : #include "pm_arrayChoice@routines.inc.F90"
    1051             :     end procedure
    1052             : #endif
    1053             : 
    1054             : #if CK2_ENABLED
    1055         447 :     module procedure setChoiceRNGF_D1_D1_CK2
    1056             :         use pm_kind, only: CKC => CK2
    1057             : #include "pm_arrayChoice@routines.inc.F90"
    1058             :     end procedure
    1059             : #endif
    1060             : 
    1061             : #if CK1_ENABLED
    1062         473 :     module procedure setChoiceRNGF_D1_D1_CK1
    1063             :         use pm_kind, only: CKC => CK1
    1064             : #include "pm_arrayChoice@routines.inc.F90"
    1065             :     end procedure
    1066             : #endif
    1067             : 
    1068             : #undef CK_ENABLED
    1069             : 
    1070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1071             : 
    1072             : #define RK_ENABLED 1
    1073             : 
    1074             : #if RK5_ENABLED
    1075             :     module procedure setChoiceRNGF_D1_D1_RK5
    1076             :         use pm_kind, only: RKC => RK5
    1077             : #include "pm_arrayChoice@routines.inc.F90"
    1078             :     end procedure
    1079             : #endif
    1080             : 
    1081             : #if RK4_ENABLED
    1082         939 :     module procedure setChoiceRNGF_D1_D1_RK4
    1083             :         use pm_kind, only: RKC => RK4
    1084             : #include "pm_arrayChoice@routines.inc.F90"
    1085             :     end procedure
    1086             : #endif
    1087             : 
    1088             : #if RK3_ENABLED
    1089         930 :     module procedure setChoiceRNGF_D1_D1_RK3
    1090             :         use pm_kind, only: RKC => RK3
    1091             : #include "pm_arrayChoice@routines.inc.F90"
    1092             :     end procedure
    1093             : #endif
    1094             : 
    1095             : #if RK2_ENABLED
    1096         885 :     module procedure setChoiceRNGF_D1_D1_RK2
    1097             :         use pm_kind, only: RKC => RK2
    1098             : #include "pm_arrayChoice@routines.inc.F90"
    1099             :     end procedure
    1100             : #endif
    1101             : 
    1102             : #if RK1_ENABLED
    1103         896 :     module procedure setChoiceRNGF_D1_D1_RK1
    1104             :         use pm_kind, only: RKC => RK1
    1105             : #include "pm_arrayChoice@routines.inc.F90"
    1106             :     end procedure
    1107             : #endif
    1108             : 
    1109             : #undef RK_ENABLED
    1110             : 
    1111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1112             : 
    1113             : #undef D1_D1_ENABLED
    1114             : 
    1115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1118             : 
    1119             : #undef RNGF_ENABLED
    1120             : 
    1121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1124             : 
    1125             : #define RNGX_ENABLED 1
    1126             : 
    1127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1129             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1130             : 
    1131             : #define D0_D0_ENABLED 1
    1132             : 
    1133             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1134             : 
    1135             : #define SK_ENABLED 1
    1136             : 
    1137             : #if SK5_ENABLED
    1138             :     module procedure setChoiceRNGX_D0_D0_SK5
    1139             :         use pm_kind, only: SKC => SK5
    1140             : #include "pm_arrayChoice@routines.inc.F90"
    1141             :     end procedure
    1142             : #endif
    1143             : 
    1144             : #if SK4_ENABLED
    1145             :     module procedure setChoiceRNGX_D0_D0_SK4
    1146             :         use pm_kind, only: SKC => SK4
    1147             : #include "pm_arrayChoice@routines.inc.F90"
    1148             :     end procedure
    1149             : #endif
    1150             : 
    1151             : #if SK3_ENABLED
    1152             :     module procedure setChoiceRNGX_D0_D0_SK3
    1153             :         use pm_kind, only: SKC => SK3
    1154             : #include "pm_arrayChoice@routines.inc.F90"
    1155             :     end procedure
    1156             : #endif
    1157             : 
    1158             : #if SK2_ENABLED
    1159             :     module procedure setChoiceRNGX_D0_D0_SK2
    1160             :         use pm_kind, only: SKC => SK2
    1161             : #include "pm_arrayChoice@routines.inc.F90"
    1162             :     end procedure
    1163             : #endif
    1164             : 
    1165             : #if SK1_ENABLED
    1166         451 :     module procedure setChoiceRNGX_D0_D0_SK1
    1167             :         use pm_kind, only: SKC => SK1
    1168             : #include "pm_arrayChoice@routines.inc.F90"
    1169             :     end procedure
    1170             : #endif
    1171             : 
    1172             : #undef SK_ENABLED
    1173             : 
    1174             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1175             : 
    1176             : #undef D0_D0_ENABLED
    1177             : 
    1178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1181             : 
    1182             : #define D1_D0_ENABLED 1
    1183             : 
    1184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1185             : 
    1186             : #define SK_ENABLED 1
    1187             : 
    1188             : #if SK5_ENABLED
    1189             :     module procedure setChoiceRNGX_D1_D0_SK5
    1190             :         use pm_kind, only: SKC => SK5
    1191             : #include "pm_arrayChoice@routines.inc.F90"
    1192             :     end procedure
    1193             : #endif
    1194             : 
    1195             : #if SK4_ENABLED
    1196             :     module procedure setChoiceRNGX_D1_D0_SK4
    1197             :         use pm_kind, only: SKC => SK4
    1198             : #include "pm_arrayChoice@routines.inc.F90"
    1199             :     end procedure
    1200             : #endif
    1201             : 
    1202             : #if SK3_ENABLED
    1203             :     module procedure setChoiceRNGX_D1_D0_SK3
    1204             :         use pm_kind, only: SKC => SK3
    1205             : #include "pm_arrayChoice@routines.inc.F90"
    1206             :     end procedure
    1207             : #endif
    1208             : 
    1209             : #if SK2_ENABLED
    1210             :     module procedure setChoiceRNGX_D1_D0_SK2
    1211             :         use pm_kind, only: SKC => SK2
    1212             : #include "pm_arrayChoice@routines.inc.F90"
    1213             :     end procedure
    1214             : #endif
    1215             : 
    1216             : #if SK1_ENABLED
    1217          47 :     module procedure setChoiceRNGX_D1_D0_SK1
    1218             :         use pm_kind, only: SKC => SK1
    1219             : #include "pm_arrayChoice@routines.inc.F90"
    1220          47 :     end procedure
    1221             : #endif
    1222             : 
    1223             : #undef SK_ENABLED
    1224             : 
    1225             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1226             : 
    1227             : #define IK_ENABLED 1
    1228             : 
    1229             : #if IK5_ENABLED
    1230          47 :     module procedure setChoiceRNGX_D1_D0_IK5
    1231             :         use pm_kind, only: IKC => IK5
    1232             : #include "pm_arrayChoice@routines.inc.F90"
    1233          47 :     end procedure
    1234             : #endif
    1235             : 
    1236             : #if IK4_ENABLED
    1237          50 :     module procedure setChoiceRNGX_D1_D0_IK4
    1238             :         use pm_kind, only: IKC => IK4
    1239             : #include "pm_arrayChoice@routines.inc.F90"
    1240          50 :     end procedure
    1241             : #endif
    1242             : 
    1243             : #if IK3_ENABLED
    1244          47 :     module procedure setChoiceRNGX_D1_D0_IK3
    1245             :         use pm_kind, only: IKC => IK3
    1246             : #include "pm_arrayChoice@routines.inc.F90"
    1247          47 :     end procedure
    1248             : #endif
    1249             : 
    1250             : #if IK2_ENABLED
    1251          49 :     module procedure setChoiceRNGX_D1_D0_IK2
    1252             :         use pm_kind, only: IKC => IK2
    1253             : #include "pm_arrayChoice@routines.inc.F90"
    1254          49 :     end procedure
    1255             : #endif
    1256             : 
    1257             : #if IK1_ENABLED
    1258          47 :     module procedure setChoiceRNGX_D1_D0_IK1
    1259             :         use pm_kind, only: IKC => IK1
    1260             : #include "pm_arrayChoice@routines.inc.F90"
    1261          47 :     end procedure
    1262             : #endif
    1263             : 
    1264             : #undef IK_ENABLED
    1265             : 
    1266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1267             : 
    1268             : #define LK_ENABLED 1
    1269             : 
    1270             : #if LK5_ENABLED
    1271          47 :     module procedure setChoiceRNGX_D1_D0_LK5
    1272             :         use pm_kind, only: LKC => LK5
    1273             : #include "pm_arrayChoice@routines.inc.F90"
    1274          47 :     end procedure
    1275             : #endif
    1276             : 
    1277             : #if LK4_ENABLED
    1278          47 :     module procedure setChoiceRNGX_D1_D0_LK4
    1279             :         use pm_kind, only: LKC => LK4
    1280             : #include "pm_arrayChoice@routines.inc.F90"
    1281          47 :     end procedure
    1282             : #endif
    1283             : 
    1284             : #if LK3_ENABLED
    1285          50 :     module procedure setChoiceRNGX_D1_D0_LK3
    1286             :         use pm_kind, only: LKC => LK3
    1287             : #include "pm_arrayChoice@routines.inc.F90"
    1288          50 :     end procedure
    1289             : #endif
    1290             : 
    1291             : #if LK2_ENABLED
    1292          51 :     module procedure setChoiceRNGX_D1_D0_LK2
    1293             :         use pm_kind, only: LKC => LK2
    1294             : #include "pm_arrayChoice@routines.inc.F90"
    1295          51 :     end procedure
    1296             : #endif
    1297             : 
    1298             : #if LK1_ENABLED
    1299          47 :     module procedure setChoiceRNGX_D1_D0_LK1
    1300             :         use pm_kind, only: LKC => LK1
    1301             : #include "pm_arrayChoice@routines.inc.F90"
    1302          47 :     end procedure
    1303             : #endif
    1304             : 
    1305             : #undef LK_ENABLED
    1306             : 
    1307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1308             : 
    1309             : #define CK_ENABLED 1
    1310             : 
    1311             : #if CK5_ENABLED
    1312             :     module procedure setChoiceRNGX_D1_D0_CK5
    1313             :         use pm_kind, only: CKC => CK5
    1314             : #include "pm_arrayChoice@routines.inc.F90"
    1315             :     end procedure
    1316             : #endif
    1317             : 
    1318             : #if CK4_ENABLED
    1319          49 :     module procedure setChoiceRNGX_D1_D0_CK4
    1320             :         use pm_kind, only: CKC => CK4
    1321             : #include "pm_arrayChoice@routines.inc.F90"
    1322          49 :     end procedure
    1323             : #endif
    1324             : 
    1325             : #if CK3_ENABLED
    1326          55 :     module procedure setChoiceRNGX_D1_D0_CK3
    1327             :         use pm_kind, only: CKC => CK3
    1328             : #include "pm_arrayChoice@routines.inc.F90"
    1329          55 :     end procedure
    1330             : #endif
    1331             : 
    1332             : #if CK2_ENABLED
    1333          51 :     module procedure setChoiceRNGX_D1_D0_CK2
    1334             :         use pm_kind, only: CKC => CK2
    1335             : #include "pm_arrayChoice@routines.inc.F90"
    1336          51 :     end procedure
    1337             : #endif
    1338             : 
    1339             : #if CK1_ENABLED
    1340          49 :     module procedure setChoiceRNGX_D1_D0_CK1
    1341             :         use pm_kind, only: CKC => CK1
    1342             : #include "pm_arrayChoice@routines.inc.F90"
    1343          49 :     end procedure
    1344             : #endif
    1345             : 
    1346             : #undef CK_ENABLED
    1347             : 
    1348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1349             : 
    1350             : #define RK_ENABLED 1
    1351             : 
    1352             : #if RK5_ENABLED
    1353             :     module procedure setChoiceRNGX_D1_D0_RK5
    1354             :         use pm_kind, only: RKC => RK5
    1355             : #include "pm_arrayChoice@routines.inc.F90"
    1356             :     end procedure
    1357             : #endif
    1358             : 
    1359             : #if RK4_ENABLED
    1360          44 :     module procedure setChoiceRNGX_D1_D0_RK4
    1361             :         use pm_kind, only: RKC => RK4
    1362             : #include "pm_arrayChoice@routines.inc.F90"
    1363          44 :     end procedure
    1364             : #endif
    1365             : 
    1366             : #if RK3_ENABLED
    1367          47 :     module procedure setChoiceRNGX_D1_D0_RK3
    1368             :         use pm_kind, only: RKC => RK3
    1369             : #include "pm_arrayChoice@routines.inc.F90"
    1370          47 :     end procedure
    1371             : #endif
    1372             : 
    1373             : #if RK2_ENABLED
    1374          54 :     module procedure setChoiceRNGX_D1_D0_RK2
    1375             :         use pm_kind, only: RKC => RK2
    1376             : #include "pm_arrayChoice@routines.inc.F90"
    1377          54 :     end procedure
    1378             : #endif
    1379             : 
    1380             : #if RK1_ENABLED
    1381          60 :     module procedure setChoiceRNGX_D1_D0_RK1
    1382             :         use pm_kind, only: RKC => RK1
    1383             : #include "pm_arrayChoice@routines.inc.F90"
    1384          60 :     end procedure
    1385             : #endif
    1386             : 
    1387             : #undef RK_ENABLED
    1388             : 
    1389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1390             : 
    1391             : #undef D1_D0_ENABLED
    1392             : 
    1393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1396             : 
    1397             : #define D1_D1_ENABLED 1
    1398             : 
    1399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1400             : 
    1401             : #define SK_ENABLED 1
    1402             : 
    1403             : #if SK5_ENABLED
    1404             :     module procedure setChoiceRNGX_D1_D1_SK5
    1405             :         use pm_kind, only: SKC => SK5
    1406             : #include "pm_arrayChoice@routines.inc.F90"
    1407             :     end procedure
    1408             : #endif
    1409             : 
    1410             : #if SK4_ENABLED
    1411             :     module procedure setChoiceRNGX_D1_D1_SK4
    1412             :         use pm_kind, only: SKC => SK4
    1413             : #include "pm_arrayChoice@routines.inc.F90"
    1414             :     end procedure
    1415             : #endif
    1416             : 
    1417             : #if SK3_ENABLED
    1418             :     module procedure setChoiceRNGX_D1_D1_SK3
    1419             :         use pm_kind, only: SKC => SK3
    1420             : #include "pm_arrayChoice@routines.inc.F90"
    1421             :     end procedure
    1422             : #endif
    1423             : 
    1424             : #if SK2_ENABLED
    1425             :     module procedure setChoiceRNGX_D1_D1_SK2
    1426             :         use pm_kind, only: SKC => SK2
    1427             : #include "pm_arrayChoice@routines.inc.F90"
    1428             :     end procedure
    1429             : #endif
    1430             : 
    1431             : #if SK1_ENABLED
    1432         161 :     module procedure setChoiceRNGX_D1_D1_SK1
    1433             :         use pm_kind, only: SKC => SK1
    1434             : #include "pm_arrayChoice@routines.inc.F90"
    1435             :     end procedure
    1436             : #endif
    1437             : 
    1438             : #undef SK_ENABLED
    1439             : 
    1440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1441             : 
    1442             : #define IK_ENABLED 1
    1443             : 
    1444             : #if IK5_ENABLED
    1445         285 :     module procedure setChoiceRNGX_D1_D1_IK5
    1446             :         use pm_kind, only: IKC => IK5
    1447             : #include "pm_arrayChoice@routines.inc.F90"
    1448             :     end procedure
    1449             : #endif
    1450             : 
    1451             : #if IK4_ENABLED
    1452         336 :     module procedure setChoiceRNGX_D1_D1_IK4
    1453             :         use pm_kind, only: IKC => IK4
    1454             : #include "pm_arrayChoice@routines.inc.F90"
    1455             :     end procedure
    1456             : #endif
    1457             : 
    1458             : #if IK3_ENABLED
    1459         362 :     module procedure setChoiceRNGX_D1_D1_IK3
    1460             :         use pm_kind, only: IKC => IK3
    1461             : #include "pm_arrayChoice@routines.inc.F90"
    1462             :     end procedure
    1463             : #endif
    1464             : 
    1465             : #if IK2_ENABLED
    1466         309 :     module procedure setChoiceRNGX_D1_D1_IK2
    1467             :         use pm_kind, only: IKC => IK2
    1468             : #include "pm_arrayChoice@routines.inc.F90"
    1469             :     end procedure
    1470             : #endif
    1471             : 
    1472             : #if IK1_ENABLED
    1473         309 :     module procedure setChoiceRNGX_D1_D1_IK1
    1474             :         use pm_kind, only: IKC => IK1
    1475             : #include "pm_arrayChoice@routines.inc.F90"
    1476             :     end procedure
    1477             : #endif
    1478             : 
    1479             : #undef IK_ENABLED
    1480             : 
    1481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1482             : 
    1483             : #define LK_ENABLED 1
    1484             : 
    1485             : #if LK5_ENABLED
    1486         141 :     module procedure setChoiceRNGX_D1_D1_LK5
    1487             :         use pm_kind, only: LKC => LK5
    1488             : #include "pm_arrayChoice@routines.inc.F90"
    1489             :     end procedure
    1490             : #endif
    1491             : 
    1492             : #if LK4_ENABLED
    1493         141 :     module procedure setChoiceRNGX_D1_D1_LK4
    1494             :         use pm_kind, only: LKC => LK4
    1495             : #include "pm_arrayChoice@routines.inc.F90"
    1496             :     end procedure
    1497             : #endif
    1498             : 
    1499             : #if LK3_ENABLED
    1500         170 :     module procedure setChoiceRNGX_D1_D1_LK3
    1501             :         use pm_kind, only: LKC => LK3
    1502             : #include "pm_arrayChoice@routines.inc.F90"
    1503             :     end procedure
    1504             : #endif
    1505             : 
    1506             : #if LK2_ENABLED
    1507         153 :     module procedure setChoiceRNGX_D1_D1_LK2
    1508             :         use pm_kind, only: LKC => LK2
    1509             : #include "pm_arrayChoice@routines.inc.F90"
    1510             :     end procedure
    1511             : #endif
    1512             : 
    1513             : #if LK1_ENABLED
    1514         141 :     module procedure setChoiceRNGX_D1_D1_LK1
    1515             :         use pm_kind, only: LKC => LK1
    1516             : #include "pm_arrayChoice@routines.inc.F90"
    1517             :     end procedure
    1518             : #endif
    1519             : 
    1520             : #undef LK_ENABLED
    1521             : 
    1522             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1523             : 
    1524             : #define CK_ENABLED 1
    1525             : 
    1526             : #if CK5_ENABLED
    1527             :     module procedure setChoiceRNGX_D1_D1_CK5
    1528             :         use pm_kind, only: CKC => CK5
    1529             : #include "pm_arrayChoice@routines.inc.F90"
    1530             :     end procedure
    1531             : #endif
    1532             : 
    1533             : #if CK4_ENABLED
    1534         147 :     module procedure setChoiceRNGX_D1_D1_CK4
    1535             :         use pm_kind, only: CKC => CK4
    1536             : #include "pm_arrayChoice@routines.inc.F90"
    1537             :     end procedure
    1538             : #endif
    1539             : 
    1540             : #if CK3_ENABLED
    1541         165 :     module procedure setChoiceRNGX_D1_D1_CK3
    1542             :         use pm_kind, only: CKC => CK3
    1543             : #include "pm_arrayChoice@routines.inc.F90"
    1544             :     end procedure
    1545             : #endif
    1546             : 
    1547             : #if CK2_ENABLED
    1548         153 :     module procedure setChoiceRNGX_D1_D1_CK2
    1549             :         use pm_kind, only: CKC => CK2
    1550             : #include "pm_arrayChoice@routines.inc.F90"
    1551             :     end procedure
    1552             : #endif
    1553             : 
    1554             : #if CK1_ENABLED
    1555         167 :     module procedure setChoiceRNGX_D1_D1_CK1
    1556             :         use pm_kind, only: CKC => CK1
    1557             : #include "pm_arrayChoice@routines.inc.F90"
    1558             :     end procedure
    1559             : #endif
    1560             : 
    1561             : #undef CK_ENABLED
    1562             : 
    1563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1564             : 
    1565             : #define RK_ENABLED 1
    1566             : 
    1567             : #if RK5_ENABLED
    1568             :     module procedure setChoiceRNGX_D1_D1_RK5
    1569             :         use pm_kind, only: RKC => RK5
    1570             : #include "pm_arrayChoice@routines.inc.F90"
    1571             :     end procedure
    1572             : #endif
    1573             : 
    1574             : #if RK4_ENABLED
    1575         261 :     module procedure setChoiceRNGX_D1_D1_RK4
    1576             :         use pm_kind, only: RKC => RK4
    1577             : #include "pm_arrayChoice@routines.inc.F90"
    1578             :     end procedure
    1579             : #endif
    1580             : 
    1581             : #if RK3_ENABLED
    1582         270 :     module procedure setChoiceRNGX_D1_D1_RK3
    1583             :         use pm_kind, only: RKC => RK3
    1584             : #include "pm_arrayChoice@routines.inc.F90"
    1585             :     end procedure
    1586             : #endif
    1587             : 
    1588             : #if RK2_ENABLED
    1589         315 :     module procedure setChoiceRNGX_D1_D1_RK2
    1590             :         use pm_kind, only: RKC => RK2
    1591             : #include "pm_arrayChoice@routines.inc.F90"
    1592             :     end procedure
    1593             : #endif
    1594             : 
    1595             : #if RK1_ENABLED
    1596         344 :     module procedure setChoiceRNGX_D1_D1_RK1
    1597             :         use pm_kind, only: RKC => RK1
    1598             : #include "pm_arrayChoice@routines.inc.F90"
    1599             :     end procedure
    1600             : #endif
    1601             : 
    1602             : #undef RK_ENABLED
    1603             : 
    1604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1605             : 
    1606             : #undef D1_D1_ENABLED
    1607             : 
    1608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1611             : 
    1612             : #undef RNGX_ENABLED
    1613             : 
    1614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1617             : 
    1618             : #undef Def_ENABLED
    1619             : 
    1620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1623             : 
    1624             : #undef setChoice_ENABLED
    1625             : 
    1626             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1627             : 
    1628             : #undef CHECK_ASSERTION
    1629             : 
    1630             : end submodule routines

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