https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arraySelect@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 82 88 93.2 %
Date: 2024-04-08 03:18:57 Functions: 81 84 96.4 %
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_arraySelect](@ref pm_arraySelect).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arraySelect) 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_container, only: css_pdt
      40             :     use pm_container, only: css_type
      41             :     use pm_arraySort, only: setSorted
      42             : 
      43             :     implicit none
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : contains
      48             : 
      49             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             : 
      51             : #define getSelected_ENABLED 1
      52             : 
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define DefCom_ENABLED 1
      58             : 
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define D0_ENABLED 1
      64             : 
      65             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      66             : 
      67             : #define SK_ENABLED 1
      68             : 
      69             : #if SK5_ENABLED
      70             :     module procedure getSelectedDefCom_D0_SK5
      71             :         use pm_kind, only: SKC => SK5
      72             : #include "pm_arraySelect@routines.inc.F90"
      73             :     end procedure
      74             : #endif
      75             : 
      76             : #if SK4_ENABLED
      77             :     module procedure getSelectedDefCom_D0_SK4
      78             :         use pm_kind, only: SKC => SK4
      79             : #include "pm_arraySelect@routines.inc.F90"
      80             :     end procedure
      81             : #endif
      82             : 
      83             : #if SK3_ENABLED
      84             :     module procedure getSelectedDefCom_D0_SK3
      85             :         use pm_kind, only: SKC => SK3
      86             : #include "pm_arraySelect@routines.inc.F90"
      87             :     end procedure
      88             : #endif
      89             : 
      90             : #if SK2_ENABLED
      91             :     module procedure getSelectedDefCom_D0_SK2
      92             :         use pm_kind, only: SKC => SK2
      93             : #include "pm_arraySelect@routines.inc.F90"
      94             :     end procedure
      95             : #endif
      96             : 
      97             : #if SK1_ENABLED
      98          21 :     module procedure getSelectedDefCom_D0_SK1
      99             :         use pm_kind, only: SKC => SK1
     100             : #include "pm_arraySelect@routines.inc.F90"
     101             :     end procedure
     102             : #endif
     103             : 
     104             : #undef SK_ENABLED
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #undef D0_ENABLED
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define D1_ENABLED 1
     115             : 
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define SK_ENABLED 1
     119             : 
     120             : #if SK5_ENABLED
     121             :     module procedure getSelectedDefCom_D1_SK5
     122             :         use pm_kind, only: SKC => SK5
     123             : #include "pm_arraySelect@routines.inc.F90"
     124             :     end procedure
     125             : #endif
     126             : 
     127             : #if SK4_ENABLED
     128             :     module procedure getSelectedDefCom_D1_SK4
     129             :         use pm_kind, only: SKC => SK4
     130             : #include "pm_arraySelect@routines.inc.F90"
     131             :     end procedure
     132             : #endif
     133             : 
     134             : #if SK3_ENABLED
     135             :     module procedure getSelectedDefCom_D1_SK3
     136             :         use pm_kind, only: SKC => SK3
     137             : #include "pm_arraySelect@routines.inc.F90"
     138             :     end procedure
     139             : #endif
     140             : 
     141             : #if SK2_ENABLED
     142             :     module procedure getSelectedDefCom_D1_SK2
     143             :         use pm_kind, only: SKC => SK2
     144             : #include "pm_arraySelect@routines.inc.F90"
     145             :     end procedure
     146             : #endif
     147             : 
     148             : #if SK1_ENABLED
     149          20 :     module procedure getSelectedDefCom_D1_SK1
     150             :         use pm_kind, only: SKC => SK1
     151             : #include "pm_arraySelect@routines.inc.F90"
     152             :     end procedure
     153             : #endif
     154             : 
     155             : #undef SK_ENABLED
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #define IK_ENABLED 1
     160             : 
     161             : #if IK5_ENABLED
     162          20 :     module procedure getSelectedDefCom_D1_IK5
     163             :         use pm_kind, only: IKC => IK5
     164             : #include "pm_arraySelect@routines.inc.F90"
     165             :     end procedure
     166             : #endif
     167             : 
     168             : #if IK4_ENABLED
     169          20 :     module procedure getSelectedDefCom_D1_IK4
     170             :         use pm_kind, only: IKC => IK4
     171             : #include "pm_arraySelect@routines.inc.F90"
     172             :     end procedure
     173             : #endif
     174             : 
     175             : #if IK3_ENABLED
     176          21 :     module procedure getSelectedDefCom_D1_IK3
     177             :         use pm_kind, only: IKC => IK3
     178             : #include "pm_arraySelect@routines.inc.F90"
     179             :     end procedure
     180             : #endif
     181             : 
     182             : #if IK2_ENABLED
     183          19 :     module procedure getSelectedDefCom_D1_IK2
     184             :         use pm_kind, only: IKC => IK2
     185             : #include "pm_arraySelect@routines.inc.F90"
     186             :     end procedure
     187             : #endif
     188             : 
     189             : #if IK1_ENABLED
     190          20 :     module procedure getSelectedDefCom_D1_IK1
     191             :         use pm_kind, only: IKC => IK1
     192             : #include "pm_arraySelect@routines.inc.F90"
     193             :     end procedure
     194             : #endif
     195             : 
     196             : #undef IK_ENABLED
     197             : 
     198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     199             : 
     200             : #define LK_ENABLED 1
     201             : 
     202             : #if LK5_ENABLED
     203          19 :     module procedure getSelectedDefCom_D1_LK5
     204             :         use pm_kind, only: LKC => LK5
     205             : #include "pm_arraySelect@routines.inc.F90"
     206             :     end procedure
     207             : #endif
     208             : 
     209             : #if LK4_ENABLED
     210          19 :     module procedure getSelectedDefCom_D1_LK4
     211             :         use pm_kind, only: LKC => LK4
     212             : #include "pm_arraySelect@routines.inc.F90"
     213             :     end procedure
     214             : #endif
     215             : 
     216             : #if LK3_ENABLED
     217          19 :     module procedure getSelectedDefCom_D1_LK3
     218             :         use pm_kind, only: LKC => LK3
     219             : #include "pm_arraySelect@routines.inc.F90"
     220             :     end procedure
     221             : #endif
     222             : 
     223             : #if LK2_ENABLED
     224          19 :     module procedure getSelectedDefCom_D1_LK2
     225             :         use pm_kind, only: LKC => LK2
     226             : #include "pm_arraySelect@routines.inc.F90"
     227             :     end procedure
     228             : #endif
     229             : 
     230             : #if LK1_ENABLED
     231          19 :     module procedure getSelectedDefCom_D1_LK1
     232             :         use pm_kind, only: LKC => LK1
     233             : #include "pm_arraySelect@routines.inc.F90"
     234             :     end procedure
     235             : #endif
     236             : 
     237             : #undef LK_ENABLED
     238             : 
     239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     240             : 
     241             : #define CK_ENABLED 1
     242             : 
     243             : #if CK5_ENABLED
     244             :     module procedure getSelectedDefCom_D1_CK5
     245             :         use pm_kind, only: CKC => CK5
     246             : #include "pm_arraySelect@routines.inc.F90"
     247             :     end procedure
     248             : #endif
     249             : 
     250             : #if CK4_ENABLED
     251          19 :     module procedure getSelectedDefCom_D1_CK4
     252             :         use pm_kind, only: CKC => CK4
     253             : #include "pm_arraySelect@routines.inc.F90"
     254             :     end procedure
     255             : #endif
     256             : 
     257             : #if CK3_ENABLED
     258          19 :     module procedure getSelectedDefCom_D1_CK3
     259             :         use pm_kind, only: CKC => CK3
     260             : #include "pm_arraySelect@routines.inc.F90"
     261             :     end procedure
     262             : #endif
     263             : 
     264             : #if CK2_ENABLED
     265          19 :     module procedure getSelectedDefCom_D1_CK2
     266             :         use pm_kind, only: CKC => CK2
     267             : #include "pm_arraySelect@routines.inc.F90"
     268             :     end procedure
     269             : #endif
     270             : 
     271             : #if CK1_ENABLED
     272          19 :     module procedure getSelectedDefCom_D1_CK1
     273             :         use pm_kind, only: CKC => CK1
     274             : #include "pm_arraySelect@routines.inc.F90"
     275             :     end procedure
     276             : #endif
     277             : 
     278             : #undef CK_ENABLED
     279             : 
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             : 
     282             : #define RK_ENABLED 1
     283             : 
     284             : #if RK5_ENABLED
     285             :     module procedure getSelectedDefCom_D1_RK5
     286             :         use pm_kind, only: RKC => RK5
     287             : #include "pm_arraySelect@routines.inc.F90"
     288             :     end procedure
     289             : #endif
     290             : 
     291             : #if RK4_ENABLED
     292          20 :     module procedure getSelectedDefCom_D1_RK4
     293             :         use pm_kind, only: RKC => RK4
     294             : #include "pm_arraySelect@routines.inc.F90"
     295             :     end procedure
     296             : #endif
     297             : 
     298             : #if RK3_ENABLED
     299          19 :     module procedure getSelectedDefCom_D1_RK3
     300             :         use pm_kind, only: RKC => RK3
     301             : #include "pm_arraySelect@routines.inc.F90"
     302             :     end procedure
     303             : #endif
     304             : 
     305             : #if RK2_ENABLED
     306          20 :     module procedure getSelectedDefCom_D1_RK2
     307             :         use pm_kind, only: RKC => RK2
     308             : #include "pm_arraySelect@routines.inc.F90"
     309             :     end procedure
     310             : #endif
     311             : 
     312             : #if RK1_ENABLED
     313          20 :     module procedure getSelectedDefCom_D1_RK1
     314             :         use pm_kind, only: RKC => RK1
     315             : #include "pm_arraySelect@routines.inc.F90"
     316             :     end procedure
     317             : #endif
     318             : 
     319             : #undef RK_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             : 
     323             : #if !__GFORTRAN__
     324             : #define PSSK_ENABLED 1
     325             : 
     326             : #if SK5_ENABLED
     327             :     module procedure getSelectedDefCom_D1_PSSK5
     328             :         use pm_kind, only: SKC => SK5
     329             : #include "pm_arraySelect@routines.inc.F90"
     330             :     end procedure
     331             : #endif
     332             : 
     333             : #if SK4_ENABLED
     334             :     module procedure getSelectedDefCom_D1_PSSK4
     335             :         use pm_kind, only: SKC => SK4
     336             : #include "pm_arraySelect@routines.inc.F90"
     337             :     end procedure
     338             : #endif
     339             : 
     340             : #if SK3_ENABLED
     341             :     module procedure getSelectedDefCom_D1_PSSK3
     342             :         use pm_kind, only: SKC => SK3
     343             : #include "pm_arraySelect@routines.inc.F90"
     344             :     end procedure
     345             : #endif
     346             : 
     347             : #if SK2_ENABLED
     348             :     module procedure getSelectedDefCom_D1_PSSK2
     349             :         use pm_kind, only: SKC => SK2
     350             : #include "pm_arraySelect@routines.inc.F90"
     351             :     end procedure
     352             : #endif
     353             : 
     354             : #if SK1_ENABLED
     355             :     module procedure getSelectedDefCom_D1_PSSK1
     356             :         use pm_kind, only: SKC => SK1
     357             : #include "pm_arraySelect@routines.inc.F90"
     358             :     end procedure
     359             : #endif
     360             : 
     361             : #undef PSSK_ENABLED
     362             : #endif
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : #define BSSK_ENABLED 1
     367           1 :     module procedure getSelectedDefCom_D1_BSSK
     368             :         use pm_kind, only: SKC => SK
     369             : #include "pm_arraySelect@routines.inc.F90"
     370           2 :     end procedure
     371             : #undef BSSK_ENABLED
     372             : 
     373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     374             : 
     375             : #undef D1_ENABLED
     376             : 
     377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     380             : 
     381             : #undef DefCom_ENABLED
     382             : 
     383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     386             : 
     387             : #define CusCom_ENABLED 1
     388             : 
     389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     392             : 
     393             : #define D0_ENABLED 1
     394             : 
     395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     396             : 
     397             : #define SK_ENABLED 1
     398             : 
     399             : #if SK5_ENABLED
     400             :     module procedure getSelectedCusCom_D0_SK5
     401             :         use pm_kind, only: SKC => SK5
     402             : #include "pm_arraySelect@routines.inc.F90"
     403             :     end procedure
     404             : #endif
     405             : 
     406             : #if SK4_ENABLED
     407             :     module procedure getSelectedCusCom_D0_SK4
     408             :         use pm_kind, only: SKC => SK4
     409             : #include "pm_arraySelect@routines.inc.F90"
     410             :     end procedure
     411             : #endif
     412             : 
     413             : #if SK3_ENABLED
     414             :     module procedure getSelectedCusCom_D0_SK3
     415             :         use pm_kind, only: SKC => SK3
     416             : #include "pm_arraySelect@routines.inc.F90"
     417             :     end procedure
     418             : #endif
     419             : 
     420             : #if SK2_ENABLED
     421             :     module procedure getSelectedCusCom_D0_SK2
     422             :         use pm_kind, only: SKC => SK2
     423             : #include "pm_arraySelect@routines.inc.F90"
     424             :     end procedure
     425             : #endif
     426             : 
     427             : #if SK1_ENABLED
     428          21 :     module procedure getSelectedCusCom_D0_SK1
     429             :         use pm_kind, only: SKC => SK1
     430             : #include "pm_arraySelect@routines.inc.F90"
     431             :     end procedure
     432             : #endif
     433             : 
     434             : #undef SK_ENABLED
     435             : 
     436             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     437             : 
     438             : #undef D0_ENABLED
     439             : 
     440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     443             : 
     444             : #define D1_ENABLED 1
     445             : 
     446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     447             : 
     448             : #define SK_ENABLED 1
     449             : 
     450             : #if SK5_ENABLED
     451             :     module procedure getSelectedCusCom_D1_SK5
     452             :         use pm_kind, only: SKC => SK5
     453             : #include "pm_arraySelect@routines.inc.F90"
     454             :     end procedure
     455             : #endif
     456             : 
     457             : #if SK4_ENABLED
     458             :     module procedure getSelectedCusCom_D1_SK4
     459             :         use pm_kind, only: SKC => SK4
     460             : #include "pm_arraySelect@routines.inc.F90"
     461             :     end procedure
     462             : #endif
     463             : 
     464             : #if SK3_ENABLED
     465             :     module procedure getSelectedCusCom_D1_SK3
     466             :         use pm_kind, only: SKC => SK3
     467             : #include "pm_arraySelect@routines.inc.F90"
     468             :     end procedure
     469             : #endif
     470             : 
     471             : #if SK2_ENABLED
     472             :     module procedure getSelectedCusCom_D1_SK2
     473             :         use pm_kind, only: SKC => SK2
     474             : #include "pm_arraySelect@routines.inc.F90"
     475             :     end procedure
     476             : #endif
     477             : 
     478             : #if SK1_ENABLED
     479          20 :     module procedure getSelectedCusCom_D1_SK1
     480             :         use pm_kind, only: SKC => SK1
     481             : #include "pm_arraySelect@routines.inc.F90"
     482             :     end procedure
     483             : #endif
     484             : 
     485             : #undef SK_ENABLED
     486             : 
     487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     488             : 
     489             : #define IK_ENABLED 1
     490             : 
     491             : #if IK5_ENABLED
     492          20 :     module procedure getSelectedCusCom_D1_IK5
     493             :         use pm_kind, only: IKC => IK5
     494             : #include "pm_arraySelect@routines.inc.F90"
     495             :     end procedure
     496             : #endif
     497             : 
     498             : #if IK4_ENABLED
     499          20 :     module procedure getSelectedCusCom_D1_IK4
     500             :         use pm_kind, only: IKC => IK4
     501             : #include "pm_arraySelect@routines.inc.F90"
     502             :     end procedure
     503             : #endif
     504             : 
     505             : #if IK3_ENABLED
     506          21 :     module procedure getSelectedCusCom_D1_IK3
     507             :         use pm_kind, only: IKC => IK3
     508             : #include "pm_arraySelect@routines.inc.F90"
     509             :     end procedure
     510             : #endif
     511             : 
     512             : #if IK2_ENABLED
     513          20 :     module procedure getSelectedCusCom_D1_IK2
     514             :         use pm_kind, only: IKC => IK2
     515             : #include "pm_arraySelect@routines.inc.F90"
     516             :     end procedure
     517             : #endif
     518             : 
     519             : #if IK1_ENABLED
     520          20 :     module procedure getSelectedCusCom_D1_IK1
     521             :         use pm_kind, only: IKC => IK1
     522             : #include "pm_arraySelect@routines.inc.F90"
     523             :     end procedure
     524             : #endif
     525             : 
     526             : #undef IK_ENABLED
     527             : 
     528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     529             : 
     530             : #define LK_ENABLED 1
     531             : 
     532             : #if LK5_ENABLED
     533          20 :     module procedure getSelectedCusCom_D1_LK5
     534             :         use pm_kind, only: LKC => LK5
     535             : #include "pm_arraySelect@routines.inc.F90"
     536             :     end procedure
     537             : #endif
     538             : 
     539             : #if LK4_ENABLED
     540          20 :     module procedure getSelectedCusCom_D1_LK4
     541             :         use pm_kind, only: LKC => LK4
     542             : #include "pm_arraySelect@routines.inc.F90"
     543             :     end procedure
     544             : #endif
     545             : 
     546             : #if LK3_ENABLED
     547          20 :     module procedure getSelectedCusCom_D1_LK3
     548             :         use pm_kind, only: LKC => LK3
     549             : #include "pm_arraySelect@routines.inc.F90"
     550             :     end procedure
     551             : #endif
     552             : 
     553             : #if LK2_ENABLED
     554          20 :     module procedure getSelectedCusCom_D1_LK2
     555             :         use pm_kind, only: LKC => LK2
     556             : #include "pm_arraySelect@routines.inc.F90"
     557             :     end procedure
     558             : #endif
     559             : 
     560             : #if LK1_ENABLED
     561          20 :     module procedure getSelectedCusCom_D1_LK1
     562             :         use pm_kind, only: LKC => LK1
     563             : #include "pm_arraySelect@routines.inc.F90"
     564             :     end procedure
     565             : #endif
     566             : 
     567             : #undef LK_ENABLED
     568             : 
     569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     570             : 
     571             : #define CK_ENABLED 1
     572             : 
     573             : #if CK5_ENABLED
     574             :     module procedure getSelectedCusCom_D1_CK5
     575             :         use pm_kind, only: CKC => CK5
     576             : #include "pm_arraySelect@routines.inc.F90"
     577             :     end procedure
     578             : #endif
     579             : 
     580             : #if CK4_ENABLED
     581          20 :     module procedure getSelectedCusCom_D1_CK4
     582             :         use pm_kind, only: CKC => CK4
     583             : #include "pm_arraySelect@routines.inc.F90"
     584             :     end procedure
     585             : #endif
     586             : 
     587             : #if CK3_ENABLED
     588          20 :     module procedure getSelectedCusCom_D1_CK3
     589             :         use pm_kind, only: CKC => CK3
     590             : #include "pm_arraySelect@routines.inc.F90"
     591             :     end procedure
     592             : #endif
     593             : 
     594             : #if CK2_ENABLED
     595          20 :     module procedure getSelectedCusCom_D1_CK2
     596             :         use pm_kind, only: CKC => CK2
     597             : #include "pm_arraySelect@routines.inc.F90"
     598             :     end procedure
     599             : #endif
     600             : 
     601             : #if CK1_ENABLED
     602          20 :     module procedure getSelectedCusCom_D1_CK1
     603             :         use pm_kind, only: CKC => CK1
     604             : #include "pm_arraySelect@routines.inc.F90"
     605             :     end procedure
     606             : #endif
     607             : 
     608             : #undef CK_ENABLED
     609             : 
     610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     611             : 
     612             : #define RK_ENABLED 1
     613             : 
     614             : #if RK5_ENABLED
     615             :     module procedure getSelectedCusCom_D1_RK5
     616             :         use pm_kind, only: RKC => RK5
     617             : #include "pm_arraySelect@routines.inc.F90"
     618             :     end procedure
     619             : #endif
     620             : 
     621             : #if RK4_ENABLED
     622          20 :     module procedure getSelectedCusCom_D1_RK4
     623             :         use pm_kind, only: RKC => RK4
     624             : #include "pm_arraySelect@routines.inc.F90"
     625             :     end procedure
     626             : #endif
     627             : 
     628             : #if RK3_ENABLED
     629          20 :     module procedure getSelectedCusCom_D1_RK3
     630             :         use pm_kind, only: RKC => RK3
     631             : #include "pm_arraySelect@routines.inc.F90"
     632             :     end procedure
     633             : #endif
     634             : 
     635             : #if RK2_ENABLED
     636          21 :     module procedure getSelectedCusCom_D1_RK2
     637             :         use pm_kind, only: RKC => RK2
     638             : #include "pm_arraySelect@routines.inc.F90"
     639             :     end procedure
     640             : #endif
     641             : 
     642             : #if RK1_ENABLED
     643          20 :     module procedure getSelectedCusCom_D1_RK1
     644             :         use pm_kind, only: RKC => RK1
     645             : #include "pm_arraySelect@routines.inc.F90"
     646             :     end procedure
     647             : #endif
     648             : 
     649             : #undef RK_ENABLED
     650             : 
     651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     652             : 
     653             : #if !__GFORTRAN__
     654             : #define PSSK_ENABLED 1
     655             : 
     656             : #if SK5_ENABLED
     657             :     module procedure getSelectedCusCom_D1_PSSK5
     658             :         use pm_kind, only: SKC => SK5
     659             : #include "pm_arraySelect@routines.inc.F90"
     660             :     end procedure
     661             : #endif
     662             : 
     663             : #if SK4_ENABLED
     664             :     module procedure getSelectedCusCom_D1_PSSK4
     665             :         use pm_kind, only: SKC => SK4
     666             : #include "pm_arraySelect@routines.inc.F90"
     667             :     end procedure
     668             : #endif
     669             : 
     670             : #if SK3_ENABLED
     671             :     module procedure getSelectedCusCom_D1_PSSK3
     672             :         use pm_kind, only: SKC => SK3
     673             : #include "pm_arraySelect@routines.inc.F90"
     674             :     end procedure
     675             : #endif
     676             : 
     677             : #if SK2_ENABLED
     678             :     module procedure getSelectedCusCom_D1_PSSK2
     679             :         use pm_kind, only: SKC => SK2
     680             : #include "pm_arraySelect@routines.inc.F90"
     681             :     end procedure
     682             : #endif
     683             : 
     684             : #if SK1_ENABLED
     685             :     module procedure getSelectedCusCom_D1_PSSK1
     686             :         use pm_kind, only: SKC => SK1
     687             : #include "pm_arraySelect@routines.inc.F90"
     688             :     end procedure
     689             : #endif
     690             : 
     691             : #undef PSSK_ENABLED
     692             : #endif
     693             : 
     694             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     695             : 
     696             : #define BSSK_ENABLED 1
     697           0 :     module procedure getSelectedCusCom_D1_BSSK
     698             :         use pm_kind, only: SKC => SK
     699             : #include "pm_arraySelect@routines.inc.F90"
     700           0 :     end procedure
     701             : #undef BSSK_ENABLED
     702             : 
     703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705             : #undef D1_ENABLED
     706             : 
     707             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     710             : 
     711             : #undef CusCom_ENABLED
     712             : 
     713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     716             : 
     717             : #undef getSelected_ENABLED
     718             : 
     719             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     720             : 
     721             : #define setSelected_ENABLED 1
     722             : 
     723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #define DefCom_ENABLED 1
     728             : 
     729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733             : #define D0_ENABLED 1
     734             : 
     735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     736             : 
     737             : #define SK_ENABLED 1
     738             : 
     739             : #if SK5_ENABLED
     740             :     module procedure setSelectedDefCom_D0_SK5
     741             :         use pm_kind, only: SKC => SK5
     742             : #include "pm_arraySelect@routines.inc.F90"
     743             :     end procedure
     744             : #endif
     745             : 
     746             : #if SK4_ENABLED
     747             :     module procedure setSelectedDefCom_D0_SK4
     748             :         use pm_kind, only: SKC => SK4
     749             : #include "pm_arraySelect@routines.inc.F90"
     750             :     end procedure
     751             : #endif
     752             : 
     753             : #if SK3_ENABLED
     754             :     module procedure setSelectedDefCom_D0_SK3
     755             :         use pm_kind, only: SKC => SK3
     756             : #include "pm_arraySelect@routines.inc.F90"
     757             :     end procedure
     758             : #endif
     759             : 
     760             : #if SK2_ENABLED
     761             :     module procedure setSelectedDefCom_D0_SK2
     762             :         use pm_kind, only: SKC => SK2
     763             : #include "pm_arraySelect@routines.inc.F90"
     764             :     end procedure
     765             : #endif
     766             : 
     767             : #if SK1_ENABLED
     768          21 :     module procedure setSelectedDefCom_D0_SK1
     769             :         use pm_kind, only: SKC => SK1
     770             : #include "pm_arraySelect@routines.inc.F90"
     771             :     end procedure
     772             : #endif
     773             : 
     774             : #undef SK_ENABLED
     775             : 
     776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     777             : 
     778             : #undef D0_ENABLED
     779             : 
     780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     782             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     783             : 
     784             : #define D1_ENABLED 1
     785             : 
     786             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     787             : 
     788             : #define SK_ENABLED 1
     789             : 
     790             : #if SK5_ENABLED
     791             :     module procedure setSelectedDefCom_D1_SK5
     792             :         use pm_kind, only: SKC => SK5
     793             : #include "pm_arraySelect@routines.inc.F90"
     794             :     end procedure
     795             : #endif
     796             : 
     797             : #if SK4_ENABLED
     798             :     module procedure setSelectedDefCom_D1_SK4
     799             :         use pm_kind, only: SKC => SK4
     800             : #include "pm_arraySelect@routines.inc.F90"
     801             :     end procedure
     802             : #endif
     803             : 
     804             : #if SK3_ENABLED
     805             :     module procedure setSelectedDefCom_D1_SK3
     806             :         use pm_kind, only: SKC => SK3
     807             : #include "pm_arraySelect@routines.inc.F90"
     808             :     end procedure
     809             : #endif
     810             : 
     811             : #if SK2_ENABLED
     812             :     module procedure setSelectedDefCom_D1_SK2
     813             :         use pm_kind, only: SKC => SK2
     814             : #include "pm_arraySelect@routines.inc.F90"
     815             :     end procedure
     816             : #endif
     817             : 
     818             : #if SK1_ENABLED
     819          20 :     module procedure setSelectedDefCom_D1_SK1
     820             :         use pm_kind, only: SKC => SK1
     821             : #include "pm_arraySelect@routines.inc.F90"
     822             :     end procedure
     823             : #endif
     824             : 
     825             : #undef SK_ENABLED
     826             : 
     827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     828             : 
     829             : #define IK_ENABLED 1
     830             : 
     831             : #if IK5_ENABLED
     832          20 :     module procedure setSelectedDefCom_D1_IK5
     833             :         use pm_kind, only: IKC => IK5
     834             : #include "pm_arraySelect@routines.inc.F90"
     835             :     end procedure
     836             : #endif
     837             : 
     838             : #if IK4_ENABLED
     839          20 :     module procedure setSelectedDefCom_D1_IK4
     840             :         use pm_kind, only: IKC => IK4
     841             : #include "pm_arraySelect@routines.inc.F90"
     842             :     end procedure
     843             : #endif
     844             : 
     845             : #if IK3_ENABLED
     846          20 :     module procedure setSelectedDefCom_D1_IK3
     847             :         use pm_kind, only: IKC => IK3
     848             : #include "pm_arraySelect@routines.inc.F90"
     849             :     end procedure
     850             : #endif
     851             : 
     852             : #if IK2_ENABLED
     853          19 :     module procedure setSelectedDefCom_D1_IK2
     854             :         use pm_kind, only: IKC => IK2
     855             : #include "pm_arraySelect@routines.inc.F90"
     856             :     end procedure
     857             : #endif
     858             : 
     859             : #if IK1_ENABLED
     860          24 :     module procedure setSelectedDefCom_D1_IK1
     861             :         use pm_kind, only: IKC => IK1
     862             : #include "pm_arraySelect@routines.inc.F90"
     863             :     end procedure
     864             : #endif
     865             : 
     866             : #undef IK_ENABLED
     867             : 
     868             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     869             : 
     870             : #define LK_ENABLED 1
     871             : 
     872             : #if LK5_ENABLED
     873          19 :     module procedure setSelectedDefCom_D1_LK5
     874             :         use pm_kind, only: LKC => LK5
     875             : #include "pm_arraySelect@routines.inc.F90"
     876             :     end procedure
     877             : #endif
     878             : 
     879             : #if LK4_ENABLED
     880          19 :     module procedure setSelectedDefCom_D1_LK4
     881             :         use pm_kind, only: LKC => LK4
     882             : #include "pm_arraySelect@routines.inc.F90"
     883             :     end procedure
     884             : #endif
     885             : 
     886             : #if LK3_ENABLED
     887          19 :     module procedure setSelectedDefCom_D1_LK3
     888             :         use pm_kind, only: LKC => LK3
     889             : #include "pm_arraySelect@routines.inc.F90"
     890             :     end procedure
     891             : #endif
     892             : 
     893             : #if LK2_ENABLED
     894          19 :     module procedure setSelectedDefCom_D1_LK2
     895             :         use pm_kind, only: LKC => LK2
     896             : #include "pm_arraySelect@routines.inc.F90"
     897             :     end procedure
     898             : #endif
     899             : 
     900             : #if LK1_ENABLED
     901          19 :     module procedure setSelectedDefCom_D1_LK1
     902             :         use pm_kind, only: LKC => LK1
     903             : #include "pm_arraySelect@routines.inc.F90"
     904             :     end procedure
     905             : #endif
     906             : 
     907             : #undef LK_ENABLED
     908             : 
     909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     910             : 
     911             : #define CK_ENABLED 1
     912             : 
     913             : #if CK5_ENABLED
     914             :     module procedure setSelectedDefCom_D1_CK5
     915             :         use pm_kind, only: CKC => CK5
     916             : #include "pm_arraySelect@routines.inc.F90"
     917             :     end procedure
     918             : #endif
     919             : 
     920             : #if CK4_ENABLED
     921          19 :     module procedure setSelectedDefCom_D1_CK4
     922             :         use pm_kind, only: CKC => CK4
     923             : #include "pm_arraySelect@routines.inc.F90"
     924             :     end procedure
     925             : #endif
     926             : 
     927             : #if CK3_ENABLED
     928          19 :     module procedure setSelectedDefCom_D1_CK3
     929             :         use pm_kind, only: CKC => CK3
     930             : #include "pm_arraySelect@routines.inc.F90"
     931             :     end procedure
     932             : #endif
     933             : 
     934             : #if CK2_ENABLED
     935          19 :     module procedure setSelectedDefCom_D1_CK2
     936             :         use pm_kind, only: CKC => CK2
     937             : #include "pm_arraySelect@routines.inc.F90"
     938             :     end procedure
     939             : #endif
     940             : 
     941             : #if CK1_ENABLED
     942          19 :     module procedure setSelectedDefCom_D1_CK1
     943             :         use pm_kind, only: CKC => CK1
     944             : #include "pm_arraySelect@routines.inc.F90"
     945             :     end procedure
     946             : #endif
     947             : 
     948             : #undef CK_ENABLED
     949             : 
     950             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     951             : 
     952             : #define RK_ENABLED 1
     953             : 
     954             : #if RK5_ENABLED
     955             :     module procedure setSelectedDefCom_D1_RK5
     956             :         use pm_kind, only: RKC => RK5
     957             : #include "pm_arraySelect@routines.inc.F90"
     958             :     end procedure
     959             : #endif
     960             : 
     961             : #if RK4_ENABLED
     962          20 :     module procedure setSelectedDefCom_D1_RK4
     963             :         use pm_kind, only: RKC => RK4
     964             : #include "pm_arraySelect@routines.inc.F90"
     965             :     end procedure
     966             : #endif
     967             : 
     968             : #if RK3_ENABLED
     969          19 :     module procedure setSelectedDefCom_D1_RK3
     970             :         use pm_kind, only: RKC => RK3
     971             : #include "pm_arraySelect@routines.inc.F90"
     972             :     end procedure
     973             : #endif
     974             : 
     975             : #if RK2_ENABLED
     976          20 :     module procedure setSelectedDefCom_D1_RK2
     977             :         use pm_kind, only: RKC => RK2
     978             : #include "pm_arraySelect@routines.inc.F90"
     979             :     end procedure
     980             : #endif
     981             : 
     982             : #if RK1_ENABLED
     983         119 :     module procedure setSelectedDefCom_D1_RK1
     984             :         use pm_kind, only: RKC => RK1
     985             : #include "pm_arraySelect@routines.inc.F90"
     986             :     end procedure
     987             : #endif
     988             : 
     989             : #undef RK_ENABLED
     990             : 
     991             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     992             : 
     993             : #if !__GFORTRAN__
     994             : #define PSSK_ENABLED 1
     995             : 
     996             : #if SK5_ENABLED
     997             :     module procedure setSelectedDefCom_D1_PSSK5
     998             :         use pm_kind, only: SKC => SK5
     999             : #include "pm_arraySelect@routines.inc.F90"
    1000             :     end procedure
    1001             : #endif
    1002             : 
    1003             : #if SK4_ENABLED
    1004             :     module procedure setSelectedDefCom_D1_PSSK4
    1005             :         use pm_kind, only: SKC => SK4
    1006             : #include "pm_arraySelect@routines.inc.F90"
    1007             :     end procedure
    1008             : #endif
    1009             : 
    1010             : #if SK3_ENABLED
    1011             :     module procedure setSelectedDefCom_D1_PSSK3
    1012             :         use pm_kind, only: SKC => SK3
    1013             : #include "pm_arraySelect@routines.inc.F90"
    1014             :     end procedure
    1015             : #endif
    1016             : 
    1017             : #if SK2_ENABLED
    1018             :     module procedure setSelectedDefCom_D1_PSSK2
    1019             :         use pm_kind, only: SKC => SK2
    1020             : #include "pm_arraySelect@routines.inc.F90"
    1021             :     end procedure
    1022             : #endif
    1023             : 
    1024             : #if SK1_ENABLED
    1025             :     module procedure setSelectedDefCom_D1_PSSK1
    1026             :         use pm_kind, only: SKC => SK1
    1027             : #include "pm_arraySelect@routines.inc.F90"
    1028             :     end procedure
    1029             : #endif
    1030             : 
    1031             : #undef PSSK_ENABLED
    1032             : #endif
    1033             : 
    1034             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1035             : 
    1036             : #define BSSK_ENABLED 1
    1037           0 :     module procedure setSelectedDefCom_D1_BSSK
    1038             :         use pm_kind, only: SKC => SK
    1039             : #include "pm_arraySelect@routines.inc.F90"
    1040           0 :     end procedure
    1041             : #undef BSSK_ENABLED
    1042             : 
    1043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1044             : 
    1045             : #undef D1_ENABLED
    1046             : 
    1047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1050             : 
    1051             : #undef DefCom_ENABLED
    1052             : 
    1053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1056             : 
    1057             : #define CusCom_ENABLED 1
    1058             : 
    1059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1062             : 
    1063             : #define D0_ENABLED 1
    1064             : 
    1065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1066             : 
    1067             : #define SK_ENABLED 1
    1068             : 
    1069             : #if SK5_ENABLED
    1070             :     module procedure setSelectedCusCom_D0_SK5
    1071             :         use pm_kind, only: SKC => SK5
    1072             : #include "pm_arraySelect@routines.inc.F90"
    1073             :     end procedure
    1074             : #endif
    1075             : 
    1076             : #if SK4_ENABLED
    1077             :     module procedure setSelectedCusCom_D0_SK4
    1078             :         use pm_kind, only: SKC => SK4
    1079             : #include "pm_arraySelect@routines.inc.F90"
    1080             :     end procedure
    1081             : #endif
    1082             : 
    1083             : #if SK3_ENABLED
    1084             :     module procedure setSelectedCusCom_D0_SK3
    1085             :         use pm_kind, only: SKC => SK3
    1086             : #include "pm_arraySelect@routines.inc.F90"
    1087             :     end procedure
    1088             : #endif
    1089             : 
    1090             : #if SK2_ENABLED
    1091             :     module procedure setSelectedCusCom_D0_SK2
    1092             :         use pm_kind, only: SKC => SK2
    1093             : #include "pm_arraySelect@routines.inc.F90"
    1094             :     end procedure
    1095             : #endif
    1096             : 
    1097             : #if SK1_ENABLED
    1098          21 :     module procedure setSelectedCusCom_D0_SK1
    1099             :         use pm_kind, only: SKC => SK1
    1100             : #include "pm_arraySelect@routines.inc.F90"
    1101             :     end procedure
    1102             : #endif
    1103             : 
    1104             : #undef SK_ENABLED
    1105             : 
    1106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1107             : 
    1108             : #undef D0_ENABLED
    1109             : 
    1110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1113             : 
    1114             : #define D1_ENABLED 1
    1115             : 
    1116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1117             : 
    1118             : #define SK_ENABLED 1
    1119             : 
    1120             : #if SK5_ENABLED
    1121             :     module procedure setSelectedCusCom_D1_SK5
    1122             :         use pm_kind, only: SKC => SK5
    1123             : #include "pm_arraySelect@routines.inc.F90"
    1124             :     end procedure
    1125             : #endif
    1126             : 
    1127             : #if SK4_ENABLED
    1128             :     module procedure setSelectedCusCom_D1_SK4
    1129             :         use pm_kind, only: SKC => SK4
    1130             : #include "pm_arraySelect@routines.inc.F90"
    1131             :     end procedure
    1132             : #endif
    1133             : 
    1134             : #if SK3_ENABLED
    1135             :     module procedure setSelectedCusCom_D1_SK3
    1136             :         use pm_kind, only: SKC => SK3
    1137             : #include "pm_arraySelect@routines.inc.F90"
    1138             :     end procedure
    1139             : #endif
    1140             : 
    1141             : #if SK2_ENABLED
    1142             :     module procedure setSelectedCusCom_D1_SK2
    1143             :         use pm_kind, only: SKC => SK2
    1144             : #include "pm_arraySelect@routines.inc.F90"
    1145             :     end procedure
    1146             : #endif
    1147             : 
    1148             : #if SK1_ENABLED
    1149          20 :     module procedure setSelectedCusCom_D1_SK1
    1150             :         use pm_kind, only: SKC => SK1
    1151             : #include "pm_arraySelect@routines.inc.F90"
    1152             :     end procedure
    1153             : #endif
    1154             : 
    1155             : #undef SK_ENABLED
    1156             : 
    1157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1158             : 
    1159             : #define IK_ENABLED 1
    1160             : 
    1161             : #if IK5_ENABLED
    1162          20 :     module procedure setSelectedCusCom_D1_IK5
    1163             :         use pm_kind, only: IKC => IK5
    1164             : #include "pm_arraySelect@routines.inc.F90"
    1165             :     end procedure
    1166             : #endif
    1167             : 
    1168             : #if IK4_ENABLED
    1169          20 :     module procedure setSelectedCusCom_D1_IK4
    1170             :         use pm_kind, only: IKC => IK4
    1171             : #include "pm_arraySelect@routines.inc.F90"
    1172             :     end procedure
    1173             : #endif
    1174             : 
    1175             : #if IK3_ENABLED
    1176          20 :     module procedure setSelectedCusCom_D1_IK3
    1177             :         use pm_kind, only: IKC => IK3
    1178             : #include "pm_arraySelect@routines.inc.F90"
    1179             :     end procedure
    1180             : #endif
    1181             : 
    1182             : #if IK2_ENABLED
    1183          20 :     module procedure setSelectedCusCom_D1_IK2
    1184             :         use pm_kind, only: IKC => IK2
    1185             : #include "pm_arraySelect@routines.inc.F90"
    1186             :     end procedure
    1187             : #endif
    1188             : 
    1189             : #if IK1_ENABLED
    1190          21 :     module procedure setSelectedCusCom_D1_IK1
    1191             :         use pm_kind, only: IKC => IK1
    1192             : #include "pm_arraySelect@routines.inc.F90"
    1193             :     end procedure
    1194             : #endif
    1195             : 
    1196             : #undef IK_ENABLED
    1197             : 
    1198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1199             : 
    1200             : #define LK_ENABLED 1
    1201             : 
    1202             : #if LK5_ENABLED
    1203          20 :     module procedure setSelectedCusCom_D1_LK5
    1204             :         use pm_kind, only: LKC => LK5
    1205             : #include "pm_arraySelect@routines.inc.F90"
    1206             :     end procedure
    1207             : #endif
    1208             : 
    1209             : #if LK4_ENABLED
    1210          20 :     module procedure setSelectedCusCom_D1_LK4
    1211             :         use pm_kind, only: LKC => LK4
    1212             : #include "pm_arraySelect@routines.inc.F90"
    1213             :     end procedure
    1214             : #endif
    1215             : 
    1216             : #if LK3_ENABLED
    1217          20 :     module procedure setSelectedCusCom_D1_LK3
    1218             :         use pm_kind, only: LKC => LK3
    1219             : #include "pm_arraySelect@routines.inc.F90"
    1220             :     end procedure
    1221             : #endif
    1222             : 
    1223             : #if LK2_ENABLED
    1224          20 :     module procedure setSelectedCusCom_D1_LK2
    1225             :         use pm_kind, only: LKC => LK2
    1226             : #include "pm_arraySelect@routines.inc.F90"
    1227             :     end procedure
    1228             : #endif
    1229             : 
    1230             : #if LK1_ENABLED
    1231          20 :     module procedure setSelectedCusCom_D1_LK1
    1232             :         use pm_kind, only: LKC => LK1
    1233             : #include "pm_arraySelect@routines.inc.F90"
    1234             :     end procedure
    1235             : #endif
    1236             : 
    1237             : #undef LK_ENABLED
    1238             : 
    1239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1240             : 
    1241             : #define CK_ENABLED 1
    1242             : 
    1243             : #if CK5_ENABLED
    1244             :     module procedure setSelectedCusCom_D1_CK5
    1245             :         use pm_kind, only: CKC => CK5
    1246             : #include "pm_arraySelect@routines.inc.F90"
    1247             :     end procedure
    1248             : #endif
    1249             : 
    1250             : #if CK4_ENABLED
    1251          20 :     module procedure setSelectedCusCom_D1_CK4
    1252             :         use pm_kind, only: CKC => CK4
    1253             : #include "pm_arraySelect@routines.inc.F90"
    1254             :     end procedure
    1255             : #endif
    1256             : 
    1257             : #if CK3_ENABLED
    1258          20 :     module procedure setSelectedCusCom_D1_CK3
    1259             :         use pm_kind, only: CKC => CK3
    1260             : #include "pm_arraySelect@routines.inc.F90"
    1261             :     end procedure
    1262             : #endif
    1263             : 
    1264             : #if CK2_ENABLED
    1265          20 :     module procedure setSelectedCusCom_D1_CK2
    1266             :         use pm_kind, only: CKC => CK2
    1267             : #include "pm_arraySelect@routines.inc.F90"
    1268             :     end procedure
    1269             : #endif
    1270             : 
    1271             : #if CK1_ENABLED
    1272          20 :     module procedure setSelectedCusCom_D1_CK1
    1273             :         use pm_kind, only: CKC => CK1
    1274             : #include "pm_arraySelect@routines.inc.F90"
    1275             :     end procedure
    1276             : #endif
    1277             : 
    1278             : #undef CK_ENABLED
    1279             : 
    1280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1281             : 
    1282             : #define RK_ENABLED 1
    1283             : 
    1284             : #if RK5_ENABLED
    1285             :     module procedure setSelectedCusCom_D1_RK5
    1286             :         use pm_kind, only: RKC => RK5
    1287             : #include "pm_arraySelect@routines.inc.F90"
    1288             :     end procedure
    1289             : #endif
    1290             : 
    1291             : #if RK4_ENABLED
    1292          20 :     module procedure setSelectedCusCom_D1_RK4
    1293             :         use pm_kind, only: RKC => RK4
    1294             : #include "pm_arraySelect@routines.inc.F90"
    1295             :     end procedure
    1296             : #endif
    1297             : 
    1298             : #if RK3_ENABLED
    1299          20 :     module procedure setSelectedCusCom_D1_RK3
    1300             :         use pm_kind, only: RKC => RK3
    1301             : #include "pm_arraySelect@routines.inc.F90"
    1302             :     end procedure
    1303             : #endif
    1304             : 
    1305             : #if RK2_ENABLED
    1306          20 :     module procedure setSelectedCusCom_D1_RK2
    1307             :         use pm_kind, only: RKC => RK2
    1308             : #include "pm_arraySelect@routines.inc.F90"
    1309             :     end procedure
    1310             : #endif
    1311             : 
    1312             : #if RK1_ENABLED
    1313          21 :     module procedure setSelectedCusCom_D1_RK1
    1314             :         use pm_kind, only: RKC => RK1
    1315             : #include "pm_arraySelect@routines.inc.F90"
    1316             :     end procedure
    1317             : #endif
    1318             : 
    1319             : #undef RK_ENABLED
    1320             : 
    1321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1322             : 
    1323             : #if !__GFORTRAN__
    1324             : #define PSSK_ENABLED 1
    1325             : 
    1326             : #if SK5_ENABLED
    1327             :     module procedure setSelectedCusCom_D1_PSSK5
    1328             :         use pm_kind, only: SKC => SK5
    1329             : #include "pm_arraySelect@routines.inc.F90"
    1330             :     end procedure
    1331             : #endif
    1332             : 
    1333             : #if SK4_ENABLED
    1334             :     module procedure setSelectedCusCom_D1_PSSK4
    1335             :         use pm_kind, only: SKC => SK4
    1336             : #include "pm_arraySelect@routines.inc.F90"
    1337             :     end procedure
    1338             : #endif
    1339             : 
    1340             : #if SK3_ENABLED
    1341             :     module procedure setSelectedCusCom_D1_PSSK3
    1342             :         use pm_kind, only: SKC => SK3
    1343             : #include "pm_arraySelect@routines.inc.F90"
    1344             :     end procedure
    1345             : #endif
    1346             : 
    1347             : #if SK2_ENABLED
    1348             :     module procedure setSelectedCusCom_D1_PSSK2
    1349             :         use pm_kind, only: SKC => SK2
    1350             : #include "pm_arraySelect@routines.inc.F90"
    1351             :     end procedure
    1352             : #endif
    1353             : 
    1354             : #if SK1_ENABLED
    1355             :     module procedure setSelectedCusCom_D1_PSSK1
    1356             :         use pm_kind, only: SKC => SK1
    1357             : #include "pm_arraySelect@routines.inc.F90"
    1358             :     end procedure
    1359             : #endif
    1360             : 
    1361             : #undef PSSK_ENABLED
    1362             : #endif
    1363             : 
    1364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1365             : 
    1366             : #define BSSK_ENABLED 1
    1367           0 :     module procedure setSelectedCusCom_D1_BSSK
    1368             :         use pm_kind, only: SKC => SK
    1369             : #include "pm_arraySelect@routines.inc.F90"
    1370           0 :     end procedure
    1371             : #undef BSSK_ENABLED
    1372             : 
    1373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1374             : 
    1375             : #undef D1_ENABLED
    1376             : 
    1377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381             : #undef CusCom_ENABLED
    1382             : 
    1383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1386             : 
    1387             : #undef setSelected_ENABLED
    1388             : 
    1389             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1390             : 
    1391             : #undef CHECK_ASSERTION
    1392             : 
    1393             : end submodule routines

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