https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_arrayRank@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 200 200 100.0 %
Date: 2024-04-08 03:18:57 Functions: 200 200 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_arrayRank](@ref pm_arrayRank).
      19             : !>
      20             : !>  \fintest
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (test_pm_arrayRank) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_val2str, only: getStr
      30             :     use pm_container, only: operator(>)
      31             :     use pm_logicalCompare, only: operator(>)
      32             :     use pm_complexCompareLex, only: operator(>)
      33             :     use pm_arraySort, only: setSorted
      34             :     use pm_distUnif, only: getUnifRand, setUnifRand
      35             :     use pm_arrayReverse, only: setReversed
      36             :     use pm_arrayRange, only: getRange
      37             :     use pm_kind, only: LK, RKR => RK
      38             :     implicit none
      39             : 
      40             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      41             : 
      42             : contains
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : #define getRank_ENABLED 1
      47             : 
      48             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             : 
      52             : #define Dense_ENABLED 1
      53             : 
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             : 
      58             : #define D0_ENABLED 1
      59             : 
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             : 
      62             : #define SK_ENABLED 1
      63             : 
      64             : #if SK5_ENABLED
      65             :     module procedure test_getRankDense_D0_SK5
      66             :         use pm_kind, only: SKC => SK5
      67             : #include "test_pm_arrayRank@routines.inc.F90"
      68             :     end procedure
      69             : #endif
      70             : 
      71             : #if SK4_ENABLED
      72             :     module procedure test_getRankDense_D0_SK4
      73             :         use pm_kind, only: SKC => SK4
      74             : #include "test_pm_arrayRank@routines.inc.F90"
      75             :     end procedure
      76             : #endif
      77             : 
      78             : #if SK3_ENABLED
      79             :     module procedure test_getRankDense_D0_SK3
      80             :         use pm_kind, only: SKC => SK3
      81             : #include "test_pm_arrayRank@routines.inc.F90"
      82             :     end procedure
      83             : #endif
      84             : 
      85             : #if SK2_ENABLED
      86             :     module procedure test_getRankDense_D0_SK2
      87             :         use pm_kind, only: SKC => SK2
      88             : #include "test_pm_arrayRank@routines.inc.F90"
      89             :     end procedure
      90             : #endif
      91             : 
      92             : #if SK1_ENABLED
      93           1 :     module procedure test_getRankDense_D0_SK1
      94             :         use pm_kind, only: SKC => SK1
      95             : #include "test_pm_arrayRank@routines.inc.F90"
      96             :     end procedure
      97             : #endif
      98             : 
      99             : #undef SK_ENABLED
     100             : 
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             : 
     103             : #undef D0_ENABLED
     104             : 
     105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             : 
     109             : #define D1_ENABLED 1
     110             : 
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             : 
     113             : #define SK_ENABLED 1
     114             : 
     115             : #if SK5_ENABLED
     116             :     module procedure test_getRankDense_D1_SK5
     117             :         use pm_kind, only: SKC => SK5
     118             : #include "test_pm_arrayRank@routines.inc.F90"
     119             :     end procedure
     120             : #endif
     121             : 
     122             : #if SK4_ENABLED
     123             :     module procedure test_getRankDense_D1_SK4
     124             :         use pm_kind, only: SKC => SK4
     125             : #include "test_pm_arrayRank@routines.inc.F90"
     126             :     end procedure
     127             : #endif
     128             : 
     129             : #if SK3_ENABLED
     130             :     module procedure test_getRankDense_D1_SK3
     131             :         use pm_kind, only: SKC => SK3
     132             : #include "test_pm_arrayRank@routines.inc.F90"
     133             :     end procedure
     134             : #endif
     135             : 
     136             : #if SK2_ENABLED
     137             :     module procedure test_getRankDense_D1_SK2
     138             :         use pm_kind, only: SKC => SK2
     139             : #include "test_pm_arrayRank@routines.inc.F90"
     140             :     end procedure
     141             : #endif
     142             : 
     143             : #if SK1_ENABLED
     144           1 :     module procedure test_getRankDense_D1_SK1
     145             :         use pm_kind, only: SKC => SK1
     146             : #include "test_pm_arrayRank@routines.inc.F90"
     147             :     end procedure
     148             : #endif
     149             : 
     150             : #undef SK_ENABLED
     151             : 
     152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     153             : 
     154             : #define IK_ENABLED 1
     155             : 
     156             : #if IK5_ENABLED
     157           1 :     module procedure test_getRankDense_D1_IK5
     158             :         use pm_kind, only: IKC => IK5
     159             : #include "test_pm_arrayRank@routines.inc.F90"
     160             :     end procedure
     161             : #endif
     162             : 
     163             : #if IK4_ENABLED
     164           1 :     module procedure test_getRankDense_D1_IK4
     165             :         use pm_kind, only: IKC => IK4
     166             : #include "test_pm_arrayRank@routines.inc.F90"
     167             :     end procedure
     168             : #endif
     169             : 
     170             : #if IK3_ENABLED
     171           1 :     module procedure test_getRankDense_D1_IK3
     172             :         use pm_kind, only: IKC => IK3
     173             : #include "test_pm_arrayRank@routines.inc.F90"
     174             :     end procedure
     175             : #endif
     176             : 
     177             : #if IK2_ENABLED
     178           1 :     module procedure test_getRankDense_D1_IK2
     179             :         use pm_kind, only: IKC => IK2
     180             : #include "test_pm_arrayRank@routines.inc.F90"
     181             :     end procedure
     182             : #endif
     183             : 
     184             : #if IK1_ENABLED
     185           1 :     module procedure test_getRankDense_D1_IK1
     186             :         use pm_kind, only: IKC => IK1
     187             : #include "test_pm_arrayRank@routines.inc.F90"
     188             :     end procedure
     189             : #endif
     190             : 
     191             : #undef IK_ENABLED
     192             : 
     193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     194             : 
     195             : #define LK_ENABLED 1
     196             : 
     197             : #if LK5_ENABLED
     198           1 :     module procedure test_getRankDense_D1_LK5
     199             :         use pm_kind, only: LKC => LK5
     200             : #include "test_pm_arrayRank@routines.inc.F90"
     201             :     end procedure
     202             : #endif
     203             : 
     204             : #if LK4_ENABLED
     205           1 :     module procedure test_getRankDense_D1_LK4
     206             :         use pm_kind, only: LKC => LK4
     207             : #include "test_pm_arrayRank@routines.inc.F90"
     208             :     end procedure
     209             : #endif
     210             : 
     211             : #if LK3_ENABLED
     212           1 :     module procedure test_getRankDense_D1_LK3
     213             :         use pm_kind, only: LKC => LK3
     214             : #include "test_pm_arrayRank@routines.inc.F90"
     215             :     end procedure
     216             : #endif
     217             : 
     218             : #if LK2_ENABLED
     219           1 :     module procedure test_getRankDense_D1_LK2
     220             :         use pm_kind, only: LKC => LK2
     221             : #include "test_pm_arrayRank@routines.inc.F90"
     222             :     end procedure
     223             : #endif
     224             : 
     225             : #if LK1_ENABLED
     226           1 :     module procedure test_getRankDense_D1_LK1
     227             :         use pm_kind, only: LKC => LK1
     228             : #include "test_pm_arrayRank@routines.inc.F90"
     229             :     end procedure
     230             : #endif
     231             : 
     232             : #undef LK_ENABLED
     233             : 
     234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     235             : 
     236             : #define CK_ENABLED 1
     237             : 
     238             : #if CK5_ENABLED
     239             :     module procedure test_getRankDense_D1_CK5
     240             :         use pm_kind, only: CKC => CK5
     241             : #include "test_pm_arrayRank@routines.inc.F90"
     242             :     end procedure
     243             : #endif
     244             : 
     245             : #if CK4_ENABLED
     246           1 :     module procedure test_getRankDense_D1_CK4
     247             :         use pm_kind, only: CKC => CK4
     248             : #include "test_pm_arrayRank@routines.inc.F90"
     249             :     end procedure
     250             : #endif
     251             : 
     252             : #if CK3_ENABLED
     253           1 :     module procedure test_getRankDense_D1_CK3
     254             :         use pm_kind, only: CKC => CK3
     255             : #include "test_pm_arrayRank@routines.inc.F90"
     256             :     end procedure
     257             : #endif
     258             : 
     259             : #if CK2_ENABLED
     260           1 :     module procedure test_getRankDense_D1_CK2
     261             :         use pm_kind, only: CKC => CK2
     262             : #include "test_pm_arrayRank@routines.inc.F90"
     263             :     end procedure
     264             : #endif
     265             : 
     266             : #if CK1_ENABLED
     267           1 :     module procedure test_getRankDense_D1_CK1
     268             :         use pm_kind, only: CKC => CK1
     269             : #include "test_pm_arrayRank@routines.inc.F90"
     270             :     end procedure
     271             : #endif
     272             : 
     273             : #undef CK_ENABLED
     274             : 
     275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     276             : 
     277             : #define RK_ENABLED 1
     278             : 
     279             : #if RK5_ENABLED
     280             :     module procedure test_getRankDense_D1_RK5
     281             :         use pm_kind, only: RKC => RK5
     282             : #include "test_pm_arrayRank@routines.inc.F90"
     283             :     end procedure
     284             : #endif
     285             : 
     286             : #if RK4_ENABLED
     287           1 :     module procedure test_getRankDense_D1_RK4
     288             :         use pm_kind, only: RKC => RK4
     289             : #include "test_pm_arrayRank@routines.inc.F90"
     290             :     end procedure
     291             : #endif
     292             : 
     293             : #if RK3_ENABLED
     294           1 :     module procedure test_getRankDense_D1_RK3
     295             :         use pm_kind, only: RKC => RK3
     296             : #include "test_pm_arrayRank@routines.inc.F90"
     297             :     end procedure
     298             : #endif
     299             : 
     300             : #if RK2_ENABLED
     301           1 :     module procedure test_getRankDense_D1_RK2
     302             :         use pm_kind, only: RKC => RK2
     303             : #include "test_pm_arrayRank@routines.inc.F90"
     304             :     end procedure
     305             : #endif
     306             : 
     307             : #if RK1_ENABLED
     308           1 :     module procedure test_getRankDense_D1_RK1
     309             :         use pm_kind, only: RKC => RK1
     310             : #include "test_pm_arrayRank@routines.inc.F90"
     311             :     end procedure
     312             : #endif
     313             : 
     314             : #undef RK_ENABLED
     315             : 
     316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     317             : 
     318             : #if !__GFORTRAN__ && 0
     319             : #define PSSK_ENABLED 1
     320             : 
     321             : #if SK5_ENABLED
     322             :     module procedure test_getRankDense_D1_PSSK5
     323             :         use pm_kind, only: SKC => SK5
     324             :         use pm_container, only: css_pdt
     325             : #include "test_pm_arrayRank@routines.inc.F90"
     326             :     end procedure
     327             : #endif
     328             : 
     329             : #if SK4_ENABLED
     330             :     module procedure test_getRankDense_D1_PSSK4
     331             :         use pm_kind, only: SKC => SK4
     332             :         use pm_container, only: css_pdt
     333             : #include "test_pm_arrayRank@routines.inc.F90"
     334             :     end procedure
     335             : #endif
     336             : 
     337             : #if SK3_ENABLED
     338             :     module procedure test_getRankDense_D1_PSSK3
     339             :         use pm_kind, only: SKC => SK3
     340             :         use pm_container, only: css_pdt
     341             : #include "test_pm_arrayRank@routines.inc.F90"
     342             :     end procedure
     343             : #endif
     344             : 
     345             : #if SK2_ENABLED
     346             :     module procedure test_getRankDense_D1_PSSK2
     347             :         use pm_kind, only: SKC => SK2
     348             :         use pm_container, only: css_pdt
     349             : #include "test_pm_arrayRank@routines.inc.F90"
     350             :     end procedure
     351             : #endif
     352             : 
     353             : #if SK1_ENABLED
     354             :     module procedure test_getRankDense_D1_PSSK1
     355             :         use pm_kind, only: SKC => SK1
     356             :         use pm_container, only: css_pdt
     357             : #include "test_pm_arrayRank@routines.inc.F90"
     358             :     end procedure
     359             : #endif
     360             : 
     361             : #undef PSSK_ENABLED
     362             : #endif
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : #undef D1_ENABLED
     367             : 
     368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     371             : 
     372             : #undef Dense_ENABLED
     373             : 
     374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     377             : 
     378             : #undef getRank_ENABLED
     379             : 
     380             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     381             : 
     382             : #define setRank_ENABLED 1
     383             : 
     384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             : 
     388             : #define Dense_ENABLED 1
     389             : 
     390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     393             : 
     394             : #define D0_ENABLED 1
     395             : 
     396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     397             : 
     398             : #define SK_ENABLED 1
     399             : 
     400             : #if SK5_ENABLED
     401             :     module procedure test_setRankDense_D0_SK5
     402             :         use pm_kind, only: SKC => SK5
     403             : #include "test_pm_arrayRank@routines.inc.F90"
     404             :     end procedure
     405             : #endif
     406             : 
     407             : #if SK4_ENABLED
     408             :     module procedure test_setRankDense_D0_SK4
     409             :         use pm_kind, only: SKC => SK4
     410             : #include "test_pm_arrayRank@routines.inc.F90"
     411             :     end procedure
     412             : #endif
     413             : 
     414             : #if SK3_ENABLED
     415             :     module procedure test_setRankDense_D0_SK3
     416             :         use pm_kind, only: SKC => SK3
     417             : #include "test_pm_arrayRank@routines.inc.F90"
     418             :     end procedure
     419             : #endif
     420             : 
     421             : #if SK2_ENABLED
     422             :     module procedure test_setRankDense_D0_SK2
     423             :         use pm_kind, only: SKC => SK2
     424             : #include "test_pm_arrayRank@routines.inc.F90"
     425             :     end procedure
     426             : #endif
     427             : 
     428             : #if SK1_ENABLED
     429           1 :     module procedure test_setRankDense_D0_SK1
     430             :         use pm_kind, only: SKC => SK1
     431             : #include "test_pm_arrayRank@routines.inc.F90"
     432             :     end procedure
     433             : #endif
     434             : 
     435             : #undef SK_ENABLED
     436             : 
     437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     438             : 
     439             : #undef D0_ENABLED
     440             : 
     441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     443             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     444             : 
     445             : #define D1_ENABLED 1
     446             : 
     447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     448             : 
     449             : #define SK_ENABLED 1
     450             : 
     451             : #if SK5_ENABLED
     452             :     module procedure test_setRankDense_D1_SK5
     453             :         use pm_kind, only: SKC => SK5
     454             : #include "test_pm_arrayRank@routines.inc.F90"
     455             :     end procedure
     456             : #endif
     457             : 
     458             : #if SK4_ENABLED
     459             :     module procedure test_setRankDense_D1_SK4
     460             :         use pm_kind, only: SKC => SK4
     461             : #include "test_pm_arrayRank@routines.inc.F90"
     462             :     end procedure
     463             : #endif
     464             : 
     465             : #if SK3_ENABLED
     466             :     module procedure test_setRankDense_D1_SK3
     467             :         use pm_kind, only: SKC => SK3
     468             : #include "test_pm_arrayRank@routines.inc.F90"
     469             :     end procedure
     470             : #endif
     471             : 
     472             : #if SK2_ENABLED
     473             :     module procedure test_setRankDense_D1_SK2
     474             :         use pm_kind, only: SKC => SK2
     475             : #include "test_pm_arrayRank@routines.inc.F90"
     476             :     end procedure
     477             : #endif
     478             : 
     479             : #if SK1_ENABLED
     480           1 :     module procedure test_setRankDense_D1_SK1
     481             :         use pm_kind, only: SKC => SK1
     482             : #include "test_pm_arrayRank@routines.inc.F90"
     483             :     end procedure
     484             : #endif
     485             : 
     486             : #undef SK_ENABLED
     487             : 
     488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     489             : 
     490             : #define IK_ENABLED 1
     491             : 
     492             : #if IK5_ENABLED
     493           1 :     module procedure test_setRankDense_D1_IK5
     494             :         use pm_kind, only: IKC => IK5
     495             : #include "test_pm_arrayRank@routines.inc.F90"
     496             :     end procedure
     497             : #endif
     498             : 
     499             : #if IK4_ENABLED
     500           1 :     module procedure test_setRankDense_D1_IK4
     501             :         use pm_kind, only: IKC => IK4
     502             : #include "test_pm_arrayRank@routines.inc.F90"
     503             :     end procedure
     504             : #endif
     505             : 
     506             : #if IK3_ENABLED
     507           1 :     module procedure test_setRankDense_D1_IK3
     508             :         use pm_kind, only: IKC => IK3
     509             : #include "test_pm_arrayRank@routines.inc.F90"
     510             :     end procedure
     511             : #endif
     512             : 
     513             : #if IK2_ENABLED
     514           1 :     module procedure test_setRankDense_D1_IK2
     515             :         use pm_kind, only: IKC => IK2
     516             : #include "test_pm_arrayRank@routines.inc.F90"
     517             :     end procedure
     518             : #endif
     519             : 
     520             : #if IK1_ENABLED
     521           1 :     module procedure test_setRankDense_D1_IK1
     522             :         use pm_kind, only: IKC => IK1
     523             : #include "test_pm_arrayRank@routines.inc.F90"
     524             :     end procedure
     525             : #endif
     526             : 
     527             : #undef IK_ENABLED
     528             : 
     529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     530             : 
     531             : #define LK_ENABLED 1
     532             : 
     533             : #if LK5_ENABLED
     534           1 :     module procedure test_setRankDense_D1_LK5
     535             :         use pm_kind, only: LKC => LK5
     536             : #include "test_pm_arrayRank@routines.inc.F90"
     537             :     end procedure
     538             : #endif
     539             : 
     540             : #if LK4_ENABLED
     541           1 :     module procedure test_setRankDense_D1_LK4
     542             :         use pm_kind, only: LKC => LK4
     543             : #include "test_pm_arrayRank@routines.inc.F90"
     544             :     end procedure
     545             : #endif
     546             : 
     547             : #if LK3_ENABLED
     548           1 :     module procedure test_setRankDense_D1_LK3
     549             :         use pm_kind, only: LKC => LK3
     550             : #include "test_pm_arrayRank@routines.inc.F90"
     551             :     end procedure
     552             : #endif
     553             : 
     554             : #if LK2_ENABLED
     555           1 :     module procedure test_setRankDense_D1_LK2
     556             :         use pm_kind, only: LKC => LK2
     557             : #include "test_pm_arrayRank@routines.inc.F90"
     558             :     end procedure
     559             : #endif
     560             : 
     561             : #if LK1_ENABLED
     562           1 :     module procedure test_setRankDense_D1_LK1
     563             :         use pm_kind, only: LKC => LK1
     564             : #include "test_pm_arrayRank@routines.inc.F90"
     565             :     end procedure
     566             : #endif
     567             : 
     568             : #undef LK_ENABLED
     569             : 
     570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     571             : 
     572             : #define CK_ENABLED 1
     573             : 
     574             : #if CK5_ENABLED
     575             :     module procedure test_setRankDense_D1_CK5
     576             :         use pm_kind, only: CKC => CK5
     577             : #include "test_pm_arrayRank@routines.inc.F90"
     578             :     end procedure
     579             : #endif
     580             : 
     581             : #if CK4_ENABLED
     582           1 :     module procedure test_setRankDense_D1_CK4
     583             :         use pm_kind, only: CKC => CK4
     584             : #include "test_pm_arrayRank@routines.inc.F90"
     585             :     end procedure
     586             : #endif
     587             : 
     588             : #if CK3_ENABLED
     589           1 :     module procedure test_setRankDense_D1_CK3
     590             :         use pm_kind, only: CKC => CK3
     591             : #include "test_pm_arrayRank@routines.inc.F90"
     592             :     end procedure
     593             : #endif
     594             : 
     595             : #if CK2_ENABLED
     596           1 :     module procedure test_setRankDense_D1_CK2
     597             :         use pm_kind, only: CKC => CK2
     598             : #include "test_pm_arrayRank@routines.inc.F90"
     599             :     end procedure
     600             : #endif
     601             : 
     602             : #if CK1_ENABLED
     603           1 :     module procedure test_setRankDense_D1_CK1
     604             :         use pm_kind, only: CKC => CK1
     605             : #include "test_pm_arrayRank@routines.inc.F90"
     606             :     end procedure
     607             : #endif
     608             : 
     609             : #undef CK_ENABLED
     610             : 
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             : 
     613             : #define RK_ENABLED 1
     614             : 
     615             : #if RK5_ENABLED
     616             :     module procedure test_setRankDense_D1_RK5
     617             :         use pm_kind, only: RKC => RK5
     618             : #include "test_pm_arrayRank@routines.inc.F90"
     619             :     end procedure
     620             : #endif
     621             : 
     622             : #if RK4_ENABLED
     623           1 :     module procedure test_setRankDense_D1_RK4
     624             :         use pm_kind, only: RKC => RK4
     625             : #include "test_pm_arrayRank@routines.inc.F90"
     626             :     end procedure
     627             : #endif
     628             : 
     629             : #if RK3_ENABLED
     630           1 :     module procedure test_setRankDense_D1_RK3
     631             :         use pm_kind, only: RKC => RK3
     632             : #include "test_pm_arrayRank@routines.inc.F90"
     633             :     end procedure
     634             : #endif
     635             : 
     636             : #if RK2_ENABLED
     637           1 :     module procedure test_setRankDense_D1_RK2
     638             :         use pm_kind, only: RKC => RK2
     639             : #include "test_pm_arrayRank@routines.inc.F90"
     640             :     end procedure
     641             : #endif
     642             : 
     643             : #if RK1_ENABLED
     644           1 :     module procedure test_setRankDense_D1_RK1
     645             :         use pm_kind, only: RKC => RK1
     646             : #include "test_pm_arrayRank@routines.inc.F90"
     647             :     end procedure
     648             : #endif
     649             : 
     650             : #undef RK_ENABLED
     651             : 
     652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     653             : 
     654             : #if !__GFORTRAN__ && 0
     655             : #define PSSK_ENABLED 1
     656             : 
     657             : #if SK5_ENABLED
     658             :     module procedure test_setRankDense_D1_PSSK5
     659             :         use pm_kind, only: SKC => SK5
     660             :         use pm_container, only: css_pdt
     661             : #include "test_pm_arrayRank@routines.inc.F90"
     662             :     end procedure
     663             : #endif
     664             : 
     665             : #if SK4_ENABLED
     666             :     module procedure test_setRankDense_D1_PSSK4
     667             :         use pm_kind, only: SKC => SK4
     668             :         use pm_container, only: css_pdt
     669             : #include "test_pm_arrayRank@routines.inc.F90"
     670             :     end procedure
     671             : #endif
     672             : 
     673             : #if SK3_ENABLED
     674             :     module procedure test_setRankDense_D1_PSSK3
     675             :         use pm_kind, only: SKC => SK3
     676             :         use pm_container, only: css_pdt
     677             : #include "test_pm_arrayRank@routines.inc.F90"
     678             :     end procedure
     679             : #endif
     680             : 
     681             : #if SK2_ENABLED
     682             :     module procedure test_setRankDense_D1_PSSK2
     683             :         use pm_kind, only: SKC => SK2
     684             :         use pm_container, only: css_pdt
     685             : #include "test_pm_arrayRank@routines.inc.F90"
     686             :     end procedure
     687             : #endif
     688             : 
     689             : #if SK1_ENABLED
     690             :     module procedure test_setRankDense_D1_PSSK1
     691             :         use pm_kind, only: SKC => SK1
     692             :         use pm_container, only: css_pdt
     693             : #include "test_pm_arrayRank@routines.inc.F90"
     694             :     end procedure
     695             : #endif
     696             : 
     697             : #undef PSSK_ENABLED
     698             : #endif
     699             : 
     700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     701             : 
     702             : #undef D1_ENABLED
     703             : 
     704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     707             : 
     708             : #undef Dense_ENABLED
     709             : 
     710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     713             : 
     714             : #undef setRank_ENABLED
     715             : 
     716             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     717             : 
     718             : #define getRank_ENABLED 1
     719             : 
     720             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     723             : 
     724             : #define Fractional_ENABLED 1
     725             : 
     726             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     728             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     729             : 
     730             : #define D0_ENABLED 1
     731             : 
     732             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     733             : 
     734             : #define SK_ENABLED 1
     735             : 
     736             : #if SK5_ENABLED
     737             :     module procedure test_getRankFractional_D0_SK5
     738             :         use pm_kind, only: SKC => SK5
     739             : #include "test_pm_arrayRank@routines.inc.F90"
     740             :     end procedure
     741             : #endif
     742             : 
     743             : #if SK4_ENABLED
     744             :     module procedure test_getRankFractional_D0_SK4
     745             :         use pm_kind, only: SKC => SK4
     746             : #include "test_pm_arrayRank@routines.inc.F90"
     747             :     end procedure
     748             : #endif
     749             : 
     750             : #if SK3_ENABLED
     751             :     module procedure test_getRankFractional_D0_SK3
     752             :         use pm_kind, only: SKC => SK3
     753             : #include "test_pm_arrayRank@routines.inc.F90"
     754             :     end procedure
     755             : #endif
     756             : 
     757             : #if SK2_ENABLED
     758             :     module procedure test_getRankFractional_D0_SK2
     759             :         use pm_kind, only: SKC => SK2
     760             : #include "test_pm_arrayRank@routines.inc.F90"
     761             :     end procedure
     762             : #endif
     763             : 
     764             : #if SK1_ENABLED
     765           1 :     module procedure test_getRankFractional_D0_SK1
     766             :         use pm_kind, only: SKC => SK1
     767             : #include "test_pm_arrayRank@routines.inc.F90"
     768             :     end procedure
     769             : #endif
     770             : 
     771             : #undef SK_ENABLED
     772             : 
     773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775             : #undef D0_ENABLED
     776             : 
     777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     780             : 
     781             : #define D1_ENABLED 1
     782             : 
     783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     784             : 
     785             : #define SK_ENABLED 1
     786             : 
     787             : #if SK5_ENABLED
     788             :     module procedure test_getRankFractional_D1_SK5
     789             :         use pm_kind, only: SKC => SK5
     790             : #include "test_pm_arrayRank@routines.inc.F90"
     791             :     end procedure
     792             : #endif
     793             : 
     794             : #if SK4_ENABLED
     795             :     module procedure test_getRankFractional_D1_SK4
     796             :         use pm_kind, only: SKC => SK4
     797             : #include "test_pm_arrayRank@routines.inc.F90"
     798             :     end procedure
     799             : #endif
     800             : 
     801             : #if SK3_ENABLED
     802             :     module procedure test_getRankFractional_D1_SK3
     803             :         use pm_kind, only: SKC => SK3
     804             : #include "test_pm_arrayRank@routines.inc.F90"
     805             :     end procedure
     806             : #endif
     807             : 
     808             : #if SK2_ENABLED
     809             :     module procedure test_getRankFractional_D1_SK2
     810             :         use pm_kind, only: SKC => SK2
     811             : #include "test_pm_arrayRank@routines.inc.F90"
     812             :     end procedure
     813             : #endif
     814             : 
     815             : #if SK1_ENABLED
     816           1 :     module procedure test_getRankFractional_D1_SK1
     817             :         use pm_kind, only: SKC => SK1
     818             : #include "test_pm_arrayRank@routines.inc.F90"
     819             :     end procedure
     820             : #endif
     821             : 
     822             : #undef SK_ENABLED
     823             : 
     824             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     825             : 
     826             : #define IK_ENABLED 1
     827             : 
     828             : #if IK5_ENABLED
     829           1 :     module procedure test_getRankFractional_D1_IK5
     830             :         use pm_kind, only: IKC => IK5
     831             : #include "test_pm_arrayRank@routines.inc.F90"
     832             :     end procedure
     833             : #endif
     834             : 
     835             : #if IK4_ENABLED
     836           1 :     module procedure test_getRankFractional_D1_IK4
     837             :         use pm_kind, only: IKC => IK4
     838             : #include "test_pm_arrayRank@routines.inc.F90"
     839             :     end procedure
     840             : #endif
     841             : 
     842             : #if IK3_ENABLED
     843           1 :     module procedure test_getRankFractional_D1_IK3
     844             :         use pm_kind, only: IKC => IK3
     845             : #include "test_pm_arrayRank@routines.inc.F90"
     846             :     end procedure
     847             : #endif
     848             : 
     849             : #if IK2_ENABLED
     850           1 :     module procedure test_getRankFractional_D1_IK2
     851             :         use pm_kind, only: IKC => IK2
     852             : #include "test_pm_arrayRank@routines.inc.F90"
     853             :     end procedure
     854             : #endif
     855             : 
     856             : #if IK1_ENABLED
     857           1 :     module procedure test_getRankFractional_D1_IK1
     858             :         use pm_kind, only: IKC => IK1
     859             : #include "test_pm_arrayRank@routines.inc.F90"
     860             :     end procedure
     861             : #endif
     862             : 
     863             : #undef IK_ENABLED
     864             : 
     865             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     866             : 
     867             : #define LK_ENABLED 1
     868             : 
     869             : #if LK5_ENABLED
     870           1 :     module procedure test_getRankFractional_D1_LK5
     871             :         use pm_kind, only: LKC => LK5
     872             : #include "test_pm_arrayRank@routines.inc.F90"
     873             :     end procedure
     874             : #endif
     875             : 
     876             : #if LK4_ENABLED
     877           1 :     module procedure test_getRankFractional_D1_LK4
     878             :         use pm_kind, only: LKC => LK4
     879             : #include "test_pm_arrayRank@routines.inc.F90"
     880             :     end procedure
     881             : #endif
     882             : 
     883             : #if LK3_ENABLED
     884           1 :     module procedure test_getRankFractional_D1_LK3
     885             :         use pm_kind, only: LKC => LK3
     886             : #include "test_pm_arrayRank@routines.inc.F90"
     887             :     end procedure
     888             : #endif
     889             : 
     890             : #if LK2_ENABLED
     891           1 :     module procedure test_getRankFractional_D1_LK2
     892             :         use pm_kind, only: LKC => LK2
     893             : #include "test_pm_arrayRank@routines.inc.F90"
     894             :     end procedure
     895             : #endif
     896             : 
     897             : #if LK1_ENABLED
     898           1 :     module procedure test_getRankFractional_D1_LK1
     899             :         use pm_kind, only: LKC => LK1
     900             : #include "test_pm_arrayRank@routines.inc.F90"
     901             :     end procedure
     902             : #endif
     903             : 
     904             : #undef LK_ENABLED
     905             : 
     906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     907             : 
     908             : #define CK_ENABLED 1
     909             : 
     910             : #if CK5_ENABLED
     911             :     module procedure test_getRankFractional_D1_CK5
     912             :         use pm_kind, only: CKC => CK5
     913             : #include "test_pm_arrayRank@routines.inc.F90"
     914             :     end procedure
     915             : #endif
     916             : 
     917             : #if CK4_ENABLED
     918           1 :     module procedure test_getRankFractional_D1_CK4
     919             :         use pm_kind, only: CKC => CK4
     920             : #include "test_pm_arrayRank@routines.inc.F90"
     921             :     end procedure
     922             : #endif
     923             : 
     924             : #if CK3_ENABLED
     925           1 :     module procedure test_getRankFractional_D1_CK3
     926             :         use pm_kind, only: CKC => CK3
     927             : #include "test_pm_arrayRank@routines.inc.F90"
     928             :     end procedure
     929             : #endif
     930             : 
     931             : #if CK2_ENABLED
     932           1 :     module procedure test_getRankFractional_D1_CK2
     933             :         use pm_kind, only: CKC => CK2
     934             : #include "test_pm_arrayRank@routines.inc.F90"
     935             :     end procedure
     936             : #endif
     937             : 
     938             : #if CK1_ENABLED
     939           1 :     module procedure test_getRankFractional_D1_CK1
     940             :         use pm_kind, only: CKC => CK1
     941             : #include "test_pm_arrayRank@routines.inc.F90"
     942             :     end procedure
     943             : #endif
     944             : 
     945             : #undef CK_ENABLED
     946             : 
     947             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     948             : 
     949             : #define RK_ENABLED 1
     950             : 
     951             : #if RK5_ENABLED
     952             :     module procedure test_getRankFractional_D1_RK5
     953             :         use pm_kind, only: RKC => RK5
     954             : #include "test_pm_arrayRank@routines.inc.F90"
     955             :     end procedure
     956             : #endif
     957             : 
     958             : #if RK4_ENABLED
     959           1 :     module procedure test_getRankFractional_D1_RK4
     960             :         use pm_kind, only: RKC => RK4
     961             : #include "test_pm_arrayRank@routines.inc.F90"
     962             :     end procedure
     963             : #endif
     964             : 
     965             : #if RK3_ENABLED
     966           1 :     module procedure test_getRankFractional_D1_RK3
     967             :         use pm_kind, only: RKC => RK3
     968             : #include "test_pm_arrayRank@routines.inc.F90"
     969             :     end procedure
     970             : #endif
     971             : 
     972             : #if RK2_ENABLED
     973           1 :     module procedure test_getRankFractional_D1_RK2
     974             :         use pm_kind, only: RKC => RK2
     975             : #include "test_pm_arrayRank@routines.inc.F90"
     976             :     end procedure
     977             : #endif
     978             : 
     979             : #if RK1_ENABLED
     980           1 :     module procedure test_getRankFractional_D1_RK1
     981             :         use pm_kind, only: RKC => RK1
     982             : #include "test_pm_arrayRank@routines.inc.F90"
     983             :     end procedure
     984             : #endif
     985             : 
     986             : #undef RK_ENABLED
     987             : 
     988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     989             : 
     990             : #if !__GFORTRAN__ && 0
     991             : #define PSSK_ENABLED 1
     992             : 
     993             : #if SK5_ENABLED
     994             :     module procedure test_getRankFractional_D1_PSSK5
     995             :         use pm_kind, only: SKC => SK5
     996             :         use pm_container, only: css_pdt
     997             : #include "test_pm_arrayRank@routines.inc.F90"
     998             :     end procedure
     999             : #endif
    1000             : 
    1001             : #if SK4_ENABLED
    1002             :     module procedure test_getRankFractional_D1_PSSK4
    1003             :         use pm_kind, only: SKC => SK4
    1004             :         use pm_container, only: css_pdt
    1005             : #include "test_pm_arrayRank@routines.inc.F90"
    1006             :     end procedure
    1007             : #endif
    1008             : 
    1009             : #if SK3_ENABLED
    1010             :     module procedure test_getRankFractional_D1_PSSK3
    1011             :         use pm_kind, only: SKC => SK3
    1012             :         use pm_container, only: css_pdt
    1013             : #include "test_pm_arrayRank@routines.inc.F90"
    1014             :     end procedure
    1015             : #endif
    1016             : 
    1017             : #if SK2_ENABLED
    1018             :     module procedure test_getRankFractional_D1_PSSK2
    1019             :         use pm_kind, only: SKC => SK2
    1020             :         use pm_container, only: css_pdt
    1021             : #include "test_pm_arrayRank@routines.inc.F90"
    1022             :     end procedure
    1023             : #endif
    1024             : 
    1025             : #if SK1_ENABLED
    1026             :     module procedure test_getRankFractional_D1_PSSK1
    1027             :         use pm_kind, only: SKC => SK1
    1028             :         use pm_container, only: css_pdt
    1029             : #include "test_pm_arrayRank@routines.inc.F90"
    1030             :     end procedure
    1031             : #endif
    1032             : 
    1033             : #undef PSSK_ENABLED
    1034             : #endif
    1035             : 
    1036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1037             : 
    1038             : #undef D1_ENABLED
    1039             : 
    1040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1042             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1043             : 
    1044             : #undef Fractional_ENABLED
    1045             : 
    1046             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1049             : 
    1050             : #undef getRank_ENABLED
    1051             : 
    1052             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1053             : 
    1054             : #define setRank_ENABLED 1
    1055             : 
    1056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1059             : 
    1060             : #define Fractional_ENABLED 1
    1061             : 
    1062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1065             : 
    1066             : #define D0_ENABLED 1
    1067             : 
    1068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1069             : 
    1070             : #define SK_ENABLED 1
    1071             : 
    1072             : #if SK5_ENABLED
    1073             :     module procedure test_setRankFractional_D0_SK5
    1074             :         use pm_kind, only: SKC => SK5
    1075             : #include "test_pm_arrayRank@routines.inc.F90"
    1076             :     end procedure
    1077             : #endif
    1078             : 
    1079             : #if SK4_ENABLED
    1080             :     module procedure test_setRankFractional_D0_SK4
    1081             :         use pm_kind, only: SKC => SK4
    1082             : #include "test_pm_arrayRank@routines.inc.F90"
    1083             :     end procedure
    1084             : #endif
    1085             : 
    1086             : #if SK3_ENABLED
    1087             :     module procedure test_setRankFractional_D0_SK3
    1088             :         use pm_kind, only: SKC => SK3
    1089             : #include "test_pm_arrayRank@routines.inc.F90"
    1090             :     end procedure
    1091             : #endif
    1092             : 
    1093             : #if SK2_ENABLED
    1094             :     module procedure test_setRankFractional_D0_SK2
    1095             :         use pm_kind, only: SKC => SK2
    1096             : #include "test_pm_arrayRank@routines.inc.F90"
    1097             :     end procedure
    1098             : #endif
    1099             : 
    1100             : #if SK1_ENABLED
    1101           1 :     module procedure test_setRankFractional_D0_SK1
    1102             :         use pm_kind, only: SKC => SK1
    1103             : #include "test_pm_arrayRank@routines.inc.F90"
    1104             :     end procedure
    1105             : #endif
    1106             : 
    1107             : #undef SK_ENABLED
    1108             : 
    1109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1110             : 
    1111             : #undef D0_ENABLED
    1112             : 
    1113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1116             : 
    1117             : #define D1_ENABLED 1
    1118             : 
    1119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1120             : 
    1121             : #define SK_ENABLED 1
    1122             : 
    1123             : #if SK5_ENABLED
    1124             :     module procedure test_setRankFractional_D1_SK5
    1125             :         use pm_kind, only: SKC => SK5
    1126             : #include "test_pm_arrayRank@routines.inc.F90"
    1127             :     end procedure
    1128             : #endif
    1129             : 
    1130             : #if SK4_ENABLED
    1131             :     module procedure test_setRankFractional_D1_SK4
    1132             :         use pm_kind, only: SKC => SK4
    1133             : #include "test_pm_arrayRank@routines.inc.F90"
    1134             :     end procedure
    1135             : #endif
    1136             : 
    1137             : #if SK3_ENABLED
    1138             :     module procedure test_setRankFractional_D1_SK3
    1139             :         use pm_kind, only: SKC => SK3
    1140             : #include "test_pm_arrayRank@routines.inc.F90"
    1141             :     end procedure
    1142             : #endif
    1143             : 
    1144             : #if SK2_ENABLED
    1145             :     module procedure test_setRankFractional_D1_SK2
    1146             :         use pm_kind, only: SKC => SK2
    1147             : #include "test_pm_arrayRank@routines.inc.F90"
    1148             :     end procedure
    1149             : #endif
    1150             : 
    1151             : #if SK1_ENABLED
    1152           1 :     module procedure test_setRankFractional_D1_SK1
    1153             :         use pm_kind, only: SKC => SK1
    1154             : #include "test_pm_arrayRank@routines.inc.F90"
    1155             :     end procedure
    1156             : #endif
    1157             : 
    1158             : #undef SK_ENABLED
    1159             : 
    1160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1161             : 
    1162             : #define IK_ENABLED 1
    1163             : 
    1164             : #if IK5_ENABLED
    1165           1 :     module procedure test_setRankFractional_D1_IK5
    1166             :         use pm_kind, only: IKC => IK5
    1167             : #include "test_pm_arrayRank@routines.inc.F90"
    1168             :     end procedure
    1169             : #endif
    1170             : 
    1171             : #if IK4_ENABLED
    1172           1 :     module procedure test_setRankFractional_D1_IK4
    1173             :         use pm_kind, only: IKC => IK4
    1174             : #include "test_pm_arrayRank@routines.inc.F90"
    1175             :     end procedure
    1176             : #endif
    1177             : 
    1178             : #if IK3_ENABLED
    1179           1 :     module procedure test_setRankFractional_D1_IK3
    1180             :         use pm_kind, only: IKC => IK3
    1181             : #include "test_pm_arrayRank@routines.inc.F90"
    1182             :     end procedure
    1183             : #endif
    1184             : 
    1185             : #if IK2_ENABLED
    1186           1 :     module procedure test_setRankFractional_D1_IK2
    1187             :         use pm_kind, only: IKC => IK2
    1188             : #include "test_pm_arrayRank@routines.inc.F90"
    1189             :     end procedure
    1190             : #endif
    1191             : 
    1192             : #if IK1_ENABLED
    1193           1 :     module procedure test_setRankFractional_D1_IK1
    1194             :         use pm_kind, only: IKC => IK1
    1195             : #include "test_pm_arrayRank@routines.inc.F90"
    1196             :     end procedure
    1197             : #endif
    1198             : 
    1199             : #undef IK_ENABLED
    1200             : 
    1201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             : 
    1203             : #define LK_ENABLED 1
    1204             : 
    1205             : #if LK5_ENABLED
    1206           1 :     module procedure test_setRankFractional_D1_LK5
    1207             :         use pm_kind, only: LKC => LK5
    1208             : #include "test_pm_arrayRank@routines.inc.F90"
    1209             :     end procedure
    1210             : #endif
    1211             : 
    1212             : #if LK4_ENABLED
    1213           1 :     module procedure test_setRankFractional_D1_LK4
    1214             :         use pm_kind, only: LKC => LK4
    1215             : #include "test_pm_arrayRank@routines.inc.F90"
    1216             :     end procedure
    1217             : #endif
    1218             : 
    1219             : #if LK3_ENABLED
    1220           1 :     module procedure test_setRankFractional_D1_LK3
    1221             :         use pm_kind, only: LKC => LK3
    1222             : #include "test_pm_arrayRank@routines.inc.F90"
    1223             :     end procedure
    1224             : #endif
    1225             : 
    1226             : #if LK2_ENABLED
    1227           1 :     module procedure test_setRankFractional_D1_LK2
    1228             :         use pm_kind, only: LKC => LK2
    1229             : #include "test_pm_arrayRank@routines.inc.F90"
    1230             :     end procedure
    1231             : #endif
    1232             : 
    1233             : #if LK1_ENABLED
    1234           1 :     module procedure test_setRankFractional_D1_LK1
    1235             :         use pm_kind, only: LKC => LK1
    1236             : #include "test_pm_arrayRank@routines.inc.F90"
    1237             :     end procedure
    1238             : #endif
    1239             : 
    1240             : #undef LK_ENABLED
    1241             : 
    1242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1243             : 
    1244             : #define CK_ENABLED 1
    1245             : 
    1246             : #if CK5_ENABLED
    1247             :     module procedure test_setRankFractional_D1_CK5
    1248             :         use pm_kind, only: CKC => CK5
    1249             : #include "test_pm_arrayRank@routines.inc.F90"
    1250             :     end procedure
    1251             : #endif
    1252             : 
    1253             : #if CK4_ENABLED
    1254           1 :     module procedure test_setRankFractional_D1_CK4
    1255             :         use pm_kind, only: CKC => CK4
    1256             : #include "test_pm_arrayRank@routines.inc.F90"
    1257             :     end procedure
    1258             : #endif
    1259             : 
    1260             : #if CK3_ENABLED
    1261           1 :     module procedure test_setRankFractional_D1_CK3
    1262             :         use pm_kind, only: CKC => CK3
    1263             : #include "test_pm_arrayRank@routines.inc.F90"
    1264             :     end procedure
    1265             : #endif
    1266             : 
    1267             : #if CK2_ENABLED
    1268           1 :     module procedure test_setRankFractional_D1_CK2
    1269             :         use pm_kind, only: CKC => CK2
    1270             : #include "test_pm_arrayRank@routines.inc.F90"
    1271             :     end procedure
    1272             : #endif
    1273             : 
    1274             : #if CK1_ENABLED
    1275           1 :     module procedure test_setRankFractional_D1_CK1
    1276             :         use pm_kind, only: CKC => CK1
    1277             : #include "test_pm_arrayRank@routines.inc.F90"
    1278             :     end procedure
    1279             : #endif
    1280             : 
    1281             : #undef CK_ENABLED
    1282             : 
    1283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1284             : 
    1285             : #define RK_ENABLED 1
    1286             : 
    1287             : #if RK5_ENABLED
    1288             :     module procedure test_setRankFractional_D1_RK5
    1289             :         use pm_kind, only: RKC => RK5
    1290             : #include "test_pm_arrayRank@routines.inc.F90"
    1291             :     end procedure
    1292             : #endif
    1293             : 
    1294             : #if RK4_ENABLED
    1295           1 :     module procedure test_setRankFractional_D1_RK4
    1296             :         use pm_kind, only: RKC => RK4
    1297             : #include "test_pm_arrayRank@routines.inc.F90"
    1298             :     end procedure
    1299             : #endif
    1300             : 
    1301             : #if RK3_ENABLED
    1302           1 :     module procedure test_setRankFractional_D1_RK3
    1303             :         use pm_kind, only: RKC => RK3
    1304             : #include "test_pm_arrayRank@routines.inc.F90"
    1305             :     end procedure
    1306             : #endif
    1307             : 
    1308             : #if RK2_ENABLED
    1309           1 :     module procedure test_setRankFractional_D1_RK2
    1310             :         use pm_kind, only: RKC => RK2
    1311             : #include "test_pm_arrayRank@routines.inc.F90"
    1312             :     end procedure
    1313             : #endif
    1314             : 
    1315             : #if RK1_ENABLED
    1316           1 :     module procedure test_setRankFractional_D1_RK1
    1317             :         use pm_kind, only: RKC => RK1
    1318             : #include "test_pm_arrayRank@routines.inc.F90"
    1319             :     end procedure
    1320             : #endif
    1321             : 
    1322             : #undef RK_ENABLED
    1323             : 
    1324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1325             : 
    1326             : #if !__GFORTRAN__ && 0
    1327             : #define PSSK_ENABLED 1
    1328             : 
    1329             : #if SK5_ENABLED
    1330             :     module procedure test_setRankFractional_D1_PSSK5
    1331             :         use pm_kind, only: SKC => SK5
    1332             :         use pm_container, only: css_pdt
    1333             : #include "test_pm_arrayRank@routines.inc.F90"
    1334             :     end procedure
    1335             : #endif
    1336             : 
    1337             : #if SK4_ENABLED
    1338             :     module procedure test_setRankFractional_D1_PSSK4
    1339             :         use pm_kind, only: SKC => SK4
    1340             :         use pm_container, only: css_pdt
    1341             : #include "test_pm_arrayRank@routines.inc.F90"
    1342             :     end procedure
    1343             : #endif
    1344             : 
    1345             : #if SK3_ENABLED
    1346             :     module procedure test_setRankFractional_D1_PSSK3
    1347             :         use pm_kind, only: SKC => SK3
    1348             :         use pm_container, only: css_pdt
    1349             : #include "test_pm_arrayRank@routines.inc.F90"
    1350             :     end procedure
    1351             : #endif
    1352             : 
    1353             : #if SK2_ENABLED
    1354             :     module procedure test_setRankFractional_D1_PSSK2
    1355             :         use pm_kind, only: SKC => SK2
    1356             :         use pm_container, only: css_pdt
    1357             : #include "test_pm_arrayRank@routines.inc.F90"
    1358             :     end procedure
    1359             : #endif
    1360             : 
    1361             : #if SK1_ENABLED
    1362             :     module procedure test_setRankFractional_D1_PSSK1
    1363             :         use pm_kind, only: SKC => SK1
    1364             :         use pm_container, only: css_pdt
    1365             : #include "test_pm_arrayRank@routines.inc.F90"
    1366             :     end procedure
    1367             : #endif
    1368             : 
    1369             : #undef PSSK_ENABLED
    1370             : #endif
    1371             : 
    1372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1373             : 
    1374             : #undef D1_ENABLED
    1375             : 
    1376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1379             : 
    1380             : #undef Fractional_ENABLED
    1381             : 
    1382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1385             : 
    1386             : #undef setRank_ENABLED
    1387             : 
    1388             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1389             : 
    1390             : #define getRank_ENABLED 1
    1391             : 
    1392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1395             : 
    1396             : #define Modified_ENABLED 1
    1397             : 
    1398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1401             : 
    1402             : #define D0_ENABLED 1
    1403             : 
    1404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1405             : 
    1406             : #define SK_ENABLED 1
    1407             : 
    1408             : #if SK5_ENABLED
    1409             :     module procedure test_getRankModified_D0_SK5
    1410             :         use pm_kind, only: SKC => SK5
    1411             : #include "test_pm_arrayRank@routines.inc.F90"
    1412             :     end procedure
    1413             : #endif
    1414             : 
    1415             : #if SK4_ENABLED
    1416             :     module procedure test_getRankModified_D0_SK4
    1417             :         use pm_kind, only: SKC => SK4
    1418             : #include "test_pm_arrayRank@routines.inc.F90"
    1419             :     end procedure
    1420             : #endif
    1421             : 
    1422             : #if SK3_ENABLED
    1423             :     module procedure test_getRankModified_D0_SK3
    1424             :         use pm_kind, only: SKC => SK3
    1425             : #include "test_pm_arrayRank@routines.inc.F90"
    1426             :     end procedure
    1427             : #endif
    1428             : 
    1429             : #if SK2_ENABLED
    1430             :     module procedure test_getRankModified_D0_SK2
    1431             :         use pm_kind, only: SKC => SK2
    1432             : #include "test_pm_arrayRank@routines.inc.F90"
    1433             :     end procedure
    1434             : #endif
    1435             : 
    1436             : #if SK1_ENABLED
    1437           1 :     module procedure test_getRankModified_D0_SK1
    1438             :         use pm_kind, only: SKC => SK1
    1439             : #include "test_pm_arrayRank@routines.inc.F90"
    1440             :     end procedure
    1441             : #endif
    1442             : 
    1443             : #undef SK_ENABLED
    1444             : 
    1445             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1446             : 
    1447             : #undef D0_ENABLED
    1448             : 
    1449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1452             : 
    1453             : #define D1_ENABLED 1
    1454             : 
    1455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1456             : 
    1457             : #define SK_ENABLED 1
    1458             : 
    1459             : #if SK5_ENABLED
    1460             :     module procedure test_getRankModified_D1_SK5
    1461             :         use pm_kind, only: SKC => SK5
    1462             : #include "test_pm_arrayRank@routines.inc.F90"
    1463             :     end procedure
    1464             : #endif
    1465             : 
    1466             : #if SK4_ENABLED
    1467             :     module procedure test_getRankModified_D1_SK4
    1468             :         use pm_kind, only: SKC => SK4
    1469             : #include "test_pm_arrayRank@routines.inc.F90"
    1470             :     end procedure
    1471             : #endif
    1472             : 
    1473             : #if SK3_ENABLED
    1474             :     module procedure test_getRankModified_D1_SK3
    1475             :         use pm_kind, only: SKC => SK3
    1476             : #include "test_pm_arrayRank@routines.inc.F90"
    1477             :     end procedure
    1478             : #endif
    1479             : 
    1480             : #if SK2_ENABLED
    1481             :     module procedure test_getRankModified_D1_SK2
    1482             :         use pm_kind, only: SKC => SK2
    1483             : #include "test_pm_arrayRank@routines.inc.F90"
    1484             :     end procedure
    1485             : #endif
    1486             : 
    1487             : #if SK1_ENABLED
    1488           1 :     module procedure test_getRankModified_D1_SK1
    1489             :         use pm_kind, only: SKC => SK1
    1490             : #include "test_pm_arrayRank@routines.inc.F90"
    1491             :     end procedure
    1492             : #endif
    1493             : 
    1494             : #undef SK_ENABLED
    1495             : 
    1496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1497             : 
    1498             : #define IK_ENABLED 1
    1499             : 
    1500             : #if IK5_ENABLED
    1501           1 :     module procedure test_getRankModified_D1_IK5
    1502             :         use pm_kind, only: IKC => IK5
    1503             : #include "test_pm_arrayRank@routines.inc.F90"
    1504             :     end procedure
    1505             : #endif
    1506             : 
    1507             : #if IK4_ENABLED
    1508           1 :     module procedure test_getRankModified_D1_IK4
    1509             :         use pm_kind, only: IKC => IK4
    1510             : #include "test_pm_arrayRank@routines.inc.F90"
    1511             :     end procedure
    1512             : #endif
    1513             : 
    1514             : #if IK3_ENABLED
    1515           1 :     module procedure test_getRankModified_D1_IK3
    1516             :         use pm_kind, only: IKC => IK3
    1517             : #include "test_pm_arrayRank@routines.inc.F90"
    1518             :     end procedure
    1519             : #endif
    1520             : 
    1521             : #if IK2_ENABLED
    1522           1 :     module procedure test_getRankModified_D1_IK2
    1523             :         use pm_kind, only: IKC => IK2
    1524             : #include "test_pm_arrayRank@routines.inc.F90"
    1525             :     end procedure
    1526             : #endif
    1527             : 
    1528             : #if IK1_ENABLED
    1529           1 :     module procedure test_getRankModified_D1_IK1
    1530             :         use pm_kind, only: IKC => IK1
    1531             : #include "test_pm_arrayRank@routines.inc.F90"
    1532             :     end procedure
    1533             : #endif
    1534             : 
    1535             : #undef IK_ENABLED
    1536             : 
    1537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1538             : 
    1539             : #define LK_ENABLED 1
    1540             : 
    1541             : #if LK5_ENABLED
    1542           1 :     module procedure test_getRankModified_D1_LK5
    1543             :         use pm_kind, only: LKC => LK5
    1544             : #include "test_pm_arrayRank@routines.inc.F90"
    1545             :     end procedure
    1546             : #endif
    1547             : 
    1548             : #if LK4_ENABLED
    1549           1 :     module procedure test_getRankModified_D1_LK4
    1550             :         use pm_kind, only: LKC => LK4
    1551             : #include "test_pm_arrayRank@routines.inc.F90"
    1552             :     end procedure
    1553             : #endif
    1554             : 
    1555             : #if LK3_ENABLED
    1556           1 :     module procedure test_getRankModified_D1_LK3
    1557             :         use pm_kind, only: LKC => LK3
    1558             : #include "test_pm_arrayRank@routines.inc.F90"
    1559             :     end procedure
    1560             : #endif
    1561             : 
    1562             : #if LK2_ENABLED
    1563           1 :     module procedure test_getRankModified_D1_LK2
    1564             :         use pm_kind, only: LKC => LK2
    1565             : #include "test_pm_arrayRank@routines.inc.F90"
    1566             :     end procedure
    1567             : #endif
    1568             : 
    1569             : #if LK1_ENABLED
    1570           1 :     module procedure test_getRankModified_D1_LK1
    1571             :         use pm_kind, only: LKC => LK1
    1572             : #include "test_pm_arrayRank@routines.inc.F90"
    1573             :     end procedure
    1574             : #endif
    1575             : 
    1576             : #undef LK_ENABLED
    1577             : 
    1578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1579             : 
    1580             : #define CK_ENABLED 1
    1581             : 
    1582             : #if CK5_ENABLED
    1583             :     module procedure test_getRankModified_D1_CK5
    1584             :         use pm_kind, only: CKC => CK5
    1585             : #include "test_pm_arrayRank@routines.inc.F90"
    1586             :     end procedure
    1587             : #endif
    1588             : 
    1589             : #if CK4_ENABLED
    1590           1 :     module procedure test_getRankModified_D1_CK4
    1591             :         use pm_kind, only: CKC => CK4
    1592             : #include "test_pm_arrayRank@routines.inc.F90"
    1593             :     end procedure
    1594             : #endif
    1595             : 
    1596             : #if CK3_ENABLED
    1597           1 :     module procedure test_getRankModified_D1_CK3
    1598             :         use pm_kind, only: CKC => CK3
    1599             : #include "test_pm_arrayRank@routines.inc.F90"
    1600             :     end procedure
    1601             : #endif
    1602             : 
    1603             : #if CK2_ENABLED
    1604           1 :     module procedure test_getRankModified_D1_CK2
    1605             :         use pm_kind, only: CKC => CK2
    1606             : #include "test_pm_arrayRank@routines.inc.F90"
    1607             :     end procedure
    1608             : #endif
    1609             : 
    1610             : #if CK1_ENABLED
    1611           1 :     module procedure test_getRankModified_D1_CK1
    1612             :         use pm_kind, only: CKC => CK1
    1613             : #include "test_pm_arrayRank@routines.inc.F90"
    1614             :     end procedure
    1615             : #endif
    1616             : 
    1617             : #undef CK_ENABLED
    1618             : 
    1619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1620             : 
    1621             : #define RK_ENABLED 1
    1622             : 
    1623             : #if RK5_ENABLED
    1624             :     module procedure test_getRankModified_D1_RK5
    1625             :         use pm_kind, only: RKC => RK5
    1626             : #include "test_pm_arrayRank@routines.inc.F90"
    1627             :     end procedure
    1628             : #endif
    1629             : 
    1630             : #if RK4_ENABLED
    1631           1 :     module procedure test_getRankModified_D1_RK4
    1632             :         use pm_kind, only: RKC => RK4
    1633             : #include "test_pm_arrayRank@routines.inc.F90"
    1634             :     end procedure
    1635             : #endif
    1636             : 
    1637             : #if RK3_ENABLED
    1638           1 :     module procedure test_getRankModified_D1_RK3
    1639             :         use pm_kind, only: RKC => RK3
    1640             : #include "test_pm_arrayRank@routines.inc.F90"
    1641             :     end procedure
    1642             : #endif
    1643             : 
    1644             : #if RK2_ENABLED
    1645           1 :     module procedure test_getRankModified_D1_RK2
    1646             :         use pm_kind, only: RKC => RK2
    1647             : #include "test_pm_arrayRank@routines.inc.F90"
    1648             :     end procedure
    1649             : #endif
    1650             : 
    1651             : #if RK1_ENABLED
    1652           1 :     module procedure test_getRankModified_D1_RK1
    1653             :         use pm_kind, only: RKC => RK1
    1654             : #include "test_pm_arrayRank@routines.inc.F90"
    1655             :     end procedure
    1656             : #endif
    1657             : 
    1658             : #undef RK_ENABLED
    1659             : 
    1660             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1661             : 
    1662             : #if !__GFORTRAN__ && 0
    1663             : #define PSSK_ENABLED 1
    1664             : 
    1665             : #if SK5_ENABLED
    1666             :     module procedure test_getRankModified_D1_PSSK5
    1667             :         use pm_kind, only: SKC => SK5
    1668             :         use pm_container, only: css_pdt
    1669             : #include "test_pm_arrayRank@routines.inc.F90"
    1670             :     end procedure
    1671             : #endif
    1672             : 
    1673             : #if SK4_ENABLED
    1674             :     module procedure test_getRankModified_D1_PSSK4
    1675             :         use pm_kind, only: SKC => SK4
    1676             :         use pm_container, only: css_pdt
    1677             : #include "test_pm_arrayRank@routines.inc.F90"
    1678             :     end procedure
    1679             : #endif
    1680             : 
    1681             : #if SK3_ENABLED
    1682             :     module procedure test_getRankModified_D1_PSSK3
    1683             :         use pm_kind, only: SKC => SK3
    1684             :         use pm_container, only: css_pdt
    1685             : #include "test_pm_arrayRank@routines.inc.F90"
    1686             :     end procedure
    1687             : #endif
    1688             : 
    1689             : #if SK2_ENABLED
    1690             :     module procedure test_getRankModified_D1_PSSK2
    1691             :         use pm_kind, only: SKC => SK2
    1692             :         use pm_container, only: css_pdt
    1693             : #include "test_pm_arrayRank@routines.inc.F90"
    1694             :     end procedure
    1695             : #endif
    1696             : 
    1697             : #if SK1_ENABLED
    1698             :     module procedure test_getRankModified_D1_PSSK1
    1699             :         use pm_kind, only: SKC => SK1
    1700             :         use pm_container, only: css_pdt
    1701             : #include "test_pm_arrayRank@routines.inc.F90"
    1702             :     end procedure
    1703             : #endif
    1704             : 
    1705             : #undef PSSK_ENABLED
    1706             : #endif
    1707             : 
    1708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1709             : 
    1710             : #undef D1_ENABLED
    1711             : 
    1712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1715             : 
    1716             : #undef Modified_ENABLED
    1717             : 
    1718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1720             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1721             : 
    1722             : #undef getRank_ENABLED
    1723             : 
    1724             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1725             : 
    1726             : #define setRank_ENABLED 1
    1727             : 
    1728             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1731             : 
    1732             : #define Modified_ENABLED 1
    1733             : 
    1734             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1737             : 
    1738             : #define D0_ENABLED 1
    1739             : 
    1740             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1741             : 
    1742             : #define SK_ENABLED 1
    1743             : 
    1744             : #if SK5_ENABLED
    1745             :     module procedure test_setRankModified_D0_SK5
    1746             :         use pm_kind, only: SKC => SK5
    1747             : #include "test_pm_arrayRank@routines.inc.F90"
    1748             :     end procedure
    1749             : #endif
    1750             : 
    1751             : #if SK4_ENABLED
    1752             :     module procedure test_setRankModified_D0_SK4
    1753             :         use pm_kind, only: SKC => SK4
    1754             : #include "test_pm_arrayRank@routines.inc.F90"
    1755             :     end procedure
    1756             : #endif
    1757             : 
    1758             : #if SK3_ENABLED
    1759             :     module procedure test_setRankModified_D0_SK3
    1760             :         use pm_kind, only: SKC => SK3
    1761             : #include "test_pm_arrayRank@routines.inc.F90"
    1762             :     end procedure
    1763             : #endif
    1764             : 
    1765             : #if SK2_ENABLED
    1766             :     module procedure test_setRankModified_D0_SK2
    1767             :         use pm_kind, only: SKC => SK2
    1768             : #include "test_pm_arrayRank@routines.inc.F90"
    1769             :     end procedure
    1770             : #endif
    1771             : 
    1772             : #if SK1_ENABLED
    1773           1 :     module procedure test_setRankModified_D0_SK1
    1774             :         use pm_kind, only: SKC => SK1
    1775             : #include "test_pm_arrayRank@routines.inc.F90"
    1776             :     end procedure
    1777             : #endif
    1778             : 
    1779             : #undef SK_ENABLED
    1780             : 
    1781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1782             : 
    1783             : #undef D0_ENABLED
    1784             : 
    1785             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1786             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1788             : 
    1789             : #define D1_ENABLED 1
    1790             : 
    1791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1792             : 
    1793             : #define SK_ENABLED 1
    1794             : 
    1795             : #if SK5_ENABLED
    1796             :     module procedure test_setRankModified_D1_SK5
    1797             :         use pm_kind, only: SKC => SK5
    1798             : #include "test_pm_arrayRank@routines.inc.F90"
    1799             :     end procedure
    1800             : #endif
    1801             : 
    1802             : #if SK4_ENABLED
    1803             :     module procedure test_setRankModified_D1_SK4
    1804             :         use pm_kind, only: SKC => SK4
    1805             : #include "test_pm_arrayRank@routines.inc.F90"
    1806             :     end procedure
    1807             : #endif
    1808             : 
    1809             : #if SK3_ENABLED
    1810             :     module procedure test_setRankModified_D1_SK3
    1811             :         use pm_kind, only: SKC => SK3
    1812             : #include "test_pm_arrayRank@routines.inc.F90"
    1813             :     end procedure
    1814             : #endif
    1815             : 
    1816             : #if SK2_ENABLED
    1817             :     module procedure test_setRankModified_D1_SK2
    1818             :         use pm_kind, only: SKC => SK2
    1819             : #include "test_pm_arrayRank@routines.inc.F90"
    1820             :     end procedure
    1821             : #endif
    1822             : 
    1823             : #if SK1_ENABLED
    1824           1 :     module procedure test_setRankModified_D1_SK1
    1825             :         use pm_kind, only: SKC => SK1
    1826             : #include "test_pm_arrayRank@routines.inc.F90"
    1827             :     end procedure
    1828             : #endif
    1829             : 
    1830             : #undef SK_ENABLED
    1831             : 
    1832             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1833             : 
    1834             : #define IK_ENABLED 1
    1835             : 
    1836             : #if IK5_ENABLED
    1837           1 :     module procedure test_setRankModified_D1_IK5
    1838             :         use pm_kind, only: IKC => IK5
    1839             : #include "test_pm_arrayRank@routines.inc.F90"
    1840             :     end procedure
    1841             : #endif
    1842             : 
    1843             : #if IK4_ENABLED
    1844           1 :     module procedure test_setRankModified_D1_IK4
    1845             :         use pm_kind, only: IKC => IK4
    1846             : #include "test_pm_arrayRank@routines.inc.F90"
    1847             :     end procedure
    1848             : #endif
    1849             : 
    1850             : #if IK3_ENABLED
    1851           1 :     module procedure test_setRankModified_D1_IK3
    1852             :         use pm_kind, only: IKC => IK3
    1853             : #include "test_pm_arrayRank@routines.inc.F90"
    1854             :     end procedure
    1855             : #endif
    1856             : 
    1857             : #if IK2_ENABLED
    1858           1 :     module procedure test_setRankModified_D1_IK2
    1859             :         use pm_kind, only: IKC => IK2
    1860             : #include "test_pm_arrayRank@routines.inc.F90"
    1861             :     end procedure
    1862             : #endif
    1863             : 
    1864             : #if IK1_ENABLED
    1865           1 :     module procedure test_setRankModified_D1_IK1
    1866             :         use pm_kind, only: IKC => IK1
    1867             : #include "test_pm_arrayRank@routines.inc.F90"
    1868             :     end procedure
    1869             : #endif
    1870             : 
    1871             : #undef IK_ENABLED
    1872             : 
    1873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1874             : 
    1875             : #define LK_ENABLED 1
    1876             : 
    1877             : #if LK5_ENABLED
    1878           1 :     module procedure test_setRankModified_D1_LK5
    1879             :         use pm_kind, only: LKC => LK5
    1880             : #include "test_pm_arrayRank@routines.inc.F90"
    1881             :     end procedure
    1882             : #endif
    1883             : 
    1884             : #if LK4_ENABLED
    1885           1 :     module procedure test_setRankModified_D1_LK4
    1886             :         use pm_kind, only: LKC => LK4
    1887             : #include "test_pm_arrayRank@routines.inc.F90"
    1888             :     end procedure
    1889             : #endif
    1890             : 
    1891             : #if LK3_ENABLED
    1892           1 :     module procedure test_setRankModified_D1_LK3
    1893             :         use pm_kind, only: LKC => LK3
    1894             : #include "test_pm_arrayRank@routines.inc.F90"
    1895             :     end procedure
    1896             : #endif
    1897             : 
    1898             : #if LK2_ENABLED
    1899           1 :     module procedure test_setRankModified_D1_LK2
    1900             :         use pm_kind, only: LKC => LK2
    1901             : #include "test_pm_arrayRank@routines.inc.F90"
    1902             :     end procedure
    1903             : #endif
    1904             : 
    1905             : #if LK1_ENABLED
    1906           1 :     module procedure test_setRankModified_D1_LK1
    1907             :         use pm_kind, only: LKC => LK1
    1908             : #include "test_pm_arrayRank@routines.inc.F90"
    1909             :     end procedure
    1910             : #endif
    1911             : 
    1912             : #undef LK_ENABLED
    1913             : 
    1914             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1915             : 
    1916             : #define CK_ENABLED 1
    1917             : 
    1918             : #if CK5_ENABLED
    1919             :     module procedure test_setRankModified_D1_CK5
    1920             :         use pm_kind, only: CKC => CK5
    1921             : #include "test_pm_arrayRank@routines.inc.F90"
    1922             :     end procedure
    1923             : #endif
    1924             : 
    1925             : #if CK4_ENABLED
    1926           1 :     module procedure test_setRankModified_D1_CK4
    1927             :         use pm_kind, only: CKC => CK4
    1928             : #include "test_pm_arrayRank@routines.inc.F90"
    1929             :     end procedure
    1930             : #endif
    1931             : 
    1932             : #if CK3_ENABLED
    1933           1 :     module procedure test_setRankModified_D1_CK3
    1934             :         use pm_kind, only: CKC => CK3
    1935             : #include "test_pm_arrayRank@routines.inc.F90"
    1936             :     end procedure
    1937             : #endif
    1938             : 
    1939             : #if CK2_ENABLED
    1940           1 :     module procedure test_setRankModified_D1_CK2
    1941             :         use pm_kind, only: CKC => CK2
    1942             : #include "test_pm_arrayRank@routines.inc.F90"
    1943             :     end procedure
    1944             : #endif
    1945             : 
    1946             : #if CK1_ENABLED
    1947           1 :     module procedure test_setRankModified_D1_CK1
    1948             :         use pm_kind, only: CKC => CK1
    1949             : #include "test_pm_arrayRank@routines.inc.F90"
    1950             :     end procedure
    1951             : #endif
    1952             : 
    1953             : #undef CK_ENABLED
    1954             : 
    1955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1956             : 
    1957             : #define RK_ENABLED 1
    1958             : 
    1959             : #if RK5_ENABLED
    1960             :     module procedure test_setRankModified_D1_RK5
    1961             :         use pm_kind, only: RKC => RK5
    1962             : #include "test_pm_arrayRank@routines.inc.F90"
    1963             :     end procedure
    1964             : #endif
    1965             : 
    1966             : #if RK4_ENABLED
    1967           1 :     module procedure test_setRankModified_D1_RK4
    1968             :         use pm_kind, only: RKC => RK4
    1969             : #include "test_pm_arrayRank@routines.inc.F90"
    1970             :     end procedure
    1971             : #endif
    1972             : 
    1973             : #if RK3_ENABLED
    1974           1 :     module procedure test_setRankModified_D1_RK3
    1975             :         use pm_kind, only: RKC => RK3
    1976             : #include "test_pm_arrayRank@routines.inc.F90"
    1977             :     end procedure
    1978             : #endif
    1979             : 
    1980             : #if RK2_ENABLED
    1981           1 :     module procedure test_setRankModified_D1_RK2
    1982             :         use pm_kind, only: RKC => RK2
    1983             : #include "test_pm_arrayRank@routines.inc.F90"
    1984             :     end procedure
    1985             : #endif
    1986             : 
    1987             : #if RK1_ENABLED
    1988           1 :     module procedure test_setRankModified_D1_RK1
    1989             :         use pm_kind, only: RKC => RK1
    1990             : #include "test_pm_arrayRank@routines.inc.F90"
    1991             :     end procedure
    1992             : #endif
    1993             : 
    1994             : #undef RK_ENABLED
    1995             : 
    1996             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1997             : 
    1998             : #if !__GFORTRAN__ && 0
    1999             : #define PSSK_ENABLED 1
    2000             : 
    2001             : #if SK5_ENABLED
    2002             :     module procedure test_setRankModified_D1_PSSK5
    2003             :         use pm_kind, only: SKC => SK5
    2004             :         use pm_container, only: css_pdt
    2005             : #include "test_pm_arrayRank@routines.inc.F90"
    2006             :     end procedure
    2007             : #endif
    2008             : 
    2009             : #if SK4_ENABLED
    2010             :     module procedure test_setRankModified_D1_PSSK4
    2011             :         use pm_kind, only: SKC => SK4
    2012             :         use pm_container, only: css_pdt
    2013             : #include "test_pm_arrayRank@routines.inc.F90"
    2014             :     end procedure
    2015             : #endif
    2016             : 
    2017             : #if SK3_ENABLED
    2018             :     module procedure test_setRankModified_D1_PSSK3
    2019             :         use pm_kind, only: SKC => SK3
    2020             :         use pm_container, only: css_pdt
    2021             : #include "test_pm_arrayRank@routines.inc.F90"
    2022             :     end procedure
    2023             : #endif
    2024             : 
    2025             : #if SK2_ENABLED
    2026             :     module procedure test_setRankModified_D1_PSSK2
    2027             :         use pm_kind, only: SKC => SK2
    2028             :         use pm_container, only: css_pdt
    2029             : #include "test_pm_arrayRank@routines.inc.F90"
    2030             :     end procedure
    2031             : #endif
    2032             : 
    2033             : #if SK1_ENABLED
    2034             :     module procedure test_setRankModified_D1_PSSK1
    2035             :         use pm_kind, only: SKC => SK1
    2036             :         use pm_container, only: css_pdt
    2037             : #include "test_pm_arrayRank@routines.inc.F90"
    2038             :     end procedure
    2039             : #endif
    2040             : 
    2041             : #undef PSSK_ENABLED
    2042             : #endif
    2043             : 
    2044             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2045             : 
    2046             : #undef D1_ENABLED
    2047             : 
    2048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2051             : 
    2052             : #undef Modified_ENABLED
    2053             : 
    2054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2057             : 
    2058             : #undef setRank_ENABLED
    2059             : 
    2060             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2061             : 
    2062             : #define getRank_ENABLED 1
    2063             : 
    2064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2067             : 
    2068             : #define Ordinal_ENABLED 1
    2069             : 
    2070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2071             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2073             : 
    2074             : #define D0_ENABLED 1
    2075             : 
    2076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2077             : 
    2078             : #define SK_ENABLED 1
    2079             : 
    2080             : #if SK5_ENABLED
    2081             :     module procedure test_getRankOrdinal_D0_SK5
    2082             :         use pm_kind, only: SKC => SK5
    2083             : #include "test_pm_arrayRank@routines.inc.F90"
    2084             :     end procedure
    2085             : #endif
    2086             : 
    2087             : #if SK4_ENABLED
    2088             :     module procedure test_getRankOrdinal_D0_SK4
    2089             :         use pm_kind, only: SKC => SK4
    2090             : #include "test_pm_arrayRank@routines.inc.F90"
    2091             :     end procedure
    2092             : #endif
    2093             : 
    2094             : #if SK3_ENABLED
    2095             :     module procedure test_getRankOrdinal_D0_SK3
    2096             :         use pm_kind, only: SKC => SK3
    2097             : #include "test_pm_arrayRank@routines.inc.F90"
    2098             :     end procedure
    2099             : #endif
    2100             : 
    2101             : #if SK2_ENABLED
    2102             :     module procedure test_getRankOrdinal_D0_SK2
    2103             :         use pm_kind, only: SKC => SK2
    2104             : #include "test_pm_arrayRank@routines.inc.F90"
    2105             :     end procedure
    2106             : #endif
    2107             : 
    2108             : #if SK1_ENABLED
    2109           1 :     module procedure test_getRankOrdinal_D0_SK1
    2110             :         use pm_kind, only: SKC => SK1
    2111             : #include "test_pm_arrayRank@routines.inc.F90"
    2112             :     end procedure
    2113             : #endif
    2114             : 
    2115             : #undef SK_ENABLED
    2116             : 
    2117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2118             : 
    2119             : #undef D0_ENABLED
    2120             : 
    2121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2124             : 
    2125             : #define D1_ENABLED 1
    2126             : 
    2127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2128             : 
    2129             : #define SK_ENABLED 1
    2130             : 
    2131             : #if SK5_ENABLED
    2132             :     module procedure test_getRankOrdinal_D1_SK5
    2133             :         use pm_kind, only: SKC => SK5
    2134             : #include "test_pm_arrayRank@routines.inc.F90"
    2135             :     end procedure
    2136             : #endif
    2137             : 
    2138             : #if SK4_ENABLED
    2139             :     module procedure test_getRankOrdinal_D1_SK4
    2140             :         use pm_kind, only: SKC => SK4
    2141             : #include "test_pm_arrayRank@routines.inc.F90"
    2142             :     end procedure
    2143             : #endif
    2144             : 
    2145             : #if SK3_ENABLED
    2146             :     module procedure test_getRankOrdinal_D1_SK3
    2147             :         use pm_kind, only: SKC => SK3
    2148             : #include "test_pm_arrayRank@routines.inc.F90"
    2149             :     end procedure
    2150             : #endif
    2151             : 
    2152             : #if SK2_ENABLED
    2153             :     module procedure test_getRankOrdinal_D1_SK2
    2154             :         use pm_kind, only: SKC => SK2
    2155             : #include "test_pm_arrayRank@routines.inc.F90"
    2156             :     end procedure
    2157             : #endif
    2158             : 
    2159             : #if SK1_ENABLED
    2160           1 :     module procedure test_getRankOrdinal_D1_SK1
    2161             :         use pm_kind, only: SKC => SK1
    2162             : #include "test_pm_arrayRank@routines.inc.F90"
    2163             :     end procedure
    2164             : #endif
    2165             : 
    2166             : #undef SK_ENABLED
    2167             : 
    2168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2169             : 
    2170             : #define IK_ENABLED 1
    2171             : 
    2172             : #if IK5_ENABLED
    2173           1 :     module procedure test_getRankOrdinal_D1_IK5
    2174             :         use pm_kind, only: IKC => IK5
    2175             : #include "test_pm_arrayRank@routines.inc.F90"
    2176             :     end procedure
    2177             : #endif
    2178             : 
    2179             : #if IK4_ENABLED
    2180           1 :     module procedure test_getRankOrdinal_D1_IK4
    2181             :         use pm_kind, only: IKC => IK4
    2182             : #include "test_pm_arrayRank@routines.inc.F90"
    2183             :     end procedure
    2184             : #endif
    2185             : 
    2186             : #if IK3_ENABLED
    2187           1 :     module procedure test_getRankOrdinal_D1_IK3
    2188             :         use pm_kind, only: IKC => IK3
    2189             : #include "test_pm_arrayRank@routines.inc.F90"
    2190             :     end procedure
    2191             : #endif
    2192             : 
    2193             : #if IK2_ENABLED
    2194           1 :     module procedure test_getRankOrdinal_D1_IK2
    2195             :         use pm_kind, only: IKC => IK2
    2196             : #include "test_pm_arrayRank@routines.inc.F90"
    2197             :     end procedure
    2198             : #endif
    2199             : 
    2200             : #if IK1_ENABLED
    2201           1 :     module procedure test_getRankOrdinal_D1_IK1
    2202             :         use pm_kind, only: IKC => IK1
    2203             : #include "test_pm_arrayRank@routines.inc.F90"
    2204             :     end procedure
    2205             : #endif
    2206             : 
    2207             : #undef IK_ENABLED
    2208             : 
    2209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2210             : 
    2211             : #define LK_ENABLED 1
    2212             : 
    2213             : #if LK5_ENABLED
    2214           1 :     module procedure test_getRankOrdinal_D1_LK5
    2215             :         use pm_kind, only: LKC => LK5
    2216             : #include "test_pm_arrayRank@routines.inc.F90"
    2217             :     end procedure
    2218             : #endif
    2219             : 
    2220             : #if LK4_ENABLED
    2221           1 :     module procedure test_getRankOrdinal_D1_LK4
    2222             :         use pm_kind, only: LKC => LK4
    2223             : #include "test_pm_arrayRank@routines.inc.F90"
    2224             :     end procedure
    2225             : #endif
    2226             : 
    2227             : #if LK3_ENABLED
    2228           1 :     module procedure test_getRankOrdinal_D1_LK3
    2229             :         use pm_kind, only: LKC => LK3
    2230             : #include "test_pm_arrayRank@routines.inc.F90"
    2231             :     end procedure
    2232             : #endif
    2233             : 
    2234             : #if LK2_ENABLED
    2235           1 :     module procedure test_getRankOrdinal_D1_LK2
    2236             :         use pm_kind, only: LKC => LK2
    2237             : #include "test_pm_arrayRank@routines.inc.F90"
    2238             :     end procedure
    2239             : #endif
    2240             : 
    2241             : #if LK1_ENABLED
    2242           1 :     module procedure test_getRankOrdinal_D1_LK1
    2243             :         use pm_kind, only: LKC => LK1
    2244             : #include "test_pm_arrayRank@routines.inc.F90"
    2245             :     end procedure
    2246             : #endif
    2247             : 
    2248             : #undef LK_ENABLED
    2249             : 
    2250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2251             : 
    2252             : #define CK_ENABLED 1
    2253             : 
    2254             : #if CK5_ENABLED
    2255             :     module procedure test_getRankOrdinal_D1_CK5
    2256             :         use pm_kind, only: CKC => CK5
    2257             : #include "test_pm_arrayRank@routines.inc.F90"
    2258             :     end procedure
    2259             : #endif
    2260             : 
    2261             : #if CK4_ENABLED
    2262           1 :     module procedure test_getRankOrdinal_D1_CK4
    2263             :         use pm_kind, only: CKC => CK4
    2264             : #include "test_pm_arrayRank@routines.inc.F90"
    2265             :     end procedure
    2266             : #endif
    2267             : 
    2268             : #if CK3_ENABLED
    2269           1 :     module procedure test_getRankOrdinal_D1_CK3
    2270             :         use pm_kind, only: CKC => CK3
    2271             : #include "test_pm_arrayRank@routines.inc.F90"
    2272             :     end procedure
    2273             : #endif
    2274             : 
    2275             : #if CK2_ENABLED
    2276           1 :     module procedure test_getRankOrdinal_D1_CK2
    2277             :         use pm_kind, only: CKC => CK2
    2278             : #include "test_pm_arrayRank@routines.inc.F90"
    2279             :     end procedure
    2280             : #endif
    2281             : 
    2282             : #if CK1_ENABLED
    2283           1 :     module procedure test_getRankOrdinal_D1_CK1
    2284             :         use pm_kind, only: CKC => CK1
    2285             : #include "test_pm_arrayRank@routines.inc.F90"
    2286             :     end procedure
    2287             : #endif
    2288             : 
    2289             : #undef CK_ENABLED
    2290             : 
    2291             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2292             : 
    2293             : #define RK_ENABLED 1
    2294             : 
    2295             : #if RK5_ENABLED
    2296             :     module procedure test_getRankOrdinal_D1_RK5
    2297             :         use pm_kind, only: RKC => RK5
    2298             : #include "test_pm_arrayRank@routines.inc.F90"
    2299             :     end procedure
    2300             : #endif
    2301             : 
    2302             : #if RK4_ENABLED
    2303           1 :     module procedure test_getRankOrdinal_D1_RK4
    2304             :         use pm_kind, only: RKC => RK4
    2305             : #include "test_pm_arrayRank@routines.inc.F90"
    2306             :     end procedure
    2307             : #endif
    2308             : 
    2309             : #if RK3_ENABLED
    2310           1 :     module procedure test_getRankOrdinal_D1_RK3
    2311             :         use pm_kind, only: RKC => RK3
    2312             : #include "test_pm_arrayRank@routines.inc.F90"
    2313             :     end procedure
    2314             : #endif
    2315             : 
    2316             : #if RK2_ENABLED
    2317           1 :     module procedure test_getRankOrdinal_D1_RK2
    2318             :         use pm_kind, only: RKC => RK2
    2319             : #include "test_pm_arrayRank@routines.inc.F90"
    2320             :     end procedure
    2321             : #endif
    2322             : 
    2323             : #if RK1_ENABLED
    2324           1 :     module procedure test_getRankOrdinal_D1_RK1
    2325             :         use pm_kind, only: RKC => RK1
    2326             : #include "test_pm_arrayRank@routines.inc.F90"
    2327             :     end procedure
    2328             : #endif
    2329             : 
    2330             : #undef RK_ENABLED
    2331             : 
    2332             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2333             : 
    2334             : #if !__GFORTRAN__ && 0
    2335             : #define PSSK_ENABLED 1
    2336             : 
    2337             : #if SK5_ENABLED
    2338             :     module procedure test_getRankOrdinal_D1_PSSK5
    2339             :         use pm_kind, only: SKC => SK5
    2340             :         use pm_container, only: css_pdt
    2341             : #include "test_pm_arrayRank@routines.inc.F90"
    2342             :     end procedure
    2343             : #endif
    2344             : 
    2345             : #if SK4_ENABLED
    2346             :     module procedure test_getRankOrdinal_D1_PSSK4
    2347             :         use pm_kind, only: SKC => SK4
    2348             :         use pm_container, only: css_pdt
    2349             : #include "test_pm_arrayRank@routines.inc.F90"
    2350             :     end procedure
    2351             : #endif
    2352             : 
    2353             : #if SK3_ENABLED
    2354             :     module procedure test_getRankOrdinal_D1_PSSK3
    2355             :         use pm_kind, only: SKC => SK3
    2356             :         use pm_container, only: css_pdt
    2357             : #include "test_pm_arrayRank@routines.inc.F90"
    2358             :     end procedure
    2359             : #endif
    2360             : 
    2361             : #if SK2_ENABLED
    2362             :     module procedure test_getRankOrdinal_D1_PSSK2
    2363             :         use pm_kind, only: SKC => SK2
    2364             :         use pm_container, only: css_pdt
    2365             : #include "test_pm_arrayRank@routines.inc.F90"
    2366             :     end procedure
    2367             : #endif
    2368             : 
    2369             : #if SK1_ENABLED
    2370             :     module procedure test_getRankOrdinal_D1_PSSK1
    2371             :         use pm_kind, only: SKC => SK1
    2372             :         use pm_container, only: css_pdt
    2373             : #include "test_pm_arrayRank@routines.inc.F90"
    2374             :     end procedure
    2375             : #endif
    2376             : 
    2377             : #undef PSSK_ENABLED
    2378             : #endif
    2379             : 
    2380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2381             : 
    2382             : #undef D1_ENABLED
    2383             : 
    2384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2387             : 
    2388             : #undef Ordinal_ENABLED
    2389             : 
    2390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2393             : 
    2394             : #undef getRank_ENABLED
    2395             : 
    2396             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2397             : 
    2398             : #define setRank_ENABLED 1
    2399             : 
    2400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2403             : 
    2404             : #define Ordinal_ENABLED 1
    2405             : 
    2406             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2409             : 
    2410             : #define D0_ENABLED 1
    2411             : 
    2412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2413             : 
    2414             : #define SK_ENABLED 1
    2415             : 
    2416             : #if SK5_ENABLED
    2417             :     module procedure test_setRankOrdinal_D0_SK5
    2418             :         use pm_kind, only: SKC => SK5
    2419             : #include "test_pm_arrayRank@routines.inc.F90"
    2420             :     end procedure
    2421             : #endif
    2422             : 
    2423             : #if SK4_ENABLED
    2424             :     module procedure test_setRankOrdinal_D0_SK4
    2425             :         use pm_kind, only: SKC => SK4
    2426             : #include "test_pm_arrayRank@routines.inc.F90"
    2427             :     end procedure
    2428             : #endif
    2429             : 
    2430             : #if SK3_ENABLED
    2431             :     module procedure test_setRankOrdinal_D0_SK3
    2432             :         use pm_kind, only: SKC => SK3
    2433             : #include "test_pm_arrayRank@routines.inc.F90"
    2434             :     end procedure
    2435             : #endif
    2436             : 
    2437             : #if SK2_ENABLED
    2438             :     module procedure test_setRankOrdinal_D0_SK2
    2439             :         use pm_kind, only: SKC => SK2
    2440             : #include "test_pm_arrayRank@routines.inc.F90"
    2441             :     end procedure
    2442             : #endif
    2443             : 
    2444             : #if SK1_ENABLED
    2445           1 :     module procedure test_setRankOrdinal_D0_SK1
    2446             :         use pm_kind, only: SKC => SK1
    2447             : #include "test_pm_arrayRank@routines.inc.F90"
    2448             :     end procedure
    2449             : #endif
    2450             : 
    2451             : #undef SK_ENABLED
    2452             : 
    2453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2454             : 
    2455             : #undef D0_ENABLED
    2456             : 
    2457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2460             : 
    2461             : #define D1_ENABLED 1
    2462             : 
    2463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2464             : 
    2465             : #define SK_ENABLED 1
    2466             : 
    2467             : #if SK5_ENABLED
    2468             :     module procedure test_setRankOrdinal_D1_SK5
    2469             :         use pm_kind, only: SKC => SK5
    2470             : #include "test_pm_arrayRank@routines.inc.F90"
    2471             :     end procedure
    2472             : #endif
    2473             : 
    2474             : #if SK4_ENABLED
    2475             :     module procedure test_setRankOrdinal_D1_SK4
    2476             :         use pm_kind, only: SKC => SK4
    2477             : #include "test_pm_arrayRank@routines.inc.F90"
    2478             :     end procedure
    2479             : #endif
    2480             : 
    2481             : #if SK3_ENABLED
    2482             :     module procedure test_setRankOrdinal_D1_SK3
    2483             :         use pm_kind, only: SKC => SK3
    2484             : #include "test_pm_arrayRank@routines.inc.F90"
    2485             :     end procedure
    2486             : #endif
    2487             : 
    2488             : #if SK2_ENABLED
    2489             :     module procedure test_setRankOrdinal_D1_SK2
    2490             :         use pm_kind, only: SKC => SK2
    2491             : #include "test_pm_arrayRank@routines.inc.F90"
    2492             :     end procedure
    2493             : #endif
    2494             : 
    2495             : #if SK1_ENABLED
    2496           1 :     module procedure test_setRankOrdinal_D1_SK1
    2497             :         use pm_kind, only: SKC => SK1
    2498             : #include "test_pm_arrayRank@routines.inc.F90"
    2499             :     end procedure
    2500             : #endif
    2501             : 
    2502             : #undef SK_ENABLED
    2503             : 
    2504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2505             : 
    2506             : #define IK_ENABLED 1
    2507             : 
    2508             : #if IK5_ENABLED
    2509           1 :     module procedure test_setRankOrdinal_D1_IK5
    2510             :         use pm_kind, only: IKC => IK5
    2511             : #include "test_pm_arrayRank@routines.inc.F90"
    2512             :     end procedure
    2513             : #endif
    2514             : 
    2515             : #if IK4_ENABLED
    2516           1 :     module procedure test_setRankOrdinal_D1_IK4
    2517             :         use pm_kind, only: IKC => IK4
    2518             : #include "test_pm_arrayRank@routines.inc.F90"
    2519             :     end procedure
    2520             : #endif
    2521             : 
    2522             : #if IK3_ENABLED
    2523           1 :     module procedure test_setRankOrdinal_D1_IK3
    2524             :         use pm_kind, only: IKC => IK3
    2525             : #include "test_pm_arrayRank@routines.inc.F90"
    2526             :     end procedure
    2527             : #endif
    2528             : 
    2529             : #if IK2_ENABLED
    2530           1 :     module procedure test_setRankOrdinal_D1_IK2
    2531             :         use pm_kind, only: IKC => IK2
    2532             : #include "test_pm_arrayRank@routines.inc.F90"
    2533             :     end procedure
    2534             : #endif
    2535             : 
    2536             : #if IK1_ENABLED
    2537           1 :     module procedure test_setRankOrdinal_D1_IK1
    2538             :         use pm_kind, only: IKC => IK1
    2539             : #include "test_pm_arrayRank@routines.inc.F90"
    2540             :     end procedure
    2541             : #endif
    2542             : 
    2543             : #undef IK_ENABLED
    2544             : 
    2545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2546             : 
    2547             : #define LK_ENABLED 1
    2548             : 
    2549             : #if LK5_ENABLED
    2550           1 :     module procedure test_setRankOrdinal_D1_LK5
    2551             :         use pm_kind, only: LKC => LK5
    2552             : #include "test_pm_arrayRank@routines.inc.F90"
    2553             :     end procedure
    2554             : #endif
    2555             : 
    2556             : #if LK4_ENABLED
    2557           1 :     module procedure test_setRankOrdinal_D1_LK4
    2558             :         use pm_kind, only: LKC => LK4
    2559             : #include "test_pm_arrayRank@routines.inc.F90"
    2560             :     end procedure
    2561             : #endif
    2562             : 
    2563             : #if LK3_ENABLED
    2564           1 :     module procedure test_setRankOrdinal_D1_LK3
    2565             :         use pm_kind, only: LKC => LK3
    2566             : #include "test_pm_arrayRank@routines.inc.F90"
    2567             :     end procedure
    2568             : #endif
    2569             : 
    2570             : #if LK2_ENABLED
    2571           1 :     module procedure test_setRankOrdinal_D1_LK2
    2572             :         use pm_kind, only: LKC => LK2
    2573             : #include "test_pm_arrayRank@routines.inc.F90"
    2574             :     end procedure
    2575             : #endif
    2576             : 
    2577             : #if LK1_ENABLED
    2578           1 :     module procedure test_setRankOrdinal_D1_LK1
    2579             :         use pm_kind, only: LKC => LK1
    2580             : #include "test_pm_arrayRank@routines.inc.F90"
    2581             :     end procedure
    2582             : #endif
    2583             : 
    2584             : #undef LK_ENABLED
    2585             : 
    2586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2587             : 
    2588             : #define CK_ENABLED 1
    2589             : 
    2590             : #if CK5_ENABLED
    2591             :     module procedure test_setRankOrdinal_D1_CK5
    2592             :         use pm_kind, only: CKC => CK5
    2593             : #include "test_pm_arrayRank@routines.inc.F90"
    2594             :     end procedure
    2595             : #endif
    2596             : 
    2597             : #if CK4_ENABLED
    2598           1 :     module procedure test_setRankOrdinal_D1_CK4
    2599             :         use pm_kind, only: CKC => CK4
    2600             : #include "test_pm_arrayRank@routines.inc.F90"
    2601             :     end procedure
    2602             : #endif
    2603             : 
    2604             : #if CK3_ENABLED
    2605           1 :     module procedure test_setRankOrdinal_D1_CK3
    2606             :         use pm_kind, only: CKC => CK3
    2607             : #include "test_pm_arrayRank@routines.inc.F90"
    2608             :     end procedure
    2609             : #endif
    2610             : 
    2611             : #if CK2_ENABLED
    2612           1 :     module procedure test_setRankOrdinal_D1_CK2
    2613             :         use pm_kind, only: CKC => CK2
    2614             : #include "test_pm_arrayRank@routines.inc.F90"
    2615             :     end procedure
    2616             : #endif
    2617             : 
    2618             : #if CK1_ENABLED
    2619           1 :     module procedure test_setRankOrdinal_D1_CK1
    2620             :         use pm_kind, only: CKC => CK1
    2621             : #include "test_pm_arrayRank@routines.inc.F90"
    2622             :     end procedure
    2623             : #endif
    2624             : 
    2625             : #undef CK_ENABLED
    2626             : 
    2627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2628             : 
    2629             : #define RK_ENABLED 1
    2630             : 
    2631             : #if RK5_ENABLED
    2632             :     module procedure test_setRankOrdinal_D1_RK5
    2633             :         use pm_kind, only: RKC => RK5
    2634             : #include "test_pm_arrayRank@routines.inc.F90"
    2635             :     end procedure
    2636             : #endif
    2637             : 
    2638             : #if RK4_ENABLED
    2639           1 :     module procedure test_setRankOrdinal_D1_RK4
    2640             :         use pm_kind, only: RKC => RK4
    2641             : #include "test_pm_arrayRank@routines.inc.F90"
    2642             :     end procedure
    2643             : #endif
    2644             : 
    2645             : #if RK3_ENABLED
    2646           1 :     module procedure test_setRankOrdinal_D1_RK3
    2647             :         use pm_kind, only: RKC => RK3
    2648             : #include "test_pm_arrayRank@routines.inc.F90"
    2649             :     end procedure
    2650             : #endif
    2651             : 
    2652             : #if RK2_ENABLED
    2653           1 :     module procedure test_setRankOrdinal_D1_RK2
    2654             :         use pm_kind, only: RKC => RK2
    2655             : #include "test_pm_arrayRank@routines.inc.F90"
    2656             :     end procedure
    2657             : #endif
    2658             : 
    2659             : #if RK1_ENABLED
    2660           1 :     module procedure test_setRankOrdinal_D1_RK1
    2661             :         use pm_kind, only: RKC => RK1
    2662             : #include "test_pm_arrayRank@routines.inc.F90"
    2663             :     end procedure
    2664             : #endif
    2665             : 
    2666             : #undef RK_ENABLED
    2667             : 
    2668             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2669             : 
    2670             : #if !__GFORTRAN__ && 0
    2671             : #define PSSK_ENABLED 1
    2672             : 
    2673             : #if SK5_ENABLED
    2674             :     module procedure test_setRankOrdinal_D1_PSSK5
    2675             :         use pm_kind, only: SKC => SK5
    2676             :         use pm_container, only: css_pdt
    2677             : #include "test_pm_arrayRank@routines.inc.F90"
    2678             :     end procedure
    2679             : #endif
    2680             : 
    2681             : #if SK4_ENABLED
    2682             :     module procedure test_setRankOrdinal_D1_PSSK4
    2683             :         use pm_kind, only: SKC => SK4
    2684             :         use pm_container, only: css_pdt
    2685             : #include "test_pm_arrayRank@routines.inc.F90"
    2686             :     end procedure
    2687             : #endif
    2688             : 
    2689             : #if SK3_ENABLED
    2690             :     module procedure test_setRankOrdinal_D1_PSSK3
    2691             :         use pm_kind, only: SKC => SK3
    2692             :         use pm_container, only: css_pdt
    2693             : #include "test_pm_arrayRank@routines.inc.F90"
    2694             :     end procedure
    2695             : #endif
    2696             : 
    2697             : #if SK2_ENABLED
    2698             :     module procedure test_setRankOrdinal_D1_PSSK2
    2699             :         use pm_kind, only: SKC => SK2
    2700             :         use pm_container, only: css_pdt
    2701             : #include "test_pm_arrayRank@routines.inc.F90"
    2702             :     end procedure
    2703             : #endif
    2704             : 
    2705             : #if SK1_ENABLED
    2706             :     module procedure test_setRankOrdinal_D1_PSSK1
    2707             :         use pm_kind, only: SKC => SK1
    2708             :         use pm_container, only: css_pdt
    2709             : #include "test_pm_arrayRank@routines.inc.F90"
    2710             :     end procedure
    2711             : #endif
    2712             : 
    2713             : #undef PSSK_ENABLED
    2714             : #endif
    2715             : 
    2716             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2717             : 
    2718             : #undef D1_ENABLED
    2719             : 
    2720             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2723             : 
    2724             : #undef Ordinal_ENABLED
    2725             : 
    2726             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2728             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2729             : 
    2730             : #undef setRank_ENABLED
    2731             : 
    2732             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2733             : 
    2734             : #define getRank_ENABLED 1
    2735             : 
    2736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2738             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2739             : 
    2740             : #define Standard_ENABLED 1
    2741             : 
    2742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2744             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2745             : 
    2746             : #define D0_ENABLED 1
    2747             : 
    2748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2749             : 
    2750             : #define SK_ENABLED 1
    2751             : 
    2752             : #if SK5_ENABLED
    2753             :     module procedure test_getRankStandard_D0_SK5
    2754             :         use pm_kind, only: SKC => SK5
    2755             : #include "test_pm_arrayRank@routines.inc.F90"
    2756             :     end procedure
    2757             : #endif
    2758             : 
    2759             : #if SK4_ENABLED
    2760             :     module procedure test_getRankStandard_D0_SK4
    2761             :         use pm_kind, only: SKC => SK4
    2762             : #include "test_pm_arrayRank@routines.inc.F90"
    2763             :     end procedure
    2764             : #endif
    2765             : 
    2766             : #if SK3_ENABLED
    2767             :     module procedure test_getRankStandard_D0_SK3
    2768             :         use pm_kind, only: SKC => SK3
    2769             : #include "test_pm_arrayRank@routines.inc.F90"
    2770             :     end procedure
    2771             : #endif
    2772             : 
    2773             : #if SK2_ENABLED
    2774             :     module procedure test_getRankStandard_D0_SK2
    2775             :         use pm_kind, only: SKC => SK2
    2776             : #include "test_pm_arrayRank@routines.inc.F90"
    2777             :     end procedure
    2778             : #endif
    2779             : 
    2780             : #if SK1_ENABLED
    2781           1 :     module procedure test_getRankStandard_D0_SK1
    2782             :         use pm_kind, only: SKC => SK1
    2783             : #include "test_pm_arrayRank@routines.inc.F90"
    2784             :     end procedure
    2785             : #endif
    2786             : 
    2787             : #undef SK_ENABLED
    2788             : 
    2789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2790             : 
    2791             : #undef D0_ENABLED
    2792             : 
    2793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2796             : 
    2797             : #define D1_ENABLED 1
    2798             : 
    2799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2800             : 
    2801             : #define SK_ENABLED 1
    2802             : 
    2803             : #if SK5_ENABLED
    2804             :     module procedure test_getRankStandard_D1_SK5
    2805             :         use pm_kind, only: SKC => SK5
    2806             : #include "test_pm_arrayRank@routines.inc.F90"
    2807             :     end procedure
    2808             : #endif
    2809             : 
    2810             : #if SK4_ENABLED
    2811             :     module procedure test_getRankStandard_D1_SK4
    2812             :         use pm_kind, only: SKC => SK4
    2813             : #include "test_pm_arrayRank@routines.inc.F90"
    2814             :     end procedure
    2815             : #endif
    2816             : 
    2817             : #if SK3_ENABLED
    2818             :     module procedure test_getRankStandard_D1_SK3
    2819             :         use pm_kind, only: SKC => SK3
    2820             : #include "test_pm_arrayRank@routines.inc.F90"
    2821             :     end procedure
    2822             : #endif
    2823             : 
    2824             : #if SK2_ENABLED
    2825             :     module procedure test_getRankStandard_D1_SK2
    2826             :         use pm_kind, only: SKC => SK2
    2827             : #include "test_pm_arrayRank@routines.inc.F90"
    2828             :     end procedure
    2829             : #endif
    2830             : 
    2831             : #if SK1_ENABLED
    2832           1 :     module procedure test_getRankStandard_D1_SK1
    2833             :         use pm_kind, only: SKC => SK1
    2834             : #include "test_pm_arrayRank@routines.inc.F90"
    2835             :     end procedure
    2836             : #endif
    2837             : 
    2838             : #undef SK_ENABLED
    2839             : 
    2840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2841             : 
    2842             : #define IK_ENABLED 1
    2843             : 
    2844             : #if IK5_ENABLED
    2845           1 :     module procedure test_getRankStandard_D1_IK5
    2846             :         use pm_kind, only: IKC => IK5
    2847             : #include "test_pm_arrayRank@routines.inc.F90"
    2848             :     end procedure
    2849             : #endif
    2850             : 
    2851             : #if IK4_ENABLED
    2852           1 :     module procedure test_getRankStandard_D1_IK4
    2853             :         use pm_kind, only: IKC => IK4
    2854             : #include "test_pm_arrayRank@routines.inc.F90"
    2855             :     end procedure
    2856             : #endif
    2857             : 
    2858             : #if IK3_ENABLED
    2859           1 :     module procedure test_getRankStandard_D1_IK3
    2860             :         use pm_kind, only: IKC => IK3
    2861             : #include "test_pm_arrayRank@routines.inc.F90"
    2862             :     end procedure
    2863             : #endif
    2864             : 
    2865             : #if IK2_ENABLED
    2866           1 :     module procedure test_getRankStandard_D1_IK2
    2867             :         use pm_kind, only: IKC => IK2
    2868             : #include "test_pm_arrayRank@routines.inc.F90"
    2869             :     end procedure
    2870             : #endif
    2871             : 
    2872             : #if IK1_ENABLED
    2873           1 :     module procedure test_getRankStandard_D1_IK1
    2874             :         use pm_kind, only: IKC => IK1
    2875             : #include "test_pm_arrayRank@routines.inc.F90"
    2876             :     end procedure
    2877             : #endif
    2878             : 
    2879             : #undef IK_ENABLED
    2880             : 
    2881             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2882             : 
    2883             : #define LK_ENABLED 1
    2884             : 
    2885             : #if LK5_ENABLED
    2886           1 :     module procedure test_getRankStandard_D1_LK5
    2887             :         use pm_kind, only: LKC => LK5
    2888             : #include "test_pm_arrayRank@routines.inc.F90"
    2889             :     end procedure
    2890             : #endif
    2891             : 
    2892             : #if LK4_ENABLED
    2893           1 :     module procedure test_getRankStandard_D1_LK4
    2894             :         use pm_kind, only: LKC => LK4
    2895             : #include "test_pm_arrayRank@routines.inc.F90"
    2896             :     end procedure
    2897             : #endif
    2898             : 
    2899             : #if LK3_ENABLED
    2900           1 :     module procedure test_getRankStandard_D1_LK3
    2901             :         use pm_kind, only: LKC => LK3
    2902             : #include "test_pm_arrayRank@routines.inc.F90"
    2903             :     end procedure
    2904             : #endif
    2905             : 
    2906             : #if LK2_ENABLED
    2907           1 :     module procedure test_getRankStandard_D1_LK2
    2908             :         use pm_kind, only: LKC => LK2
    2909             : #include "test_pm_arrayRank@routines.inc.F90"
    2910             :     end procedure
    2911             : #endif
    2912             : 
    2913             : #if LK1_ENABLED
    2914           1 :     module procedure test_getRankStandard_D1_LK1
    2915             :         use pm_kind, only: LKC => LK1
    2916             : #include "test_pm_arrayRank@routines.inc.F90"
    2917             :     end procedure
    2918             : #endif
    2919             : 
    2920             : #undef LK_ENABLED
    2921             : 
    2922             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2923             : 
    2924             : #define CK_ENABLED 1
    2925             : 
    2926             : #if CK5_ENABLED
    2927             :     module procedure test_getRankStandard_D1_CK5
    2928             :         use pm_kind, only: CKC => CK5
    2929             : #include "test_pm_arrayRank@routines.inc.F90"
    2930             :     end procedure
    2931             : #endif
    2932             : 
    2933             : #if CK4_ENABLED
    2934           1 :     module procedure test_getRankStandard_D1_CK4
    2935             :         use pm_kind, only: CKC => CK4
    2936             : #include "test_pm_arrayRank@routines.inc.F90"
    2937             :     end procedure
    2938             : #endif
    2939             : 
    2940             : #if CK3_ENABLED
    2941           1 :     module procedure test_getRankStandard_D1_CK3
    2942             :         use pm_kind, only: CKC => CK3
    2943             : #include "test_pm_arrayRank@routines.inc.F90"
    2944             :     end procedure
    2945             : #endif
    2946             : 
    2947             : #if CK2_ENABLED
    2948           1 :     module procedure test_getRankStandard_D1_CK2
    2949             :         use pm_kind, only: CKC => CK2
    2950             : #include "test_pm_arrayRank@routines.inc.F90"
    2951             :     end procedure
    2952             : #endif
    2953             : 
    2954             : #if CK1_ENABLED
    2955           1 :     module procedure test_getRankStandard_D1_CK1
    2956             :         use pm_kind, only: CKC => CK1
    2957             : #include "test_pm_arrayRank@routines.inc.F90"
    2958             :     end procedure
    2959             : #endif
    2960             : 
    2961             : #undef CK_ENABLED
    2962             : 
    2963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2964             : 
    2965             : #define RK_ENABLED 1
    2966             : 
    2967             : #if RK5_ENABLED
    2968             :     module procedure test_getRankStandard_D1_RK5
    2969             :         use pm_kind, only: RKC => RK5
    2970             : #include "test_pm_arrayRank@routines.inc.F90"
    2971             :     end procedure
    2972             : #endif
    2973             : 
    2974             : #if RK4_ENABLED
    2975           1 :     module procedure test_getRankStandard_D1_RK4
    2976             :         use pm_kind, only: RKC => RK4
    2977             : #include "test_pm_arrayRank@routines.inc.F90"
    2978             :     end procedure
    2979             : #endif
    2980             : 
    2981             : #if RK3_ENABLED
    2982           1 :     module procedure test_getRankStandard_D1_RK3
    2983             :         use pm_kind, only: RKC => RK3
    2984             : #include "test_pm_arrayRank@routines.inc.F90"
    2985             :     end procedure
    2986             : #endif
    2987             : 
    2988             : #if RK2_ENABLED
    2989           1 :     module procedure test_getRankStandard_D1_RK2
    2990             :         use pm_kind, only: RKC => RK2
    2991             : #include "test_pm_arrayRank@routines.inc.F90"
    2992             :     end procedure
    2993             : #endif
    2994             : 
    2995             : #if RK1_ENABLED
    2996           1 :     module procedure test_getRankStandard_D1_RK1
    2997             :         use pm_kind, only: RKC => RK1
    2998             : #include "test_pm_arrayRank@routines.inc.F90"
    2999             :     end procedure
    3000             : #endif
    3001             : 
    3002             : #undef RK_ENABLED
    3003             : 
    3004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3005             : 
    3006             : #if !__GFORTRAN__ && 0
    3007             : #define PSSK_ENABLED 1
    3008             : 
    3009             : #if SK5_ENABLED
    3010             :     module procedure test_getRankStandard_D1_PSSK5
    3011             :         use pm_kind, only: SKC => SK5
    3012             :         use pm_container, only: css_pdt
    3013             : #include "test_pm_arrayRank@routines.inc.F90"
    3014             :     end procedure
    3015             : #endif
    3016             : 
    3017             : #if SK4_ENABLED
    3018             :     module procedure test_getRankStandard_D1_PSSK4
    3019             :         use pm_kind, only: SKC => SK4
    3020             :         use pm_container, only: css_pdt
    3021             : #include "test_pm_arrayRank@routines.inc.F90"
    3022             :     end procedure
    3023             : #endif
    3024             : 
    3025             : #if SK3_ENABLED
    3026             :     module procedure test_getRankStandard_D1_PSSK3
    3027             :         use pm_kind, only: SKC => SK3
    3028             :         use pm_container, only: css_pdt
    3029             : #include "test_pm_arrayRank@routines.inc.F90"
    3030             :     end procedure
    3031             : #endif
    3032             : 
    3033             : #if SK2_ENABLED
    3034             :     module procedure test_getRankStandard_D1_PSSK2
    3035             :         use pm_kind, only: SKC => SK2
    3036             :         use pm_container, only: css_pdt
    3037             : #include "test_pm_arrayRank@routines.inc.F90"
    3038             :     end procedure
    3039             : #endif
    3040             : 
    3041             : #if SK1_ENABLED
    3042             :     module procedure test_getRankStandard_D1_PSSK1
    3043             :         use pm_kind, only: SKC => SK1
    3044             :         use pm_container, only: css_pdt
    3045             : #include "test_pm_arrayRank@routines.inc.F90"
    3046             :     end procedure
    3047             : #endif
    3048             : 
    3049             : #undef PSSK_ENABLED
    3050             : #endif
    3051             : 
    3052             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3053             : 
    3054             : #undef D1_ENABLED
    3055             : 
    3056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3059             : 
    3060             : #undef Standard_ENABLED
    3061             : 
    3062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3065             : 
    3066             : #undef getRank_ENABLED
    3067             : 
    3068             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3069             : 
    3070             : #define setRank_ENABLED 1
    3071             : 
    3072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3075             : 
    3076             : #define Standard_ENABLED 1
    3077             : 
    3078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3080             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3081             : 
    3082             : #define D0_ENABLED 1
    3083             : 
    3084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3085             : 
    3086             : #define SK_ENABLED 1
    3087             : 
    3088             : #if SK5_ENABLED
    3089             :     module procedure test_setRankStandard_D0_SK5
    3090             :         use pm_kind, only: SKC => SK5
    3091             : #include "test_pm_arrayRank@routines.inc.F90"
    3092             :     end procedure
    3093             : #endif
    3094             : 
    3095             : #if SK4_ENABLED
    3096             :     module procedure test_setRankStandard_D0_SK4
    3097             :         use pm_kind, only: SKC => SK4
    3098             : #include "test_pm_arrayRank@routines.inc.F90"
    3099             :     end procedure
    3100             : #endif
    3101             : 
    3102             : #if SK3_ENABLED
    3103             :     module procedure test_setRankStandard_D0_SK3
    3104             :         use pm_kind, only: SKC => SK3
    3105             : #include "test_pm_arrayRank@routines.inc.F90"
    3106             :     end procedure
    3107             : #endif
    3108             : 
    3109             : #if SK2_ENABLED
    3110             :     module procedure test_setRankStandard_D0_SK2
    3111             :         use pm_kind, only: SKC => SK2
    3112             : #include "test_pm_arrayRank@routines.inc.F90"
    3113             :     end procedure
    3114             : #endif
    3115             : 
    3116             : #if SK1_ENABLED
    3117           1 :     module procedure test_setRankStandard_D0_SK1
    3118             :         use pm_kind, only: SKC => SK1
    3119             : #include "test_pm_arrayRank@routines.inc.F90"
    3120             :     end procedure
    3121             : #endif
    3122             : 
    3123             : #undef SK_ENABLED
    3124             : 
    3125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3126             : 
    3127             : #undef D0_ENABLED
    3128             : 
    3129             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3131             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3132             : 
    3133             : #define D1_ENABLED 1
    3134             : 
    3135             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3136             : 
    3137             : #define SK_ENABLED 1
    3138             : 
    3139             : #if SK5_ENABLED
    3140             :     module procedure test_setRankStandard_D1_SK5
    3141             :         use pm_kind, only: SKC => SK5
    3142             : #include "test_pm_arrayRank@routines.inc.F90"
    3143             :     end procedure
    3144             : #endif
    3145             : 
    3146             : #if SK4_ENABLED
    3147             :     module procedure test_setRankStandard_D1_SK4
    3148             :         use pm_kind, only: SKC => SK4
    3149             : #include "test_pm_arrayRank@routines.inc.F90"
    3150             :     end procedure
    3151             : #endif
    3152             : 
    3153             : #if SK3_ENABLED
    3154             :     module procedure test_setRankStandard_D1_SK3
    3155             :         use pm_kind, only: SKC => SK3
    3156             : #include "test_pm_arrayRank@routines.inc.F90"
    3157             :     end procedure
    3158             : #endif
    3159             : 
    3160             : #if SK2_ENABLED
    3161             :     module procedure test_setRankStandard_D1_SK2
    3162             :         use pm_kind, only: SKC => SK2
    3163             : #include "test_pm_arrayRank@routines.inc.F90"
    3164             :     end procedure
    3165             : #endif
    3166             : 
    3167             : #if SK1_ENABLED
    3168           1 :     module procedure test_setRankStandard_D1_SK1
    3169             :         use pm_kind, only: SKC => SK1
    3170             : #include "test_pm_arrayRank@routines.inc.F90"
    3171             :     end procedure
    3172             : #endif
    3173             : 
    3174             : #undef SK_ENABLED
    3175             : 
    3176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3177             : 
    3178             : #define IK_ENABLED 1
    3179             : 
    3180             : #if IK5_ENABLED
    3181           1 :     module procedure test_setRankStandard_D1_IK5
    3182             :         use pm_kind, only: IKC => IK5
    3183             : #include "test_pm_arrayRank@routines.inc.F90"
    3184             :     end procedure
    3185             : #endif
    3186             : 
    3187             : #if IK4_ENABLED
    3188           1 :     module procedure test_setRankStandard_D1_IK4
    3189             :         use pm_kind, only: IKC => IK4
    3190             : #include "test_pm_arrayRank@routines.inc.F90"
    3191             :     end procedure
    3192             : #endif
    3193             : 
    3194             : #if IK3_ENABLED
    3195           1 :     module procedure test_setRankStandard_D1_IK3
    3196             :         use pm_kind, only: IKC => IK3
    3197             : #include "test_pm_arrayRank@routines.inc.F90"
    3198             :     end procedure
    3199             : #endif
    3200             : 
    3201             : #if IK2_ENABLED
    3202           1 :     module procedure test_setRankStandard_D1_IK2
    3203             :         use pm_kind, only: IKC => IK2
    3204             : #include "test_pm_arrayRank@routines.inc.F90"
    3205             :     end procedure
    3206             : #endif
    3207             : 
    3208             : #if IK1_ENABLED
    3209           1 :     module procedure test_setRankStandard_D1_IK1
    3210             :         use pm_kind, only: IKC => IK1
    3211             : #include "test_pm_arrayRank@routines.inc.F90"
    3212             :     end procedure
    3213             : #endif
    3214             : 
    3215             : #undef IK_ENABLED
    3216             : 
    3217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3218             : 
    3219             : #define LK_ENABLED 1
    3220             : 
    3221             : #if LK5_ENABLED
    3222           1 :     module procedure test_setRankStandard_D1_LK5
    3223             :         use pm_kind, only: LKC => LK5
    3224             : #include "test_pm_arrayRank@routines.inc.F90"
    3225             :     end procedure
    3226             : #endif
    3227             : 
    3228             : #if LK4_ENABLED
    3229           1 :     module procedure test_setRankStandard_D1_LK4
    3230             :         use pm_kind, only: LKC => LK4
    3231             : #include "test_pm_arrayRank@routines.inc.F90"
    3232             :     end procedure
    3233             : #endif
    3234             : 
    3235             : #if LK3_ENABLED
    3236           1 :     module procedure test_setRankStandard_D1_LK3
    3237             :         use pm_kind, only: LKC => LK3
    3238             : #include "test_pm_arrayRank@routines.inc.F90"
    3239             :     end procedure
    3240             : #endif
    3241             : 
    3242             : #if LK2_ENABLED
    3243           1 :     module procedure test_setRankStandard_D1_LK2
    3244             :         use pm_kind, only: LKC => LK2
    3245             : #include "test_pm_arrayRank@routines.inc.F90"
    3246             :     end procedure
    3247             : #endif
    3248             : 
    3249             : #if LK1_ENABLED
    3250           1 :     module procedure test_setRankStandard_D1_LK1
    3251             :         use pm_kind, only: LKC => LK1
    3252             : #include "test_pm_arrayRank@routines.inc.F90"
    3253             :     end procedure
    3254             : #endif
    3255             : 
    3256             : #undef LK_ENABLED
    3257             : 
    3258             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3259             : 
    3260             : #define CK_ENABLED 1
    3261             : 
    3262             : #if CK5_ENABLED
    3263             :     module procedure test_setRankStandard_D1_CK5
    3264             :         use pm_kind, only: CKC => CK5
    3265             : #include "test_pm_arrayRank@routines.inc.F90"
    3266             :     end procedure
    3267             : #endif
    3268             : 
    3269             : #if CK4_ENABLED
    3270           1 :     module procedure test_setRankStandard_D1_CK4
    3271             :         use pm_kind, only: CKC => CK4
    3272             : #include "test_pm_arrayRank@routines.inc.F90"
    3273             :     end procedure
    3274             : #endif
    3275             : 
    3276             : #if CK3_ENABLED
    3277           1 :     module procedure test_setRankStandard_D1_CK3
    3278             :         use pm_kind, only: CKC => CK3
    3279             : #include "test_pm_arrayRank@routines.inc.F90"
    3280             :     end procedure
    3281             : #endif
    3282             : 
    3283             : #if CK2_ENABLED
    3284           1 :     module procedure test_setRankStandard_D1_CK2
    3285             :         use pm_kind, only: CKC => CK2
    3286             : #include "test_pm_arrayRank@routines.inc.F90"
    3287             :     end procedure
    3288             : #endif
    3289             : 
    3290             : #if CK1_ENABLED
    3291           1 :     module procedure test_setRankStandard_D1_CK1
    3292             :         use pm_kind, only: CKC => CK1
    3293             : #include "test_pm_arrayRank@routines.inc.F90"
    3294             :     end procedure
    3295             : #endif
    3296             : 
    3297             : #undef CK_ENABLED
    3298             : 
    3299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3300             : 
    3301             : #define RK_ENABLED 1
    3302             : 
    3303             : #if RK5_ENABLED
    3304             :     module procedure test_setRankStandard_D1_RK5
    3305             :         use pm_kind, only: RKC => RK5
    3306             : #include "test_pm_arrayRank@routines.inc.F90"
    3307             :     end procedure
    3308             : #endif
    3309             : 
    3310             : #if RK4_ENABLED
    3311           1 :     module procedure test_setRankStandard_D1_RK4
    3312             :         use pm_kind, only: RKC => RK4
    3313             : #include "test_pm_arrayRank@routines.inc.F90"
    3314             :     end procedure
    3315             : #endif
    3316             : 
    3317             : #if RK3_ENABLED
    3318           1 :     module procedure test_setRankStandard_D1_RK3
    3319             :         use pm_kind, only: RKC => RK3
    3320             : #include "test_pm_arrayRank@routines.inc.F90"
    3321             :     end procedure
    3322             : #endif
    3323             : 
    3324             : #if RK2_ENABLED
    3325           1 :     module procedure test_setRankStandard_D1_RK2
    3326             :         use pm_kind, only: RKC => RK2
    3327             : #include "test_pm_arrayRank@routines.inc.F90"
    3328             :     end procedure
    3329             : #endif
    3330             : 
    3331             : #if RK1_ENABLED
    3332           1 :     module procedure test_setRankStandard_D1_RK1
    3333             :         use pm_kind, only: RKC => RK1
    3334             : #include "test_pm_arrayRank@routines.inc.F90"
    3335             :     end procedure
    3336             : #endif
    3337             : 
    3338             : #undef RK_ENABLED
    3339             : 
    3340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3341             : 
    3342             : #if !__GFORTRAN__ && 0
    3343             : #define PSSK_ENABLED 1
    3344             : 
    3345             : #if SK5_ENABLED
    3346             :     module procedure test_setRankStandard_D1_PSSK5
    3347             :         use pm_kind, only: SKC => SK5
    3348             :         use pm_container, only: css_pdt
    3349             : #include "test_pm_arrayRank@routines.inc.F90"
    3350             :     end procedure
    3351             : #endif
    3352             : 
    3353             : #if SK4_ENABLED
    3354             :     module procedure test_setRankStandard_D1_PSSK4
    3355             :         use pm_kind, only: SKC => SK4
    3356             :         use pm_container, only: css_pdt
    3357             : #include "test_pm_arrayRank@routines.inc.F90"
    3358             :     end procedure
    3359             : #endif
    3360             : 
    3361             : #if SK3_ENABLED
    3362             :     module procedure test_setRankStandard_D1_PSSK3
    3363             :         use pm_kind, only: SKC => SK3
    3364             :         use pm_container, only: css_pdt
    3365             : #include "test_pm_arrayRank@routines.inc.F90"
    3366             :     end procedure
    3367             : #endif
    3368             : 
    3369             : #if SK2_ENABLED
    3370             :     module procedure test_setRankStandard_D1_PSSK2
    3371             :         use pm_kind, only: SKC => SK2
    3372             :         use pm_container, only: css_pdt
    3373             : #include "test_pm_arrayRank@routines.inc.F90"
    3374             :     end procedure
    3375             : #endif
    3376             : 
    3377             : #if SK1_ENABLED
    3378             :     module procedure test_setRankStandard_D1_PSSK1
    3379             :         use pm_kind, only: SKC => SK1
    3380             :         use pm_container, only: css_pdt
    3381             : #include "test_pm_arrayRank@routines.inc.F90"
    3382             :     end procedure
    3383             : #endif
    3384             : 
    3385             : #undef PSSK_ENABLED
    3386             : #endif
    3387             : 
    3388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3389             : 
    3390             : #undef D1_ENABLED
    3391             : 
    3392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3395             : 
    3396             : #undef Standard_ENABLED
    3397             : 
    3398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3401             : 
    3402             : #undef setRank_ENABLED
    3403             : 
    3404             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3405             : 
    3406             : end submodule routines

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