https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayRebind@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 351 351 100.0 %
Date: 2024-04-08 03:18:57 Functions: 171 171 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_arrayRebind](@ref pm_arrayRebind).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayRebind) 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             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define setRebound_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define SDDD_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : #define D1_ENABLED 1
      60             : 
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define SK_ENABLED 1
      64             : 
      65             : #if SK5_ENABLED
      66             :     module procedure setReboundSDDD_D1_SK5
      67             :         use pm_kind, only: SKC => SK5
      68             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
      69             : #include "pm_arrayResize@routines.inc.F90"
      70             :     end procedure
      71             : #endif
      72             : 
      73             : #if SK4_ENABLED
      74             :     module procedure setReboundSDDD_D1_SK4
      75             :         use pm_kind, only: SKC => SK4
      76             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
      77             : #include "pm_arrayResize@routines.inc.F90"
      78             :     end procedure
      79             : #endif
      80             : 
      81             : #if SK3_ENABLED
      82             :     module procedure setReboundSDDD_D1_SK3
      83             :         use pm_kind, only: SKC => SK3
      84             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
      85             : #include "pm_arrayResize@routines.inc.F90"
      86             :     end procedure
      87             : #endif
      88             : 
      89             : #if SK2_ENABLED
      90             :     module procedure setReboundSDDD_D1_SK2
      91             :         use pm_kind, only: SKC => SK2
      92             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
      93             : #include "pm_arrayResize@routines.inc.F90"
      94             :     end procedure
      95             : #endif
      96             : 
      97             : #if SK1_ENABLED
      98         161 :     module procedure setReboundSDDD_D1_SK1
      99             :         use pm_kind, only: SKC => SK1
     100         161 :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     101             : #include "pm_arrayResize@routines.inc.F90"
     102         161 :     end procedure
     103             : #endif
     104             : 
     105             : #undef SK_ENABLED
     106             : 
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             : 
     109             : #define IK_ENABLED 1
     110             : 
     111             : #if IK5_ENABLED
     112         150 :     module procedure setReboundSDDD_D1_IK5
     113             :         use pm_kind, only: IKC => IK5
     114             :         integer(IKC), allocatable :: Temp(:)
     115             : #include "pm_arrayResize@routines.inc.F90"
     116         150 :     end procedure
     117             : #endif
     118             : 
     119             : #if IK4_ENABLED
     120         157 :     module procedure setReboundSDDD_D1_IK4
     121             :         use pm_kind, only: IKC => IK4
     122             :         integer(IKC), allocatable :: Temp(:)
     123             : #include "pm_arrayResize@routines.inc.F90"
     124         157 :     end procedure
     125             : #endif
     126             : 
     127             : #if IK3_ENABLED
     128         196 :     module procedure setReboundSDDD_D1_IK3
     129             :         use pm_kind, only: IKC => IK3
     130             :         integer(IKC), allocatable :: Temp(:)
     131             : #include "pm_arrayResize@routines.inc.F90"
     132         196 :     end procedure
     133             : #endif
     134             : 
     135             : #if IK2_ENABLED
     136         152 :     module procedure setReboundSDDD_D1_IK2
     137             :         use pm_kind, only: IKC => IK2
     138             :         integer(IKC), allocatable :: Temp(:)
     139             : #include "pm_arrayResize@routines.inc.F90"
     140         152 :     end procedure
     141             : #endif
     142             : 
     143             : #if IK1_ENABLED
     144         165 :     module procedure setReboundSDDD_D1_IK1
     145             :         use pm_kind, only: IKC => IK1
     146             :         integer(IKC), allocatable :: Temp(:)
     147             : #include "pm_arrayResize@routines.inc.F90"
     148         165 :     end procedure
     149             : #endif
     150             : 
     151             : #undef IK_ENABLED
     152             : 
     153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     154             : 
     155             : #define LK_ENABLED 1
     156             : 
     157             : #if LK5_ENABLED
     158         152 :     module procedure setReboundSDDD_D1_LK5
     159             :         use pm_kind, only: LKC => LK5
     160             :         logical(LKC), allocatable :: Temp(:)
     161             : #include "pm_arrayResize@routines.inc.F90"
     162         152 :     end procedure
     163             : #endif
     164             : 
     165             : #if LK4_ENABLED
     166         136 :     module procedure setReboundSDDD_D1_LK4
     167             :         use pm_kind, only: LKC => LK4
     168             :         logical(LKC), allocatable :: Temp(:)
     169             : #include "pm_arrayResize@routines.inc.F90"
     170         136 :     end procedure
     171             : #endif
     172             : 
     173             : #if LK3_ENABLED
     174         155 :     module procedure setReboundSDDD_D1_LK3
     175             :         use pm_kind, only: LKC => LK3
     176             :         logical(LKC), allocatable :: Temp(:)
     177             : #include "pm_arrayResize@routines.inc.F90"
     178         155 :     end procedure
     179             : #endif
     180             : 
     181             : #if LK2_ENABLED
     182         167 :     module procedure setReboundSDDD_D1_LK2
     183             :         use pm_kind, only: LKC => LK2
     184             :         logical(LKC), allocatable :: Temp(:)
     185             : #include "pm_arrayResize@routines.inc.F90"
     186         167 :     end procedure
     187             : #endif
     188             : 
     189             : #if LK1_ENABLED
     190         133 :     module procedure setReboundSDDD_D1_LK1
     191             :         use pm_kind, only: LKC => LK1
     192             :         logical(LKC), allocatable :: Temp(:)
     193             : #include "pm_arrayResize@routines.inc.F90"
     194         133 :     end procedure
     195             : #endif
     196             : 
     197             : #undef LK_ENABLED
     198             : 
     199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     200             : 
     201             : #define CK_ENABLED 1
     202             : 
     203             : #if CK5_ENABLED
     204             :     module procedure setReboundSDDD_D1_CK5
     205             :         use pm_kind, only: CKC => CK5
     206             :         complex(CKC), allocatable :: Temp(:)
     207             : #include "pm_arrayResize@routines.inc.F90"
     208             :     end procedure
     209             : #endif
     210             : 
     211             : #if CK4_ENABLED
     212         144 :     module procedure setReboundSDDD_D1_CK4
     213             :         use pm_kind, only: CKC => CK4
     214             :         complex(CKC), allocatable :: Temp(:)
     215             : #include "pm_arrayResize@routines.inc.F90"
     216         144 :     end procedure
     217             : #endif
     218             : 
     219             : #if CK3_ENABLED
     220         132 :     module procedure setReboundSDDD_D1_CK3
     221             :         use pm_kind, only: CKC => CK3
     222             :         complex(CKC), allocatable :: Temp(:)
     223             : #include "pm_arrayResize@routines.inc.F90"
     224         132 :     end procedure
     225             : #endif
     226             : 
     227             : #if CK2_ENABLED
     228         144 :     module procedure setReboundSDDD_D1_CK2
     229             :         use pm_kind, only: CKC => CK2
     230             :         complex(CKC), allocatable :: Temp(:)
     231             : #include "pm_arrayResize@routines.inc.F90"
     232         144 :     end procedure
     233             : #endif
     234             : 
     235             : #if CK1_ENABLED
     236         156 :     module procedure setReboundSDDD_D1_CK1
     237             :         use pm_kind, only: CKC => CK1
     238             :         complex(CKC), allocatable :: Temp(:)
     239             : #include "pm_arrayResize@routines.inc.F90"
     240         156 :     end procedure
     241             : #endif
     242             : 
     243             : #undef CK_ENABLED
     244             : 
     245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     246             : 
     247             : #define RK_ENABLED 1
     248             : 
     249             : #if RK5_ENABLED
     250             :     module procedure setReboundSDDD_D1_RK5
     251             :         use pm_kind, only: RKC => RK5
     252             :         real(RKC), allocatable :: Temp(:)
     253             : #include "pm_arrayResize@routines.inc.F90"
     254             :     end procedure
     255             : #endif
     256             : 
     257             : #if RK4_ENABLED
     258         162 :     module procedure setReboundSDDD_D1_RK4
     259             :         use pm_kind, only: RKC => RK4
     260             :         real(RKC), allocatable :: Temp(:)
     261             : #include "pm_arrayResize@routines.inc.F90"
     262         162 :     end procedure
     263             : #endif
     264             : 
     265             : #if RK3_ENABLED
     266         145 :     module procedure setReboundSDDD_D1_RK3
     267             :         use pm_kind, only: RKC => RK3
     268             :         real(RKC), allocatable :: Temp(:)
     269             : #include "pm_arrayResize@routines.inc.F90"
     270         145 :     end procedure
     271             : #endif
     272             : 
     273             : #if RK2_ENABLED
     274         141 :     module procedure setReboundSDDD_D1_RK2
     275             :         use pm_kind, only: RKC => RK2
     276             :         real(RKC), allocatable :: Temp(:)
     277             : #include "pm_arrayResize@routines.inc.F90"
     278         141 :     end procedure
     279             : #endif
     280             : 
     281             : #if RK1_ENABLED
     282         159 :     module procedure setReboundSDDD_D1_RK1
     283             :         use pm_kind, only: RKC => RK1
     284             :         real(RKC), allocatable :: Temp(:)
     285             : #include "pm_arrayResize@routines.inc.F90"
     286         159 :     end procedure
     287             : #endif
     288             : 
     289             : #undef RK_ENABLED
     290             : 
     291             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     292             : 
     293             : #undef D1_ENABLED
     294             : 
     295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     296             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     298             : 
     299             : #define D2_ENABLED 1
     300             : 
     301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     302             : 
     303             : #define SK_ENABLED 1
     304             : 
     305             : #if SK5_ENABLED
     306             :     module procedure setReboundSDDD_D2_SK5
     307             :         use pm_kind, only: SKC => SK5
     308             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
     309             : #include "pm_arrayResize@routines.inc.F90"
     310             :     end procedure
     311             : #endif
     312             : 
     313             : #if SK4_ENABLED
     314             :     module procedure setReboundSDDD_D2_SK4
     315             :         use pm_kind, only: SKC => SK4
     316             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
     317             : #include "pm_arrayResize@routines.inc.F90"
     318             :     end procedure
     319             : #endif
     320             : 
     321             : #if SK3_ENABLED
     322             :     module procedure setReboundSDDD_D2_SK3
     323             :         use pm_kind, only: SKC => SK3
     324             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
     325             : #include "pm_arrayResize@routines.inc.F90"
     326             :     end procedure
     327             : #endif
     328             : 
     329             : #if SK2_ENABLED
     330             :     module procedure setReboundSDDD_D2_SK2
     331             :         use pm_kind, only: SKC => SK2
     332             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
     333             : #include "pm_arrayResize@routines.inc.F90"
     334             :     end procedure
     335             : #endif
     336             : 
     337             : #if SK1_ENABLED
     338          56 :     module procedure setReboundSDDD_D2_SK1
     339             :         use pm_kind, only: SKC => SK1
     340          56 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
     341             : #include "pm_arrayResize@routines.inc.F90"
     342          56 :     end procedure
     343             : #endif
     344             : 
     345             : #undef SK_ENABLED
     346             : 
     347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     348             : 
     349             : #define IK_ENABLED 1
     350             : 
     351             : #if IK5_ENABLED
     352          53 :     module procedure setReboundSDDD_D2_IK5
     353             :         use pm_kind, only: IKC => IK5
     354             :         integer(IKC), allocatable :: Temp(:,:)
     355             : #include "pm_arrayResize@routines.inc.F90"
     356          53 :     end procedure
     357             : #endif
     358             : 
     359             : #if IK4_ENABLED
     360          56 :     module procedure setReboundSDDD_D2_IK4
     361             :         use pm_kind, only: IKC => IK4
     362             :         integer(IKC), allocatable :: Temp(:,:)
     363             : #include "pm_arrayResize@routines.inc.F90"
     364          56 :     end procedure
     365             : #endif
     366             : 
     367             : #if IK3_ENABLED
     368          53 :     module procedure setReboundSDDD_D2_IK3
     369             :         use pm_kind, only: IKC => IK3
     370             :         integer(IKC), allocatable :: Temp(:,:)
     371             : #include "pm_arrayResize@routines.inc.F90"
     372          53 :     end procedure
     373             : #endif
     374             : 
     375             : #if IK2_ENABLED
     376          52 :     module procedure setReboundSDDD_D2_IK2
     377             :         use pm_kind, only: IKC => IK2
     378             :         integer(IKC), allocatable :: Temp(:,:)
     379             : #include "pm_arrayResize@routines.inc.F90"
     380          52 :     end procedure
     381             : #endif
     382             : 
     383             : #if IK1_ENABLED
     384          63 :     module procedure setReboundSDDD_D2_IK1
     385             :         use pm_kind, only: IKC => IK1
     386             :         integer(IKC), allocatable :: Temp(:,:)
     387             : #include "pm_arrayResize@routines.inc.F90"
     388          63 :     end procedure
     389             : #endif
     390             : 
     391             : #undef IK_ENABLED
     392             : 
     393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     394             : 
     395             : #define LK_ENABLED 1
     396             : 
     397             : #if LK5_ENABLED
     398          42 :     module procedure setReboundSDDD_D2_LK5
     399             :         use pm_kind, only: LKC => LK5
     400             :         logical(LKC), allocatable :: Temp(:,:)
     401             : #include "pm_arrayResize@routines.inc.F90"
     402          42 :     end procedure
     403             : #endif
     404             : 
     405             : #if LK4_ENABLED
     406          55 :     module procedure setReboundSDDD_D2_LK4
     407             :         use pm_kind, only: LKC => LK4
     408             :         logical(LKC), allocatable :: Temp(:,:)
     409             : #include "pm_arrayResize@routines.inc.F90"
     410          55 :     end procedure
     411             : #endif
     412             : 
     413             : #if LK3_ENABLED
     414          60 :     module procedure setReboundSDDD_D2_LK3
     415             :         use pm_kind, only: LKC => LK3
     416             :         logical(LKC), allocatable :: Temp(:,:)
     417             : #include "pm_arrayResize@routines.inc.F90"
     418          60 :     end procedure
     419             : #endif
     420             : 
     421             : #if LK2_ENABLED
     422          51 :     module procedure setReboundSDDD_D2_LK2
     423             :         use pm_kind, only: LKC => LK2
     424             :         logical(LKC), allocatable :: Temp(:,:)
     425             : #include "pm_arrayResize@routines.inc.F90"
     426          51 :     end procedure
     427             : #endif
     428             : 
     429             : #if LK1_ENABLED
     430          56 :     module procedure setReboundSDDD_D2_LK1
     431             :         use pm_kind, only: LKC => LK1
     432             :         logical(LKC), allocatable :: Temp(:,:)
     433             : #include "pm_arrayResize@routines.inc.F90"
     434          56 :     end procedure
     435             : #endif
     436             : 
     437             : #undef LK_ENABLED
     438             : 
     439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     440             : 
     441             : #define CK_ENABLED 1
     442             : 
     443             : #if CK5_ENABLED
     444             :     module procedure setReboundSDDD_D2_CK5
     445             :         use pm_kind, only: CKC => CK5
     446             :         complex(CKC), allocatable :: Temp(:,:)
     447             : #include "pm_arrayResize@routines.inc.F90"
     448             :     end procedure
     449             : #endif
     450             : 
     451             : #if CK4_ENABLED
     452          55 :     module procedure setReboundSDDD_D2_CK4
     453             :         use pm_kind, only: CKC => CK4
     454             :         complex(CKC), allocatable :: Temp(:,:)
     455             : #include "pm_arrayResize@routines.inc.F90"
     456          55 :     end procedure
     457             : #endif
     458             : 
     459             : #if CK3_ENABLED
     460          55 :     module procedure setReboundSDDD_D2_CK3
     461             :         use pm_kind, only: CKC => CK3
     462             :         complex(CKC), allocatable :: Temp(:,:)
     463             : #include "pm_arrayResize@routines.inc.F90"
     464          55 :     end procedure
     465             : #endif
     466             : 
     467             : #if CK2_ENABLED
     468          62 :     module procedure setReboundSDDD_D2_CK2
     469             :         use pm_kind, only: CKC => CK2
     470             :         complex(CKC), allocatable :: Temp(:,:)
     471             : #include "pm_arrayResize@routines.inc.F90"
     472          62 :     end procedure
     473             : #endif
     474             : 
     475             : #if CK1_ENABLED
     476          91 :     module procedure setReboundSDDD_D2_CK1
     477             :         use pm_kind, only: CKC => CK1
     478             :         complex(CKC), allocatable :: Temp(:,:)
     479             : #include "pm_arrayResize@routines.inc.F90"
     480          91 :     end procedure
     481             : #endif
     482             : 
     483             : #undef CK_ENABLED
     484             : 
     485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     486             : 
     487             : #define RK_ENABLED 1
     488             : 
     489             : #if RK5_ENABLED
     490             :     module procedure setReboundSDDD_D2_RK5
     491             :         use pm_kind, only: RKC => RK5
     492             :         real(RKC), allocatable :: Temp(:,:)
     493             : #include "pm_arrayResize@routines.inc.F90"
     494             :     end procedure
     495             : #endif
     496             : 
     497             : #if RK4_ENABLED
     498          68 :     module procedure setReboundSDDD_D2_RK4
     499             :         use pm_kind, only: RKC => RK4
     500             :         real(RKC), allocatable :: Temp(:,:)
     501             : #include "pm_arrayResize@routines.inc.F90"
     502          68 :     end procedure
     503             : #endif
     504             : 
     505             : #if RK3_ENABLED
     506          66 :     module procedure setReboundSDDD_D2_RK3
     507             :         use pm_kind, only: RKC => RK3
     508             :         real(RKC), allocatable :: Temp(:,:)
     509             : #include "pm_arrayResize@routines.inc.F90"
     510          66 :     end procedure
     511             : #endif
     512             : 
     513             : #if RK2_ENABLED
     514         128 :     module procedure setReboundSDDD_D2_RK2
     515             :         use pm_kind, only: RKC => RK2
     516             :         real(RKC), allocatable :: Temp(:,:)
     517             : #include "pm_arrayResize@routines.inc.F90"
     518         128 :     end procedure
     519             : #endif
     520             : 
     521             : #if RK1_ENABLED
     522         365 :     module procedure setReboundSDDD_D2_RK1
     523             :         use pm_kind, only: RKC => RK1
     524             :         real(RKC), allocatable :: Temp(:,:)
     525             : #include "pm_arrayResize@routines.inc.F90"
     526         365 :     end procedure
     527             : #endif
     528             : 
     529             : #undef RK_ENABLED
     530             : 
     531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     532             : 
     533             : #undef D2_ENABLED
     534             : 
     535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     538             : 
     539             : #define D3_ENABLED 1
     540             : 
     541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     542             : 
     543             : #define SK_ENABLED 1
     544             : 
     545             : #if SK5_ENABLED
     546             :     module procedure setReboundSDDD_D3_SK5
     547             :         use pm_kind, only: SKC => SK5
     548             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
     549             : #include "pm_arrayResize@routines.inc.F90"
     550             :     end procedure
     551             : #endif
     552             : 
     553             : #if SK4_ENABLED
     554             :     module procedure setReboundSDDD_D3_SK4
     555             :         use pm_kind, only: SKC => SK4
     556             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
     557             : #include "pm_arrayResize@routines.inc.F90"
     558             :     end procedure
     559             : #endif
     560             : 
     561             : #if SK3_ENABLED
     562             :     module procedure setReboundSDDD_D3_SK3
     563             :         use pm_kind, only: SKC => SK3
     564             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
     565             : #include "pm_arrayResize@routines.inc.F90"
     566             :     end procedure
     567             : #endif
     568             : 
     569             : #if SK2_ENABLED
     570             :     module procedure setReboundSDDD_D3_SK2
     571             :         use pm_kind, only: SKC => SK2
     572             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
     573             : #include "pm_arrayResize@routines.inc.F90"
     574             :     end procedure
     575             : #endif
     576             : 
     577             : #if SK1_ENABLED
     578          28 :     module procedure setReboundSDDD_D3_SK1
     579             :         use pm_kind, only: SKC => SK1
     580          28 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
     581             : #include "pm_arrayResize@routines.inc.F90"
     582          28 :     end procedure
     583             : #endif
     584             : 
     585             : #undef SK_ENABLED
     586             : 
     587             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     588             : 
     589             : #define IK_ENABLED 1
     590             : 
     591             : #if IK5_ENABLED
     592          24 :     module procedure setReboundSDDD_D3_IK5
     593             :         use pm_kind, only: IKC => IK5
     594             :         integer(IKC), allocatable :: Temp(:,:,:)
     595             : #include "pm_arrayResize@routines.inc.F90"
     596          24 :     end procedure
     597             : #endif
     598             : 
     599             : #if IK4_ENABLED
     600          26 :     module procedure setReboundSDDD_D3_IK4
     601             :         use pm_kind, only: IKC => IK4
     602             :         integer(IKC), allocatable :: Temp(:,:,:)
     603             : #include "pm_arrayResize@routines.inc.F90"
     604          26 :     end procedure
     605             : #endif
     606             : 
     607             : #if IK3_ENABLED
     608          20 :     module procedure setReboundSDDD_D3_IK3
     609             :         use pm_kind, only: IKC => IK3
     610             :         integer(IKC), allocatable :: Temp(:,:,:)
     611             : #include "pm_arrayResize@routines.inc.F90"
     612          20 :     end procedure
     613             : #endif
     614             : 
     615             : #if IK2_ENABLED
     616          21 :     module procedure setReboundSDDD_D3_IK2
     617             :         use pm_kind, only: IKC => IK2
     618             :         integer(IKC), allocatable :: Temp(:,:,:)
     619             : #include "pm_arrayResize@routines.inc.F90"
     620          21 :     end procedure
     621             : #endif
     622             : 
     623             : #if IK1_ENABLED
     624          26 :     module procedure setReboundSDDD_D3_IK1
     625             :         use pm_kind, only: IKC => IK1
     626             :         integer(IKC), allocatable :: Temp(:,:,:)
     627             : #include "pm_arrayResize@routines.inc.F90"
     628          26 :     end procedure
     629             : #endif
     630             : 
     631             : #undef IK_ENABLED
     632             : 
     633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635             : #define LK_ENABLED 1
     636             : 
     637             : #if LK5_ENABLED
     638          17 :     module procedure setReboundSDDD_D3_LK5
     639             :         use pm_kind, only: LKC => LK5
     640             :         logical(LKC), allocatable :: Temp(:,:,:)
     641             : #include "pm_arrayResize@routines.inc.F90"
     642          17 :     end procedure
     643             : #endif
     644             : 
     645             : #if LK4_ENABLED
     646          20 :     module procedure setReboundSDDD_D3_LK4
     647             :         use pm_kind, only: LKC => LK4
     648             :         logical(LKC), allocatable :: Temp(:,:,:)
     649             : #include "pm_arrayResize@routines.inc.F90"
     650          20 :     end procedure
     651             : #endif
     652             : 
     653             : #if LK3_ENABLED
     654          16 :     module procedure setReboundSDDD_D3_LK3
     655             :         use pm_kind, only: LKC => LK3
     656             :         logical(LKC), allocatable :: Temp(:,:,:)
     657             : #include "pm_arrayResize@routines.inc.F90"
     658          16 :     end procedure
     659             : #endif
     660             : 
     661             : #if LK2_ENABLED
     662          27 :     module procedure setReboundSDDD_D3_LK2
     663             :         use pm_kind, only: LKC => LK2
     664             :         logical(LKC), allocatable :: Temp(:,:,:)
     665             : #include "pm_arrayResize@routines.inc.F90"
     666          27 :     end procedure
     667             : #endif
     668             : 
     669             : #if LK1_ENABLED
     670          20 :     module procedure setReboundSDDD_D3_LK1
     671             :         use pm_kind, only: LKC => LK1
     672             :         logical(LKC), allocatable :: Temp(:,:,:)
     673             : #include "pm_arrayResize@routines.inc.F90"
     674          20 :     end procedure
     675             : #endif
     676             : 
     677             : #undef LK_ENABLED
     678             : 
     679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     680             : 
     681             : #define CK_ENABLED 1
     682             : 
     683             : #if CK5_ENABLED
     684             :     module procedure setReboundSDDD_D3_CK5
     685             :         use pm_kind, only: CKC => CK5
     686             :         complex(CKC), allocatable :: Temp(:,:,:)
     687             : #include "pm_arrayResize@routines.inc.F90"
     688             :     end procedure
     689             : #endif
     690             : 
     691             : #if CK4_ENABLED
     692          34 :     module procedure setReboundSDDD_D3_CK4
     693             :         use pm_kind, only: CKC => CK4
     694             :         complex(CKC), allocatable :: Temp(:,:,:)
     695             : #include "pm_arrayResize@routines.inc.F90"
     696          34 :     end procedure
     697             : #endif
     698             : 
     699             : #if CK3_ENABLED
     700          21 :     module procedure setReboundSDDD_D3_CK3
     701             :         use pm_kind, only: CKC => CK3
     702             :         complex(CKC), allocatable :: Temp(:,:,:)
     703             : #include "pm_arrayResize@routines.inc.F90"
     704          21 :     end procedure
     705             : #endif
     706             : 
     707             : #if CK2_ENABLED
     708          22 :     module procedure setReboundSDDD_D3_CK2
     709             :         use pm_kind, only: CKC => CK2
     710             :         complex(CKC), allocatable :: Temp(:,:,:)
     711             : #include "pm_arrayResize@routines.inc.F90"
     712          22 :     end procedure
     713             : #endif
     714             : 
     715             : #if CK1_ENABLED
     716          26 :     module procedure setReboundSDDD_D3_CK1
     717             :         use pm_kind, only: CKC => CK1
     718             :         complex(CKC), allocatable :: Temp(:,:,:)
     719             : #include "pm_arrayResize@routines.inc.F90"
     720          26 :     end procedure
     721             : #endif
     722             : 
     723             : #undef CK_ENABLED
     724             : 
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #define RK_ENABLED 1
     728             : 
     729             : #if RK5_ENABLED
     730             :     module procedure setReboundSDDD_D3_RK5
     731             :         use pm_kind, only: RKC => RK5
     732             :         real(RKC), allocatable :: Temp(:,:,:)
     733             : #include "pm_arrayResize@routines.inc.F90"
     734             :     end procedure
     735             : #endif
     736             : 
     737             : #if RK4_ENABLED
     738          24 :     module procedure setReboundSDDD_D3_RK4
     739             :         use pm_kind, only: RKC => RK4
     740             :         real(RKC), allocatable :: Temp(:,:,:)
     741             : #include "pm_arrayResize@routines.inc.F90"
     742          24 :     end procedure
     743             : #endif
     744             : 
     745             : #if RK3_ENABLED
     746          21 :     module procedure setReboundSDDD_D3_RK3
     747             :         use pm_kind, only: RKC => RK3
     748             :         real(RKC), allocatable :: Temp(:,:,:)
     749             : #include "pm_arrayResize@routines.inc.F90"
     750          21 :     end procedure
     751             : #endif
     752             : 
     753             : #if RK2_ENABLED
     754          42 :     module procedure setReboundSDDD_D3_RK2
     755             :         use pm_kind, only: RKC => RK2
     756             :         real(RKC), allocatable :: Temp(:,:,:)
     757             : #include "pm_arrayResize@routines.inc.F90"
     758          42 :     end procedure
     759             : #endif
     760             : 
     761             : #if RK1_ENABLED
     762         116 :     module procedure setReboundSDDD_D3_RK1
     763             :         use pm_kind, only: RKC => RK1
     764             :         real(RKC), allocatable :: Temp(:,:,:)
     765             : #include "pm_arrayResize@routines.inc.F90"
     766         116 :     end procedure
     767             : #endif
     768             : 
     769             : #undef RK_ENABLED
     770             : 
     771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     772             : 
     773             : #undef D3_ENABLED
     774             : 
     775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     778             : 
     779             : #undef SDDD_ENABLED
     780             : 
     781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     782             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     784             : 
     785             : #define SLDD_ENABLED 1
     786             : 
     787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     788             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     790             : 
     791             : #define D1_ENABLED 1
     792             : 
     793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     794             : 
     795             : #define SK_ENABLED 1
     796             : 
     797             : #if SK5_ENABLED
     798             :     module procedure setReboundSLDD_D1_SK5
     799             :         use pm_kind, only: SKC => SK5
     800             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     801             : #include "pm_arrayResize@routines.inc.F90"
     802             :     end procedure
     803             : #endif
     804             : 
     805             : #if SK4_ENABLED
     806             :     module procedure setReboundSLDD_D1_SK4
     807             :         use pm_kind, only: SKC => SK4
     808             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     809             : #include "pm_arrayResize@routines.inc.F90"
     810             :     end procedure
     811             : #endif
     812             : 
     813             : #if SK3_ENABLED
     814             :     module procedure setReboundSLDD_D1_SK3
     815             :         use pm_kind, only: SKC => SK3
     816             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     817             : #include "pm_arrayResize@routines.inc.F90"
     818             :     end procedure
     819             : #endif
     820             : 
     821             : #if SK2_ENABLED
     822             :     module procedure setReboundSLDD_D1_SK2
     823             :         use pm_kind, only: SKC => SK2
     824             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     825             : #include "pm_arrayResize@routines.inc.F90"
     826             :     end procedure
     827             : #endif
     828             : 
     829             : #if SK1_ENABLED
     830         157 :     module procedure setReboundSLDD_D1_SK1
     831             :         use pm_kind, only: SKC => SK1
     832         157 :         character(len(Array,IK),SKC), allocatable :: Temp(:)
     833             : #include "pm_arrayResize@routines.inc.F90"
     834         157 :     end procedure
     835             : #endif
     836             : 
     837             : #undef SK_ENABLED
     838             : 
     839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     840             : 
     841             : #define IK_ENABLED 1
     842             : 
     843             : #if IK5_ENABLED
     844         146 :     module procedure setReboundSLDD_D1_IK5
     845             :         use pm_kind, only: IKC => IK5
     846             :         integer(IKC), allocatable :: Temp(:)
     847             : #include "pm_arrayResize@routines.inc.F90"
     848         146 :     end procedure
     849             : #endif
     850             : 
     851             : #if IK4_ENABLED
     852         153 :     module procedure setReboundSLDD_D1_IK4
     853             :         use pm_kind, only: IKC => IK4
     854             :         integer(IKC), allocatable :: Temp(:)
     855             : #include "pm_arrayResize@routines.inc.F90"
     856         153 :     end procedure
     857             : #endif
     858             : 
     859             : #if IK3_ENABLED
     860         145 :     module procedure setReboundSLDD_D1_IK3
     861             :         use pm_kind, only: IKC => IK3
     862             :         integer(IKC), allocatable :: Temp(:)
     863             : #include "pm_arrayResize@routines.inc.F90"
     864         145 :     end procedure
     865             : #endif
     866             : 
     867             : #if IK2_ENABLED
     868         148 :     module procedure setReboundSLDD_D1_IK2
     869             :         use pm_kind, only: IKC => IK2
     870             :         integer(IKC), allocatable :: Temp(:)
     871             : #include "pm_arrayResize@routines.inc.F90"
     872         148 :     end procedure
     873             : #endif
     874             : 
     875             : #if IK1_ENABLED
     876         161 :     module procedure setReboundSLDD_D1_IK1
     877             :         use pm_kind, only: IKC => IK1
     878             :         integer(IKC), allocatable :: Temp(:)
     879             : #include "pm_arrayResize@routines.inc.F90"
     880         161 :     end procedure
     881             : #endif
     882             : 
     883             : #undef IK_ENABLED
     884             : 
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             : 
     887             : #define LK_ENABLED 1
     888             : 
     889             : #if LK5_ENABLED
     890         148 :     module procedure setReboundSLDD_D1_LK5
     891             :         use pm_kind, only: LKC => LK5
     892             :         logical(LKC), allocatable :: Temp(:)
     893             : #include "pm_arrayResize@routines.inc.F90"
     894         148 :     end procedure
     895             : #endif
     896             : 
     897             : #if LK4_ENABLED
     898         132 :     module procedure setReboundSLDD_D1_LK4
     899             :         use pm_kind, only: LKC => LK4
     900             :         logical(LKC), allocatable :: Temp(:)
     901             : #include "pm_arrayResize@routines.inc.F90"
     902         132 :     end procedure
     903             : #endif
     904             : 
     905             : #if LK3_ENABLED
     906         150 :     module procedure setReboundSLDD_D1_LK3
     907             :         use pm_kind, only: LKC => LK3
     908             :         logical(LKC), allocatable :: Temp(:)
     909             : #include "pm_arrayResize@routines.inc.F90"
     910         150 :     end procedure
     911             : #endif
     912             : 
     913             : #if LK2_ENABLED
     914         163 :     module procedure setReboundSLDD_D1_LK2
     915             :         use pm_kind, only: LKC => LK2
     916             :         logical(LKC), allocatable :: Temp(:)
     917             : #include "pm_arrayResize@routines.inc.F90"
     918         163 :     end procedure
     919             : #endif
     920             : 
     921             : #if LK1_ENABLED
     922         129 :     module procedure setReboundSLDD_D1_LK1
     923             :         use pm_kind, only: LKC => LK1
     924             :         logical(LKC), allocatable :: Temp(:)
     925             : #include "pm_arrayResize@routines.inc.F90"
     926         129 :     end procedure
     927             : #endif
     928             : 
     929             : #undef LK_ENABLED
     930             : 
     931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     932             : 
     933             : #define CK_ENABLED 1
     934             : 
     935             : #if CK5_ENABLED
     936             :     module procedure setReboundSLDD_D1_CK5
     937             :         use pm_kind, only: CKC => CK5
     938             :         complex(CKC), allocatable :: Temp(:)
     939             : #include "pm_arrayResize@routines.inc.F90"
     940             :     end procedure
     941             : #endif
     942             : 
     943             : #if CK4_ENABLED
     944         140 :     module procedure setReboundSLDD_D1_CK4
     945             :         use pm_kind, only: CKC => CK4
     946             :         complex(CKC), allocatable :: Temp(:)
     947             : #include "pm_arrayResize@routines.inc.F90"
     948         140 :     end procedure
     949             : #endif
     950             : 
     951             : #if CK3_ENABLED
     952         128 :     module procedure setReboundSLDD_D1_CK3
     953             :         use pm_kind, only: CKC => CK3
     954             :         complex(CKC), allocatable :: Temp(:)
     955             : #include "pm_arrayResize@routines.inc.F90"
     956         128 :     end procedure
     957             : #endif
     958             : 
     959             : #if CK2_ENABLED
     960         139 :     module procedure setReboundSLDD_D1_CK2
     961             :         use pm_kind, only: CKC => CK2
     962             :         complex(CKC), allocatable :: Temp(:)
     963             : #include "pm_arrayResize@routines.inc.F90"
     964         139 :     end procedure
     965             : #endif
     966             : 
     967             : #if CK1_ENABLED
     968         152 :     module procedure setReboundSLDD_D1_CK1
     969             :         use pm_kind, only: CKC => CK1
     970             :         complex(CKC), allocatable :: Temp(:)
     971             : #include "pm_arrayResize@routines.inc.F90"
     972         152 :     end procedure
     973             : #endif
     974             : 
     975             : #undef CK_ENABLED
     976             : 
     977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     978             : 
     979             : #define RK_ENABLED 1
     980             : 
     981             : #if RK5_ENABLED
     982             :     module procedure setReboundSLDD_D1_RK5
     983             :         use pm_kind, only: RKC => RK5
     984             :         real(RKC), allocatable :: Temp(:)
     985             : #include "pm_arrayResize@routines.inc.F90"
     986             :     end procedure
     987             : #endif
     988             : 
     989             : #if RK4_ENABLED
     990         158 :     module procedure setReboundSLDD_D1_RK4
     991             :         use pm_kind, only: RKC => RK4
     992             :         real(RKC), allocatable :: Temp(:)
     993             : #include "pm_arrayResize@routines.inc.F90"
     994         158 :     end procedure
     995             : #endif
     996             : 
     997             : #if RK3_ENABLED
     998         141 :     module procedure setReboundSLDD_D1_RK3
     999             :         use pm_kind, only: RKC => RK3
    1000             :         real(RKC), allocatable :: Temp(:)
    1001             : #include "pm_arrayResize@routines.inc.F90"
    1002         141 :     end procedure
    1003             : #endif
    1004             : 
    1005             : #if RK2_ENABLED
    1006         124 :     module procedure setReboundSLDD_D1_RK2
    1007             :         use pm_kind, only: RKC => RK2
    1008             :         real(RKC), allocatable :: Temp(:)
    1009             : #include "pm_arrayResize@routines.inc.F90"
    1010         124 :     end procedure
    1011             : #endif
    1012             : 
    1013             : #if RK1_ENABLED
    1014         154 :     module procedure setReboundSLDD_D1_RK1
    1015             :         use pm_kind, only: RKC => RK1
    1016             :         real(RKC), allocatable :: Temp(:)
    1017             : #include "pm_arrayResize@routines.inc.F90"
    1018         154 :     end procedure
    1019             : #endif
    1020             : 
    1021             : #undef RK_ENABLED
    1022             : 
    1023             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1024             : 
    1025             : #undef D1_ENABLED
    1026             : 
    1027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1028             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1030             : 
    1031             : #define D2_ENABLED 1
    1032             : 
    1033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1034             : 
    1035             : #define SK_ENABLED 1
    1036             : 
    1037             : #if SK5_ENABLED
    1038             :     module procedure setReboundSLDD_D2_SK5
    1039             :         use pm_kind, only: SKC => SK5
    1040             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1041             : #include "pm_arrayResize@routines.inc.F90"
    1042             :     end procedure
    1043             : #endif
    1044             : 
    1045             : #if SK4_ENABLED
    1046             :     module procedure setReboundSLDD_D2_SK4
    1047             :         use pm_kind, only: SKC => SK4
    1048             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1049             : #include "pm_arrayResize@routines.inc.F90"
    1050             :     end procedure
    1051             : #endif
    1052             : 
    1053             : #if SK3_ENABLED
    1054             :     module procedure setReboundSLDD_D2_SK3
    1055             :         use pm_kind, only: SKC => SK3
    1056             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1057             : #include "pm_arrayResize@routines.inc.F90"
    1058             :     end procedure
    1059             : #endif
    1060             : 
    1061             : #if SK2_ENABLED
    1062             :     module procedure setReboundSLDD_D2_SK2
    1063             :         use pm_kind, only: SKC => SK2
    1064             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1065             : #include "pm_arrayResize@routines.inc.F90"
    1066             :     end procedure
    1067             : #endif
    1068             : 
    1069             : #if SK1_ENABLED
    1070          52 :     module procedure setReboundSLDD_D2_SK1
    1071             :         use pm_kind, only: SKC => SK1
    1072          52 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1073             : #include "pm_arrayResize@routines.inc.F90"
    1074          52 :     end procedure
    1075             : #endif
    1076             : 
    1077             : #undef SK_ENABLED
    1078             : 
    1079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1080             : 
    1081             : #define IK_ENABLED 1
    1082             : 
    1083             : #if IK5_ENABLED
    1084          49 :     module procedure setReboundSLDD_D2_IK5
    1085             :         use pm_kind, only: IKC => IK5
    1086             :         integer(IKC), allocatable :: Temp(:,:)
    1087             : #include "pm_arrayResize@routines.inc.F90"
    1088          49 :     end procedure
    1089             : #endif
    1090             : 
    1091             : #if IK4_ENABLED
    1092          52 :     module procedure setReboundSLDD_D2_IK4
    1093             :         use pm_kind, only: IKC => IK4
    1094             :         integer(IKC), allocatable :: Temp(:,:)
    1095             : #include "pm_arrayResize@routines.inc.F90"
    1096          52 :     end procedure
    1097             : #endif
    1098             : 
    1099             : #if IK3_ENABLED
    1100          49 :     module procedure setReboundSLDD_D2_IK3
    1101             :         use pm_kind, only: IKC => IK3
    1102             :         integer(IKC), allocatable :: Temp(:,:)
    1103             : #include "pm_arrayResize@routines.inc.F90"
    1104          49 :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if IK2_ENABLED
    1108          48 :     module procedure setReboundSLDD_D2_IK2
    1109             :         use pm_kind, only: IKC => IK2
    1110             :         integer(IKC), allocatable :: Temp(:,:)
    1111             : #include "pm_arrayResize@routines.inc.F90"
    1112          48 :     end procedure
    1113             : #endif
    1114             : 
    1115             : #if IK1_ENABLED
    1116          59 :     module procedure setReboundSLDD_D2_IK1
    1117             :         use pm_kind, only: IKC => IK1
    1118             :         integer(IKC), allocatable :: Temp(:,:)
    1119             : #include "pm_arrayResize@routines.inc.F90"
    1120          59 :     end procedure
    1121             : #endif
    1122             : 
    1123             : #undef IK_ENABLED
    1124             : 
    1125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1126             : 
    1127             : #define LK_ENABLED 1
    1128             : 
    1129             : #if LK5_ENABLED
    1130          38 :     module procedure setReboundSLDD_D2_LK5
    1131             :         use pm_kind, only: LKC => LK5
    1132             :         logical(LKC), allocatable :: Temp(:,:)
    1133             : #include "pm_arrayResize@routines.inc.F90"
    1134          38 :     end procedure
    1135             : #endif
    1136             : 
    1137             : #if LK4_ENABLED
    1138          51 :     module procedure setReboundSLDD_D2_LK4
    1139             :         use pm_kind, only: LKC => LK4
    1140             :         logical(LKC), allocatable :: Temp(:,:)
    1141             : #include "pm_arrayResize@routines.inc.F90"
    1142          51 :     end procedure
    1143             : #endif
    1144             : 
    1145             : #if LK3_ENABLED
    1146          56 :     module procedure setReboundSLDD_D2_LK3
    1147             :         use pm_kind, only: LKC => LK3
    1148             :         logical(LKC), allocatable :: Temp(:,:)
    1149             : #include "pm_arrayResize@routines.inc.F90"
    1150          56 :     end procedure
    1151             : #endif
    1152             : 
    1153             : #if LK2_ENABLED
    1154          47 :     module procedure setReboundSLDD_D2_LK2
    1155             :         use pm_kind, only: LKC => LK2
    1156             :         logical(LKC), allocatable :: Temp(:,:)
    1157             : #include "pm_arrayResize@routines.inc.F90"
    1158          47 :     end procedure
    1159             : #endif
    1160             : 
    1161             : #if LK1_ENABLED
    1162          52 :     module procedure setReboundSLDD_D2_LK1
    1163             :         use pm_kind, only: LKC => LK1
    1164             :         logical(LKC), allocatable :: Temp(:,:)
    1165             : #include "pm_arrayResize@routines.inc.F90"
    1166          52 :     end procedure
    1167             : #endif
    1168             : 
    1169             : #undef LK_ENABLED
    1170             : 
    1171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1172             : 
    1173             : #define CK_ENABLED 1
    1174             : 
    1175             : #if CK5_ENABLED
    1176             :     module procedure setReboundSLDD_D2_CK5
    1177             :         use pm_kind, only: CKC => CK5
    1178             :         complex(CKC), allocatable :: Temp(:,:)
    1179             : #include "pm_arrayResize@routines.inc.F90"
    1180             :     end procedure
    1181             : #endif
    1182             : 
    1183             : #if CK4_ENABLED
    1184          51 :     module procedure setReboundSLDD_D2_CK4
    1185             :         use pm_kind, only: CKC => CK4
    1186             :         complex(CKC), allocatable :: Temp(:,:)
    1187             : #include "pm_arrayResize@routines.inc.F90"
    1188          51 :     end procedure
    1189             : #endif
    1190             : 
    1191             : #if CK3_ENABLED
    1192          51 :     module procedure setReboundSLDD_D2_CK3
    1193             :         use pm_kind, only: CKC => CK3
    1194             :         complex(CKC), allocatable :: Temp(:,:)
    1195             : #include "pm_arrayResize@routines.inc.F90"
    1196          51 :     end procedure
    1197             : #endif
    1198             : 
    1199             : #if CK2_ENABLED
    1200          58 :     module procedure setReboundSLDD_D2_CK2
    1201             :         use pm_kind, only: CKC => CK2
    1202             :         complex(CKC), allocatable :: Temp(:,:)
    1203             : #include "pm_arrayResize@routines.inc.F90"
    1204          58 :     end procedure
    1205             : #endif
    1206             : 
    1207             : #if CK1_ENABLED
    1208          57 :     module procedure setReboundSLDD_D2_CK1
    1209             :         use pm_kind, only: CKC => CK1
    1210             :         complex(CKC), allocatable :: Temp(:,:)
    1211             : #include "pm_arrayResize@routines.inc.F90"
    1212          57 :     end procedure
    1213             : #endif
    1214             : 
    1215             : #undef CK_ENABLED
    1216             : 
    1217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1218             : 
    1219             : #define RK_ENABLED 1
    1220             : 
    1221             : #if RK5_ENABLED
    1222             :     module procedure setReboundSLDD_D2_RK5
    1223             :         use pm_kind, only: RKC => RK5
    1224             :         real(RKC), allocatable :: Temp(:,:)
    1225             : #include "pm_arrayResize@routines.inc.F90"
    1226             :     end procedure
    1227             : #endif
    1228             : 
    1229             : #if RK4_ENABLED
    1230          63 :     module procedure setReboundSLDD_D2_RK4
    1231             :         use pm_kind, only: RKC => RK4
    1232             :         real(RKC), allocatable :: Temp(:,:)
    1233             : #include "pm_arrayResize@routines.inc.F90"
    1234          63 :     end procedure
    1235             : #endif
    1236             : 
    1237             : #if RK3_ENABLED
    1238          62 :     module procedure setReboundSLDD_D2_RK3
    1239             :         use pm_kind, only: RKC => RK3
    1240             :         real(RKC), allocatable :: Temp(:,:)
    1241             : #include "pm_arrayResize@routines.inc.F90"
    1242          62 :     end procedure
    1243             : #endif
    1244             : 
    1245             : #if RK2_ENABLED
    1246          66 :     module procedure setReboundSLDD_D2_RK2
    1247             :         use pm_kind, only: RKC => RK2
    1248             :         real(RKC), allocatable :: Temp(:,:)
    1249             : #include "pm_arrayResize@routines.inc.F90"
    1250          66 :     end procedure
    1251             : #endif
    1252             : 
    1253             : #if RK1_ENABLED
    1254          57 :     module procedure setReboundSLDD_D2_RK1
    1255             :         use pm_kind, only: RKC => RK1
    1256             :         real(RKC), allocatable :: Temp(:,:)
    1257             : #include "pm_arrayResize@routines.inc.F90"
    1258          57 :     end procedure
    1259             : #endif
    1260             : 
    1261             : #undef RK_ENABLED
    1262             : 
    1263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1264             : 
    1265             : #undef D2_ENABLED
    1266             : 
    1267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1270             : 
    1271             : #define D3_ENABLED 1
    1272             : 
    1273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1274             : 
    1275             : #define SK_ENABLED 1
    1276             : 
    1277             : #if SK5_ENABLED
    1278             :     module procedure setReboundSLDD_D3_SK5
    1279             :         use pm_kind, only: SKC => SK5
    1280             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    1281             : #include "pm_arrayResize@routines.inc.F90"
    1282             :     end procedure
    1283             : #endif
    1284             : 
    1285             : #if SK4_ENABLED
    1286             :     module procedure setReboundSLDD_D3_SK4
    1287             :         use pm_kind, only: SKC => SK4
    1288             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    1289             : #include "pm_arrayResize@routines.inc.F90"
    1290             :     end procedure
    1291             : #endif
    1292             : 
    1293             : #if SK3_ENABLED
    1294             :     module procedure setReboundSLDD_D3_SK3
    1295             :         use pm_kind, only: SKC => SK3
    1296             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    1297             : #include "pm_arrayResize@routines.inc.F90"
    1298             :     end procedure
    1299             : #endif
    1300             : 
    1301             : #if SK2_ENABLED
    1302             :     module procedure setReboundSLDD_D3_SK2
    1303             :         use pm_kind, only: SKC => SK2
    1304             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    1305             : #include "pm_arrayResize@routines.inc.F90"
    1306             :     end procedure
    1307             : #endif
    1308             : 
    1309             : #if SK1_ENABLED
    1310          24 :     module procedure setReboundSLDD_D3_SK1
    1311             :         use pm_kind, only: SKC => SK1
    1312          24 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    1313             : #include "pm_arrayResize@routines.inc.F90"
    1314          24 :     end procedure
    1315             : #endif
    1316             : 
    1317             : #undef SK_ENABLED
    1318             : 
    1319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1320             : 
    1321             : #define IK_ENABLED 1
    1322             : 
    1323             : #if IK5_ENABLED
    1324          20 :     module procedure setReboundSLDD_D3_IK5
    1325             :         use pm_kind, only: IKC => IK5
    1326             :         integer(IKC), allocatable :: Temp(:,:,:)
    1327             : #include "pm_arrayResize@routines.inc.F90"
    1328          20 :     end procedure
    1329             : #endif
    1330             : 
    1331             : #if IK4_ENABLED
    1332          22 :     module procedure setReboundSLDD_D3_IK4
    1333             :         use pm_kind, only: IKC => IK4
    1334             :         integer(IKC), allocatable :: Temp(:,:,:)
    1335             : #include "pm_arrayResize@routines.inc.F90"
    1336          22 :     end procedure
    1337             : #endif
    1338             : 
    1339             : #if IK3_ENABLED
    1340          16 :     module procedure setReboundSLDD_D3_IK3
    1341             :         use pm_kind, only: IKC => IK3
    1342             :         integer(IKC), allocatable :: Temp(:,:,:)
    1343             : #include "pm_arrayResize@routines.inc.F90"
    1344          16 :     end procedure
    1345             : #endif
    1346             : 
    1347             : #if IK2_ENABLED
    1348          17 :     module procedure setReboundSLDD_D3_IK2
    1349             :         use pm_kind, only: IKC => IK2
    1350             :         integer(IKC), allocatable :: Temp(:,:,:)
    1351             : #include "pm_arrayResize@routines.inc.F90"
    1352          17 :     end procedure
    1353             : #endif
    1354             : 
    1355             : #if IK1_ENABLED
    1356          22 :     module procedure setReboundSLDD_D3_IK1
    1357             :         use pm_kind, only: IKC => IK1
    1358             :         integer(IKC), allocatable :: Temp(:,:,:)
    1359             : #include "pm_arrayResize@routines.inc.F90"
    1360          22 :     end procedure
    1361             : #endif
    1362             : 
    1363             : #undef IK_ENABLED
    1364             : 
    1365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1366             : 
    1367             : #define LK_ENABLED 1
    1368             : 
    1369             : #if LK5_ENABLED
    1370          13 :     module procedure setReboundSLDD_D3_LK5
    1371             :         use pm_kind, only: LKC => LK5
    1372             :         logical(LKC), allocatable :: Temp(:,:,:)
    1373             : #include "pm_arrayResize@routines.inc.F90"
    1374          13 :     end procedure
    1375             : #endif
    1376             : 
    1377             : #if LK4_ENABLED
    1378          16 :     module procedure setReboundSLDD_D3_LK4
    1379             :         use pm_kind, only: LKC => LK4
    1380             :         logical(LKC), allocatable :: Temp(:,:,:)
    1381             : #include "pm_arrayResize@routines.inc.F90"
    1382          16 :     end procedure
    1383             : #endif
    1384             : 
    1385             : #if LK3_ENABLED
    1386          12 :     module procedure setReboundSLDD_D3_LK3
    1387             :         use pm_kind, only: LKC => LK3
    1388             :         logical(LKC), allocatable :: Temp(:,:,:)
    1389             : #include "pm_arrayResize@routines.inc.F90"
    1390          12 :     end procedure
    1391             : #endif
    1392             : 
    1393             : #if LK2_ENABLED
    1394          23 :     module procedure setReboundSLDD_D3_LK2
    1395             :         use pm_kind, only: LKC => LK2
    1396             :         logical(LKC), allocatable :: Temp(:,:,:)
    1397             : #include "pm_arrayResize@routines.inc.F90"
    1398          23 :     end procedure
    1399             : #endif
    1400             : 
    1401             : #if LK1_ENABLED
    1402          16 :     module procedure setReboundSLDD_D3_LK1
    1403             :         use pm_kind, only: LKC => LK1
    1404             :         logical(LKC), allocatable :: Temp(:,:,:)
    1405             : #include "pm_arrayResize@routines.inc.F90"
    1406          16 :     end procedure
    1407             : #endif
    1408             : 
    1409             : #undef LK_ENABLED
    1410             : 
    1411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1412             : 
    1413             : #define CK_ENABLED 1
    1414             : 
    1415             : #if CK5_ENABLED
    1416             :     module procedure setReboundSLDD_D3_CK5
    1417             :         use pm_kind, only: CKC => CK5
    1418             :         complex(CKC), allocatable :: Temp(:,:,:)
    1419             : #include "pm_arrayResize@routines.inc.F90"
    1420             :     end procedure
    1421             : #endif
    1422             : 
    1423             : #if CK4_ENABLED
    1424          30 :     module procedure setReboundSLDD_D3_CK4
    1425             :         use pm_kind, only: CKC => CK4
    1426             :         complex(CKC), allocatable :: Temp(:,:,:)
    1427             : #include "pm_arrayResize@routines.inc.F90"
    1428          30 :     end procedure
    1429             : #endif
    1430             : 
    1431             : #if CK3_ENABLED
    1432          17 :     module procedure setReboundSLDD_D3_CK3
    1433             :         use pm_kind, only: CKC => CK3
    1434             :         complex(CKC), allocatable :: Temp(:,:,:)
    1435             : #include "pm_arrayResize@routines.inc.F90"
    1436          17 :     end procedure
    1437             : #endif
    1438             : 
    1439             : #if CK2_ENABLED
    1440          18 :     module procedure setReboundSLDD_D3_CK2
    1441             :         use pm_kind, only: CKC => CK2
    1442             :         complex(CKC), allocatable :: Temp(:,:,:)
    1443             : #include "pm_arrayResize@routines.inc.F90"
    1444          18 :     end procedure
    1445             : #endif
    1446             : 
    1447             : #if CK1_ENABLED
    1448          22 :     module procedure setReboundSLDD_D3_CK1
    1449             :         use pm_kind, only: CKC => CK1
    1450             :         complex(CKC), allocatable :: Temp(:,:,:)
    1451             : #include "pm_arrayResize@routines.inc.F90"
    1452          22 :     end procedure
    1453             : #endif
    1454             : 
    1455             : #undef CK_ENABLED
    1456             : 
    1457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1458             : 
    1459             : #define RK_ENABLED 1
    1460             : 
    1461             : #if RK5_ENABLED
    1462             :     module procedure setReboundSLDD_D3_RK5
    1463             :         use pm_kind, only: RKC => RK5
    1464             :         real(RKC), allocatable :: Temp(:,:,:)
    1465             : #include "pm_arrayResize@routines.inc.F90"
    1466             :     end procedure
    1467             : #endif
    1468             : 
    1469             : #if RK4_ENABLED
    1470          20 :     module procedure setReboundSLDD_D3_RK4
    1471             :         use pm_kind, only: RKC => RK4
    1472             :         real(RKC), allocatable :: Temp(:,:,:)
    1473             : #include "pm_arrayResize@routines.inc.F90"
    1474          20 :     end procedure
    1475             : #endif
    1476             : 
    1477             : #if RK3_ENABLED
    1478          17 :     module procedure setReboundSLDD_D3_RK3
    1479             :         use pm_kind, only: RKC => RK3
    1480             :         real(RKC), allocatable :: Temp(:,:,:)
    1481             : #include "pm_arrayResize@routines.inc.F90"
    1482          17 :     end procedure
    1483             : #endif
    1484             : 
    1485             : #if RK2_ENABLED
    1486          26 :     module procedure setReboundSLDD_D3_RK2
    1487             :         use pm_kind, only: RKC => RK2
    1488             :         real(RKC), allocatable :: Temp(:,:,:)
    1489             : #include "pm_arrayResize@routines.inc.F90"
    1490          26 :     end procedure
    1491             : #endif
    1492             : 
    1493             : #if RK1_ENABLED
    1494          21 :     module procedure setReboundSLDD_D3_RK1
    1495             :         use pm_kind, only: RKC => RK1
    1496             :         real(RKC), allocatable :: Temp(:,:,:)
    1497             : #include "pm_arrayResize@routines.inc.F90"
    1498          21 :     end procedure
    1499             : #endif
    1500             : 
    1501             : #undef RK_ENABLED
    1502             : 
    1503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1504             : 
    1505             : #undef D3_ENABLED
    1506             : 
    1507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1510             : 
    1511             : #undef SLDD_ENABLED
    1512             : 
    1513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1516             : 
    1517             : #define SLLU_ENABLED 1
    1518             : 
    1519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1522             : 
    1523             : #define D1_ENABLED 1
    1524             : 
    1525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1526             : 
    1527             : #define SK_ENABLED 1
    1528             : 
    1529             : #if SK5_ENABLED
    1530             :     module procedure setReboundSLLU_D1_SK5
    1531             :         use pm_kind, only: SKC => SK5
    1532             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
    1533             : #include "pm_arrayResize@routines.inc.F90"
    1534             :     end procedure
    1535             : #endif
    1536             : 
    1537             : #if SK4_ENABLED
    1538             :     module procedure setReboundSLLU_D1_SK4
    1539             :         use pm_kind, only: SKC => SK4
    1540             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
    1541             : #include "pm_arrayResize@routines.inc.F90"
    1542             :     end procedure
    1543             : #endif
    1544             : 
    1545             : #if SK3_ENABLED
    1546             :     module procedure setReboundSLLU_D1_SK3
    1547             :         use pm_kind, only: SKC => SK3
    1548             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
    1549             : #include "pm_arrayResize@routines.inc.F90"
    1550             :     end procedure
    1551             : #endif
    1552             : 
    1553             : #if SK2_ENABLED
    1554             :     module procedure setReboundSLLU_D1_SK2
    1555             :         use pm_kind, only: SKC => SK2
    1556             :         character(len(Array,IK),SKC), allocatable :: Temp(:)
    1557             : #include "pm_arrayResize@routines.inc.F90"
    1558             :     end procedure
    1559             : #endif
    1560             : 
    1561             : #if SK1_ENABLED
    1562         801 :     module procedure setReboundSLLU_D1_SK1
    1563             :         use pm_kind, only: SKC => SK1
    1564         801 :         character(len(Array,IK),SKC), allocatable :: Temp(:)
    1565             : #include "pm_arrayResize@routines.inc.F90"
    1566         801 :     end procedure
    1567             : #endif
    1568             : 
    1569             : #undef SK_ENABLED
    1570             : 
    1571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1572             : 
    1573             : #define IK_ENABLED 1
    1574             : 
    1575             : #if IK5_ENABLED
    1576         800 :     module procedure setReboundSLLU_D1_IK5
    1577             :         use pm_kind, only: IKC => IK5
    1578             :         integer(IKC), allocatable :: Temp(:)
    1579             : #include "pm_arrayResize@routines.inc.F90"
    1580         800 :     end procedure
    1581             : #endif
    1582             : 
    1583             : #if IK4_ENABLED
    1584         800 :     module procedure setReboundSLLU_D1_IK4
    1585             :         use pm_kind, only: IKC => IK4
    1586             :         integer(IKC), allocatable :: Temp(:)
    1587             : #include "pm_arrayResize@routines.inc.F90"
    1588         800 :     end procedure
    1589             : #endif
    1590             : 
    1591             : #if IK3_ENABLED
    1592         800 :     module procedure setReboundSLLU_D1_IK3
    1593             :         use pm_kind, only: IKC => IK3
    1594             :         integer(IKC), allocatable :: Temp(:)
    1595             : #include "pm_arrayResize@routines.inc.F90"
    1596         800 :     end procedure
    1597             : #endif
    1598             : 
    1599             : #if IK2_ENABLED
    1600         800 :     module procedure setReboundSLLU_D1_IK2
    1601             :         use pm_kind, only: IKC => IK2
    1602             :         integer(IKC), allocatable :: Temp(:)
    1603             : #include "pm_arrayResize@routines.inc.F90"
    1604         800 :     end procedure
    1605             : #endif
    1606             : 
    1607             : #if IK1_ENABLED
    1608         800 :     module procedure setReboundSLLU_D1_IK1
    1609             :         use pm_kind, only: IKC => IK1
    1610             :         integer(IKC), allocatable :: Temp(:)
    1611             : #include "pm_arrayResize@routines.inc.F90"
    1612         800 :     end procedure
    1613             : #endif
    1614             : 
    1615             : #undef IK_ENABLED
    1616             : 
    1617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1618             : 
    1619             : #define LK_ENABLED 1
    1620             : 
    1621             : #if LK5_ENABLED
    1622         800 :     module procedure setReboundSLLU_D1_LK5
    1623             :         use pm_kind, only: LKC => LK5
    1624             :         logical(LKC), allocatable :: Temp(:)
    1625             : #include "pm_arrayResize@routines.inc.F90"
    1626         800 :     end procedure
    1627             : #endif
    1628             : 
    1629             : #if LK4_ENABLED
    1630         800 :     module procedure setReboundSLLU_D1_LK4
    1631             :         use pm_kind, only: LKC => LK4
    1632             :         logical(LKC), allocatable :: Temp(:)
    1633             : #include "pm_arrayResize@routines.inc.F90"
    1634         800 :     end procedure
    1635             : #endif
    1636             : 
    1637             : #if LK3_ENABLED
    1638         800 :     module procedure setReboundSLLU_D1_LK3
    1639             :         use pm_kind, only: LKC => LK3
    1640             :         logical(LKC), allocatable :: Temp(:)
    1641             : #include "pm_arrayResize@routines.inc.F90"
    1642         800 :     end procedure
    1643             : #endif
    1644             : 
    1645             : #if LK2_ENABLED
    1646         800 :     module procedure setReboundSLLU_D1_LK2
    1647             :         use pm_kind, only: LKC => LK2
    1648             :         logical(LKC), allocatable :: Temp(:)
    1649             : #include "pm_arrayResize@routines.inc.F90"
    1650         800 :     end procedure
    1651             : #endif
    1652             : 
    1653             : #if LK1_ENABLED
    1654         800 :     module procedure setReboundSLLU_D1_LK1
    1655             :         use pm_kind, only: LKC => LK1
    1656             :         logical(LKC), allocatable :: Temp(:)
    1657             : #include "pm_arrayResize@routines.inc.F90"
    1658         800 :     end procedure
    1659             : #endif
    1660             : 
    1661             : #undef LK_ENABLED
    1662             : 
    1663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1664             : 
    1665             : #define CK_ENABLED 1
    1666             : 
    1667             : #if CK5_ENABLED
    1668             :     module procedure setReboundSLLU_D1_CK5
    1669             :         use pm_kind, only: CKC => CK5
    1670             :         complex(CKC), allocatable :: Temp(:)
    1671             : #include "pm_arrayResize@routines.inc.F90"
    1672             :     end procedure
    1673             : #endif
    1674             : 
    1675             : #if CK4_ENABLED
    1676         800 :     module procedure setReboundSLLU_D1_CK4
    1677             :         use pm_kind, only: CKC => CK4
    1678             :         complex(CKC), allocatable :: Temp(:)
    1679             : #include "pm_arrayResize@routines.inc.F90"
    1680         800 :     end procedure
    1681             : #endif
    1682             : 
    1683             : #if CK3_ENABLED
    1684         800 :     module procedure setReboundSLLU_D1_CK3
    1685             :         use pm_kind, only: CKC => CK3
    1686             :         complex(CKC), allocatable :: Temp(:)
    1687             : #include "pm_arrayResize@routines.inc.F90"
    1688         800 :     end procedure
    1689             : #endif
    1690             : 
    1691             : #if CK2_ENABLED
    1692         800 :     module procedure setReboundSLLU_D1_CK2
    1693             :         use pm_kind, only: CKC => CK2
    1694             :         complex(CKC), allocatable :: Temp(:)
    1695             : #include "pm_arrayResize@routines.inc.F90"
    1696         800 :     end procedure
    1697             : #endif
    1698             : 
    1699             : #if CK1_ENABLED
    1700         800 :     module procedure setReboundSLLU_D1_CK1
    1701             :         use pm_kind, only: CKC => CK1
    1702             :         complex(CKC), allocatable :: Temp(:)
    1703             : #include "pm_arrayResize@routines.inc.F90"
    1704         800 :     end procedure
    1705             : #endif
    1706             : 
    1707             : #undef CK_ENABLED
    1708             : 
    1709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1710             : 
    1711             : #define RK_ENABLED 1
    1712             : 
    1713             : #if RK5_ENABLED
    1714             :     module procedure setReboundSLLU_D1_RK5
    1715             :         use pm_kind, only: RKC => RK5
    1716             :         real(RKC), allocatable :: Temp(:)
    1717             : #include "pm_arrayResize@routines.inc.F90"
    1718             :     end procedure
    1719             : #endif
    1720             : 
    1721             : #if RK4_ENABLED
    1722         800 :     module procedure setReboundSLLU_D1_RK4
    1723             :         use pm_kind, only: RKC => RK4
    1724             :         real(RKC), allocatable :: Temp(:)
    1725             : #include "pm_arrayResize@routines.inc.F90"
    1726         800 :     end procedure
    1727             : #endif
    1728             : 
    1729             : #if RK3_ENABLED
    1730         800 :     module procedure setReboundSLLU_D1_RK3
    1731             :         use pm_kind, only: RKC => RK3
    1732             :         real(RKC), allocatable :: Temp(:)
    1733             : #include "pm_arrayResize@routines.inc.F90"
    1734         800 :     end procedure
    1735             : #endif
    1736             : 
    1737             : #if RK2_ENABLED
    1738         800 :     module procedure setReboundSLLU_D1_RK2
    1739             :         use pm_kind, only: RKC => RK2
    1740             :         real(RKC), allocatable :: Temp(:)
    1741             : #include "pm_arrayResize@routines.inc.F90"
    1742         800 :     end procedure
    1743             : #endif
    1744             : 
    1745             : #if RK1_ENABLED
    1746         800 :     module procedure setReboundSLLU_D1_RK1
    1747             :         use pm_kind, only: RKC => RK1
    1748             :         real(RKC), allocatable :: Temp(:)
    1749             : #include "pm_arrayResize@routines.inc.F90"
    1750         800 :     end procedure
    1751             : #endif
    1752             : 
    1753             : #undef RK_ENABLED
    1754             : 
    1755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1756             : 
    1757             : #undef D1_ENABLED
    1758             : 
    1759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1762             : 
    1763             : #define D2_ENABLED 1
    1764             : 
    1765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1766             : 
    1767             : #define SK_ENABLED 1
    1768             : 
    1769             : #if SK5_ENABLED
    1770             :     module procedure setReboundSLLU_D2_SK5
    1771             :         use pm_kind, only: SKC => SK5
    1772             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1773             : #include "pm_arrayResize@routines.inc.F90"
    1774             :     end procedure
    1775             : #endif
    1776             : 
    1777             : #if SK4_ENABLED
    1778             :     module procedure setReboundSLLU_D2_SK4
    1779             :         use pm_kind, only: SKC => SK4
    1780             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1781             : #include "pm_arrayResize@routines.inc.F90"
    1782             :     end procedure
    1783             : #endif
    1784             : 
    1785             : #if SK3_ENABLED
    1786             :     module procedure setReboundSLLU_D2_SK3
    1787             :         use pm_kind, only: SKC => SK3
    1788             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1789             : #include "pm_arrayResize@routines.inc.F90"
    1790             :     end procedure
    1791             : #endif
    1792             : 
    1793             : #if SK2_ENABLED
    1794             :     module procedure setReboundSLLU_D2_SK2
    1795             :         use pm_kind, only: SKC => SK2
    1796             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1797             : #include "pm_arrayResize@routines.inc.F90"
    1798             :     end procedure
    1799             : #endif
    1800             : 
    1801             : #if SK1_ENABLED
    1802         801 :     module procedure setReboundSLLU_D2_SK1
    1803             :         use pm_kind, only: SKC => SK1
    1804         801 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:)
    1805             : #include "pm_arrayResize@routines.inc.F90"
    1806         801 :     end procedure
    1807             : #endif
    1808             : 
    1809             : #undef SK_ENABLED
    1810             : 
    1811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1812             : 
    1813             : #define IK_ENABLED 1
    1814             : 
    1815             : #if IK5_ENABLED
    1816         800 :     module procedure setReboundSLLU_D2_IK5
    1817             :         use pm_kind, only: IKC => IK5
    1818             :         integer(IKC), allocatable :: Temp(:,:)
    1819             : #include "pm_arrayResize@routines.inc.F90"
    1820         800 :     end procedure
    1821             : #endif
    1822             : 
    1823             : #if IK4_ENABLED
    1824         800 :     module procedure setReboundSLLU_D2_IK4
    1825             :         use pm_kind, only: IKC => IK4
    1826             :         integer(IKC), allocatable :: Temp(:,:)
    1827             : #include "pm_arrayResize@routines.inc.F90"
    1828         800 :     end procedure
    1829             : #endif
    1830             : 
    1831             : #if IK3_ENABLED
    1832         800 :     module procedure setReboundSLLU_D2_IK3
    1833             :         use pm_kind, only: IKC => IK3
    1834             :         integer(IKC), allocatable :: Temp(:,:)
    1835             : #include "pm_arrayResize@routines.inc.F90"
    1836         800 :     end procedure
    1837             : #endif
    1838             : 
    1839             : #if IK2_ENABLED
    1840         800 :     module procedure setReboundSLLU_D2_IK2
    1841             :         use pm_kind, only: IKC => IK2
    1842             :         integer(IKC), allocatable :: Temp(:,:)
    1843             : #include "pm_arrayResize@routines.inc.F90"
    1844         800 :     end procedure
    1845             : #endif
    1846             : 
    1847             : #if IK1_ENABLED
    1848         800 :     module procedure setReboundSLLU_D2_IK1
    1849             :         use pm_kind, only: IKC => IK1
    1850             :         integer(IKC), allocatable :: Temp(:,:)
    1851             : #include "pm_arrayResize@routines.inc.F90"
    1852         800 :     end procedure
    1853             : #endif
    1854             : 
    1855             : #undef IK_ENABLED
    1856             : 
    1857             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1858             : 
    1859             : #define LK_ENABLED 1
    1860             : 
    1861             : #if LK5_ENABLED
    1862         800 :     module procedure setReboundSLLU_D2_LK5
    1863             :         use pm_kind, only: LKC => LK5
    1864             :         logical(LKC), allocatable :: Temp(:,:)
    1865             : #include "pm_arrayResize@routines.inc.F90"
    1866         800 :     end procedure
    1867             : #endif
    1868             : 
    1869             : #if LK4_ENABLED
    1870         800 :     module procedure setReboundSLLU_D2_LK4
    1871             :         use pm_kind, only: LKC => LK4
    1872             :         logical(LKC), allocatable :: Temp(:,:)
    1873             : #include "pm_arrayResize@routines.inc.F90"
    1874         800 :     end procedure
    1875             : #endif
    1876             : 
    1877             : #if LK3_ENABLED
    1878         800 :     module procedure setReboundSLLU_D2_LK3
    1879             :         use pm_kind, only: LKC => LK3
    1880             :         logical(LKC), allocatable :: Temp(:,:)
    1881             : #include "pm_arrayResize@routines.inc.F90"
    1882         800 :     end procedure
    1883             : #endif
    1884             : 
    1885             : #if LK2_ENABLED
    1886         800 :     module procedure setReboundSLLU_D2_LK2
    1887             :         use pm_kind, only: LKC => LK2
    1888             :         logical(LKC), allocatable :: Temp(:,:)
    1889             : #include "pm_arrayResize@routines.inc.F90"
    1890         800 :     end procedure
    1891             : #endif
    1892             : 
    1893             : #if LK1_ENABLED
    1894         800 :     module procedure setReboundSLLU_D2_LK1
    1895             :         use pm_kind, only: LKC => LK1
    1896             :         logical(LKC), allocatable :: Temp(:,:)
    1897             : #include "pm_arrayResize@routines.inc.F90"
    1898         800 :     end procedure
    1899             : #endif
    1900             : 
    1901             : #undef LK_ENABLED
    1902             : 
    1903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1904             : 
    1905             : #define CK_ENABLED 1
    1906             : 
    1907             : #if CK5_ENABLED
    1908             :     module procedure setReboundSLLU_D2_CK5
    1909             :         use pm_kind, only: CKC => CK5
    1910             :         complex(CKC), allocatable :: Temp(:,:)
    1911             : #include "pm_arrayResize@routines.inc.F90"
    1912             :     end procedure
    1913             : #endif
    1914             : 
    1915             : #if CK4_ENABLED
    1916         800 :     module procedure setReboundSLLU_D2_CK4
    1917             :         use pm_kind, only: CKC => CK4
    1918             :         complex(CKC), allocatable :: Temp(:,:)
    1919             : #include "pm_arrayResize@routines.inc.F90"
    1920         800 :     end procedure
    1921             : #endif
    1922             : 
    1923             : #if CK3_ENABLED
    1924         800 :     module procedure setReboundSLLU_D2_CK3
    1925             :         use pm_kind, only: CKC => CK3
    1926             :         complex(CKC), allocatable :: Temp(:,:)
    1927             : #include "pm_arrayResize@routines.inc.F90"
    1928         800 :     end procedure
    1929             : #endif
    1930             : 
    1931             : #if CK2_ENABLED
    1932         800 :     module procedure setReboundSLLU_D2_CK2
    1933             :         use pm_kind, only: CKC => CK2
    1934             :         complex(CKC), allocatable :: Temp(:,:)
    1935             : #include "pm_arrayResize@routines.inc.F90"
    1936         800 :     end procedure
    1937             : #endif
    1938             : 
    1939             : #if CK1_ENABLED
    1940         800 :     module procedure setReboundSLLU_D2_CK1
    1941             :         use pm_kind, only: CKC => CK1
    1942             :         complex(CKC), allocatable :: Temp(:,:)
    1943             : #include "pm_arrayResize@routines.inc.F90"
    1944         800 :     end procedure
    1945             : #endif
    1946             : 
    1947             : #undef CK_ENABLED
    1948             : 
    1949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1950             : 
    1951             : #define RK_ENABLED 1
    1952             : 
    1953             : #if RK5_ENABLED
    1954             :     module procedure setReboundSLLU_D2_RK5
    1955             :         use pm_kind, only: RKC => RK5
    1956             :         real(RKC), allocatable :: Temp(:,:)
    1957             : #include "pm_arrayResize@routines.inc.F90"
    1958             :     end procedure
    1959             : #endif
    1960             : 
    1961             : #if RK4_ENABLED
    1962         800 :     module procedure setReboundSLLU_D2_RK4
    1963             :         use pm_kind, only: RKC => RK4
    1964             :         real(RKC), allocatable :: Temp(:,:)
    1965             : #include "pm_arrayResize@routines.inc.F90"
    1966         800 :     end procedure
    1967             : #endif
    1968             : 
    1969             : #if RK3_ENABLED
    1970         800 :     module procedure setReboundSLLU_D2_RK3
    1971             :         use pm_kind, only: RKC => RK3
    1972             :         real(RKC), allocatable :: Temp(:,:)
    1973             : #include "pm_arrayResize@routines.inc.F90"
    1974         800 :     end procedure
    1975             : #endif
    1976             : 
    1977             : #if RK2_ENABLED
    1978         800 :     module procedure setReboundSLLU_D2_RK2
    1979             :         use pm_kind, only: RKC => RK2
    1980             :         real(RKC), allocatable :: Temp(:,:)
    1981             : #include "pm_arrayResize@routines.inc.F90"
    1982         800 :     end procedure
    1983             : #endif
    1984             : 
    1985             : #if RK1_ENABLED
    1986         800 :     module procedure setReboundSLLU_D2_RK1
    1987             :         use pm_kind, only: RKC => RK1
    1988             :         real(RKC), allocatable :: Temp(:,:)
    1989             : #include "pm_arrayResize@routines.inc.F90"
    1990         800 :     end procedure
    1991             : #endif
    1992             : 
    1993             : #undef RK_ENABLED
    1994             : 
    1995             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1996             : 
    1997             : #undef D2_ENABLED
    1998             : 
    1999             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2000             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2002             : 
    2003             : #define D3_ENABLED 1
    2004             : 
    2005             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2006             : 
    2007             : #define SK_ENABLED 1
    2008             : 
    2009             : #if SK5_ENABLED
    2010             :     module procedure setReboundSLLU_D3_SK5
    2011             :         use pm_kind, only: SKC => SK5
    2012             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    2013             : #include "pm_arrayResize@routines.inc.F90"
    2014             :     end procedure
    2015             : #endif
    2016             : 
    2017             : #if SK4_ENABLED
    2018             :     module procedure setReboundSLLU_D3_SK4
    2019             :         use pm_kind, only: SKC => SK4
    2020             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    2021             : #include "pm_arrayResize@routines.inc.F90"
    2022             :     end procedure
    2023             : #endif
    2024             : 
    2025             : #if SK3_ENABLED
    2026             :     module procedure setReboundSLLU_D3_SK3
    2027             :         use pm_kind, only: SKC => SK3
    2028             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    2029             : #include "pm_arrayResize@routines.inc.F90"
    2030             :     end procedure
    2031             : #endif
    2032             : 
    2033             : #if SK2_ENABLED
    2034             :     module procedure setReboundSLLU_D3_SK2
    2035             :         use pm_kind, only: SKC => SK2
    2036             :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    2037             : #include "pm_arrayResize@routines.inc.F90"
    2038             :     end procedure
    2039             : #endif
    2040             : 
    2041             : #if SK1_ENABLED
    2042         801 :     module procedure setReboundSLLU_D3_SK1
    2043             :         use pm_kind, only: SKC => SK1
    2044         801 :         character(len(Array,IK),SKC), allocatable :: Temp(:,:,:)
    2045             : #include "pm_arrayResize@routines.inc.F90"
    2046         801 :     end procedure
    2047             : #endif
    2048             : 
    2049             : #undef SK_ENABLED
    2050             : 
    2051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2052             : 
    2053             : #define IK_ENABLED 1
    2054             : 
    2055             : #if IK5_ENABLED
    2056         800 :     module procedure setReboundSLLU_D3_IK5
    2057             :         use pm_kind, only: IKC => IK5
    2058             :         integer(IKC), allocatable :: Temp(:,:,:)
    2059             : #include "pm_arrayResize@routines.inc.F90"
    2060         800 :     end procedure
    2061             : #endif
    2062             : 
    2063             : #if IK4_ENABLED
    2064         800 :     module procedure setReboundSLLU_D3_IK4
    2065             :         use pm_kind, only: IKC => IK4
    2066             :         integer(IKC), allocatable :: Temp(:,:,:)
    2067             : #include "pm_arrayResize@routines.inc.F90"
    2068         800 :     end procedure
    2069             : #endif
    2070             : 
    2071             : #if IK3_ENABLED
    2072         800 :     module procedure setReboundSLLU_D3_IK3
    2073             :         use pm_kind, only: IKC => IK3
    2074             :         integer(IKC), allocatable :: Temp(:,:,:)
    2075             : #include "pm_arrayResize@routines.inc.F90"
    2076         800 :     end procedure
    2077             : #endif
    2078             : 
    2079             : #if IK2_ENABLED
    2080         800 :     module procedure setReboundSLLU_D3_IK2
    2081             :         use pm_kind, only: IKC => IK2
    2082             :         integer(IKC), allocatable :: Temp(:,:,:)
    2083             : #include "pm_arrayResize@routines.inc.F90"
    2084         800 :     end procedure
    2085             : #endif
    2086             : 
    2087             : #if IK1_ENABLED
    2088         800 :     module procedure setReboundSLLU_D3_IK1
    2089             :         use pm_kind, only: IKC => IK1
    2090             :         integer(IKC), allocatable :: Temp(:,:,:)
    2091             : #include "pm_arrayResize@routines.inc.F90"
    2092         800 :     end procedure
    2093             : #endif
    2094             : 
    2095             : #undef IK_ENABLED
    2096             : 
    2097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2098             : 
    2099             : #define LK_ENABLED 1
    2100             : 
    2101             : #if LK5_ENABLED
    2102         800 :     module procedure setReboundSLLU_D3_LK5
    2103             :         use pm_kind, only: LKC => LK5
    2104             :         logical(LKC), allocatable :: Temp(:,:,:)
    2105             : #include "pm_arrayResize@routines.inc.F90"
    2106         800 :     end procedure
    2107             : #endif
    2108             : 
    2109             : #if LK4_ENABLED
    2110         800 :     module procedure setReboundSLLU_D3_LK4
    2111             :         use pm_kind, only: LKC => LK4
    2112             :         logical(LKC), allocatable :: Temp(:,:,:)
    2113             : #include "pm_arrayResize@routines.inc.F90"
    2114         800 :     end procedure
    2115             : #endif
    2116             : 
    2117             : #if LK3_ENABLED
    2118         800 :     module procedure setReboundSLLU_D3_LK3
    2119             :         use pm_kind, only: LKC => LK3
    2120             :         logical(LKC), allocatable :: Temp(:,:,:)
    2121             : #include "pm_arrayResize@routines.inc.F90"
    2122         800 :     end procedure
    2123             : #endif
    2124             : 
    2125             : #if LK2_ENABLED
    2126         800 :     module procedure setReboundSLLU_D3_LK2
    2127             :         use pm_kind, only: LKC => LK2
    2128             :         logical(LKC), allocatable :: Temp(:,:,:)
    2129             : #include "pm_arrayResize@routines.inc.F90"
    2130         800 :     end procedure
    2131             : #endif
    2132             : 
    2133             : #if LK1_ENABLED
    2134         800 :     module procedure setReboundSLLU_D3_LK1
    2135             :         use pm_kind, only: LKC => LK1
    2136             :         logical(LKC), allocatable :: Temp(:,:,:)
    2137             : #include "pm_arrayResize@routines.inc.F90"
    2138         800 :     end procedure
    2139             : #endif
    2140             : 
    2141             : #undef LK_ENABLED
    2142             : 
    2143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2144             : 
    2145             : #define CK_ENABLED 1
    2146             : 
    2147             : #if CK5_ENABLED
    2148             :     module procedure setReboundSLLU_D3_CK5
    2149             :         use pm_kind, only: CKC => CK5
    2150             :         complex(CKC), allocatable :: Temp(:,:,:)
    2151             : #include "pm_arrayResize@routines.inc.F90"
    2152             :     end procedure
    2153             : #endif
    2154             : 
    2155             : #if CK4_ENABLED
    2156         800 :     module procedure setReboundSLLU_D3_CK4
    2157             :         use pm_kind, only: CKC => CK4
    2158             :         complex(CKC), allocatable :: Temp(:,:,:)
    2159             : #include "pm_arrayResize@routines.inc.F90"
    2160         800 :     end procedure
    2161             : #endif
    2162             : 
    2163             : #if CK3_ENABLED
    2164         800 :     module procedure setReboundSLLU_D3_CK3
    2165             :         use pm_kind, only: CKC => CK3
    2166             :         complex(CKC), allocatable :: Temp(:,:,:)
    2167             : #include "pm_arrayResize@routines.inc.F90"
    2168         800 :     end procedure
    2169             : #endif
    2170             : 
    2171             : #if CK2_ENABLED
    2172         800 :     module procedure setReboundSLLU_D3_CK2
    2173             :         use pm_kind, only: CKC => CK2
    2174             :         complex(CKC), allocatable :: Temp(:,:,:)
    2175             : #include "pm_arrayResize@routines.inc.F90"
    2176         800 :     end procedure
    2177             : #endif
    2178             : 
    2179             : #if CK1_ENABLED
    2180         800 :     module procedure setReboundSLLU_D3_CK1
    2181             :         use pm_kind, only: CKC => CK1
    2182             :         complex(CKC), allocatable :: Temp(:,:,:)
    2183             : #include "pm_arrayResize@routines.inc.F90"
    2184         800 :     end procedure
    2185             : #endif
    2186             : 
    2187             : #undef CK_ENABLED
    2188             : 
    2189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2190             : 
    2191             : #define RK_ENABLED 1
    2192             : 
    2193             : #if RK5_ENABLED
    2194             :     module procedure setReboundSLLU_D3_RK5
    2195             :         use pm_kind, only: RKC => RK5
    2196             :         real(RKC), allocatable :: Temp(:,:,:)
    2197             : #include "pm_arrayResize@routines.inc.F90"
    2198             :     end procedure
    2199             : #endif
    2200             : 
    2201             : #if RK4_ENABLED
    2202         800 :     module procedure setReboundSLLU_D3_RK4
    2203             :         use pm_kind, only: RKC => RK4
    2204             :         real(RKC), allocatable :: Temp(:,:,:)
    2205             : #include "pm_arrayResize@routines.inc.F90"
    2206         800 :     end procedure
    2207             : #endif
    2208             : 
    2209             : #if RK3_ENABLED
    2210         800 :     module procedure setReboundSLLU_D3_RK3
    2211             :         use pm_kind, only: RKC => RK3
    2212             :         real(RKC), allocatable :: Temp(:,:,:)
    2213             : #include "pm_arrayResize@routines.inc.F90"
    2214         800 :     end procedure
    2215             : #endif
    2216             : 
    2217             : #if RK2_ENABLED
    2218         800 :     module procedure setReboundSLLU_D3_RK2
    2219             :         use pm_kind, only: RKC => RK2
    2220             :         real(RKC), allocatable :: Temp(:,:,:)
    2221             : #include "pm_arrayResize@routines.inc.F90"
    2222         800 :     end procedure
    2223             : #endif
    2224             : 
    2225             : #if RK1_ENABLED
    2226         800 :     module procedure setReboundSLLU_D3_RK1
    2227             :         use pm_kind, only: RKC => RK1
    2228             :         real(RKC), allocatable :: Temp(:,:,:)
    2229             : #include "pm_arrayResize@routines.inc.F90"
    2230         800 :     end procedure
    2231             : #endif
    2232             : 
    2233             : #undef RK_ENABLED
    2234             : 
    2235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2236             : 
    2237             : #undef D3_ENABLED
    2238             : 
    2239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2242             : 
    2243             : #undef SLLU_ENABLED
    2244             : 
    2245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2248             : 
    2249             : #undef setRebound_ENABLED
    2250             : 
    2251             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2252             : 
    2253             : #undef CHECK_ASSERTION
    2254             : 
    2255             : end submodule routines

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