https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_arraySort@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 360 360 100.0 %
Date: 2024-04-08 03:18:57 Functions: 300 300 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_arraySort](@ref pm_arraySort).
      19             : !>
      20             : !>  \fintest
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (test_pm_arraySort) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_kind, only: LK
      30             :     use pm_val2str, only: getStr
      31             :     use pm_distUnif, only: getUnifRand
      32             :     use pm_distUnif, only: setUnifRand
      33             :     use pm_arrayRemap, only: getRemapped
      34             :     use pm_arrayResize, only: setResized
      35             :     use pm_arrayReverse, only: getReversed
      36             :     use pm_logicalCompare, only: operator(>)
      37             :     use pm_complexCompareLex, only: operator(>)
      38             :     use pm_container, only: css_pdt, operator(>)
      39             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define isAscending_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define D0_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define SK_ENABLED 1
      58             : 
      59             : #if SK5_ENABLED
      60             :     module procedure test_isAscending_D0_SK5
      61             :         use pm_kind, only: SKC => SK5
      62             : #include "test_pm_arraySort@routines.inc.F90"
      63             :     end procedure
      64             : #endif
      65             : 
      66             : #if SK4_ENABLED
      67             :     module procedure test_isAscending_D0_SK4
      68             :         use pm_kind, only: SKC => SK4
      69             : #include "test_pm_arraySort@routines.inc.F90"
      70             :     end procedure
      71             : #endif
      72             : 
      73             : #if SK3_ENABLED
      74             :     module procedure test_isAscending_D0_SK3
      75             :         use pm_kind, only: SKC => SK3
      76             : #include "test_pm_arraySort@routines.inc.F90"
      77             :     end procedure
      78             : #endif
      79             : 
      80             : #if SK2_ENABLED
      81             :     module procedure test_isAscending_D0_SK2
      82             :         use pm_kind, only: SKC => SK2
      83             : #include "test_pm_arraySort@routines.inc.F90"
      84             :     end procedure
      85             : #endif
      86             : 
      87             : #if SK1_ENABLED
      88           1 :     module procedure test_isAscending_D0_SK1
      89             :         use pm_kind, only: SKC => SK1
      90             : #include "test_pm_arraySort@routines.inc.F90"
      91           1 :     end procedure
      92             : #endif
      93             : 
      94             : #undef SK_ENABLED
      95             : 
      96             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #undef D0_ENABLED
      99             : 
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : #define D1_ENABLED 1
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #define SK_ENABLED 1
     109             : 
     110             : #if SK5_ENABLED
     111             :     module procedure test_isAscending_D1_SK5
     112             :         use pm_kind, only: SKC => SK5
     113             : #include "test_pm_arraySort@routines.inc.F90"
     114             :     end procedure
     115             : #endif
     116             : 
     117             : #if SK4_ENABLED
     118             :     module procedure test_isAscending_D1_SK4
     119             :         use pm_kind, only: SKC => SK4
     120             : #include "test_pm_arraySort@routines.inc.F90"
     121             :     end procedure
     122             : #endif
     123             : 
     124             : #if SK3_ENABLED
     125             :     module procedure test_isAscending_D1_SK3
     126             :         use pm_kind, only: SKC => SK3
     127             : #include "test_pm_arraySort@routines.inc.F90"
     128             :     end procedure
     129             : #endif
     130             : 
     131             : #if SK2_ENABLED
     132             :     module procedure test_isAscending_D1_SK2
     133             :         use pm_kind, only: SKC => SK2
     134             : #include "test_pm_arraySort@routines.inc.F90"
     135             :     end procedure
     136             : #endif
     137             : 
     138             : #if SK1_ENABLED
     139           1 :     module procedure test_isAscending_D1_SK1
     140             :         use pm_kind, only: SKC => SK1
     141             : #include "test_pm_arraySort@routines.inc.F90"
     142           1 :     end procedure
     143             : #endif
     144             : 
     145             : #undef SK_ENABLED
     146             : 
     147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     148             : 
     149             : #define IK_ENABLED 1
     150             : 
     151             : #if IK5_ENABLED
     152           1 :     module procedure test_isAscending_D1_IK5
     153             :         use pm_kind, only: IKC => IK5
     154             : #include "test_pm_arraySort@routines.inc.F90"
     155           1 :     end procedure
     156             : #endif
     157             : 
     158             : #if IK4_ENABLED
     159           1 :     module procedure test_isAscending_D1_IK4
     160             :         use pm_kind, only: IKC => IK4
     161             : #include "test_pm_arraySort@routines.inc.F90"
     162           1 :     end procedure
     163             : #endif
     164             : 
     165             : #if IK3_ENABLED
     166           1 :     module procedure test_isAscending_D1_IK3
     167             :         use pm_kind, only: IKC => IK3
     168             : #include "test_pm_arraySort@routines.inc.F90"
     169           1 :     end procedure
     170             : #endif
     171             : 
     172             : #if IK2_ENABLED
     173           1 :     module procedure test_isAscending_D1_IK2
     174             :         use pm_kind, only: IKC => IK2
     175             : #include "test_pm_arraySort@routines.inc.F90"
     176           1 :     end procedure
     177             : #endif
     178             : 
     179             : #if IK1_ENABLED
     180           1 :     module procedure test_isAscending_D1_IK1
     181             :         use pm_kind, only: IKC => IK1
     182             : #include "test_pm_arraySort@routines.inc.F90"
     183           1 :     end procedure
     184             : #endif
     185             : 
     186             : #undef IK_ENABLED
     187             : 
     188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     189             : 
     190             : #define LK_ENABLED 1
     191             : 
     192             : #if LK5_ENABLED
     193           1 :     module procedure test_isAscending_D1_LK5
     194             :         use pm_kind, only: LKC => LK5
     195             : #include "test_pm_arraySort@routines.inc.F90"
     196           1 :     end procedure
     197             : #endif
     198             : 
     199             : #if LK4_ENABLED
     200           1 :     module procedure test_isAscending_D1_LK4
     201             :         use pm_kind, only: LKC => LK4
     202             : #include "test_pm_arraySort@routines.inc.F90"
     203           1 :     end procedure
     204             : #endif
     205             : 
     206             : #if LK3_ENABLED
     207           1 :     module procedure test_isAscending_D1_LK3
     208             :         use pm_kind, only: LKC => LK3
     209             : #include "test_pm_arraySort@routines.inc.F90"
     210           1 :     end procedure
     211             : #endif
     212             : 
     213             : #if LK2_ENABLED
     214           1 :     module procedure test_isAscending_D1_LK2
     215             :         use pm_kind, only: LKC => LK2
     216             : #include "test_pm_arraySort@routines.inc.F90"
     217           1 :     end procedure
     218             : #endif
     219             : 
     220             : #if LK1_ENABLED
     221           1 :     module procedure test_isAscending_D1_LK1
     222             :         use pm_kind, only: LKC => LK1
     223             : #include "test_pm_arraySort@routines.inc.F90"
     224           1 :     end procedure
     225             : #endif
     226             : 
     227             : #undef LK_ENABLED
     228             : 
     229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     230             : 
     231             : #define CK_ENABLED 1
     232             : 
     233             : #if CK5_ENABLED
     234             :     module procedure test_isAscending_D1_CK5
     235             :         use pm_kind, only: CKC => CK5
     236             : #include "test_pm_arraySort@routines.inc.F90"
     237             :     end procedure
     238             : #endif
     239             : 
     240             : #if CK4_ENABLED
     241           1 :     module procedure test_isAscending_D1_CK4
     242             :         use pm_kind, only: CKC => CK4
     243             : #include "test_pm_arraySort@routines.inc.F90"
     244           1 :     end procedure
     245             : #endif
     246             : 
     247             : #if CK3_ENABLED
     248           1 :     module procedure test_isAscending_D1_CK3
     249             :         use pm_kind, only: CKC => CK3
     250             : #include "test_pm_arraySort@routines.inc.F90"
     251           1 :     end procedure
     252             : #endif
     253             : 
     254             : #if CK2_ENABLED
     255           1 :     module procedure test_isAscending_D1_CK2
     256             :         use pm_kind, only: CKC => CK2
     257             : #include "test_pm_arraySort@routines.inc.F90"
     258           1 :     end procedure
     259             : #endif
     260             : 
     261             : #if CK1_ENABLED
     262           1 :     module procedure test_isAscending_D1_CK1
     263             :         use pm_kind, only: CKC => CK1
     264             : #include "test_pm_arraySort@routines.inc.F90"
     265           1 :     end procedure
     266             : #endif
     267             : 
     268             : #undef CK_ENABLED
     269             : 
     270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     271             : 
     272             : #define RK_ENABLED 1
     273             : 
     274             : #if RK5_ENABLED
     275             :     module procedure test_isAscending_D1_RK5
     276             :         use pm_kind, only: RKC => RK5
     277             : #include "test_pm_arraySort@routines.inc.F90"
     278             :     end procedure
     279             : #endif
     280             : 
     281             : #if RK4_ENABLED
     282           1 :     module procedure test_isAscending_D1_RK4
     283             :         use pm_kind, only: RKC => RK4
     284             : #include "test_pm_arraySort@routines.inc.F90"
     285           1 :     end procedure
     286             : #endif
     287             : 
     288             : #if RK3_ENABLED
     289           1 :     module procedure test_isAscending_D1_RK3
     290             :         use pm_kind, only: RKC => RK3
     291             : #include "test_pm_arraySort@routines.inc.F90"
     292           1 :     end procedure
     293             : #endif
     294             : 
     295             : #if RK2_ENABLED
     296           1 :     module procedure test_isAscending_D1_RK2
     297             :         use pm_kind, only: RKC => RK2
     298             : #include "test_pm_arraySort@routines.inc.F90"
     299           1 :     end procedure
     300             : #endif
     301             : 
     302             : #if RK1_ENABLED
     303           1 :     module procedure test_isAscending_D1_RK1
     304             :         use pm_kind, only: RKC => RK1
     305             : #include "test_pm_arraySort@routines.inc.F90"
     306           1 :     end procedure
     307             : #endif
     308             : 
     309             : #undef RK_ENABLED
     310             : 
     311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #if PDT_ENABLED && 0
     314             : #define PSSK_ENABLED 1
     315             : 
     316             : #if SK5_ENABLED
     317             :     module procedure test_isAscending_D1_PSSK5
     318             :         use pm_kind, only: SKC => SK5
     319             :         use pm_container, only: css_pdt, operator(<=)
     320             : #include "test_pm_arraySort@routines.inc.F90"
     321             :     end procedure
     322             : #endif
     323             : 
     324             : #if SK4_ENABLED
     325             :     module procedure test_isAscending_D1_PSSK4
     326             :         use pm_kind, only: SKC => SK4
     327             : #include "test_pm_arraySort@routines.inc.F90"
     328             :     end procedure
     329             : #endif
     330             : 
     331             : #if SK3_ENABLED
     332             :     module procedure test_isAscending_D1_PSSK3
     333             :         use pm_kind, only: SKC => SK3
     334             :         use pm_container, only: css_pdt, operator(<=)
     335             : #include "test_pm_arraySort@routines.inc.F90"
     336             :     end procedure
     337             : #endif
     338             : 
     339             : #if SK2_ENABLED
     340             :     module procedure test_isAscending_D1_PSSK2
     341             :         use pm_kind, only: SKC => SK2
     342             :         use pm_container, only: css_pdt, operator(<=)
     343             : #include "test_pm_arraySort@routines.inc.F90"
     344             :     end procedure
     345             : #endif
     346             : 
     347             : #if SK1_ENABLED
     348             :     module procedure test_isAscending_D1_PSSK1
     349             :         use pm_kind, only: SKC => SK1
     350             :         use pm_container, only: css_pdt, operator(<=)
     351             : #include "test_pm_arraySort@routines.inc.F90"
     352             :     end procedure
     353             : #endif
     354             : 
     355             : #undef PSSK_ENABLED
     356             : #endif
     357             : 
     358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     359             : 
     360             : #undef D1_ENABLED
     361             : 
     362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : #undef isAscending_ENABLED
     367             : 
     368             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     369             : 
     370             : #define isDescending_ENABLED 1
     371             : 
     372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     375             : 
     376             : #define D0_ENABLED 1
     377             : 
     378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     379             : 
     380             : #define SK_ENABLED 1
     381             : 
     382             : #if SK5_ENABLED
     383             :     module procedure test_isDescending_D0_SK5
     384             :         use pm_kind, only: SKC => SK5
     385             : #include "test_pm_arraySort@routines.inc.F90"
     386             :     end procedure
     387             : #endif
     388             : 
     389             : #if SK4_ENABLED
     390             :     module procedure test_isDescending_D0_SK4
     391             :         use pm_kind, only: SKC => SK4
     392             : #include "test_pm_arraySort@routines.inc.F90"
     393             :     end procedure
     394             : #endif
     395             : 
     396             : #if SK3_ENABLED
     397             :     module procedure test_isDescending_D0_SK3
     398             :         use pm_kind, only: SKC => SK3
     399             : #include "test_pm_arraySort@routines.inc.F90"
     400             :     end procedure
     401             : #endif
     402             : 
     403             : #if SK2_ENABLED
     404             :     module procedure test_isDescending_D0_SK2
     405             :         use pm_kind, only: SKC => SK2
     406             : #include "test_pm_arraySort@routines.inc.F90"
     407             :     end procedure
     408             : #endif
     409             : 
     410             : #if SK1_ENABLED
     411           1 :     module procedure test_isDescending_D0_SK1
     412             :         use pm_kind, only: SKC => SK1
     413             : #include "test_pm_arraySort@routines.inc.F90"
     414           1 :     end procedure
     415             : #endif
     416             : 
     417             : #undef SK_ENABLED
     418             : 
     419             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     420             : 
     421             : #undef D0_ENABLED
     422             : 
     423             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     426             : 
     427             : #define D1_ENABLED 1
     428             : 
     429             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     430             : 
     431             : #define SK_ENABLED 1
     432             : 
     433             : #if SK5_ENABLED
     434             :     module procedure test_isDescending_D1_SK5
     435             :         use pm_kind, only: SKC => SK5
     436             : #include "test_pm_arraySort@routines.inc.F90"
     437             :     end procedure
     438             : #endif
     439             : 
     440             : #if SK4_ENABLED
     441             :     module procedure test_isDescending_D1_SK4
     442             :         use pm_kind, only: SKC => SK4
     443             : #include "test_pm_arraySort@routines.inc.F90"
     444             :     end procedure
     445             : #endif
     446             : 
     447             : #if SK3_ENABLED
     448             :     module procedure test_isDescending_D1_SK3
     449             :         use pm_kind, only: SKC => SK3
     450             : #include "test_pm_arraySort@routines.inc.F90"
     451             :     end procedure
     452             : #endif
     453             : 
     454             : #if SK2_ENABLED
     455             :     module procedure test_isDescending_D1_SK2
     456             :         use pm_kind, only: SKC => SK2
     457             : #include "test_pm_arraySort@routines.inc.F90"
     458             :     end procedure
     459             : #endif
     460             : 
     461             : #if SK1_ENABLED
     462           1 :     module procedure test_isDescending_D1_SK1
     463             :         use pm_kind, only: SKC => SK1
     464             : #include "test_pm_arraySort@routines.inc.F90"
     465           1 :     end procedure
     466             : #endif
     467             : 
     468             : #undef SK_ENABLED
     469             : 
     470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     471             : 
     472             : #define IK_ENABLED 1
     473             : 
     474             : #if IK5_ENABLED
     475           1 :     module procedure test_isDescending_D1_IK5
     476             :         use pm_kind, only: IKC => IK5
     477             : #include "test_pm_arraySort@routines.inc.F90"
     478           1 :     end procedure
     479             : #endif
     480             : 
     481             : #if IK4_ENABLED
     482           1 :     module procedure test_isDescending_D1_IK4
     483             :         use pm_kind, only: IKC => IK4
     484             : #include "test_pm_arraySort@routines.inc.F90"
     485           1 :     end procedure
     486             : #endif
     487             : 
     488             : #if IK3_ENABLED
     489           1 :     module procedure test_isDescending_D1_IK3
     490             :         use pm_kind, only: IKC => IK3
     491             : #include "test_pm_arraySort@routines.inc.F90"
     492           1 :     end procedure
     493             : #endif
     494             : 
     495             : #if IK2_ENABLED
     496           1 :     module procedure test_isDescending_D1_IK2
     497             :         use pm_kind, only: IKC => IK2
     498             : #include "test_pm_arraySort@routines.inc.F90"
     499           1 :     end procedure
     500             : #endif
     501             : 
     502             : #if IK1_ENABLED
     503           1 :     module procedure test_isDescending_D1_IK1
     504             :         use pm_kind, only: IKC => IK1
     505             : #include "test_pm_arraySort@routines.inc.F90"
     506           1 :     end procedure
     507             : #endif
     508             : 
     509             : #undef IK_ENABLED
     510             : 
     511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     512             : 
     513             : #define LK_ENABLED 1
     514             : 
     515             : #if LK5_ENABLED
     516           1 :     module procedure test_isDescending_D1_LK5
     517             :         use pm_kind, only: LKC => LK5
     518             : #include "test_pm_arraySort@routines.inc.F90"
     519           1 :     end procedure
     520             : #endif
     521             : 
     522             : #if LK4_ENABLED
     523           1 :     module procedure test_isDescending_D1_LK4
     524             :         use pm_kind, only: LKC => LK4
     525             : #include "test_pm_arraySort@routines.inc.F90"
     526           1 :     end procedure
     527             : #endif
     528             : 
     529             : #if LK3_ENABLED
     530           1 :     module procedure test_isDescending_D1_LK3
     531             :         use pm_kind, only: LKC => LK3
     532             : #include "test_pm_arraySort@routines.inc.F90"
     533           1 :     end procedure
     534             : #endif
     535             : 
     536             : #if LK2_ENABLED
     537           1 :     module procedure test_isDescending_D1_LK2
     538             :         use pm_kind, only: LKC => LK2
     539             : #include "test_pm_arraySort@routines.inc.F90"
     540           1 :     end procedure
     541             : #endif
     542             : 
     543             : #if LK1_ENABLED
     544           1 :     module procedure test_isDescending_D1_LK1
     545             :         use pm_kind, only: LKC => LK1
     546             : #include "test_pm_arraySort@routines.inc.F90"
     547           1 :     end procedure
     548             : #endif
     549             : 
     550             : #undef LK_ENABLED
     551             : 
     552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     553             : 
     554             : #define CK_ENABLED 1
     555             : 
     556             : #if CK5_ENABLED
     557             :     module procedure test_isDescending_D1_CK5
     558             :         use pm_kind, only: CKC => CK5
     559             : #include "test_pm_arraySort@routines.inc.F90"
     560             :     end procedure
     561             : #endif
     562             : 
     563             : #if CK4_ENABLED
     564           1 :     module procedure test_isDescending_D1_CK4
     565             :         use pm_kind, only: CKC => CK4
     566             : #include "test_pm_arraySort@routines.inc.F90"
     567           1 :     end procedure
     568             : #endif
     569             : 
     570             : #if CK3_ENABLED
     571           1 :     module procedure test_isDescending_D1_CK3
     572             :         use pm_kind, only: CKC => CK3
     573             : #include "test_pm_arraySort@routines.inc.F90"
     574           1 :     end procedure
     575             : #endif
     576             : 
     577             : #if CK2_ENABLED
     578           1 :     module procedure test_isDescending_D1_CK2
     579             :         use pm_kind, only: CKC => CK2
     580             : #include "test_pm_arraySort@routines.inc.F90"
     581           1 :     end procedure
     582             : #endif
     583             : 
     584             : #if CK1_ENABLED
     585           1 :     module procedure test_isDescending_D1_CK1
     586             :         use pm_kind, only: CKC => CK1
     587             : #include "test_pm_arraySort@routines.inc.F90"
     588           1 :     end procedure
     589             : #endif
     590             : 
     591             : #undef CK_ENABLED
     592             : 
     593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     594             : 
     595             : #define RK_ENABLED 1
     596             : 
     597             : #if RK5_ENABLED
     598             :     module procedure test_isDescending_D1_RK5
     599             :         use pm_kind, only: RKC => RK5
     600             : #include "test_pm_arraySort@routines.inc.F90"
     601             :     end procedure
     602             : #endif
     603             : 
     604             : #if RK4_ENABLED
     605           1 :     module procedure test_isDescending_D1_RK4
     606             :         use pm_kind, only: RKC => RK4
     607             : #include "test_pm_arraySort@routines.inc.F90"
     608           1 :     end procedure
     609             : #endif
     610             : 
     611             : #if RK3_ENABLED
     612           1 :     module procedure test_isDescending_D1_RK3
     613             :         use pm_kind, only: RKC => RK3
     614             : #include "test_pm_arraySort@routines.inc.F90"
     615           1 :     end procedure
     616             : #endif
     617             : 
     618             : #if RK2_ENABLED
     619           1 :     module procedure test_isDescending_D1_RK2
     620             :         use pm_kind, only: RKC => RK2
     621             : #include "test_pm_arraySort@routines.inc.F90"
     622           1 :     end procedure
     623             : #endif
     624             : 
     625             : #if RK1_ENABLED
     626           1 :     module procedure test_isDescending_D1_RK1
     627             :         use pm_kind, only: RKC => RK1
     628             : #include "test_pm_arraySort@routines.inc.F90"
     629           1 :     end procedure
     630             : #endif
     631             : 
     632             : #undef RK_ENABLED
     633             : 
     634             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     635             : 
     636             : #if PDT_ENABLED && 0
     637             : #define PSSK_ENABLED 1
     638             : 
     639             : #if SK5_ENABLED
     640             :     module procedure test_isDescending_D1_PSSK5
     641             :         use pm_kind, only: SKC => SK5
     642             :         use pm_container, only: css_pdt, operator(<=)
     643             : #include "test_pm_arraySort@routines.inc.F90"
     644             :     end procedure
     645             : #endif
     646             : 
     647             : #if SK4_ENABLED
     648             :     module procedure test_isDescending_D1_PSSK4
     649             :         use pm_kind, only: SKC => SK4
     650             : #include "test_pm_arraySort@routines.inc.F90"
     651             :     end procedure
     652             : #endif
     653             : 
     654             : #if SK3_ENABLED
     655             :     module procedure test_isDescending_D1_PSSK3
     656             :         use pm_kind, only: SKC => SK3
     657             :         use pm_container, only: css_pdt, operator(<=)
     658             : #include "test_pm_arraySort@routines.inc.F90"
     659             :     end procedure
     660             : #endif
     661             : 
     662             : #if SK2_ENABLED
     663             :     module procedure test_isDescending_D1_PSSK2
     664             :         use pm_kind, only: SKC => SK2
     665             :         use pm_container, only: css_pdt, operator(<=)
     666             : #include "test_pm_arraySort@routines.inc.F90"
     667             :     end procedure
     668             : #endif
     669             : 
     670             : #if SK1_ENABLED
     671             :     module procedure test_isDescending_D1_PSSK1
     672             :         use pm_kind, only: SKC => SK1
     673             :         use pm_container, only: css_pdt, operator(<=)
     674             : #include "test_pm_arraySort@routines.inc.F90"
     675             :     end procedure
     676             : #endif
     677             : 
     678             : #undef PSSK_ENABLED
     679             : #endif
     680             : 
     681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     682             : 
     683             : #undef D1_ENABLED
     684             : 
     685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     688             : 
     689             : #undef isDescending_ENABLED
     690             : 
     691             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     692             : 
     693             : #define isSorted_ENABLED 1
     694             : 
     695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     698             : 
     699             : #define D0_ENABLED 1
     700             : 
     701             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     702             : 
     703             : #define SK_ENABLED 1
     704             : 
     705             : #if SK5_ENABLED
     706             :     module procedure test_isSorted_D0_SK5
     707             :         use pm_kind, only: SKC => SK5
     708             : #include "test_pm_arraySort@routines.inc.F90"
     709             :     end procedure
     710             : #endif
     711             : 
     712             : #if SK4_ENABLED
     713             :     module procedure test_isSorted_D0_SK4
     714             :         use pm_kind, only: SKC => SK4
     715             : #include "test_pm_arraySort@routines.inc.F90"
     716             :     end procedure
     717             : #endif
     718             : 
     719             : #if SK3_ENABLED
     720             :     module procedure test_isSorted_D0_SK3
     721             :         use pm_kind, only: SKC => SK3
     722             : #include "test_pm_arraySort@routines.inc.F90"
     723             :     end procedure
     724             : #endif
     725             : 
     726             : #if SK2_ENABLED
     727             :     module procedure test_isSorted_D0_SK2
     728             :         use pm_kind, only: SKC => SK2
     729             : #include "test_pm_arraySort@routines.inc.F90"
     730             :     end procedure
     731             : #endif
     732             : 
     733             : #if SK1_ENABLED
     734           1 :     module procedure test_isSorted_D0_SK1
     735             :         use pm_kind, only: SKC => SK1
     736             : #include "test_pm_arraySort@routines.inc.F90"
     737           1 :     end procedure
     738             : #endif
     739             : 
     740             : #undef SK_ENABLED
     741             : 
     742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     743             : 
     744             : #undef D0_ENABLED
     745             : 
     746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     749             : 
     750             : #define D1_ENABLED 1
     751             : 
     752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     753             : 
     754             : #define SK_ENABLED 1
     755             : 
     756             : #if SK5_ENABLED
     757             :     module procedure test_isSorted_D1_SK5
     758             :         use pm_kind, only: SKC => SK5
     759             : #include "test_pm_arraySort@routines.inc.F90"
     760             :     end procedure
     761             : #endif
     762             : 
     763             : #if SK4_ENABLED
     764             :     module procedure test_isSorted_D1_SK4
     765             :         use pm_kind, only: SKC => SK4
     766             : #include "test_pm_arraySort@routines.inc.F90"
     767             :     end procedure
     768             : #endif
     769             : 
     770             : #if SK3_ENABLED
     771             :     module procedure test_isSorted_D1_SK3
     772             :         use pm_kind, only: SKC => SK3
     773             : #include "test_pm_arraySort@routines.inc.F90"
     774             :     end procedure
     775             : #endif
     776             : 
     777             : #if SK2_ENABLED
     778             :     module procedure test_isSorted_D1_SK2
     779             :         use pm_kind, only: SKC => SK2
     780             : #include "test_pm_arraySort@routines.inc.F90"
     781             :     end procedure
     782             : #endif
     783             : 
     784             : #if SK1_ENABLED
     785           1 :     module procedure test_isSorted_D1_SK1
     786             :         use pm_kind, only: SKC => SK1
     787             : #include "test_pm_arraySort@routines.inc.F90"
     788           1 :     end procedure
     789             : #endif
     790             : 
     791             : #undef SK_ENABLED
     792             : 
     793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     794             : 
     795             : #define IK_ENABLED 1
     796             : 
     797             : #if IK5_ENABLED
     798           1 :     module procedure test_isSorted_D1_IK5
     799             :         use pm_kind, only: IKC => IK5
     800             : #include "test_pm_arraySort@routines.inc.F90"
     801           1 :     end procedure
     802             : #endif
     803             : 
     804             : #if IK4_ENABLED
     805           1 :     module procedure test_isSorted_D1_IK4
     806             :         use pm_kind, only: IKC => IK4
     807             : #include "test_pm_arraySort@routines.inc.F90"
     808           1 :     end procedure
     809             : #endif
     810             : 
     811             : #if IK3_ENABLED
     812           1 :     module procedure test_isSorted_D1_IK3
     813             :         use pm_kind, only: IKC => IK3
     814             : #include "test_pm_arraySort@routines.inc.F90"
     815           1 :     end procedure
     816             : #endif
     817             : 
     818             : #if IK2_ENABLED
     819           1 :     module procedure test_isSorted_D1_IK2
     820             :         use pm_kind, only: IKC => IK2
     821             : #include "test_pm_arraySort@routines.inc.F90"
     822           1 :     end procedure
     823             : #endif
     824             : 
     825             : #if IK1_ENABLED
     826           1 :     module procedure test_isSorted_D1_IK1
     827             :         use pm_kind, only: IKC => IK1
     828             : #include "test_pm_arraySort@routines.inc.F90"
     829           1 :     end procedure
     830             : #endif
     831             : 
     832             : #undef IK_ENABLED
     833             : 
     834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     835             : 
     836             : #define LK_ENABLED 1
     837             : 
     838             : #if LK5_ENABLED
     839           1 :     module procedure test_isSorted_D1_LK5
     840             :         use pm_kind, only: LKC => LK5
     841             : #include "test_pm_arraySort@routines.inc.F90"
     842           1 :     end procedure
     843             : #endif
     844             : 
     845             : #if LK4_ENABLED
     846           1 :     module procedure test_isSorted_D1_LK4
     847             :         use pm_kind, only: LKC => LK4
     848             : #include "test_pm_arraySort@routines.inc.F90"
     849           1 :     end procedure
     850             : #endif
     851             : 
     852             : #if LK3_ENABLED
     853           1 :     module procedure test_isSorted_D1_LK3
     854             :         use pm_kind, only: LKC => LK3
     855             : #include "test_pm_arraySort@routines.inc.F90"
     856           1 :     end procedure
     857             : #endif
     858             : 
     859             : #if LK2_ENABLED
     860           1 :     module procedure test_isSorted_D1_LK2
     861             :         use pm_kind, only: LKC => LK2
     862             : #include "test_pm_arraySort@routines.inc.F90"
     863           1 :     end procedure
     864             : #endif
     865             : 
     866             : #if LK1_ENABLED
     867           1 :     module procedure test_isSorted_D1_LK1
     868             :         use pm_kind, only: LKC => LK1
     869             : #include "test_pm_arraySort@routines.inc.F90"
     870           1 :     end procedure
     871             : #endif
     872             : 
     873             : #undef LK_ENABLED
     874             : 
     875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     876             : 
     877             : #define CK_ENABLED 1
     878             : 
     879             : #if CK5_ENABLED
     880             :     module procedure test_isSorted_D1_CK5
     881             :         use pm_kind, only: CKC => CK5
     882             : #include "test_pm_arraySort@routines.inc.F90"
     883             :     end procedure
     884             : #endif
     885             : 
     886             : #if CK4_ENABLED
     887           1 :     module procedure test_isSorted_D1_CK4
     888             :         use pm_kind, only: CKC => CK4
     889             : #include "test_pm_arraySort@routines.inc.F90"
     890           1 :     end procedure
     891             : #endif
     892             : 
     893             : #if CK3_ENABLED
     894           1 :     module procedure test_isSorted_D1_CK3
     895             :         use pm_kind, only: CKC => CK3
     896             : #include "test_pm_arraySort@routines.inc.F90"
     897           1 :     end procedure
     898             : #endif
     899             : 
     900             : #if CK2_ENABLED
     901           1 :     module procedure test_isSorted_D1_CK2
     902             :         use pm_kind, only: CKC => CK2
     903             : #include "test_pm_arraySort@routines.inc.F90"
     904           1 :     end procedure
     905             : #endif
     906             : 
     907             : #if CK1_ENABLED
     908           1 :     module procedure test_isSorted_D1_CK1
     909             :         use pm_kind, only: CKC => CK1
     910             : #include "test_pm_arraySort@routines.inc.F90"
     911           1 :     end procedure
     912             : #endif
     913             : 
     914             : #undef CK_ENABLED
     915             : 
     916             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     917             : 
     918             : #define RK_ENABLED 1
     919             : 
     920             : #if RK5_ENABLED
     921             :     module procedure test_isSorted_D1_RK5
     922             :         use pm_kind, only: RKC => RK5
     923             : #include "test_pm_arraySort@routines.inc.F90"
     924             :     end procedure
     925             : #endif
     926             : 
     927             : #if RK4_ENABLED
     928           1 :     module procedure test_isSorted_D1_RK4
     929             :         use pm_kind, only: RKC => RK4
     930             : #include "test_pm_arraySort@routines.inc.F90"
     931           1 :     end procedure
     932             : #endif
     933             : 
     934             : #if RK3_ENABLED
     935           1 :     module procedure test_isSorted_D1_RK3
     936             :         use pm_kind, only: RKC => RK3
     937             : #include "test_pm_arraySort@routines.inc.F90"
     938           1 :     end procedure
     939             : #endif
     940             : 
     941             : #if RK2_ENABLED
     942           1 :     module procedure test_isSorted_D1_RK2
     943             :         use pm_kind, only: RKC => RK2
     944             : #include "test_pm_arraySort@routines.inc.F90"
     945           1 :     end procedure
     946             : #endif
     947             : 
     948             : #if RK1_ENABLED
     949           1 :     module procedure test_isSorted_D1_RK1
     950             :         use pm_kind, only: RKC => RK1
     951             : #include "test_pm_arraySort@routines.inc.F90"
     952           1 :     end procedure
     953             : #endif
     954             : 
     955             : #undef RK_ENABLED
     956             : 
     957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     958             : 
     959             : #if PDT_ENABLED && 0
     960             : #define PSSK_ENABLED 1
     961             : 
     962             : #if SK5_ENABLED
     963             :     module procedure test_isSorted_D1_PSSK5
     964             :         use pm_kind, only: SKC => SK5
     965             :         use pm_container, only: css_pdt, operator(<=)
     966             : #include "test_pm_arraySort@routines.inc.F90"
     967             :     end procedure
     968             : #endif
     969             : 
     970             : #if SK4_ENABLED
     971             :     module procedure test_isSorted_D1_PSSK4
     972             :         use pm_kind, only: SKC => SK4
     973             : #include "test_pm_arraySort@routines.inc.F90"
     974             :     end procedure
     975             : #endif
     976             : 
     977             : #if SK3_ENABLED
     978             :     module procedure test_isSorted_D1_PSSK3
     979             :         use pm_kind, only: SKC => SK3
     980             :         use pm_container, only: css_pdt, operator(<=)
     981             : #include "test_pm_arraySort@routines.inc.F90"
     982             :     end procedure
     983             : #endif
     984             : 
     985             : #if SK2_ENABLED
     986             :     module procedure test_isSorted_D1_PSSK2
     987             :         use pm_kind, only: SKC => SK2
     988             :         use pm_container, only: css_pdt, operator(<=)
     989             : #include "test_pm_arraySort@routines.inc.F90"
     990             :     end procedure
     991             : #endif
     992             : 
     993             : #if SK1_ENABLED
     994             :     module procedure test_isSorted_D1_PSSK1
     995             :         use pm_kind, only: SKC => SK1
     996             :         use pm_container, only: css_pdt, operator(<=)
     997             : #include "test_pm_arraySort@routines.inc.F90"
     998             :     end procedure
     999             : #endif
    1000             : 
    1001             : #undef PSSK_ENABLED
    1002             : #endif
    1003             : 
    1004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1005             : 
    1006             : #undef D1_ENABLED
    1007             : 
    1008             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1011             : 
    1012             : #undef isSorted_ENABLED
    1013             : 
    1014             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1015             : 
    1016             : #define setSorted_ENABLED 1
    1017             : 
    1018             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1019             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1020             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1021             : 
    1022             : #define Ind_ENABLED 1
    1023             : 
    1024             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1027             : 
    1028             : #define Def_ENABLED 1
    1029             : 
    1030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1033             : 
    1034             : #define D0_ENABLED 1
    1035             : 
    1036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1037             : 
    1038             : #define SK_ENABLED 1
    1039             : 
    1040             : #if SK5_ENABLED
    1041             :     module procedure test_setSortedIndDef_D0_SK5
    1042             :         use pm_kind, only: SKC => SK5
    1043             : #include "test_pm_arraySort@routines.inc.F90"
    1044             :     end procedure
    1045             : #endif
    1046             : 
    1047             : #if SK4_ENABLED
    1048             :     module procedure test_setSortedIndDef_D0_SK4
    1049             :         use pm_kind, only: SKC => SK4
    1050             : #include "test_pm_arraySort@routines.inc.F90"
    1051             :     end procedure
    1052             : #endif
    1053             : 
    1054             : #if SK3_ENABLED
    1055             :     module procedure test_setSortedIndDef_D0_SK3
    1056             :         use pm_kind, only: SKC => SK3
    1057             : #include "test_pm_arraySort@routines.inc.F90"
    1058             :     end procedure
    1059             : #endif
    1060             : 
    1061             : #if SK2_ENABLED
    1062             :     module procedure test_setSortedIndDef_D0_SK2
    1063             :         use pm_kind, only: SKC => SK2
    1064             : #include "test_pm_arraySort@routines.inc.F90"
    1065             :     end procedure
    1066             : #endif
    1067             : 
    1068             : #if SK1_ENABLED
    1069           1 :     module procedure test_setSortedIndDef_D0_SK1
    1070             :         use pm_kind, only: SKC => SK1
    1071             : #include "test_pm_arraySort@routines.inc.F90"
    1072             :     end procedure
    1073             : #endif
    1074             : 
    1075             : #undef SK_ENABLED
    1076             : 
    1077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1078             : 
    1079             : #undef D0_ENABLED
    1080             : 
    1081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1084             : 
    1085             : #define D1_ENABLED 1
    1086             : 
    1087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1088             : 
    1089             : #define SK_ENABLED 1
    1090             : 
    1091             : #if SK5_ENABLED
    1092             :     module procedure test_setSortedIndDef_D1_SK5
    1093             :         use pm_kind, only: SKC => SK5
    1094             : #include "test_pm_arraySort@routines.inc.F90"
    1095             :     end procedure
    1096             : #endif
    1097             : 
    1098             : #if SK4_ENABLED
    1099             :     module procedure test_setSortedIndDef_D1_SK4
    1100             :         use pm_kind, only: SKC => SK4
    1101             : #include "test_pm_arraySort@routines.inc.F90"
    1102             :     end procedure
    1103             : #endif
    1104             : 
    1105             : #if SK3_ENABLED
    1106             :     module procedure test_setSortedIndDef_D1_SK3
    1107             :         use pm_kind, only: SKC => SK3
    1108             : #include "test_pm_arraySort@routines.inc.F90"
    1109             :     end procedure
    1110             : #endif
    1111             : 
    1112             : #if SK2_ENABLED
    1113             :     module procedure test_setSortedIndDef_D1_SK2
    1114             :         use pm_kind, only: SKC => SK2
    1115             : #include "test_pm_arraySort@routines.inc.F90"
    1116             :     end procedure
    1117             : #endif
    1118             : 
    1119             : #if SK1_ENABLED
    1120           1 :     module procedure test_setSortedIndDef_D1_SK1
    1121             :         use pm_kind, only: SKC => SK1
    1122             : #include "test_pm_arraySort@routines.inc.F90"
    1123             :     end procedure
    1124             : #endif
    1125             : 
    1126             : #undef SK_ENABLED
    1127             : 
    1128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1129             : 
    1130             : #define IK_ENABLED 1
    1131             : 
    1132             : #if IK5_ENABLED
    1133           1 :     module procedure test_setSortedIndDef_D1_IK5
    1134             :         use pm_kind, only: IKC => IK5
    1135             : #include "test_pm_arraySort@routines.inc.F90"
    1136             :     end procedure
    1137             : #endif
    1138             : 
    1139             : #if IK4_ENABLED
    1140           1 :     module procedure test_setSortedIndDef_D1_IK4
    1141             :         use pm_kind, only: IKC => IK4
    1142             : #include "test_pm_arraySort@routines.inc.F90"
    1143             :     end procedure
    1144             : #endif
    1145             : 
    1146             : #if IK3_ENABLED
    1147           1 :     module procedure test_setSortedIndDef_D1_IK3
    1148             :         use pm_kind, only: IKC => IK3
    1149             : #include "test_pm_arraySort@routines.inc.F90"
    1150             :     end procedure
    1151             : #endif
    1152             : 
    1153             : #if IK2_ENABLED
    1154           1 :     module procedure test_setSortedIndDef_D1_IK2
    1155             :         use pm_kind, only: IKC => IK2
    1156             : #include "test_pm_arraySort@routines.inc.F90"
    1157             :     end procedure
    1158             : #endif
    1159             : 
    1160             : #if IK1_ENABLED
    1161           1 :     module procedure test_setSortedIndDef_D1_IK1
    1162             :         use pm_kind, only: IKC => IK1
    1163             : #include "test_pm_arraySort@routines.inc.F90"
    1164             :     end procedure
    1165             : #endif
    1166             : 
    1167             : #undef IK_ENABLED
    1168             : 
    1169             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1170             : 
    1171             : #define LK_ENABLED 1
    1172             : 
    1173             : #if LK5_ENABLED
    1174           1 :     module procedure test_setSortedIndDef_D1_LK5
    1175             :         use pm_kind, only: LKC => LK5
    1176             : #include "test_pm_arraySort@routines.inc.F90"
    1177             :     end procedure
    1178             : #endif
    1179             : 
    1180             : #if LK4_ENABLED
    1181           1 :     module procedure test_setSortedIndDef_D1_LK4
    1182             :         use pm_kind, only: LKC => LK4
    1183             : #include "test_pm_arraySort@routines.inc.F90"
    1184             :     end procedure
    1185             : #endif
    1186             : 
    1187             : #if LK3_ENABLED
    1188           1 :     module procedure test_setSortedIndDef_D1_LK3
    1189             :         use pm_kind, only: LKC => LK3
    1190             : #include "test_pm_arraySort@routines.inc.F90"
    1191             :     end procedure
    1192             : #endif
    1193             : 
    1194             : #if LK2_ENABLED
    1195           1 :     module procedure test_setSortedIndDef_D1_LK2
    1196             :         use pm_kind, only: LKC => LK2
    1197             : #include "test_pm_arraySort@routines.inc.F90"
    1198             :     end procedure
    1199             : #endif
    1200             : 
    1201             : #if LK1_ENABLED
    1202           1 :     module procedure test_setSortedIndDef_D1_LK1
    1203             :         use pm_kind, only: LKC => LK1
    1204             : #include "test_pm_arraySort@routines.inc.F90"
    1205             :     end procedure
    1206             : #endif
    1207             : 
    1208             : #undef LK_ENABLED
    1209             : 
    1210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1211             : 
    1212             : #define CK_ENABLED 1
    1213             : 
    1214             : #if CK5_ENABLED
    1215             :     module procedure test_setSortedIndDef_D1_CK5
    1216             :         use pm_kind, only: CKC => CK5
    1217             : #include "test_pm_arraySort@routines.inc.F90"
    1218             :     end procedure
    1219             : #endif
    1220             : 
    1221             : #if CK4_ENABLED
    1222           1 :     module procedure test_setSortedIndDef_D1_CK4
    1223             :         use pm_kind, only: CKC => CK4
    1224             : #include "test_pm_arraySort@routines.inc.F90"
    1225             :     end procedure
    1226             : #endif
    1227             : 
    1228             : #if CK3_ENABLED
    1229           1 :     module procedure test_setSortedIndDef_D1_CK3
    1230             :         use pm_kind, only: CKC => CK3
    1231             : #include "test_pm_arraySort@routines.inc.F90"
    1232             :     end procedure
    1233             : #endif
    1234             : 
    1235             : #if CK2_ENABLED
    1236           1 :     module procedure test_setSortedIndDef_D1_CK2
    1237             :         use pm_kind, only: CKC => CK2
    1238             : #include "test_pm_arraySort@routines.inc.F90"
    1239             :     end procedure
    1240             : #endif
    1241             : 
    1242             : #if CK1_ENABLED
    1243           1 :     module procedure test_setSortedIndDef_D1_CK1
    1244             :         use pm_kind, only: CKC => CK1
    1245             : #include "test_pm_arraySort@routines.inc.F90"
    1246             :     end procedure
    1247             : #endif
    1248             : 
    1249             : #undef CK_ENABLED
    1250             : 
    1251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1252             : 
    1253             : #define RK_ENABLED 1
    1254             : 
    1255             : #if RK5_ENABLED
    1256             :     module procedure test_setSortedIndDef_D1_RK5
    1257             :         use pm_kind, only: RKC => RK5
    1258             : #include "test_pm_arraySort@routines.inc.F90"
    1259             :     end procedure
    1260             : #endif
    1261             : 
    1262             : #if RK4_ENABLED
    1263           1 :     module procedure test_setSortedIndDef_D1_RK4
    1264             :         use pm_kind, only: RKC => RK4
    1265             : #include "test_pm_arraySort@routines.inc.F90"
    1266             :     end procedure
    1267             : #endif
    1268             : 
    1269             : #if RK3_ENABLED
    1270           1 :     module procedure test_setSortedIndDef_D1_RK3
    1271             :         use pm_kind, only: RKC => RK3
    1272             : #include "test_pm_arraySort@routines.inc.F90"
    1273             :     end procedure
    1274             : #endif
    1275             : 
    1276             : #if RK2_ENABLED
    1277           1 :     module procedure test_setSortedIndDef_D1_RK2
    1278             :         use pm_kind, only: RKC => RK2
    1279             : #include "test_pm_arraySort@routines.inc.F90"
    1280             :     end procedure
    1281             : #endif
    1282             : 
    1283             : #if RK1_ENABLED
    1284           1 :     module procedure test_setSortedIndDef_D1_RK1
    1285             :         use pm_kind, only: RKC => RK1
    1286             : #include "test_pm_arraySort@routines.inc.F90"
    1287             :     end procedure
    1288             : #endif
    1289             : 
    1290             : #undef RK_ENABLED
    1291             : 
    1292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1293             : 
    1294             : #if PDT_ENABLED && 0
    1295             : #define PSSK_ENABLED 1
    1296             : 
    1297             : #if SK5_ENABLED
    1298             :     module procedure test_setSortedIndDef_D1_PSSK5
    1299             :         use pm_kind, only: SKC => SK5
    1300             : #include "test_pm_arraySort@routines.inc.F90"
    1301             :     end procedure
    1302             : #endif
    1303             : 
    1304             : #if SK4_ENABLED
    1305             :     module procedure test_setSortedIndDef_D1_PSSK4
    1306             :         use pm_kind, only: SKC => SK4
    1307             : #include "test_pm_arraySort@routines.inc.F90"
    1308             :     end procedure
    1309             : #endif
    1310             : 
    1311             : #if SK3_ENABLED
    1312             :     module procedure test_setSortedIndDef_D1_PSSK3
    1313             :         use pm_kind, only: SKC => SK3
    1314             : #include "test_pm_arraySort@routines.inc.F90"
    1315             :     end procedure
    1316             : #endif
    1317             : 
    1318             : #if SK2_ENABLED
    1319             :     module procedure test_setSortedIndDef_D1_PSSK2
    1320             :         use pm_kind, only: SKC => SK2
    1321             : #include "test_pm_arraySort@routines.inc.F90"
    1322             :     end procedure
    1323             : #endif
    1324             : 
    1325             : #if SK1_ENABLED
    1326             :     module procedure test_setSortedIndDef_D1_PSSK1
    1327             :         use pm_kind, only: SKC => SK1
    1328             : #include "test_pm_arraySort@routines.inc.F90"
    1329             :     end procedure
    1330             : #endif
    1331             : 
    1332             : #undef PSSK_ENABLED
    1333             : #endif
    1334             : 
    1335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1336             : 
    1337             : #undef D1_ENABLED
    1338             : 
    1339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1342             : 
    1343             : #undef Def_ENABLED
    1344             : 
    1345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1348             : 
    1349             : #undef Ind_ENABLED
    1350             : 
    1351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1354             : 
    1355             : #undef setSorted_ENABLED
    1356             : 
    1357             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1358             : 
    1359             : #define setSorted_ENABLED 1
    1360             : 
    1361             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1364             : 
    1365             : #define Arr_ENABLED 1
    1366             : 
    1367             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1370             : 
    1371             : #define Qsorti_ENABLED 1
    1372             : 
    1373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1376             : 
    1377             : #define D0_ENABLED 1
    1378             : 
    1379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381             : #define SK_ENABLED 1
    1382             : 
    1383             : #if SK5_ENABLED
    1384             :     module procedure test_setSortedArrQsorti_D0_SK5
    1385             :         use pm_kind, only: SKC => SK5
    1386             : #include "test_pm_arraySort@routines.inc.F90"
    1387             :     end procedure
    1388             : #endif
    1389             : 
    1390             : #if SK4_ENABLED
    1391             :     module procedure test_setSortedArrQsorti_D0_SK4
    1392             :         use pm_kind, only: SKC => SK4
    1393             : #include "test_pm_arraySort@routines.inc.F90"
    1394             :     end procedure
    1395             : #endif
    1396             : 
    1397             : #if SK3_ENABLED
    1398             :     module procedure test_setSortedArrQsorti_D0_SK3
    1399             :         use pm_kind, only: SKC => SK3
    1400             : #include "test_pm_arraySort@routines.inc.F90"
    1401             :     end procedure
    1402             : #endif
    1403             : 
    1404             : #if SK2_ENABLED
    1405             :     module procedure test_setSortedArrQsorti_D0_SK2
    1406             :         use pm_kind, only: SKC => SK2
    1407             : #include "test_pm_arraySort@routines.inc.F90"
    1408             :     end procedure
    1409             : #endif
    1410             : 
    1411             : #if SK1_ENABLED
    1412           1 :     module procedure test_setSortedArrQsorti_D0_SK1
    1413             :         use pm_kind, only: SKC => SK1
    1414             : #include "test_pm_arraySort@routines.inc.F90"
    1415             :     end procedure
    1416             : #endif
    1417             : 
    1418             : #undef SK_ENABLED
    1419             : 
    1420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1421             : 
    1422             : #undef D0_ENABLED
    1423             : 
    1424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1427             : 
    1428             : #define D1_ENABLED 1
    1429             : 
    1430             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1431             : 
    1432             : #define SK_ENABLED 1
    1433             : 
    1434             : #if SK5_ENABLED
    1435             :     module procedure test_setSortedArrQsorti_D1_SK5
    1436             :         use pm_kind, only: SKC => SK5
    1437             : #include "test_pm_arraySort@routines.inc.F90"
    1438             :     end procedure
    1439             : #endif
    1440             : 
    1441             : #if SK4_ENABLED
    1442             :     module procedure test_setSortedArrQsorti_D1_SK4
    1443             :         use pm_kind, only: SKC => SK4
    1444             : #include "test_pm_arraySort@routines.inc.F90"
    1445             :     end procedure
    1446             : #endif
    1447             : 
    1448             : #if SK3_ENABLED
    1449             :     module procedure test_setSortedArrQsorti_D1_SK3
    1450             :         use pm_kind, only: SKC => SK3
    1451             : #include "test_pm_arraySort@routines.inc.F90"
    1452             :     end procedure
    1453             : #endif
    1454             : 
    1455             : #if SK2_ENABLED
    1456             :     module procedure test_setSortedArrQsorti_D1_SK2
    1457             :         use pm_kind, only: SKC => SK2
    1458             : #include "test_pm_arraySort@routines.inc.F90"
    1459             :     end procedure
    1460             : #endif
    1461             : 
    1462             : #if SK1_ENABLED
    1463           1 :     module procedure test_setSortedArrQsorti_D1_SK1
    1464             :         use pm_kind, only: SKC => SK1
    1465             : #include "test_pm_arraySort@routines.inc.F90"
    1466             :     end procedure
    1467             : #endif
    1468             : 
    1469             : #undef SK_ENABLED
    1470             : 
    1471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473             : #define IK_ENABLED 1
    1474             : 
    1475             : #if IK5_ENABLED
    1476           1 :     module procedure test_setSortedArrQsorti_D1_IK5
    1477             :         use pm_kind, only: IKC => IK5
    1478             : #include "test_pm_arraySort@routines.inc.F90"
    1479             :     end procedure
    1480             : #endif
    1481             : 
    1482             : #if IK4_ENABLED
    1483           1 :     module procedure test_setSortedArrQsorti_D1_IK4
    1484             :         use pm_kind, only: IKC => IK4
    1485             : #include "test_pm_arraySort@routines.inc.F90"
    1486             :     end procedure
    1487             : #endif
    1488             : 
    1489             : #if IK3_ENABLED
    1490           1 :     module procedure test_setSortedArrQsorti_D1_IK3
    1491             :         use pm_kind, only: IKC => IK3
    1492             : #include "test_pm_arraySort@routines.inc.F90"
    1493             :     end procedure
    1494             : #endif
    1495             : 
    1496             : #if IK2_ENABLED
    1497           1 :     module procedure test_setSortedArrQsorti_D1_IK2
    1498             :         use pm_kind, only: IKC => IK2
    1499             : #include "test_pm_arraySort@routines.inc.F90"
    1500             :     end procedure
    1501             : #endif
    1502             : 
    1503             : #if IK1_ENABLED
    1504           1 :     module procedure test_setSortedArrQsorti_D1_IK1
    1505             :         use pm_kind, only: IKC => IK1
    1506             : #include "test_pm_arraySort@routines.inc.F90"
    1507             :     end procedure
    1508             : #endif
    1509             : 
    1510             : #undef IK_ENABLED
    1511             : 
    1512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1513             : 
    1514             : #define LK_ENABLED 1
    1515             : 
    1516             : #if LK5_ENABLED
    1517           1 :     module procedure test_setSortedArrQsorti_D1_LK5
    1518             :         use pm_kind, only: LKC => LK5
    1519             : #include "test_pm_arraySort@routines.inc.F90"
    1520             :     end procedure
    1521             : #endif
    1522             : 
    1523             : #if LK4_ENABLED
    1524           1 :     module procedure test_setSortedArrQsorti_D1_LK4
    1525             :         use pm_kind, only: LKC => LK4
    1526             : #include "test_pm_arraySort@routines.inc.F90"
    1527             :     end procedure
    1528             : #endif
    1529             : 
    1530             : #if LK3_ENABLED
    1531           1 :     module procedure test_setSortedArrQsorti_D1_LK3
    1532             :         use pm_kind, only: LKC => LK3
    1533             : #include "test_pm_arraySort@routines.inc.F90"
    1534             :     end procedure
    1535             : #endif
    1536             : 
    1537             : #if LK2_ENABLED
    1538           1 :     module procedure test_setSortedArrQsorti_D1_LK2
    1539             :         use pm_kind, only: LKC => LK2
    1540             : #include "test_pm_arraySort@routines.inc.F90"
    1541             :     end procedure
    1542             : #endif
    1543             : 
    1544             : #if LK1_ENABLED
    1545           1 :     module procedure test_setSortedArrQsorti_D1_LK1
    1546             :         use pm_kind, only: LKC => LK1
    1547             : #include "test_pm_arraySort@routines.inc.F90"
    1548             :     end procedure
    1549             : #endif
    1550             : 
    1551             : #undef LK_ENABLED
    1552             : 
    1553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1554             : 
    1555             : #define CK_ENABLED 1
    1556             : 
    1557             : #if CK5_ENABLED
    1558             :     module procedure test_setSortedArrQsorti_D1_CK5
    1559             :         use pm_kind, only: CKC => CK5
    1560             : #include "test_pm_arraySort@routines.inc.F90"
    1561             :     end procedure
    1562             : #endif
    1563             : 
    1564             : #if CK4_ENABLED
    1565           1 :     module procedure test_setSortedArrQsorti_D1_CK4
    1566             :         use pm_kind, only: CKC => CK4
    1567             : #include "test_pm_arraySort@routines.inc.F90"
    1568             :     end procedure
    1569             : #endif
    1570             : 
    1571             : #if CK3_ENABLED
    1572           1 :     module procedure test_setSortedArrQsorti_D1_CK3
    1573             :         use pm_kind, only: CKC => CK3
    1574             : #include "test_pm_arraySort@routines.inc.F90"
    1575             :     end procedure
    1576             : #endif
    1577             : 
    1578             : #if CK2_ENABLED
    1579           1 :     module procedure test_setSortedArrQsorti_D1_CK2
    1580             :         use pm_kind, only: CKC => CK2
    1581             : #include "test_pm_arraySort@routines.inc.F90"
    1582             :     end procedure
    1583             : #endif
    1584             : 
    1585             : #if CK1_ENABLED
    1586           1 :     module procedure test_setSortedArrQsorti_D1_CK1
    1587             :         use pm_kind, only: CKC => CK1
    1588             : #include "test_pm_arraySort@routines.inc.F90"
    1589             :     end procedure
    1590             : #endif
    1591             : 
    1592             : #undef CK_ENABLED
    1593             : 
    1594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1595             : 
    1596             : #define RK_ENABLED 1
    1597             : 
    1598             : #if RK5_ENABLED
    1599             :     module procedure test_setSortedArrQsorti_D1_RK5
    1600             :         use pm_kind, only: RKC => RK5
    1601             : #include "test_pm_arraySort@routines.inc.F90"
    1602             :     end procedure
    1603             : #endif
    1604             : 
    1605             : #if RK4_ENABLED
    1606           1 :     module procedure test_setSortedArrQsorti_D1_RK4
    1607             :         use pm_kind, only: RKC => RK4
    1608             : #include "test_pm_arraySort@routines.inc.F90"
    1609             :     end procedure
    1610             : #endif
    1611             : 
    1612             : #if RK3_ENABLED
    1613           1 :     module procedure test_setSortedArrQsorti_D1_RK3
    1614             :         use pm_kind, only: RKC => RK3
    1615             : #include "test_pm_arraySort@routines.inc.F90"
    1616             :     end procedure
    1617             : #endif
    1618             : 
    1619             : #if RK2_ENABLED
    1620           1 :     module procedure test_setSortedArrQsorti_D1_RK2
    1621             :         use pm_kind, only: RKC => RK2
    1622             : #include "test_pm_arraySort@routines.inc.F90"
    1623             :     end procedure
    1624             : #endif
    1625             : 
    1626             : #if RK1_ENABLED
    1627           1 :     module procedure test_setSortedArrQsorti_D1_RK1
    1628             :         use pm_kind, only: RKC => RK1
    1629             : #include "test_pm_arraySort@routines.inc.F90"
    1630             :     end procedure
    1631             : #endif
    1632             : 
    1633             : #undef RK_ENABLED
    1634             : 
    1635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1636             : 
    1637             : #if PDT_ENABLED && 0
    1638             : #define PSSK_ENABLED 1
    1639             : 
    1640             : #if SK5_ENABLED
    1641             :     module procedure test_setSortedArrQsorti_D1_PSSK5
    1642             :         use pm_kind, only: SKC => SK5
    1643             : #include "test_pm_arraySort@routines.inc.F90"
    1644             :     end procedure
    1645             : #endif
    1646             : 
    1647             : #if SK4_ENABLED
    1648             :     module procedure test_setSortedArrQsorti_D1_PSSK4
    1649             :         use pm_kind, only: SKC => SK4
    1650             : #include "test_pm_arraySort@routines.inc.F90"
    1651             :     end procedure
    1652             : #endif
    1653             : 
    1654             : #if SK3_ENABLED
    1655             :     module procedure test_setSortedArrQsorti_D1_PSSK3
    1656             :         use pm_kind, only: SKC => SK3
    1657             : #include "test_pm_arraySort@routines.inc.F90"
    1658             :     end procedure
    1659             : #endif
    1660             : 
    1661             : #if SK2_ENABLED
    1662             :     module procedure test_setSortedArrQsorti_D1_PSSK2
    1663             :         use pm_kind, only: SKC => SK2
    1664             : #include "test_pm_arraySort@routines.inc.F90"
    1665             :     end procedure
    1666             : #endif
    1667             : 
    1668             : #if SK1_ENABLED
    1669             :     module procedure test_setSortedArrQsorti_D1_PSSK1
    1670             :         use pm_kind, only: SKC => SK1
    1671             : #include "test_pm_arraySort@routines.inc.F90"
    1672             :     end procedure
    1673             : #endif
    1674             : 
    1675             : #undef PSSK_ENABLED
    1676             : #endif
    1677             : 
    1678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1679             : 
    1680             : #undef D1_ENABLED
    1681             : 
    1682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1685             : 
    1686             : #undef Qsorti_ENABLED
    1687             : 
    1688             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1691             : 
    1692             : #undef Arr_ENABLED
    1693             : 
    1694             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1697             : 
    1698             : #undef setSorted_ENABLED
    1699             : 
    1700             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1701             : 
    1702             : #define setSorted_ENABLED 1
    1703             : 
    1704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1707             : 
    1708             : #define Arr_ENABLED 1
    1709             : 
    1710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1713             : 
    1714             : #define Qsortr_ENABLED 1
    1715             : 
    1716             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1719             : 
    1720             : #define D0_ENABLED 1
    1721             : 
    1722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1723             : 
    1724             : #define SK_ENABLED 1
    1725             : 
    1726             : #if SK5_ENABLED
    1727             :     module procedure test_setSortedArrQsortr_D0_SK5
    1728             :         use pm_kind, only: SKC => SK5
    1729             : #include "test_pm_arraySort@routines.inc.F90"
    1730             :     end procedure
    1731             : #endif
    1732             : 
    1733             : #if SK4_ENABLED
    1734             :     module procedure test_setSortedArrQsortr_D0_SK4
    1735             :         use pm_kind, only: SKC => SK4
    1736             : #include "test_pm_arraySort@routines.inc.F90"
    1737             :     end procedure
    1738             : #endif
    1739             : 
    1740             : #if SK3_ENABLED
    1741             :     module procedure test_setSortedArrQsortr_D0_SK3
    1742             :         use pm_kind, only: SKC => SK3
    1743             : #include "test_pm_arraySort@routines.inc.F90"
    1744             :     end procedure
    1745             : #endif
    1746             : 
    1747             : #if SK2_ENABLED
    1748             :     module procedure test_setSortedArrQsortr_D0_SK2
    1749             :         use pm_kind, only: SKC => SK2
    1750             : #include "test_pm_arraySort@routines.inc.F90"
    1751             :     end procedure
    1752             : #endif
    1753             : 
    1754             : #if SK1_ENABLED
    1755           1 :     module procedure test_setSortedArrQsortr_D0_SK1
    1756             :         use pm_kind, only: SKC => SK1
    1757             : #include "test_pm_arraySort@routines.inc.F90"
    1758             :     end procedure
    1759             : #endif
    1760             : 
    1761             : #undef SK_ENABLED
    1762             : 
    1763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1764             : 
    1765             : #undef D0_ENABLED
    1766             : 
    1767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1770             : 
    1771             : #define D1_ENABLED 1
    1772             : 
    1773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1774             : 
    1775             : #define SK_ENABLED 1
    1776             : 
    1777             : #if SK5_ENABLED
    1778             :     module procedure test_setSortedArrQsortr_D1_SK5
    1779             :         use pm_kind, only: SKC => SK5
    1780             : #include "test_pm_arraySort@routines.inc.F90"
    1781             :     end procedure
    1782             : #endif
    1783             : 
    1784             : #if SK4_ENABLED
    1785             :     module procedure test_setSortedArrQsortr_D1_SK4
    1786             :         use pm_kind, only: SKC => SK4
    1787             : #include "test_pm_arraySort@routines.inc.F90"
    1788             :     end procedure
    1789             : #endif
    1790             : 
    1791             : #if SK3_ENABLED
    1792             :     module procedure test_setSortedArrQsortr_D1_SK3
    1793             :         use pm_kind, only: SKC => SK3
    1794             : #include "test_pm_arraySort@routines.inc.F90"
    1795             :     end procedure
    1796             : #endif
    1797             : 
    1798             : #if SK2_ENABLED
    1799             :     module procedure test_setSortedArrQsortr_D1_SK2
    1800             :         use pm_kind, only: SKC => SK2
    1801             : #include "test_pm_arraySort@routines.inc.F90"
    1802             :     end procedure
    1803             : #endif
    1804             : 
    1805             : #if SK1_ENABLED
    1806           1 :     module procedure test_setSortedArrQsortr_D1_SK1
    1807             :         use pm_kind, only: SKC => SK1
    1808             : #include "test_pm_arraySort@routines.inc.F90"
    1809             :     end procedure
    1810             : #endif
    1811             : 
    1812             : #undef SK_ENABLED
    1813             : 
    1814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1815             : 
    1816             : #define IK_ENABLED 1
    1817             : 
    1818             : #if IK5_ENABLED
    1819           1 :     module procedure test_setSortedArrQsortr_D1_IK5
    1820             :         use pm_kind, only: IKC => IK5
    1821             : #include "test_pm_arraySort@routines.inc.F90"
    1822             :     end procedure
    1823             : #endif
    1824             : 
    1825             : #if IK4_ENABLED
    1826           1 :     module procedure test_setSortedArrQsortr_D1_IK4
    1827             :         use pm_kind, only: IKC => IK4
    1828             : #include "test_pm_arraySort@routines.inc.F90"
    1829             :     end procedure
    1830             : #endif
    1831             : 
    1832             : #if IK3_ENABLED
    1833           1 :     module procedure test_setSortedArrQsortr_D1_IK3
    1834             :         use pm_kind, only: IKC => IK3
    1835             : #include "test_pm_arraySort@routines.inc.F90"
    1836             :     end procedure
    1837             : #endif
    1838             : 
    1839             : #if IK2_ENABLED
    1840           1 :     module procedure test_setSortedArrQsortr_D1_IK2
    1841             :         use pm_kind, only: IKC => IK2
    1842             : #include "test_pm_arraySort@routines.inc.F90"
    1843             :     end procedure
    1844             : #endif
    1845             : 
    1846             : #if IK1_ENABLED
    1847           1 :     module procedure test_setSortedArrQsortr_D1_IK1
    1848             :         use pm_kind, only: IKC => IK1
    1849             : #include "test_pm_arraySort@routines.inc.F90"
    1850             :     end procedure
    1851             : #endif
    1852             : 
    1853             : #undef IK_ENABLED
    1854             : 
    1855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1856             : 
    1857             : #define LK_ENABLED 1
    1858             : 
    1859             : #if LK5_ENABLED
    1860           1 :     module procedure test_setSortedArrQsortr_D1_LK5
    1861             :         use pm_kind, only: LKC => LK5
    1862             : #include "test_pm_arraySort@routines.inc.F90"
    1863             :     end procedure
    1864             : #endif
    1865             : 
    1866             : #if LK4_ENABLED
    1867           1 :     module procedure test_setSortedArrQsortr_D1_LK4
    1868             :         use pm_kind, only: LKC => LK4
    1869             : #include "test_pm_arraySort@routines.inc.F90"
    1870             :     end procedure
    1871             : #endif
    1872             : 
    1873             : #if LK3_ENABLED
    1874           1 :     module procedure test_setSortedArrQsortr_D1_LK3
    1875             :         use pm_kind, only: LKC => LK3
    1876             : #include "test_pm_arraySort@routines.inc.F90"
    1877             :     end procedure
    1878             : #endif
    1879             : 
    1880             : #if LK2_ENABLED
    1881           1 :     module procedure test_setSortedArrQsortr_D1_LK2
    1882             :         use pm_kind, only: LKC => LK2
    1883             : #include "test_pm_arraySort@routines.inc.F90"
    1884             :     end procedure
    1885             : #endif
    1886             : 
    1887             : #if LK1_ENABLED
    1888           1 :     module procedure test_setSortedArrQsortr_D1_LK1
    1889             :         use pm_kind, only: LKC => LK1
    1890             : #include "test_pm_arraySort@routines.inc.F90"
    1891             :     end procedure
    1892             : #endif
    1893             : 
    1894             : #undef LK_ENABLED
    1895             : 
    1896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1897             : 
    1898             : #define CK_ENABLED 1
    1899             : 
    1900             : #if CK5_ENABLED
    1901             :     module procedure test_setSortedArrQsortr_D1_CK5
    1902             :         use pm_kind, only: CKC => CK5
    1903             : #include "test_pm_arraySort@routines.inc.F90"
    1904             :     end procedure
    1905             : #endif
    1906             : 
    1907             : #if CK4_ENABLED
    1908           1 :     module procedure test_setSortedArrQsortr_D1_CK4
    1909             :         use pm_kind, only: CKC => CK4
    1910             : #include "test_pm_arraySort@routines.inc.F90"
    1911             :     end procedure
    1912             : #endif
    1913             : 
    1914             : #if CK3_ENABLED
    1915           1 :     module procedure test_setSortedArrQsortr_D1_CK3
    1916             :         use pm_kind, only: CKC => CK3
    1917             : #include "test_pm_arraySort@routines.inc.F90"
    1918             :     end procedure
    1919             : #endif
    1920             : 
    1921             : #if CK2_ENABLED
    1922           1 :     module procedure test_setSortedArrQsortr_D1_CK2
    1923             :         use pm_kind, only: CKC => CK2
    1924             : #include "test_pm_arraySort@routines.inc.F90"
    1925             :     end procedure
    1926             : #endif
    1927             : 
    1928             : #if CK1_ENABLED
    1929           1 :     module procedure test_setSortedArrQsortr_D1_CK1
    1930             :         use pm_kind, only: CKC => CK1
    1931             : #include "test_pm_arraySort@routines.inc.F90"
    1932             :     end procedure
    1933             : #endif
    1934             : 
    1935             : #undef CK_ENABLED
    1936             : 
    1937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1938             : 
    1939             : #define RK_ENABLED 1
    1940             : 
    1941             : #if RK5_ENABLED
    1942             :     module procedure test_setSortedArrQsortr_D1_RK5
    1943             :         use pm_kind, only: RKC => RK5
    1944             : #include "test_pm_arraySort@routines.inc.F90"
    1945             :     end procedure
    1946             : #endif
    1947             : 
    1948             : #if RK4_ENABLED
    1949           1 :     module procedure test_setSortedArrQsortr_D1_RK4
    1950             :         use pm_kind, only: RKC => RK4
    1951             : #include "test_pm_arraySort@routines.inc.F90"
    1952             :     end procedure
    1953             : #endif
    1954             : 
    1955             : #if RK3_ENABLED
    1956           1 :     module procedure test_setSortedArrQsortr_D1_RK3
    1957             :         use pm_kind, only: RKC => RK3
    1958             : #include "test_pm_arraySort@routines.inc.F90"
    1959             :     end procedure
    1960             : #endif
    1961             : 
    1962             : #if RK2_ENABLED
    1963           1 :     module procedure test_setSortedArrQsortr_D1_RK2
    1964             :         use pm_kind, only: RKC => RK2
    1965             : #include "test_pm_arraySort@routines.inc.F90"
    1966             :     end procedure
    1967             : #endif
    1968             : 
    1969             : #if RK1_ENABLED
    1970           1 :     module procedure test_setSortedArrQsortr_D1_RK1
    1971             :         use pm_kind, only: RKC => RK1
    1972             : #include "test_pm_arraySort@routines.inc.F90"
    1973             :     end procedure
    1974             : #endif
    1975             : 
    1976             : #undef RK_ENABLED
    1977             : 
    1978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1979             : 
    1980             : #if PDT_ENABLED && 0
    1981             : #define PSSK_ENABLED 1
    1982             : 
    1983             : #if SK5_ENABLED
    1984             :     module procedure test_setSortedArrQsortr_D1_PSSK5
    1985             :         use pm_kind, only: SKC => SK5
    1986             : #include "test_pm_arraySort@routines.inc.F90"
    1987             :     end procedure
    1988             : #endif
    1989             : 
    1990             : #if SK4_ENABLED
    1991             :     module procedure test_setSortedArrQsortr_D1_PSSK4
    1992             :         use pm_kind, only: SKC => SK4
    1993             : #include "test_pm_arraySort@routines.inc.F90"
    1994             :     end procedure
    1995             : #endif
    1996             : 
    1997             : #if SK3_ENABLED
    1998             :     module procedure test_setSortedArrQsortr_D1_PSSK3
    1999             :         use pm_kind, only: SKC => SK3
    2000             : #include "test_pm_arraySort@routines.inc.F90"
    2001             :     end procedure
    2002             : #endif
    2003             : 
    2004             : #if SK2_ENABLED
    2005             :     module procedure test_setSortedArrQsortr_D1_PSSK2
    2006             :         use pm_kind, only: SKC => SK2
    2007             : #include "test_pm_arraySort@routines.inc.F90"
    2008             :     end procedure
    2009             : #endif
    2010             : 
    2011             : #if SK1_ENABLED
    2012             :     module procedure test_setSortedArrQsortr_D1_PSSK1
    2013             :         use pm_kind, only: SKC => SK1
    2014             : #include "test_pm_arraySort@routines.inc.F90"
    2015             :     end procedure
    2016             : #endif
    2017             : 
    2018             : #undef PSSK_ENABLED
    2019             : #endif
    2020             : 
    2021             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2022             : 
    2023             : #undef D1_ENABLED
    2024             : 
    2025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2028             : 
    2029             : #undef Qsortr_ENABLED
    2030             : 
    2031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2034             : 
    2035             : #undef Arr_ENABLED
    2036             : 
    2037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2038             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2040             : 
    2041             : #undef setSorted_ENABLED
    2042             : 
    2043             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2044             : 
    2045             : #define setSorted_ENABLED 1
    2046             : 
    2047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2050             : 
    2051             : #define Arr_ENABLED 1
    2052             : 
    2053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2056             : 
    2057             : #define Qsortrdp_ENABLED 1
    2058             : 
    2059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2062             : 
    2063             : #define D0_ENABLED 1
    2064             : 
    2065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2066             : 
    2067             : #define SK_ENABLED 1
    2068             : 
    2069             : #if SK5_ENABLED
    2070             :     module procedure test_setSortedArrQsortrdp_D0_SK5
    2071             :         use pm_kind, only: SKC => SK5
    2072             : #include "test_pm_arraySort@routines.inc.F90"
    2073             :     end procedure
    2074             : #endif
    2075             : 
    2076             : #if SK4_ENABLED
    2077             :     module procedure test_setSortedArrQsortrdp_D0_SK4
    2078             :         use pm_kind, only: SKC => SK4
    2079             : #include "test_pm_arraySort@routines.inc.F90"
    2080             :     end procedure
    2081             : #endif
    2082             : 
    2083             : #if SK3_ENABLED
    2084             :     module procedure test_setSortedArrQsortrdp_D0_SK3
    2085             :         use pm_kind, only: SKC => SK3
    2086             : #include "test_pm_arraySort@routines.inc.F90"
    2087             :     end procedure
    2088             : #endif
    2089             : 
    2090             : #if SK2_ENABLED
    2091             :     module procedure test_setSortedArrQsortrdp_D0_SK2
    2092             :         use pm_kind, only: SKC => SK2
    2093             : #include "test_pm_arraySort@routines.inc.F90"
    2094             :     end procedure
    2095             : #endif
    2096             : 
    2097             : #if SK1_ENABLED
    2098           1 :     module procedure test_setSortedArrQsortrdp_D0_SK1
    2099             :         use pm_kind, only: SKC => SK1
    2100             : #include "test_pm_arraySort@routines.inc.F90"
    2101             :     end procedure
    2102             : #endif
    2103             : 
    2104             : #undef SK_ENABLED
    2105             : 
    2106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2107             : 
    2108             : #undef D0_ENABLED
    2109             : 
    2110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2113             : 
    2114             : #define D1_ENABLED 1
    2115             : 
    2116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2117             : 
    2118             : #define SK_ENABLED 1
    2119             : 
    2120             : #if SK5_ENABLED
    2121             :     module procedure test_setSortedArrQsortrdp_D1_SK5
    2122             :         use pm_kind, only: SKC => SK5
    2123             : #include "test_pm_arraySort@routines.inc.F90"
    2124             :     end procedure
    2125             : #endif
    2126             : 
    2127             : #if SK4_ENABLED
    2128             :     module procedure test_setSortedArrQsortrdp_D1_SK4
    2129             :         use pm_kind, only: SKC => SK4
    2130             : #include "test_pm_arraySort@routines.inc.F90"
    2131             :     end procedure
    2132             : #endif
    2133             : 
    2134             : #if SK3_ENABLED
    2135             :     module procedure test_setSortedArrQsortrdp_D1_SK3
    2136             :         use pm_kind, only: SKC => SK3
    2137             : #include "test_pm_arraySort@routines.inc.F90"
    2138             :     end procedure
    2139             : #endif
    2140             : 
    2141             : #if SK2_ENABLED
    2142             :     module procedure test_setSortedArrQsortrdp_D1_SK2
    2143             :         use pm_kind, only: SKC => SK2
    2144             : #include "test_pm_arraySort@routines.inc.F90"
    2145             :     end procedure
    2146             : #endif
    2147             : 
    2148             : #if SK1_ENABLED
    2149           1 :     module procedure test_setSortedArrQsortrdp_D1_SK1
    2150             :         use pm_kind, only: SKC => SK1
    2151             : #include "test_pm_arraySort@routines.inc.F90"
    2152             :     end procedure
    2153             : #endif
    2154             : 
    2155             : #undef SK_ENABLED
    2156             : 
    2157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2158             : 
    2159             : #define IK_ENABLED 1
    2160             : 
    2161             : #if IK5_ENABLED
    2162           1 :     module procedure test_setSortedArrQsortrdp_D1_IK5
    2163             :         use pm_kind, only: IKC => IK5
    2164             : #include "test_pm_arraySort@routines.inc.F90"
    2165             :     end procedure
    2166             : #endif
    2167             : 
    2168             : #if IK4_ENABLED
    2169           1 :     module procedure test_setSortedArrQsortrdp_D1_IK4
    2170             :         use pm_kind, only: IKC => IK4
    2171             : #include "test_pm_arraySort@routines.inc.F90"
    2172             :     end procedure
    2173             : #endif
    2174             : 
    2175             : #if IK3_ENABLED
    2176           1 :     module procedure test_setSortedArrQsortrdp_D1_IK3
    2177             :         use pm_kind, only: IKC => IK3
    2178             : #include "test_pm_arraySort@routines.inc.F90"
    2179             :     end procedure
    2180             : #endif
    2181             : 
    2182             : #if IK2_ENABLED
    2183           1 :     module procedure test_setSortedArrQsortrdp_D1_IK2
    2184             :         use pm_kind, only: IKC => IK2
    2185             : #include "test_pm_arraySort@routines.inc.F90"
    2186             :     end procedure
    2187             : #endif
    2188             : 
    2189             : #if IK1_ENABLED
    2190           1 :     module procedure test_setSortedArrQsortrdp_D1_IK1
    2191             :         use pm_kind, only: IKC => IK1
    2192             : #include "test_pm_arraySort@routines.inc.F90"
    2193             :     end procedure
    2194             : #endif
    2195             : 
    2196             : #undef IK_ENABLED
    2197             : 
    2198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2199             : 
    2200             : #define LK_ENABLED 1
    2201             : 
    2202             : #if LK5_ENABLED
    2203           1 :     module procedure test_setSortedArrQsortrdp_D1_LK5
    2204             :         use pm_kind, only: LKC => LK5
    2205             : #include "test_pm_arraySort@routines.inc.F90"
    2206             :     end procedure
    2207             : #endif
    2208             : 
    2209             : #if LK4_ENABLED
    2210           1 :     module procedure test_setSortedArrQsortrdp_D1_LK4
    2211             :         use pm_kind, only: LKC => LK4
    2212             : #include "test_pm_arraySort@routines.inc.F90"
    2213             :     end procedure
    2214             : #endif
    2215             : 
    2216             : #if LK3_ENABLED
    2217           1 :     module procedure test_setSortedArrQsortrdp_D1_LK3
    2218             :         use pm_kind, only: LKC => LK3
    2219             : #include "test_pm_arraySort@routines.inc.F90"
    2220             :     end procedure
    2221             : #endif
    2222             : 
    2223             : #if LK2_ENABLED
    2224           1 :     module procedure test_setSortedArrQsortrdp_D1_LK2
    2225             :         use pm_kind, only: LKC => LK2
    2226             : #include "test_pm_arraySort@routines.inc.F90"
    2227             :     end procedure
    2228             : #endif
    2229             : 
    2230             : #if LK1_ENABLED
    2231           1 :     module procedure test_setSortedArrQsortrdp_D1_LK1
    2232             :         use pm_kind, only: LKC => LK1
    2233             : #include "test_pm_arraySort@routines.inc.F90"
    2234             :     end procedure
    2235             : #endif
    2236             : 
    2237             : #undef LK_ENABLED
    2238             : 
    2239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2240             : 
    2241             : #define CK_ENABLED 1
    2242             : 
    2243             : #if CK5_ENABLED
    2244             :     module procedure test_setSortedArrQsortrdp_D1_CK5
    2245             :         use pm_kind, only: CKC => CK5
    2246             : #include "test_pm_arraySort@routines.inc.F90"
    2247             :     end procedure
    2248             : #endif
    2249             : 
    2250             : #if CK4_ENABLED
    2251           1 :     module procedure test_setSortedArrQsortrdp_D1_CK4
    2252             :         use pm_kind, only: CKC => CK4
    2253             : #include "test_pm_arraySort@routines.inc.F90"
    2254             :     end procedure
    2255             : #endif
    2256             : 
    2257             : #if CK3_ENABLED
    2258           1 :     module procedure test_setSortedArrQsortrdp_D1_CK3
    2259             :         use pm_kind, only: CKC => CK3
    2260             : #include "test_pm_arraySort@routines.inc.F90"
    2261             :     end procedure
    2262             : #endif
    2263             : 
    2264             : #if CK2_ENABLED
    2265           1 :     module procedure test_setSortedArrQsortrdp_D1_CK2
    2266             :         use pm_kind, only: CKC => CK2
    2267             : #include "test_pm_arraySort@routines.inc.F90"
    2268             :     end procedure
    2269             : #endif
    2270             : 
    2271             : #if CK1_ENABLED
    2272           1 :     module procedure test_setSortedArrQsortrdp_D1_CK1
    2273             :         use pm_kind, only: CKC => CK1
    2274             : #include "test_pm_arraySort@routines.inc.F90"
    2275             :     end procedure
    2276             : #endif
    2277             : 
    2278             : #undef CK_ENABLED
    2279             : 
    2280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2281             : 
    2282             : #define RK_ENABLED 1
    2283             : 
    2284             : #if RK5_ENABLED
    2285             :     module procedure test_setSortedArrQsortrdp_D1_RK5
    2286             :         use pm_kind, only: RKC => RK5
    2287             : #include "test_pm_arraySort@routines.inc.F90"
    2288             :     end procedure
    2289             : #endif
    2290             : 
    2291             : #if RK4_ENABLED
    2292           1 :     module procedure test_setSortedArrQsortrdp_D1_RK4
    2293             :         use pm_kind, only: RKC => RK4
    2294             : #include "test_pm_arraySort@routines.inc.F90"
    2295             :     end procedure
    2296             : #endif
    2297             : 
    2298             : #if RK3_ENABLED
    2299           1 :     module procedure test_setSortedArrQsortrdp_D1_RK3
    2300             :         use pm_kind, only: RKC => RK3
    2301             : #include "test_pm_arraySort@routines.inc.F90"
    2302             :     end procedure
    2303             : #endif
    2304             : 
    2305             : #if RK2_ENABLED
    2306           1 :     module procedure test_setSortedArrQsortrdp_D1_RK2
    2307             :         use pm_kind, only: RKC => RK2
    2308             : #include "test_pm_arraySort@routines.inc.F90"
    2309             :     end procedure
    2310             : #endif
    2311             : 
    2312             : #if RK1_ENABLED
    2313           1 :     module procedure test_setSortedArrQsortrdp_D1_RK1
    2314             :         use pm_kind, only: RKC => RK1
    2315             : #include "test_pm_arraySort@routines.inc.F90"
    2316             :     end procedure
    2317             : #endif
    2318             : 
    2319             : #undef RK_ENABLED
    2320             : 
    2321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2322             : 
    2323             : #if PDT_ENABLED && 0
    2324             : #define PSSK_ENABLED 1
    2325             : 
    2326             : #if SK5_ENABLED
    2327             :     module procedure test_setSortedArrQsortrdp_D1_PSSK5
    2328             :         use pm_kind, only: SKC => SK5
    2329             : #include "test_pm_arraySort@routines.inc.F90"
    2330             :     end procedure
    2331             : #endif
    2332             : 
    2333             : #if SK4_ENABLED
    2334             :     module procedure test_setSortedArrQsortrdp_D1_PSSK4
    2335             :         use pm_kind, only: SKC => SK4
    2336             : #include "test_pm_arraySort@routines.inc.F90"
    2337             :     end procedure
    2338             : #endif
    2339             : 
    2340             : #if SK3_ENABLED
    2341             :     module procedure test_setSortedArrQsortrdp_D1_PSSK3
    2342             :         use pm_kind, only: SKC => SK3
    2343             : #include "test_pm_arraySort@routines.inc.F90"
    2344             :     end procedure
    2345             : #endif
    2346             : 
    2347             : #if SK2_ENABLED
    2348             :     module procedure test_setSortedArrQsortrdp_D1_PSSK2
    2349             :         use pm_kind, only: SKC => SK2
    2350             : #include "test_pm_arraySort@routines.inc.F90"
    2351             :     end procedure
    2352             : #endif
    2353             : 
    2354             : #if SK1_ENABLED
    2355             :     module procedure test_setSortedArrQsortrdp_D1_PSSK1
    2356             :         use pm_kind, only: SKC => SK1
    2357             : #include "test_pm_arraySort@routines.inc.F90"
    2358             :     end procedure
    2359             : #endif
    2360             : 
    2361             : #undef PSSK_ENABLED
    2362             : #endif
    2363             : 
    2364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2365             : 
    2366             : #undef D1_ENABLED
    2367             : 
    2368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2371             : 
    2372             : #undef Qsortrdp_ENABLED
    2373             : 
    2374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2377             : 
    2378             : #undef Arr_ENABLED
    2379             : 
    2380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2383             : 
    2384             : #undef setSorted_ENABLED
    2385             : 
    2386             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2387             : 
    2388             : #define setSorted_ENABLED 1
    2389             : 
    2390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2393             : 
    2394             : #define Arr_ENABLED 1
    2395             : 
    2396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2399             : 
    2400             : #define Bubble_ENABLED 1
    2401             : 
    2402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2405             : 
    2406             : #define D0_ENABLED 1
    2407             : 
    2408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2409             : 
    2410             : #define SK_ENABLED 1
    2411             : 
    2412             : #if SK5_ENABLED
    2413             :     module procedure test_setSortedArrBubble_D0_SK5
    2414             :         use pm_kind, only: SKC => SK5
    2415             : #include "test_pm_arraySort@routines.inc.F90"
    2416             :     end procedure
    2417             : #endif
    2418             : 
    2419             : #if SK4_ENABLED
    2420             :     module procedure test_setSortedArrBubble_D0_SK4
    2421             :         use pm_kind, only: SKC => SK4
    2422             : #include "test_pm_arraySort@routines.inc.F90"
    2423             :     end procedure
    2424             : #endif
    2425             : 
    2426             : #if SK3_ENABLED
    2427             :     module procedure test_setSortedArrBubble_D0_SK3
    2428             :         use pm_kind, only: SKC => SK3
    2429             : #include "test_pm_arraySort@routines.inc.F90"
    2430             :     end procedure
    2431             : #endif
    2432             : 
    2433             : #if SK2_ENABLED
    2434             :     module procedure test_setSortedArrBubble_D0_SK2
    2435             :         use pm_kind, only: SKC => SK2
    2436             : #include "test_pm_arraySort@routines.inc.F90"
    2437             :     end procedure
    2438             : #endif
    2439             : 
    2440             : #if SK1_ENABLED
    2441           1 :     module procedure test_setSortedArrBubble_D0_SK1
    2442             :         use pm_kind, only: SKC => SK1
    2443             : #include "test_pm_arraySort@routines.inc.F90"
    2444             :     end procedure
    2445             : #endif
    2446             : 
    2447             : #undef SK_ENABLED
    2448             : 
    2449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2450             : 
    2451             : #undef D0_ENABLED
    2452             : 
    2453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2456             : 
    2457             : #define D1_ENABLED 1
    2458             : 
    2459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2460             : 
    2461             : #define SK_ENABLED 1
    2462             : 
    2463             : #if SK5_ENABLED
    2464             :     module procedure test_setSortedArrBubble_D1_SK5
    2465             :         use pm_kind, only: SKC => SK5
    2466             : #include "test_pm_arraySort@routines.inc.F90"
    2467             :     end procedure
    2468             : #endif
    2469             : 
    2470             : #if SK4_ENABLED
    2471             :     module procedure test_setSortedArrBubble_D1_SK4
    2472             :         use pm_kind, only: SKC => SK4
    2473             : #include "test_pm_arraySort@routines.inc.F90"
    2474             :     end procedure
    2475             : #endif
    2476             : 
    2477             : #if SK3_ENABLED
    2478             :     module procedure test_setSortedArrBubble_D1_SK3
    2479             :         use pm_kind, only: SKC => SK3
    2480             : #include "test_pm_arraySort@routines.inc.F90"
    2481             :     end procedure
    2482             : #endif
    2483             : 
    2484             : #if SK2_ENABLED
    2485             :     module procedure test_setSortedArrBubble_D1_SK2
    2486             :         use pm_kind, only: SKC => SK2
    2487             : #include "test_pm_arraySort@routines.inc.F90"
    2488             :     end procedure
    2489             : #endif
    2490             : 
    2491             : #if SK1_ENABLED
    2492           1 :     module procedure test_setSortedArrBubble_D1_SK1
    2493             :         use pm_kind, only: SKC => SK1
    2494             : #include "test_pm_arraySort@routines.inc.F90"
    2495             :     end procedure
    2496             : #endif
    2497             : 
    2498             : #undef SK_ENABLED
    2499             : 
    2500             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2501             : 
    2502             : #define IK_ENABLED 1
    2503             : 
    2504             : #if IK5_ENABLED
    2505           1 :     module procedure test_setSortedArrBubble_D1_IK5
    2506             :         use pm_kind, only: IKC => IK5
    2507             : #include "test_pm_arraySort@routines.inc.F90"
    2508             :     end procedure
    2509             : #endif
    2510             : 
    2511             : #if IK4_ENABLED
    2512           1 :     module procedure test_setSortedArrBubble_D1_IK4
    2513             :         use pm_kind, only: IKC => IK4
    2514             : #include "test_pm_arraySort@routines.inc.F90"
    2515             :     end procedure
    2516             : #endif
    2517             : 
    2518             : #if IK3_ENABLED
    2519           1 :     module procedure test_setSortedArrBubble_D1_IK3
    2520             :         use pm_kind, only: IKC => IK3
    2521             : #include "test_pm_arraySort@routines.inc.F90"
    2522             :     end procedure
    2523             : #endif
    2524             : 
    2525             : #if IK2_ENABLED
    2526           1 :     module procedure test_setSortedArrBubble_D1_IK2
    2527             :         use pm_kind, only: IKC => IK2
    2528             : #include "test_pm_arraySort@routines.inc.F90"
    2529             :     end procedure
    2530             : #endif
    2531             : 
    2532             : #if IK1_ENABLED
    2533           1 :     module procedure test_setSortedArrBubble_D1_IK1
    2534             :         use pm_kind, only: IKC => IK1
    2535             : #include "test_pm_arraySort@routines.inc.F90"
    2536             :     end procedure
    2537             : #endif
    2538             : 
    2539             : #undef IK_ENABLED
    2540             : 
    2541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2542             : 
    2543             : #define LK_ENABLED 1
    2544             : 
    2545             : #if LK5_ENABLED
    2546           1 :     module procedure test_setSortedArrBubble_D1_LK5
    2547             :         use pm_kind, only: LKC => LK5
    2548             : #include "test_pm_arraySort@routines.inc.F90"
    2549             :     end procedure
    2550             : #endif
    2551             : 
    2552             : #if LK4_ENABLED
    2553           1 :     module procedure test_setSortedArrBubble_D1_LK4
    2554             :         use pm_kind, only: LKC => LK4
    2555             : #include "test_pm_arraySort@routines.inc.F90"
    2556             :     end procedure
    2557             : #endif
    2558             : 
    2559             : #if LK3_ENABLED
    2560           1 :     module procedure test_setSortedArrBubble_D1_LK3
    2561             :         use pm_kind, only: LKC => LK3
    2562             : #include "test_pm_arraySort@routines.inc.F90"
    2563             :     end procedure
    2564             : #endif
    2565             : 
    2566             : #if LK2_ENABLED
    2567           1 :     module procedure test_setSortedArrBubble_D1_LK2
    2568             :         use pm_kind, only: LKC => LK2
    2569             : #include "test_pm_arraySort@routines.inc.F90"
    2570             :     end procedure
    2571             : #endif
    2572             : 
    2573             : #if LK1_ENABLED
    2574           1 :     module procedure test_setSortedArrBubble_D1_LK1
    2575             :         use pm_kind, only: LKC => LK1
    2576             : #include "test_pm_arraySort@routines.inc.F90"
    2577             :     end procedure
    2578             : #endif
    2579             : 
    2580             : #undef LK_ENABLED
    2581             : 
    2582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2583             : 
    2584             : #define CK_ENABLED 1
    2585             : 
    2586             : #if CK5_ENABLED
    2587             :     module procedure test_setSortedArrBubble_D1_CK5
    2588             :         use pm_kind, only: CKC => CK5
    2589             : #include "test_pm_arraySort@routines.inc.F90"
    2590             :     end procedure
    2591             : #endif
    2592             : 
    2593             : #if CK4_ENABLED
    2594           1 :     module procedure test_setSortedArrBubble_D1_CK4
    2595             :         use pm_kind, only: CKC => CK4
    2596             : #include "test_pm_arraySort@routines.inc.F90"
    2597             :     end procedure
    2598             : #endif
    2599             : 
    2600             : #if CK3_ENABLED
    2601           1 :     module procedure test_setSortedArrBubble_D1_CK3
    2602             :         use pm_kind, only: CKC => CK3
    2603             : #include "test_pm_arraySort@routines.inc.F90"
    2604             :     end procedure
    2605             : #endif
    2606             : 
    2607             : #if CK2_ENABLED
    2608           1 :     module procedure test_setSortedArrBubble_D1_CK2
    2609             :         use pm_kind, only: CKC => CK2
    2610             : #include "test_pm_arraySort@routines.inc.F90"
    2611             :     end procedure
    2612             : #endif
    2613             : 
    2614             : #if CK1_ENABLED
    2615           1 :     module procedure test_setSortedArrBubble_D1_CK1
    2616             :         use pm_kind, only: CKC => CK1
    2617             : #include "test_pm_arraySort@routines.inc.F90"
    2618             :     end procedure
    2619             : #endif
    2620             : 
    2621             : #undef CK_ENABLED
    2622             : 
    2623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2624             : 
    2625             : #define RK_ENABLED 1
    2626             : 
    2627             : #if RK5_ENABLED
    2628             :     module procedure test_setSortedArrBubble_D1_RK5
    2629             :         use pm_kind, only: RKC => RK5
    2630             : #include "test_pm_arraySort@routines.inc.F90"
    2631             :     end procedure
    2632             : #endif
    2633             : 
    2634             : #if RK4_ENABLED
    2635           1 :     module procedure test_setSortedArrBubble_D1_RK4
    2636             :         use pm_kind, only: RKC => RK4
    2637             : #include "test_pm_arraySort@routines.inc.F90"
    2638             :     end procedure
    2639             : #endif
    2640             : 
    2641             : #if RK3_ENABLED
    2642           1 :     module procedure test_setSortedArrBubble_D1_RK3
    2643             :         use pm_kind, only: RKC => RK3
    2644             : #include "test_pm_arraySort@routines.inc.F90"
    2645             :     end procedure
    2646             : #endif
    2647             : 
    2648             : #if RK2_ENABLED
    2649           1 :     module procedure test_setSortedArrBubble_D1_RK2
    2650             :         use pm_kind, only: RKC => RK2
    2651             : #include "test_pm_arraySort@routines.inc.F90"
    2652             :     end procedure
    2653             : #endif
    2654             : 
    2655             : #if RK1_ENABLED
    2656           1 :     module procedure test_setSortedArrBubble_D1_RK1
    2657             :         use pm_kind, only: RKC => RK1
    2658             : #include "test_pm_arraySort@routines.inc.F90"
    2659             :     end procedure
    2660             : #endif
    2661             : 
    2662             : #undef RK_ENABLED
    2663             : 
    2664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2665             : 
    2666             : #if PDT_ENABLED && 0
    2667             : #define PSSK_ENABLED 1
    2668             : 
    2669             : #if SK5_ENABLED
    2670             :     module procedure test_setSortedArrBubble_D1_PSSK5
    2671             :         use pm_kind, only: SKC => SK5
    2672             : #include "test_pm_arraySort@routines.inc.F90"
    2673             :     end procedure
    2674             : #endif
    2675             : 
    2676             : #if SK4_ENABLED
    2677             :     module procedure test_setSortedArrBubble_D1_PSSK4
    2678             :         use pm_kind, only: SKC => SK4
    2679             : #include "test_pm_arraySort@routines.inc.F90"
    2680             :     end procedure
    2681             : #endif
    2682             : 
    2683             : #if SK3_ENABLED
    2684             :     module procedure test_setSortedArrBubble_D1_PSSK3
    2685             :         use pm_kind, only: SKC => SK3
    2686             : #include "test_pm_arraySort@routines.inc.F90"
    2687             :     end procedure
    2688             : #endif
    2689             : 
    2690             : #if SK2_ENABLED
    2691             :     module procedure test_setSortedArrBubble_D1_PSSK2
    2692             :         use pm_kind, only: SKC => SK2
    2693             : #include "test_pm_arraySort@routines.inc.F90"
    2694             :     end procedure
    2695             : #endif
    2696             : 
    2697             : #if SK1_ENABLED
    2698             :     module procedure test_setSortedArrBubble_D1_PSSK1
    2699             :         use pm_kind, only: SKC => SK1
    2700             : #include "test_pm_arraySort@routines.inc.F90"
    2701             :     end procedure
    2702             : #endif
    2703             : 
    2704             : #undef PSSK_ENABLED
    2705             : #endif
    2706             : 
    2707             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2708             : 
    2709             : #undef D1_ENABLED
    2710             : 
    2711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2714             : 
    2715             : #undef Bubble_ENABLED
    2716             : 
    2717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2720             : 
    2721             : #undef Arr_ENABLED
    2722             : 
    2723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2726             : 
    2727             : #undef setSorted_ENABLED
    2728             : 
    2729             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2730             : 
    2731             : #define setSorted_ENABLED 1
    2732             : 
    2733             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2734             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2736             : 
    2737             : #define Arr_ENABLED 1
    2738             : 
    2739             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2740             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2742             : 
    2743             : #define Heapi_ENABLED 1
    2744             : 
    2745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2748             : 
    2749             : #define D0_ENABLED 1
    2750             : 
    2751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2752             : 
    2753             : #define SK_ENABLED 1
    2754             : 
    2755             : #if SK5_ENABLED
    2756             :     module procedure test_setSortedArrHeapi_D0_SK5
    2757             :         use pm_kind, only: SKC => SK5
    2758             : #include "test_pm_arraySort@routines.inc.F90"
    2759             :     end procedure
    2760             : #endif
    2761             : 
    2762             : #if SK4_ENABLED
    2763             :     module procedure test_setSortedArrHeapi_D0_SK4
    2764             :         use pm_kind, only: SKC => SK4
    2765             : #include "test_pm_arraySort@routines.inc.F90"
    2766             :     end procedure
    2767             : #endif
    2768             : 
    2769             : #if SK3_ENABLED
    2770             :     module procedure test_setSortedArrHeapi_D0_SK3
    2771             :         use pm_kind, only: SKC => SK3
    2772             : #include "test_pm_arraySort@routines.inc.F90"
    2773             :     end procedure
    2774             : #endif
    2775             : 
    2776             : #if SK2_ENABLED
    2777             :     module procedure test_setSortedArrHeapi_D0_SK2
    2778             :         use pm_kind, only: SKC => SK2
    2779             : #include "test_pm_arraySort@routines.inc.F90"
    2780             :     end procedure
    2781             : #endif
    2782             : 
    2783             : #if SK1_ENABLED
    2784           1 :     module procedure test_setSortedArrHeapi_D0_SK1
    2785             :         use pm_kind, only: SKC => SK1
    2786             : #include "test_pm_arraySort@routines.inc.F90"
    2787             :     end procedure
    2788             : #endif
    2789             : 
    2790             : #undef SK_ENABLED
    2791             : 
    2792             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2793             : 
    2794             : #undef D0_ENABLED
    2795             : 
    2796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2799             : 
    2800             : #define D1_ENABLED 1
    2801             : 
    2802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2803             : 
    2804             : #define SK_ENABLED 1
    2805             : 
    2806             : #if SK5_ENABLED
    2807             :     module procedure test_setSortedArrHeapi_D1_SK5
    2808             :         use pm_kind, only: SKC => SK5
    2809             : #include "test_pm_arraySort@routines.inc.F90"
    2810             :     end procedure
    2811             : #endif
    2812             : 
    2813             : #if SK4_ENABLED
    2814             :     module procedure test_setSortedArrHeapi_D1_SK4
    2815             :         use pm_kind, only: SKC => SK4
    2816             : #include "test_pm_arraySort@routines.inc.F90"
    2817             :     end procedure
    2818             : #endif
    2819             : 
    2820             : #if SK3_ENABLED
    2821             :     module procedure test_setSortedArrHeapi_D1_SK3
    2822             :         use pm_kind, only: SKC => SK3
    2823             : #include "test_pm_arraySort@routines.inc.F90"
    2824             :     end procedure
    2825             : #endif
    2826             : 
    2827             : #if SK2_ENABLED
    2828             :     module procedure test_setSortedArrHeapi_D1_SK2
    2829             :         use pm_kind, only: SKC => SK2
    2830             : #include "test_pm_arraySort@routines.inc.F90"
    2831             :     end procedure
    2832             : #endif
    2833             : 
    2834             : #if SK1_ENABLED
    2835           1 :     module procedure test_setSortedArrHeapi_D1_SK1
    2836             :         use pm_kind, only: SKC => SK1
    2837             : #include "test_pm_arraySort@routines.inc.F90"
    2838             :     end procedure
    2839             : #endif
    2840             : 
    2841             : #undef SK_ENABLED
    2842             : 
    2843             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2844             : 
    2845             : #define IK_ENABLED 1
    2846             : 
    2847             : #if IK5_ENABLED
    2848           1 :     module procedure test_setSortedArrHeapi_D1_IK5
    2849             :         use pm_kind, only: IKC => IK5
    2850             : #include "test_pm_arraySort@routines.inc.F90"
    2851             :     end procedure
    2852             : #endif
    2853             : 
    2854             : #if IK4_ENABLED
    2855           1 :     module procedure test_setSortedArrHeapi_D1_IK4
    2856             :         use pm_kind, only: IKC => IK4
    2857             : #include "test_pm_arraySort@routines.inc.F90"
    2858             :     end procedure
    2859             : #endif
    2860             : 
    2861             : #if IK3_ENABLED
    2862           1 :     module procedure test_setSortedArrHeapi_D1_IK3
    2863             :         use pm_kind, only: IKC => IK3
    2864             : #include "test_pm_arraySort@routines.inc.F90"
    2865             :     end procedure
    2866             : #endif
    2867             : 
    2868             : #if IK2_ENABLED
    2869           1 :     module procedure test_setSortedArrHeapi_D1_IK2
    2870             :         use pm_kind, only: IKC => IK2
    2871             : #include "test_pm_arraySort@routines.inc.F90"
    2872             :     end procedure
    2873             : #endif
    2874             : 
    2875             : #if IK1_ENABLED
    2876           1 :     module procedure test_setSortedArrHeapi_D1_IK1
    2877             :         use pm_kind, only: IKC => IK1
    2878             : #include "test_pm_arraySort@routines.inc.F90"
    2879             :     end procedure
    2880             : #endif
    2881             : 
    2882             : #undef IK_ENABLED
    2883             : 
    2884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2885             : 
    2886             : #define LK_ENABLED 1
    2887             : 
    2888             : #if LK5_ENABLED
    2889           1 :     module procedure test_setSortedArrHeapi_D1_LK5
    2890             :         use pm_kind, only: LKC => LK5
    2891             : #include "test_pm_arraySort@routines.inc.F90"
    2892             :     end procedure
    2893             : #endif
    2894             : 
    2895             : #if LK4_ENABLED
    2896           1 :     module procedure test_setSortedArrHeapi_D1_LK4
    2897             :         use pm_kind, only: LKC => LK4
    2898             : #include "test_pm_arraySort@routines.inc.F90"
    2899             :     end procedure
    2900             : #endif
    2901             : 
    2902             : #if LK3_ENABLED
    2903           1 :     module procedure test_setSortedArrHeapi_D1_LK3
    2904             :         use pm_kind, only: LKC => LK3
    2905             : #include "test_pm_arraySort@routines.inc.F90"
    2906             :     end procedure
    2907             : #endif
    2908             : 
    2909             : #if LK2_ENABLED
    2910           1 :     module procedure test_setSortedArrHeapi_D1_LK2
    2911             :         use pm_kind, only: LKC => LK2
    2912             : #include "test_pm_arraySort@routines.inc.F90"
    2913             :     end procedure
    2914             : #endif
    2915             : 
    2916             : #if LK1_ENABLED
    2917           1 :     module procedure test_setSortedArrHeapi_D1_LK1
    2918             :         use pm_kind, only: LKC => LK1
    2919             : #include "test_pm_arraySort@routines.inc.F90"
    2920             :     end procedure
    2921             : #endif
    2922             : 
    2923             : #undef LK_ENABLED
    2924             : 
    2925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2926             : 
    2927             : #define CK_ENABLED 1
    2928             : 
    2929             : #if CK5_ENABLED
    2930             :     module procedure test_setSortedArrHeapi_D1_CK5
    2931             :         use pm_kind, only: CKC => CK5
    2932             : #include "test_pm_arraySort@routines.inc.F90"
    2933             :     end procedure
    2934             : #endif
    2935             : 
    2936             : #if CK4_ENABLED
    2937           1 :     module procedure test_setSortedArrHeapi_D1_CK4
    2938             :         use pm_kind, only: CKC => CK4
    2939             : #include "test_pm_arraySort@routines.inc.F90"
    2940             :     end procedure
    2941             : #endif
    2942             : 
    2943             : #if CK3_ENABLED
    2944           1 :     module procedure test_setSortedArrHeapi_D1_CK3
    2945             :         use pm_kind, only: CKC => CK3
    2946             : #include "test_pm_arraySort@routines.inc.F90"
    2947             :     end procedure
    2948             : #endif
    2949             : 
    2950             : #if CK2_ENABLED
    2951           1 :     module procedure test_setSortedArrHeapi_D1_CK2
    2952             :         use pm_kind, only: CKC => CK2
    2953             : #include "test_pm_arraySort@routines.inc.F90"
    2954             :     end procedure
    2955             : #endif
    2956             : 
    2957             : #if CK1_ENABLED
    2958           1 :     module procedure test_setSortedArrHeapi_D1_CK1
    2959             :         use pm_kind, only: CKC => CK1
    2960             : #include "test_pm_arraySort@routines.inc.F90"
    2961             :     end procedure
    2962             : #endif
    2963             : 
    2964             : #undef CK_ENABLED
    2965             : 
    2966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2967             : 
    2968             : #define RK_ENABLED 1
    2969             : 
    2970             : #if RK5_ENABLED
    2971             :     module procedure test_setSortedArrHeapi_D1_RK5
    2972             :         use pm_kind, only: RKC => RK5
    2973             : #include "test_pm_arraySort@routines.inc.F90"
    2974             :     end procedure
    2975             : #endif
    2976             : 
    2977             : #if RK4_ENABLED
    2978           1 :     module procedure test_setSortedArrHeapi_D1_RK4
    2979             :         use pm_kind, only: RKC => RK4
    2980             : #include "test_pm_arraySort@routines.inc.F90"
    2981             :     end procedure
    2982             : #endif
    2983             : 
    2984             : #if RK3_ENABLED
    2985           1 :     module procedure test_setSortedArrHeapi_D1_RK3
    2986             :         use pm_kind, only: RKC => RK3
    2987             : #include "test_pm_arraySort@routines.inc.F90"
    2988             :     end procedure
    2989             : #endif
    2990             : 
    2991             : #if RK2_ENABLED
    2992           1 :     module procedure test_setSortedArrHeapi_D1_RK2
    2993             :         use pm_kind, only: RKC => RK2
    2994             : #include "test_pm_arraySort@routines.inc.F90"
    2995             :     end procedure
    2996             : #endif
    2997             : 
    2998             : #if RK1_ENABLED
    2999           1 :     module procedure test_setSortedArrHeapi_D1_RK1
    3000             :         use pm_kind, only: RKC => RK1
    3001             : #include "test_pm_arraySort@routines.inc.F90"
    3002             :     end procedure
    3003             : #endif
    3004             : 
    3005             : #undef RK_ENABLED
    3006             : 
    3007             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3008             : 
    3009             : #if PDT_ENABLED && 0
    3010             : #define PSSK_ENABLED 1
    3011             : 
    3012             : #if SK5_ENABLED
    3013             :     module procedure test_setSortedArrHeapi_D1_PSSK5
    3014             :         use pm_kind, only: SKC => SK5
    3015             : #include "test_pm_arraySort@routines.inc.F90"
    3016             :     end procedure
    3017             : #endif
    3018             : 
    3019             : #if SK4_ENABLED
    3020             :     module procedure test_setSortedArrHeapi_D1_PSSK4
    3021             :         use pm_kind, only: SKC => SK4
    3022             : #include "test_pm_arraySort@routines.inc.F90"
    3023             :     end procedure
    3024             : #endif
    3025             : 
    3026             : #if SK3_ENABLED
    3027             :     module procedure test_setSortedArrHeapi_D1_PSSK3
    3028             :         use pm_kind, only: SKC => SK3
    3029             : #include "test_pm_arraySort@routines.inc.F90"
    3030             :     end procedure
    3031             : #endif
    3032             : 
    3033             : #if SK2_ENABLED
    3034             :     module procedure test_setSortedArrHeapi_D1_PSSK2
    3035             :         use pm_kind, only: SKC => SK2
    3036             : #include "test_pm_arraySort@routines.inc.F90"
    3037             :     end procedure
    3038             : #endif
    3039             : 
    3040             : #if SK1_ENABLED
    3041             :     module procedure test_setSortedArrHeapi_D1_PSSK1
    3042             :         use pm_kind, only: SKC => SK1
    3043             : #include "test_pm_arraySort@routines.inc.F90"
    3044             :     end procedure
    3045             : #endif
    3046             : 
    3047             : #undef PSSK_ENABLED
    3048             : #endif
    3049             : 
    3050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3051             : 
    3052             : #undef D1_ENABLED
    3053             : 
    3054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3057             : 
    3058             : #undef Heapi_ENABLED
    3059             : 
    3060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3063             : 
    3064             : #undef Arr_ENABLED
    3065             : 
    3066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3069             : 
    3070             : #undef setSorted_ENABLED
    3071             : 
    3072             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3073             : 
    3074             : #define setSorted_ENABLED 1
    3075             : 
    3076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3079             : 
    3080             : #define Arr_ENABLED 1
    3081             : 
    3082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3085             : 
    3086             : #define Heapr_ENABLED 1
    3087             : 
    3088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3090             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3091             : 
    3092             : #define D0_ENABLED 1
    3093             : 
    3094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3095             : 
    3096             : #define SK_ENABLED 1
    3097             : 
    3098             : #if SK5_ENABLED
    3099             :     module procedure test_setSortedArrHeapr_D0_SK5
    3100             :         use pm_kind, only: SKC => SK5
    3101             : #include "test_pm_arraySort@routines.inc.F90"
    3102             :     end procedure
    3103             : #endif
    3104             : 
    3105             : #if SK4_ENABLED
    3106             :     module procedure test_setSortedArrHeapr_D0_SK4
    3107             :         use pm_kind, only: SKC => SK4
    3108             : #include "test_pm_arraySort@routines.inc.F90"
    3109             :     end procedure
    3110             : #endif
    3111             : 
    3112             : #if SK3_ENABLED
    3113             :     module procedure test_setSortedArrHeapr_D0_SK3
    3114             :         use pm_kind, only: SKC => SK3
    3115             : #include "test_pm_arraySort@routines.inc.F90"
    3116             :     end procedure
    3117             : #endif
    3118             : 
    3119             : #if SK2_ENABLED
    3120             :     module procedure test_setSortedArrHeapr_D0_SK2
    3121             :         use pm_kind, only: SKC => SK2
    3122             : #include "test_pm_arraySort@routines.inc.F90"
    3123             :     end procedure
    3124             : #endif
    3125             : 
    3126             : #if SK1_ENABLED
    3127           1 :     module procedure test_setSortedArrHeapr_D0_SK1
    3128             :         use pm_kind, only: SKC => SK1
    3129             : #include "test_pm_arraySort@routines.inc.F90"
    3130             :     end procedure
    3131             : #endif
    3132             : 
    3133             : #undef SK_ENABLED
    3134             : 
    3135             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3136             : 
    3137             : #undef D0_ENABLED
    3138             : 
    3139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3141             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3142             : 
    3143             : #define D1_ENABLED 1
    3144             : 
    3145             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3146             : 
    3147             : #define SK_ENABLED 1
    3148             : 
    3149             : #if SK5_ENABLED
    3150             :     module procedure test_setSortedArrHeapr_D1_SK5
    3151             :         use pm_kind, only: SKC => SK5
    3152             : #include "test_pm_arraySort@routines.inc.F90"
    3153             :     end procedure
    3154             : #endif
    3155             : 
    3156             : #if SK4_ENABLED
    3157             :     module procedure test_setSortedArrHeapr_D1_SK4
    3158             :         use pm_kind, only: SKC => SK4
    3159             : #include "test_pm_arraySort@routines.inc.F90"
    3160             :     end procedure
    3161             : #endif
    3162             : 
    3163             : #if SK3_ENABLED
    3164             :     module procedure test_setSortedArrHeapr_D1_SK3
    3165             :         use pm_kind, only: SKC => SK3
    3166             : #include "test_pm_arraySort@routines.inc.F90"
    3167             :     end procedure
    3168             : #endif
    3169             : 
    3170             : #if SK2_ENABLED
    3171             :     module procedure test_setSortedArrHeapr_D1_SK2
    3172             :         use pm_kind, only: SKC => SK2
    3173             : #include "test_pm_arraySort@routines.inc.F90"
    3174             :     end procedure
    3175             : #endif
    3176             : 
    3177             : #if SK1_ENABLED
    3178           1 :     module procedure test_setSortedArrHeapr_D1_SK1
    3179             :         use pm_kind, only: SKC => SK1
    3180             : #include "test_pm_arraySort@routines.inc.F90"
    3181             :     end procedure
    3182             : #endif
    3183             : 
    3184             : #undef SK_ENABLED
    3185             : 
    3186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3187             : 
    3188             : #define IK_ENABLED 1
    3189             : 
    3190             : #if IK5_ENABLED
    3191           1 :     module procedure test_setSortedArrHeapr_D1_IK5
    3192             :         use pm_kind, only: IKC => IK5
    3193             : #include "test_pm_arraySort@routines.inc.F90"
    3194             :     end procedure
    3195             : #endif
    3196             : 
    3197             : #if IK4_ENABLED
    3198           1 :     module procedure test_setSortedArrHeapr_D1_IK4
    3199             :         use pm_kind, only: IKC => IK4
    3200             : #include "test_pm_arraySort@routines.inc.F90"
    3201             :     end procedure
    3202             : #endif
    3203             : 
    3204             : #if IK3_ENABLED
    3205           1 :     module procedure test_setSortedArrHeapr_D1_IK3
    3206             :         use pm_kind, only: IKC => IK3
    3207             : #include "test_pm_arraySort@routines.inc.F90"
    3208             :     end procedure
    3209             : #endif
    3210             : 
    3211             : #if IK2_ENABLED
    3212           1 :     module procedure test_setSortedArrHeapr_D1_IK2
    3213             :         use pm_kind, only: IKC => IK2
    3214             : #include "test_pm_arraySort@routines.inc.F90"
    3215             :     end procedure
    3216             : #endif
    3217             : 
    3218             : #if IK1_ENABLED
    3219           1 :     module procedure test_setSortedArrHeapr_D1_IK1
    3220             :         use pm_kind, only: IKC => IK1
    3221             : #include "test_pm_arraySort@routines.inc.F90"
    3222             :     end procedure
    3223             : #endif
    3224             : 
    3225             : #undef IK_ENABLED
    3226             : 
    3227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3228             : 
    3229             : #define LK_ENABLED 1
    3230             : 
    3231             : #if LK5_ENABLED
    3232           1 :     module procedure test_setSortedArrHeapr_D1_LK5
    3233             :         use pm_kind, only: LKC => LK5
    3234             : #include "test_pm_arraySort@routines.inc.F90"
    3235             :     end procedure
    3236             : #endif
    3237             : 
    3238             : #if LK4_ENABLED
    3239           1 :     module procedure test_setSortedArrHeapr_D1_LK4
    3240             :         use pm_kind, only: LKC => LK4
    3241             : #include "test_pm_arraySort@routines.inc.F90"
    3242             :     end procedure
    3243             : #endif
    3244             : 
    3245             : #if LK3_ENABLED
    3246           1 :     module procedure test_setSortedArrHeapr_D1_LK3
    3247             :         use pm_kind, only: LKC => LK3
    3248             : #include "test_pm_arraySort@routines.inc.F90"
    3249             :     end procedure
    3250             : #endif
    3251             : 
    3252             : #if LK2_ENABLED
    3253           1 :     module procedure test_setSortedArrHeapr_D1_LK2
    3254             :         use pm_kind, only: LKC => LK2
    3255             : #include "test_pm_arraySort@routines.inc.F90"
    3256             :     end procedure
    3257             : #endif
    3258             : 
    3259             : #if LK1_ENABLED
    3260           1 :     module procedure test_setSortedArrHeapr_D1_LK1
    3261             :         use pm_kind, only: LKC => LK1
    3262             : #include "test_pm_arraySort@routines.inc.F90"
    3263             :     end procedure
    3264             : #endif
    3265             : 
    3266             : #undef LK_ENABLED
    3267             : 
    3268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3269             : 
    3270             : #define CK_ENABLED 1
    3271             : 
    3272             : #if CK5_ENABLED
    3273             :     module procedure test_setSortedArrHeapr_D1_CK5
    3274             :         use pm_kind, only: CKC => CK5
    3275             : #include "test_pm_arraySort@routines.inc.F90"
    3276             :     end procedure
    3277             : #endif
    3278             : 
    3279             : #if CK4_ENABLED
    3280           1 :     module procedure test_setSortedArrHeapr_D1_CK4
    3281             :         use pm_kind, only: CKC => CK4
    3282             : #include "test_pm_arraySort@routines.inc.F90"
    3283             :     end procedure
    3284             : #endif
    3285             : 
    3286             : #if CK3_ENABLED
    3287           1 :     module procedure test_setSortedArrHeapr_D1_CK3
    3288             :         use pm_kind, only: CKC => CK3
    3289             : #include "test_pm_arraySort@routines.inc.F90"
    3290             :     end procedure
    3291             : #endif
    3292             : 
    3293             : #if CK2_ENABLED
    3294           1 :     module procedure test_setSortedArrHeapr_D1_CK2
    3295             :         use pm_kind, only: CKC => CK2
    3296             : #include "test_pm_arraySort@routines.inc.F90"
    3297             :     end procedure
    3298             : #endif
    3299             : 
    3300             : #if CK1_ENABLED
    3301           1 :     module procedure test_setSortedArrHeapr_D1_CK1
    3302             :         use pm_kind, only: CKC => CK1
    3303             : #include "test_pm_arraySort@routines.inc.F90"
    3304             :     end procedure
    3305             : #endif
    3306             : 
    3307             : #undef CK_ENABLED
    3308             : 
    3309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3310             : 
    3311             : #define RK_ENABLED 1
    3312             : 
    3313             : #if RK5_ENABLED
    3314             :     module procedure test_setSortedArrHeapr_D1_RK5
    3315             :         use pm_kind, only: RKC => RK5
    3316             : #include "test_pm_arraySort@routines.inc.F90"
    3317             :     end procedure
    3318             : #endif
    3319             : 
    3320             : #if RK4_ENABLED
    3321           1 :     module procedure test_setSortedArrHeapr_D1_RK4
    3322             :         use pm_kind, only: RKC => RK4
    3323             : #include "test_pm_arraySort@routines.inc.F90"
    3324             :     end procedure
    3325             : #endif
    3326             : 
    3327             : #if RK3_ENABLED
    3328           1 :     module procedure test_setSortedArrHeapr_D1_RK3
    3329             :         use pm_kind, only: RKC => RK3
    3330             : #include "test_pm_arraySort@routines.inc.F90"
    3331             :     end procedure
    3332             : #endif
    3333             : 
    3334             : #if RK2_ENABLED
    3335           1 :     module procedure test_setSortedArrHeapr_D1_RK2
    3336             :         use pm_kind, only: RKC => RK2
    3337             : #include "test_pm_arraySort@routines.inc.F90"
    3338             :     end procedure
    3339             : #endif
    3340             : 
    3341             : #if RK1_ENABLED
    3342           1 :     module procedure test_setSortedArrHeapr_D1_RK1
    3343             :         use pm_kind, only: RKC => RK1
    3344             : #include "test_pm_arraySort@routines.inc.F90"
    3345             :     end procedure
    3346             : #endif
    3347             : 
    3348             : #undef RK_ENABLED
    3349             : 
    3350             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3351             : 
    3352             : #if PDT_ENABLED && 0
    3353             : #define PSSK_ENABLED 1
    3354             : 
    3355             : #if SK5_ENABLED
    3356             :     module procedure test_setSortedArrHeapr_D1_PSSK5
    3357             :         use pm_kind, only: SKC => SK5
    3358             : #include "test_pm_arraySort@routines.inc.F90"
    3359             :     end procedure
    3360             : #endif
    3361             : 
    3362             : #if SK4_ENABLED
    3363             :     module procedure test_setSortedArrHeapr_D1_PSSK4
    3364             :         use pm_kind, only: SKC => SK4
    3365             : #include "test_pm_arraySort@routines.inc.F90"
    3366             :     end procedure
    3367             : #endif
    3368             : 
    3369             : #if SK3_ENABLED
    3370             :     module procedure test_setSortedArrHeapr_D1_PSSK3
    3371             :         use pm_kind, only: SKC => SK3
    3372             : #include "test_pm_arraySort@routines.inc.F90"
    3373             :     end procedure
    3374             : #endif
    3375             : 
    3376             : #if SK2_ENABLED
    3377             :     module procedure test_setSortedArrHeapr_D1_PSSK2
    3378             :         use pm_kind, only: SKC => SK2
    3379             : #include "test_pm_arraySort@routines.inc.F90"
    3380             :     end procedure
    3381             : #endif
    3382             : 
    3383             : #if SK1_ENABLED
    3384             :     module procedure test_setSortedArrHeapr_D1_PSSK1
    3385             :         use pm_kind, only: SKC => SK1
    3386             : #include "test_pm_arraySort@routines.inc.F90"
    3387             :     end procedure
    3388             : #endif
    3389             : 
    3390             : #undef PSSK_ENABLED
    3391             : #endif
    3392             : 
    3393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3394             : 
    3395             : #undef D1_ENABLED
    3396             : 
    3397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3400             : 
    3401             : #undef Heapr_ENABLED
    3402             : 
    3403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3406             : 
    3407             : #undef Arr_ENABLED
    3408             : 
    3409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3412             : 
    3413             : #undef setSorted_ENABLED
    3414             : 
    3415             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3416             : 
    3417             : #define setSorted_ENABLED 1
    3418             : 
    3419             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3422             : 
    3423             : #define Arr_ENABLED 1
    3424             : 
    3425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3427             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3428             : 
    3429             : #define Insertionl_ENABLED 1
    3430             : 
    3431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3432             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3434             : 
    3435             : #define D0_ENABLED 1
    3436             : 
    3437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3438             : 
    3439             : #define SK_ENABLED 1
    3440             : 
    3441             : #if SK5_ENABLED
    3442             :     module procedure test_setSortedArrInsertionl_D0_SK5
    3443             :         use pm_kind, only: SKC => SK5
    3444             : #include "test_pm_arraySort@routines.inc.F90"
    3445             :     end procedure
    3446             : #endif
    3447             : 
    3448             : #if SK4_ENABLED
    3449             :     module procedure test_setSortedArrInsertionl_D0_SK4
    3450             :         use pm_kind, only: SKC => SK4
    3451             : #include "test_pm_arraySort@routines.inc.F90"
    3452             :     end procedure
    3453             : #endif
    3454             : 
    3455             : #if SK3_ENABLED
    3456             :     module procedure test_setSortedArrInsertionl_D0_SK3
    3457             :         use pm_kind, only: SKC => SK3
    3458             : #include "test_pm_arraySort@routines.inc.F90"
    3459             :     end procedure
    3460             : #endif
    3461             : 
    3462             : #if SK2_ENABLED
    3463             :     module procedure test_setSortedArrInsertionl_D0_SK2
    3464             :         use pm_kind, only: SKC => SK2
    3465             : #include "test_pm_arraySort@routines.inc.F90"
    3466             :     end procedure
    3467             : #endif
    3468             : 
    3469             : #if SK1_ENABLED
    3470           1 :     module procedure test_setSortedArrInsertionl_D0_SK1
    3471             :         use pm_kind, only: SKC => SK1
    3472             : #include "test_pm_arraySort@routines.inc.F90"
    3473             :     end procedure
    3474             : #endif
    3475             : 
    3476             : #undef SK_ENABLED
    3477             : 
    3478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3479             : 
    3480             : #undef D0_ENABLED
    3481             : 
    3482             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3485             : 
    3486             : #define D1_ENABLED 1
    3487             : 
    3488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3489             : 
    3490             : #define SK_ENABLED 1
    3491             : 
    3492             : #if SK5_ENABLED
    3493             :     module procedure test_setSortedArrInsertionl_D1_SK5
    3494             :         use pm_kind, only: SKC => SK5
    3495             : #include "test_pm_arraySort@routines.inc.F90"
    3496             :     end procedure
    3497             : #endif
    3498             : 
    3499             : #if SK4_ENABLED
    3500             :     module procedure test_setSortedArrInsertionl_D1_SK4
    3501             :         use pm_kind, only: SKC => SK4
    3502             : #include "test_pm_arraySort@routines.inc.F90"
    3503             :     end procedure
    3504             : #endif
    3505             : 
    3506             : #if SK3_ENABLED
    3507             :     module procedure test_setSortedArrInsertionl_D1_SK3
    3508             :         use pm_kind, only: SKC => SK3
    3509             : #include "test_pm_arraySort@routines.inc.F90"
    3510             :     end procedure
    3511             : #endif
    3512             : 
    3513             : #if SK2_ENABLED
    3514             :     module procedure test_setSortedArrInsertionl_D1_SK2
    3515             :         use pm_kind, only: SKC => SK2
    3516             : #include "test_pm_arraySort@routines.inc.F90"
    3517             :     end procedure
    3518             : #endif
    3519             : 
    3520             : #if SK1_ENABLED
    3521           1 :     module procedure test_setSortedArrInsertionl_D1_SK1
    3522             :         use pm_kind, only: SKC => SK1
    3523             : #include "test_pm_arraySort@routines.inc.F90"
    3524             :     end procedure
    3525             : #endif
    3526             : 
    3527             : #undef SK_ENABLED
    3528             : 
    3529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3530             : 
    3531             : #define IK_ENABLED 1
    3532             : 
    3533             : #if IK5_ENABLED
    3534           1 :     module procedure test_setSortedArrInsertionl_D1_IK5
    3535             :         use pm_kind, only: IKC => IK5
    3536             : #include "test_pm_arraySort@routines.inc.F90"
    3537             :     end procedure
    3538             : #endif
    3539             : 
    3540             : #if IK4_ENABLED
    3541           1 :     module procedure test_setSortedArrInsertionl_D1_IK4
    3542             :         use pm_kind, only: IKC => IK4
    3543             : #include "test_pm_arraySort@routines.inc.F90"
    3544             :     end procedure
    3545             : #endif
    3546             : 
    3547             : #if IK3_ENABLED
    3548           1 :     module procedure test_setSortedArrInsertionl_D1_IK3
    3549             :         use pm_kind, only: IKC => IK3
    3550             : #include "test_pm_arraySort@routines.inc.F90"
    3551             :     end procedure
    3552             : #endif
    3553             : 
    3554             : #if IK2_ENABLED
    3555           1 :     module procedure test_setSortedArrInsertionl_D1_IK2
    3556             :         use pm_kind, only: IKC => IK2
    3557             : #include "test_pm_arraySort@routines.inc.F90"
    3558             :     end procedure
    3559             : #endif
    3560             : 
    3561             : #if IK1_ENABLED
    3562           1 :     module procedure test_setSortedArrInsertionl_D1_IK1
    3563             :         use pm_kind, only: IKC => IK1
    3564             : #include "test_pm_arraySort@routines.inc.F90"
    3565             :     end procedure
    3566             : #endif
    3567             : 
    3568             : #undef IK_ENABLED
    3569             : 
    3570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3571             : 
    3572             : #define LK_ENABLED 1
    3573             : 
    3574             : #if LK5_ENABLED
    3575           1 :     module procedure test_setSortedArrInsertionl_D1_LK5
    3576             :         use pm_kind, only: LKC => LK5
    3577             : #include "test_pm_arraySort@routines.inc.F90"
    3578             :     end procedure
    3579             : #endif
    3580             : 
    3581             : #if LK4_ENABLED
    3582           1 :     module procedure test_setSortedArrInsertionl_D1_LK4
    3583             :         use pm_kind, only: LKC => LK4
    3584             : #include "test_pm_arraySort@routines.inc.F90"
    3585             :     end procedure
    3586             : #endif
    3587             : 
    3588             : #if LK3_ENABLED
    3589           1 :     module procedure test_setSortedArrInsertionl_D1_LK3
    3590             :         use pm_kind, only: LKC => LK3
    3591             : #include "test_pm_arraySort@routines.inc.F90"
    3592             :     end procedure
    3593             : #endif
    3594             : 
    3595             : #if LK2_ENABLED
    3596           1 :     module procedure test_setSortedArrInsertionl_D1_LK2
    3597             :         use pm_kind, only: LKC => LK2
    3598             : #include "test_pm_arraySort@routines.inc.F90"
    3599             :     end procedure
    3600             : #endif
    3601             : 
    3602             : #if LK1_ENABLED
    3603           1 :     module procedure test_setSortedArrInsertionl_D1_LK1
    3604             :         use pm_kind, only: LKC => LK1
    3605             : #include "test_pm_arraySort@routines.inc.F90"
    3606             :     end procedure
    3607             : #endif
    3608             : 
    3609             : #undef LK_ENABLED
    3610             : 
    3611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3612             : 
    3613             : #define CK_ENABLED 1
    3614             : 
    3615             : #if CK5_ENABLED
    3616             :     module procedure test_setSortedArrInsertionl_D1_CK5
    3617             :         use pm_kind, only: CKC => CK5
    3618             : #include "test_pm_arraySort@routines.inc.F90"
    3619             :     end procedure
    3620             : #endif
    3621             : 
    3622             : #if CK4_ENABLED
    3623           1 :     module procedure test_setSortedArrInsertionl_D1_CK4
    3624             :         use pm_kind, only: CKC => CK4
    3625             : #include "test_pm_arraySort@routines.inc.F90"
    3626             :     end procedure
    3627             : #endif
    3628             : 
    3629             : #if CK3_ENABLED
    3630           1 :     module procedure test_setSortedArrInsertionl_D1_CK3
    3631             :         use pm_kind, only: CKC => CK3
    3632             : #include "test_pm_arraySort@routines.inc.F90"
    3633             :     end procedure
    3634             : #endif
    3635             : 
    3636             : #if CK2_ENABLED
    3637           1 :     module procedure test_setSortedArrInsertionl_D1_CK2
    3638             :         use pm_kind, only: CKC => CK2
    3639             : #include "test_pm_arraySort@routines.inc.F90"
    3640             :     end procedure
    3641             : #endif
    3642             : 
    3643             : #if CK1_ENABLED
    3644           1 :     module procedure test_setSortedArrInsertionl_D1_CK1
    3645             :         use pm_kind, only: CKC => CK1
    3646             : #include "test_pm_arraySort@routines.inc.F90"
    3647             :     end procedure
    3648             : #endif
    3649             : 
    3650             : #undef CK_ENABLED
    3651             : 
    3652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3653             : 
    3654             : #define RK_ENABLED 1
    3655             : 
    3656             : #if RK5_ENABLED
    3657             :     module procedure test_setSortedArrInsertionl_D1_RK5
    3658             :         use pm_kind, only: RKC => RK5
    3659             : #include "test_pm_arraySort@routines.inc.F90"
    3660             :     end procedure
    3661             : #endif
    3662             : 
    3663             : #if RK4_ENABLED
    3664           1 :     module procedure test_setSortedArrInsertionl_D1_RK4
    3665             :         use pm_kind, only: RKC => RK4
    3666             : #include "test_pm_arraySort@routines.inc.F90"
    3667             :     end procedure
    3668             : #endif
    3669             : 
    3670             : #if RK3_ENABLED
    3671           1 :     module procedure test_setSortedArrInsertionl_D1_RK3
    3672             :         use pm_kind, only: RKC => RK3
    3673             : #include "test_pm_arraySort@routines.inc.F90"
    3674             :     end procedure
    3675             : #endif
    3676             : 
    3677             : #if RK2_ENABLED
    3678           1 :     module procedure test_setSortedArrInsertionl_D1_RK2
    3679             :         use pm_kind, only: RKC => RK2
    3680             : #include "test_pm_arraySort@routines.inc.F90"
    3681             :     end procedure
    3682             : #endif
    3683             : 
    3684             : #if RK1_ENABLED
    3685           1 :     module procedure test_setSortedArrInsertionl_D1_RK1
    3686             :         use pm_kind, only: RKC => RK1
    3687             : #include "test_pm_arraySort@routines.inc.F90"
    3688             :     end procedure
    3689             : #endif
    3690             : 
    3691             : #undef RK_ENABLED
    3692             : 
    3693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3694             : 
    3695             : #if PDT_ENABLED && 0
    3696             : #define PSSK_ENABLED 1
    3697             : 
    3698             : #if SK5_ENABLED
    3699             :     module procedure test_setSortedArrInsertionl_D1_PSSK5
    3700             :         use pm_kind, only: SKC => SK5
    3701             : #include "test_pm_arraySort@routines.inc.F90"
    3702             :     end procedure
    3703             : #endif
    3704             : 
    3705             : #if SK4_ENABLED
    3706             :     module procedure test_setSortedArrInsertionl_D1_PSSK4
    3707             :         use pm_kind, only: SKC => SK4
    3708             : #include "test_pm_arraySort@routines.inc.F90"
    3709             :     end procedure
    3710             : #endif
    3711             : 
    3712             : #if SK3_ENABLED
    3713             :     module procedure test_setSortedArrInsertionl_D1_PSSK3
    3714             :         use pm_kind, only: SKC => SK3
    3715             : #include "test_pm_arraySort@routines.inc.F90"
    3716             :     end procedure
    3717             : #endif
    3718             : 
    3719             : #if SK2_ENABLED
    3720             :     module procedure test_setSortedArrInsertionl_D1_PSSK2
    3721             :         use pm_kind, only: SKC => SK2
    3722             : #include "test_pm_arraySort@routines.inc.F90"
    3723             :     end procedure
    3724             : #endif
    3725             : 
    3726             : #if SK1_ENABLED
    3727             :     module procedure test_setSortedArrInsertionl_D1_PSSK1
    3728             :         use pm_kind, only: SKC => SK1
    3729             : #include "test_pm_arraySort@routines.inc.F90"
    3730             :     end procedure
    3731             : #endif
    3732             : 
    3733             : #undef PSSK_ENABLED
    3734             : #endif
    3735             : 
    3736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3737             : 
    3738             : #undef D1_ENABLED
    3739             : 
    3740             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3743             : 
    3744             : #undef Insertionl_ENABLED
    3745             : 
    3746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3749             : 
    3750             : #undef Arr_ENABLED
    3751             : 
    3752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3755             : 
    3756             : #undef setSorted_ENABLED
    3757             : 
    3758             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3759             : 
    3760             : #define setSorted_ENABLED 1
    3761             : 
    3762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3765             : 
    3766             : #define Arr_ENABLED 1
    3767             : 
    3768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3771             : 
    3772             : #define Insertionb_ENABLED 1
    3773             : 
    3774             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3777             : 
    3778             : #define D0_ENABLED 1
    3779             : 
    3780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3781             : 
    3782             : #define SK_ENABLED 1
    3783             : 
    3784             : #if SK5_ENABLED
    3785             :     module procedure test_setSortedArrInsertionb_D0_SK5
    3786             :         use pm_kind, only: SKC => SK5
    3787             : #include "test_pm_arraySort@routines.inc.F90"
    3788             :     end procedure
    3789             : #endif
    3790             : 
    3791             : #if SK4_ENABLED
    3792             :     module procedure test_setSortedArrInsertionb_D0_SK4
    3793             :         use pm_kind, only: SKC => SK4
    3794             : #include "test_pm_arraySort@routines.inc.F90"
    3795             :     end procedure
    3796             : #endif
    3797             : 
    3798             : #if SK3_ENABLED
    3799             :     module procedure test_setSortedArrInsertionb_D0_SK3
    3800             :         use pm_kind, only: SKC => SK3
    3801             : #include "test_pm_arraySort@routines.inc.F90"
    3802             :     end procedure
    3803             : #endif
    3804             : 
    3805             : #if SK2_ENABLED
    3806             :     module procedure test_setSortedArrInsertionb_D0_SK2
    3807             :         use pm_kind, only: SKC => SK2
    3808             : #include "test_pm_arraySort@routines.inc.F90"
    3809             :     end procedure
    3810             : #endif
    3811             : 
    3812             : #if SK1_ENABLED
    3813           1 :     module procedure test_setSortedArrInsertionb_D0_SK1
    3814             :         use pm_kind, only: SKC => SK1
    3815             : #include "test_pm_arraySort@routines.inc.F90"
    3816             :     end procedure
    3817             : #endif
    3818             : 
    3819             : #undef SK_ENABLED
    3820             : 
    3821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3822             : 
    3823             : #undef D0_ENABLED
    3824             : 
    3825             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3828             : 
    3829             : #define D1_ENABLED 1
    3830             : 
    3831             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3832             : 
    3833             : #define SK_ENABLED 1
    3834             : 
    3835             : #if SK5_ENABLED
    3836             :     module procedure test_setSortedArrInsertionb_D1_SK5
    3837             :         use pm_kind, only: SKC => SK5
    3838             : #include "test_pm_arraySort@routines.inc.F90"
    3839             :     end procedure
    3840             : #endif
    3841             : 
    3842             : #if SK4_ENABLED
    3843             :     module procedure test_setSortedArrInsertionb_D1_SK4
    3844             :         use pm_kind, only: SKC => SK4
    3845             : #include "test_pm_arraySort@routines.inc.F90"
    3846             :     end procedure
    3847             : #endif
    3848             : 
    3849             : #if SK3_ENABLED
    3850             :     module procedure test_setSortedArrInsertionb_D1_SK3
    3851             :         use pm_kind, only: SKC => SK3
    3852             : #include "test_pm_arraySort@routines.inc.F90"
    3853             :     end procedure
    3854             : #endif
    3855             : 
    3856             : #if SK2_ENABLED
    3857             :     module procedure test_setSortedArrInsertionb_D1_SK2
    3858             :         use pm_kind, only: SKC => SK2
    3859             : #include "test_pm_arraySort@routines.inc.F90"
    3860             :     end procedure
    3861             : #endif
    3862             : 
    3863             : #if SK1_ENABLED
    3864           1 :     module procedure test_setSortedArrInsertionb_D1_SK1
    3865             :         use pm_kind, only: SKC => SK1
    3866             : #include "test_pm_arraySort@routines.inc.F90"
    3867             :     end procedure
    3868             : #endif
    3869             : 
    3870             : #undef SK_ENABLED
    3871             : 
    3872             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3873             : 
    3874             : #define IK_ENABLED 1
    3875             : 
    3876             : #if IK5_ENABLED
    3877           1 :     module procedure test_setSortedArrInsertionb_D1_IK5
    3878             :         use pm_kind, only: IKC => IK5
    3879             : #include "test_pm_arraySort@routines.inc.F90"
    3880             :     end procedure
    3881             : #endif
    3882             : 
    3883             : #if IK4_ENABLED
    3884           1 :     module procedure test_setSortedArrInsertionb_D1_IK4
    3885             :         use pm_kind, only: IKC => IK4
    3886             : #include "test_pm_arraySort@routines.inc.F90"
    3887             :     end procedure
    3888             : #endif
    3889             : 
    3890             : #if IK3_ENABLED
    3891           1 :     module procedure test_setSortedArrInsertionb_D1_IK3
    3892             :         use pm_kind, only: IKC => IK3
    3893             : #include "test_pm_arraySort@routines.inc.F90"
    3894             :     end procedure
    3895             : #endif
    3896             : 
    3897             : #if IK2_ENABLED
    3898           1 :     module procedure test_setSortedArrInsertionb_D1_IK2
    3899             :         use pm_kind, only: IKC => IK2
    3900             : #include "test_pm_arraySort@routines.inc.F90"
    3901             :     end procedure
    3902             : #endif
    3903             : 
    3904             : #if IK1_ENABLED
    3905           1 :     module procedure test_setSortedArrInsertionb_D1_IK1
    3906             :         use pm_kind, only: IKC => IK1
    3907             : #include "test_pm_arraySort@routines.inc.F90"
    3908             :     end procedure
    3909             : #endif
    3910             : 
    3911             : #undef IK_ENABLED
    3912             : 
    3913             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3914             : 
    3915             : #define LK_ENABLED 1
    3916             : 
    3917             : #if LK5_ENABLED
    3918           1 :     module procedure test_setSortedArrInsertionb_D1_LK5
    3919             :         use pm_kind, only: LKC => LK5
    3920             : #include "test_pm_arraySort@routines.inc.F90"
    3921             :     end procedure
    3922             : #endif
    3923             : 
    3924             : #if LK4_ENABLED
    3925           1 :     module procedure test_setSortedArrInsertionb_D1_LK4
    3926             :         use pm_kind, only: LKC => LK4
    3927             : #include "test_pm_arraySort@routines.inc.F90"
    3928             :     end procedure
    3929             : #endif
    3930             : 
    3931             : #if LK3_ENABLED
    3932           1 :     module procedure test_setSortedArrInsertionb_D1_LK3
    3933             :         use pm_kind, only: LKC => LK3
    3934             : #include "test_pm_arraySort@routines.inc.F90"
    3935             :     end procedure
    3936             : #endif
    3937             : 
    3938             : #if LK2_ENABLED
    3939           1 :     module procedure test_setSortedArrInsertionb_D1_LK2
    3940             :         use pm_kind, only: LKC => LK2
    3941             : #include "test_pm_arraySort@routines.inc.F90"
    3942             :     end procedure
    3943             : #endif
    3944             : 
    3945             : #if LK1_ENABLED
    3946           1 :     module procedure test_setSortedArrInsertionb_D1_LK1
    3947             :         use pm_kind, only: LKC => LK1
    3948             : #include "test_pm_arraySort@routines.inc.F90"
    3949             :     end procedure
    3950             : #endif
    3951             : 
    3952             : #undef LK_ENABLED
    3953             : 
    3954             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3955             : 
    3956             : #define CK_ENABLED 1
    3957             : 
    3958             : #if CK5_ENABLED
    3959             :     module procedure test_setSortedArrInsertionb_D1_CK5
    3960             :         use pm_kind, only: CKC => CK5
    3961             : #include "test_pm_arraySort@routines.inc.F90"
    3962             :     end procedure
    3963             : #endif
    3964             : 
    3965             : #if CK4_ENABLED
    3966           1 :     module procedure test_setSortedArrInsertionb_D1_CK4
    3967             :         use pm_kind, only: CKC => CK4
    3968             : #include "test_pm_arraySort@routines.inc.F90"
    3969             :     end procedure
    3970             : #endif
    3971             : 
    3972             : #if CK3_ENABLED
    3973           1 :     module procedure test_setSortedArrInsertionb_D1_CK3
    3974             :         use pm_kind, only: CKC => CK3
    3975             : #include "test_pm_arraySort@routines.inc.F90"
    3976             :     end procedure
    3977             : #endif
    3978             : 
    3979             : #if CK2_ENABLED
    3980           1 :     module procedure test_setSortedArrInsertionb_D1_CK2
    3981             :         use pm_kind, only: CKC => CK2
    3982             : #include "test_pm_arraySort@routines.inc.F90"
    3983             :     end procedure
    3984             : #endif
    3985             : 
    3986             : #if CK1_ENABLED
    3987           1 :     module procedure test_setSortedArrInsertionb_D1_CK1
    3988             :         use pm_kind, only: CKC => CK1
    3989             : #include "test_pm_arraySort@routines.inc.F90"
    3990             :     end procedure
    3991             : #endif
    3992             : 
    3993             : #undef CK_ENABLED
    3994             : 
    3995             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3996             : 
    3997             : #define RK_ENABLED 1
    3998             : 
    3999             : #if RK5_ENABLED
    4000             :     module procedure test_setSortedArrInsertionb_D1_RK5
    4001             :         use pm_kind, only: RKC => RK5
    4002             : #include "test_pm_arraySort@routines.inc.F90"
    4003             :     end procedure
    4004             : #endif
    4005             : 
    4006             : #if RK4_ENABLED
    4007           1 :     module procedure test_setSortedArrInsertionb_D1_RK4
    4008             :         use pm_kind, only: RKC => RK4
    4009             : #include "test_pm_arraySort@routines.inc.F90"
    4010             :     end procedure
    4011             : #endif
    4012             : 
    4013             : #if RK3_ENABLED
    4014           1 :     module procedure test_setSortedArrInsertionb_D1_RK3
    4015             :         use pm_kind, only: RKC => RK3
    4016             : #include "test_pm_arraySort@routines.inc.F90"
    4017             :     end procedure
    4018             : #endif
    4019             : 
    4020             : #if RK2_ENABLED
    4021           1 :     module procedure test_setSortedArrInsertionb_D1_RK2
    4022             :         use pm_kind, only: RKC => RK2
    4023             : #include "test_pm_arraySort@routines.inc.F90"
    4024             :     end procedure
    4025             : #endif
    4026             : 
    4027             : #if RK1_ENABLED
    4028           1 :     module procedure test_setSortedArrInsertionb_D1_RK1
    4029             :         use pm_kind, only: RKC => RK1
    4030             : #include "test_pm_arraySort@routines.inc.F90"
    4031             :     end procedure
    4032             : #endif
    4033             : 
    4034             : #undef RK_ENABLED
    4035             : 
    4036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4037             : 
    4038             : #if PDT_ENABLED && 0
    4039             : #define PSSK_ENABLED 1
    4040             : 
    4041             : #if SK5_ENABLED
    4042             :     module procedure test_setSortedArrInsertionb_D1_PSSK5
    4043             :         use pm_kind, only: SKC => SK5
    4044             : #include "test_pm_arraySort@routines.inc.F90"
    4045             :     end procedure
    4046             : #endif
    4047             : 
    4048             : #if SK4_ENABLED
    4049             :     module procedure test_setSortedArrInsertionb_D1_PSSK4
    4050             :         use pm_kind, only: SKC => SK4
    4051             : #include "test_pm_arraySort@routines.inc.F90"
    4052             :     end procedure
    4053             : #endif
    4054             : 
    4055             : #if SK3_ENABLED
    4056             :     module procedure test_setSortedArrInsertionb_D1_PSSK3
    4057             :         use pm_kind, only: SKC => SK3
    4058             : #include "test_pm_arraySort@routines.inc.F90"
    4059             :     end procedure
    4060             : #endif
    4061             : 
    4062             : #if SK2_ENABLED
    4063             :     module procedure test_setSortedArrInsertionb_D1_PSSK2
    4064             :         use pm_kind, only: SKC => SK2
    4065             : #include "test_pm_arraySort@routines.inc.F90"
    4066             :     end procedure
    4067             : #endif
    4068             : 
    4069             : #if SK1_ENABLED
    4070             :     module procedure test_setSortedArrInsertionb_D1_PSSK1
    4071             :         use pm_kind, only: SKC => SK1
    4072             : #include "test_pm_arraySort@routines.inc.F90"
    4073             :     end procedure
    4074             : #endif
    4075             : 
    4076             : #undef PSSK_ENABLED
    4077             : #endif
    4078             : 
    4079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4080             : 
    4081             : #undef D1_ENABLED
    4082             : 
    4083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4086             : 
    4087             : #undef Insertionb_ENABLED
    4088             : 
    4089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4090             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4092             : 
    4093             : #undef Arr_ENABLED
    4094             : 
    4095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4098             : 
    4099             : #undef setSorted_ENABLED
    4100             : 
    4101             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4102             : 
    4103             : #define setSorted_ENABLED 1
    4104             : 
    4105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4108             : 
    4109             : #define Arr_ENABLED 1
    4110             : 
    4111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4114             : 
    4115             : #define Merger_ENABLED 1
    4116             : 
    4117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4118             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4120             : 
    4121             : #define D0_ENABLED 1
    4122             : 
    4123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4124             : 
    4125             : #define SK_ENABLED 1
    4126             : 
    4127             : #if SK5_ENABLED
    4128             :     module procedure test_setSortedArrMerger_D0_SK5
    4129             :         use pm_kind, only: SKC => SK5
    4130             : #include "test_pm_arraySort@routines.inc.F90"
    4131             :     end procedure
    4132             : #endif
    4133             : 
    4134             : #if SK4_ENABLED
    4135             :     module procedure test_setSortedArrMerger_D0_SK4
    4136             :         use pm_kind, only: SKC => SK4
    4137             : #include "test_pm_arraySort@routines.inc.F90"
    4138             :     end procedure
    4139             : #endif
    4140             : 
    4141             : #if SK3_ENABLED
    4142             :     module procedure test_setSortedArrMerger_D0_SK3
    4143             :         use pm_kind, only: SKC => SK3
    4144             : #include "test_pm_arraySort@routines.inc.F90"
    4145             :     end procedure
    4146             : #endif
    4147             : 
    4148             : #if SK2_ENABLED
    4149             :     module procedure test_setSortedArrMerger_D0_SK2
    4150             :         use pm_kind, only: SKC => SK2
    4151             : #include "test_pm_arraySort@routines.inc.F90"
    4152             :     end procedure
    4153             : #endif
    4154             : 
    4155             : #if SK1_ENABLED
    4156           1 :     module procedure test_setSortedArrMerger_D0_SK1
    4157             :         use pm_kind, only: SKC => SK1
    4158             : #include "test_pm_arraySort@routines.inc.F90"
    4159             :     end procedure
    4160             : #endif
    4161             : 
    4162             : #undef SK_ENABLED
    4163             : 
    4164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4165             : 
    4166             : #undef D0_ENABLED
    4167             : 
    4168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4169             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4171             : 
    4172             : #define D1_ENABLED 1
    4173             : 
    4174             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4175             : 
    4176             : #define SK_ENABLED 1
    4177             : 
    4178             : #if SK5_ENABLED
    4179             :     module procedure test_setSortedArrMerger_D1_SK5
    4180             :         use pm_kind, only: SKC => SK5
    4181             : #include "test_pm_arraySort@routines.inc.F90"
    4182             :     end procedure
    4183             : #endif
    4184             : 
    4185             : #if SK4_ENABLED
    4186             :     module procedure test_setSortedArrMerger_D1_SK4
    4187             :         use pm_kind, only: SKC => SK4
    4188             : #include "test_pm_arraySort@routines.inc.F90"
    4189             :     end procedure
    4190             : #endif
    4191             : 
    4192             : #if SK3_ENABLED
    4193             :     module procedure test_setSortedArrMerger_D1_SK3
    4194             :         use pm_kind, only: SKC => SK3
    4195             : #include "test_pm_arraySort@routines.inc.F90"
    4196             :     end procedure
    4197             : #endif
    4198             : 
    4199             : #if SK2_ENABLED
    4200             :     module procedure test_setSortedArrMerger_D1_SK2
    4201             :         use pm_kind, only: SKC => SK2
    4202             : #include "test_pm_arraySort@routines.inc.F90"
    4203             :     end procedure
    4204             : #endif
    4205             : 
    4206             : #if SK1_ENABLED
    4207           1 :     module procedure test_setSortedArrMerger_D1_SK1
    4208             :         use pm_kind, only: SKC => SK1
    4209             : #include "test_pm_arraySort@routines.inc.F90"
    4210             :     end procedure
    4211             : #endif
    4212             : 
    4213             : #undef SK_ENABLED
    4214             : 
    4215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4216             : 
    4217             : #define IK_ENABLED 1
    4218             : 
    4219             : #if IK5_ENABLED
    4220           1 :     module procedure test_setSortedArrMerger_D1_IK5
    4221             :         use pm_kind, only: IKC => IK5
    4222             : #include "test_pm_arraySort@routines.inc.F90"
    4223             :     end procedure
    4224             : #endif
    4225             : 
    4226             : #if IK4_ENABLED
    4227           1 :     module procedure test_setSortedArrMerger_D1_IK4
    4228             :         use pm_kind, only: IKC => IK4
    4229             : #include "test_pm_arraySort@routines.inc.F90"
    4230             :     end procedure
    4231             : #endif
    4232             : 
    4233             : #if IK3_ENABLED
    4234           1 :     module procedure test_setSortedArrMerger_D1_IK3
    4235             :         use pm_kind, only: IKC => IK3
    4236             : #include "test_pm_arraySort@routines.inc.F90"
    4237             :     end procedure
    4238             : #endif
    4239             : 
    4240             : #if IK2_ENABLED
    4241           1 :     module procedure test_setSortedArrMerger_D1_IK2
    4242             :         use pm_kind, only: IKC => IK2
    4243             : #include "test_pm_arraySort@routines.inc.F90"
    4244             :     end procedure
    4245             : #endif
    4246             : 
    4247             : #if IK1_ENABLED
    4248           1 :     module procedure test_setSortedArrMerger_D1_IK1
    4249             :         use pm_kind, only: IKC => IK1
    4250             : #include "test_pm_arraySort@routines.inc.F90"
    4251             :     end procedure
    4252             : #endif
    4253             : 
    4254             : #undef IK_ENABLED
    4255             : 
    4256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4257             : 
    4258             : #define LK_ENABLED 1
    4259             : 
    4260             : #if LK5_ENABLED
    4261           1 :     module procedure test_setSortedArrMerger_D1_LK5
    4262             :         use pm_kind, only: LKC => LK5
    4263             : #include "test_pm_arraySort@routines.inc.F90"
    4264             :     end procedure
    4265             : #endif
    4266             : 
    4267             : #if LK4_ENABLED
    4268           1 :     module procedure test_setSortedArrMerger_D1_LK4
    4269             :         use pm_kind, only: LKC => LK4
    4270             : #include "test_pm_arraySort@routines.inc.F90"
    4271             :     end procedure
    4272             : #endif
    4273             : 
    4274             : #if LK3_ENABLED
    4275           1 :     module procedure test_setSortedArrMerger_D1_LK3
    4276             :         use pm_kind, only: LKC => LK3
    4277             : #include "test_pm_arraySort@routines.inc.F90"
    4278             :     end procedure
    4279             : #endif
    4280             : 
    4281             : #if LK2_ENABLED
    4282           1 :     module procedure test_setSortedArrMerger_D1_LK2
    4283             :         use pm_kind, only: LKC => LK2
    4284             : #include "test_pm_arraySort@routines.inc.F90"
    4285             :     end procedure
    4286             : #endif
    4287             : 
    4288             : #if LK1_ENABLED
    4289           1 :     module procedure test_setSortedArrMerger_D1_LK1
    4290             :         use pm_kind, only: LKC => LK1
    4291             : #include "test_pm_arraySort@routines.inc.F90"
    4292             :     end procedure
    4293             : #endif
    4294             : 
    4295             : #undef LK_ENABLED
    4296             : 
    4297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4298             : 
    4299             : #define CK_ENABLED 1
    4300             : 
    4301             : #if CK5_ENABLED
    4302             :     module procedure test_setSortedArrMerger_D1_CK5
    4303             :         use pm_kind, only: CKC => CK5
    4304             : #include "test_pm_arraySort@routines.inc.F90"
    4305             :     end procedure
    4306             : #endif
    4307             : 
    4308             : #if CK4_ENABLED
    4309           1 :     module procedure test_setSortedArrMerger_D1_CK4
    4310             :         use pm_kind, only: CKC => CK4
    4311             : #include "test_pm_arraySort@routines.inc.F90"
    4312             :     end procedure
    4313             : #endif
    4314             : 
    4315             : #if CK3_ENABLED
    4316           1 :     module procedure test_setSortedArrMerger_D1_CK3
    4317             :         use pm_kind, only: CKC => CK3
    4318             : #include "test_pm_arraySort@routines.inc.F90"
    4319             :     end procedure
    4320             : #endif
    4321             : 
    4322             : #if CK2_ENABLED
    4323           1 :     module procedure test_setSortedArrMerger_D1_CK2
    4324             :         use pm_kind, only: CKC => CK2
    4325             : #include "test_pm_arraySort@routines.inc.F90"
    4326             :     end procedure
    4327             : #endif
    4328             : 
    4329             : #if CK1_ENABLED
    4330           1 :     module procedure test_setSortedArrMerger_D1_CK1
    4331             :         use pm_kind, only: CKC => CK1
    4332             : #include "test_pm_arraySort@routines.inc.F90"
    4333             :     end procedure
    4334             : #endif
    4335             : 
    4336             : #undef CK_ENABLED
    4337             : 
    4338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4339             : 
    4340             : #define RK_ENABLED 1
    4341             : 
    4342             : #if RK5_ENABLED
    4343             :     module procedure test_setSortedArrMerger_D1_RK5
    4344             :         use pm_kind, only: RKC => RK5
    4345             : #include "test_pm_arraySort@routines.inc.F90"
    4346             :     end procedure
    4347             : #endif
    4348             : 
    4349             : #if RK4_ENABLED
    4350           1 :     module procedure test_setSortedArrMerger_D1_RK4
    4351             :         use pm_kind, only: RKC => RK4
    4352             : #include "test_pm_arraySort@routines.inc.F90"
    4353             :     end procedure
    4354             : #endif
    4355             : 
    4356             : #if RK3_ENABLED
    4357           1 :     module procedure test_setSortedArrMerger_D1_RK3
    4358             :         use pm_kind, only: RKC => RK3
    4359             : #include "test_pm_arraySort@routines.inc.F90"
    4360             :     end procedure
    4361             : #endif
    4362             : 
    4363             : #if RK2_ENABLED
    4364           1 :     module procedure test_setSortedArrMerger_D1_RK2
    4365             :         use pm_kind, only: RKC => RK2
    4366             : #include "test_pm_arraySort@routines.inc.F90"
    4367             :     end procedure
    4368             : #endif
    4369             : 
    4370             : #if RK1_ENABLED
    4371           1 :     module procedure test_setSortedArrMerger_D1_RK1
    4372             :         use pm_kind, only: RKC => RK1
    4373             : #include "test_pm_arraySort@routines.inc.F90"
    4374             :     end procedure
    4375             : #endif
    4376             : 
    4377             : #undef RK_ENABLED
    4378             : 
    4379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4380             : 
    4381             : #if PDT_ENABLED && 0
    4382             : #define PSSK_ENABLED 1
    4383             : 
    4384             : #if SK5_ENABLED
    4385             :     module procedure test_setSortedArrMerger_D1_PSSK5
    4386             :         use pm_kind, only: SKC => SK5
    4387             : #include "test_pm_arraySort@routines.inc.F90"
    4388             :     end procedure
    4389             : #endif
    4390             : 
    4391             : #if SK4_ENABLED
    4392             :     module procedure test_setSortedArrMerger_D1_PSSK4
    4393             :         use pm_kind, only: SKC => SK4
    4394             : #include "test_pm_arraySort@routines.inc.F90"
    4395             :     end procedure
    4396             : #endif
    4397             : 
    4398             : #if SK3_ENABLED
    4399             :     module procedure test_setSortedArrMerger_D1_PSSK3
    4400             :         use pm_kind, only: SKC => SK3
    4401             : #include "test_pm_arraySort@routines.inc.F90"
    4402             :     end procedure
    4403             : #endif
    4404             : 
    4405             : #if SK2_ENABLED
    4406             :     module procedure test_setSortedArrMerger_D1_PSSK2
    4407             :         use pm_kind, only: SKC => SK2
    4408             : #include "test_pm_arraySort@routines.inc.F90"
    4409             :     end procedure
    4410             : #endif
    4411             : 
    4412             : #if SK1_ENABLED
    4413             :     module procedure test_setSortedArrMerger_D1_PSSK1
    4414             :         use pm_kind, only: SKC => SK1
    4415             : #include "test_pm_arraySort@routines.inc.F90"
    4416             :     end procedure
    4417             : #endif
    4418             : 
    4419             : #undef PSSK_ENABLED
    4420             : #endif
    4421             : 
    4422             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4423             : 
    4424             : #undef D1_ENABLED
    4425             : 
    4426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4427             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4428             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4429             : 
    4430             : #undef Merger_ENABLED
    4431             : 
    4432             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4434             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4435             : 
    4436             : #undef Arr_ENABLED
    4437             : 
    4438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4441             : 
    4442             : #undef setSorted_ENABLED
    4443             : 
    4444             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4445             : 
    4446             : #define setSorted_ENABLED 1
    4447             : 
    4448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4451             : 
    4452             : #define Arr_ENABLED 1
    4453             : 
    4454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4457             : 
    4458             : #define Selection_ENABLED 1
    4459             : 
    4460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4463             : 
    4464             : #define D0_ENABLED 1
    4465             : 
    4466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4467             : 
    4468             : #define SK_ENABLED 1
    4469             : 
    4470             : #if SK5_ENABLED
    4471             :     module procedure test_setSortedArrSelection_D0_SK5
    4472             :         use pm_kind, only: SKC => SK5
    4473             : #include "test_pm_arraySort@routines.inc.F90"
    4474             :     end procedure
    4475             : #endif
    4476             : 
    4477             : #if SK4_ENABLED
    4478             :     module procedure test_setSortedArrSelection_D0_SK4
    4479             :         use pm_kind, only: SKC => SK4
    4480             : #include "test_pm_arraySort@routines.inc.F90"
    4481             :     end procedure
    4482             : #endif
    4483             : 
    4484             : #if SK3_ENABLED
    4485             :     module procedure test_setSortedArrSelection_D0_SK3
    4486             :         use pm_kind, only: SKC => SK3
    4487             : #include "test_pm_arraySort@routines.inc.F90"
    4488             :     end procedure
    4489             : #endif
    4490             : 
    4491             : #if SK2_ENABLED
    4492             :     module procedure test_setSortedArrSelection_D0_SK2
    4493             :         use pm_kind, only: SKC => SK2
    4494             : #include "test_pm_arraySort@routines.inc.F90"
    4495             :     end procedure
    4496             : #endif
    4497             : 
    4498             : #if SK1_ENABLED
    4499           1 :     module procedure test_setSortedArrSelection_D0_SK1
    4500             :         use pm_kind, only: SKC => SK1
    4501             : #include "test_pm_arraySort@routines.inc.F90"
    4502             :     end procedure
    4503             : #endif
    4504             : 
    4505             : #undef SK_ENABLED
    4506             : 
    4507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4508             : 
    4509             : #undef D0_ENABLED
    4510             : 
    4511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4514             : 
    4515             : #define D1_ENABLED 1
    4516             : 
    4517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4518             : 
    4519             : #define SK_ENABLED 1
    4520             : 
    4521             : #if SK5_ENABLED
    4522             :     module procedure test_setSortedArrSelection_D1_SK5
    4523             :         use pm_kind, only: SKC => SK5
    4524             : #include "test_pm_arraySort@routines.inc.F90"
    4525             :     end procedure
    4526             : #endif
    4527             : 
    4528             : #if SK4_ENABLED
    4529             :     module procedure test_setSortedArrSelection_D1_SK4
    4530             :         use pm_kind, only: SKC => SK4
    4531             : #include "test_pm_arraySort@routines.inc.F90"
    4532             :     end procedure
    4533             : #endif
    4534             : 
    4535             : #if SK3_ENABLED
    4536             :     module procedure test_setSortedArrSelection_D1_SK3
    4537             :         use pm_kind, only: SKC => SK3
    4538             : #include "test_pm_arraySort@routines.inc.F90"
    4539             :     end procedure
    4540             : #endif
    4541             : 
    4542             : #if SK2_ENABLED
    4543             :     module procedure test_setSortedArrSelection_D1_SK2
    4544             :         use pm_kind, only: SKC => SK2
    4545             : #include "test_pm_arraySort@routines.inc.F90"
    4546             :     end procedure
    4547             : #endif
    4548             : 
    4549             : #if SK1_ENABLED
    4550           1 :     module procedure test_setSortedArrSelection_D1_SK1
    4551             :         use pm_kind, only: SKC => SK1
    4552             : #include "test_pm_arraySort@routines.inc.F90"
    4553             :     end procedure
    4554             : #endif
    4555             : 
    4556             : #undef SK_ENABLED
    4557             : 
    4558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4559             : 
    4560             : #define IK_ENABLED 1
    4561             : 
    4562             : #if IK5_ENABLED
    4563           1 :     module procedure test_setSortedArrSelection_D1_IK5
    4564             :         use pm_kind, only: IKC => IK5
    4565             : #include "test_pm_arraySort@routines.inc.F90"
    4566             :     end procedure
    4567             : #endif
    4568             : 
    4569             : #if IK4_ENABLED
    4570           1 :     module procedure test_setSortedArrSelection_D1_IK4
    4571             :         use pm_kind, only: IKC => IK4
    4572             : #include "test_pm_arraySort@routines.inc.F90"
    4573             :     end procedure
    4574             : #endif
    4575             : 
    4576             : #if IK3_ENABLED
    4577           1 :     module procedure test_setSortedArrSelection_D1_IK3
    4578             :         use pm_kind, only: IKC => IK3
    4579             : #include "test_pm_arraySort@routines.inc.F90"
    4580             :     end procedure
    4581             : #endif
    4582             : 
    4583             : #if IK2_ENABLED
    4584           1 :     module procedure test_setSortedArrSelection_D1_IK2
    4585             :         use pm_kind, only: IKC => IK2
    4586             : #include "test_pm_arraySort@routines.inc.F90"
    4587             :     end procedure
    4588             : #endif
    4589             : 
    4590             : #if IK1_ENABLED
    4591           1 :     module procedure test_setSortedArrSelection_D1_IK1
    4592             :         use pm_kind, only: IKC => IK1
    4593             : #include "test_pm_arraySort@routines.inc.F90"
    4594             :     end procedure
    4595             : #endif
    4596             : 
    4597             : #undef IK_ENABLED
    4598             : 
    4599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4600             : 
    4601             : #define LK_ENABLED 1
    4602             : 
    4603             : #if LK5_ENABLED
    4604           1 :     module procedure test_setSortedArrSelection_D1_LK5
    4605             :         use pm_kind, only: LKC => LK5
    4606             : #include "test_pm_arraySort@routines.inc.F90"
    4607             :     end procedure
    4608             : #endif
    4609             : 
    4610             : #if LK4_ENABLED
    4611           1 :     module procedure test_setSortedArrSelection_D1_LK4
    4612             :         use pm_kind, only: LKC => LK4
    4613             : #include "test_pm_arraySort@routines.inc.F90"
    4614             :     end procedure
    4615             : #endif
    4616             : 
    4617             : #if LK3_ENABLED
    4618           1 :     module procedure test_setSortedArrSelection_D1_LK3
    4619             :         use pm_kind, only: LKC => LK3
    4620             : #include "test_pm_arraySort@routines.inc.F90"
    4621             :     end procedure
    4622             : #endif
    4623             : 
    4624             : #if LK2_ENABLED
    4625           1 :     module procedure test_setSortedArrSelection_D1_LK2
    4626             :         use pm_kind, only: LKC => LK2
    4627             : #include "test_pm_arraySort@routines.inc.F90"
    4628             :     end procedure
    4629             : #endif
    4630             : 
    4631             : #if LK1_ENABLED
    4632           1 :     module procedure test_setSortedArrSelection_D1_LK1
    4633             :         use pm_kind, only: LKC => LK1
    4634             : #include "test_pm_arraySort@routines.inc.F90"
    4635             :     end procedure
    4636             : #endif
    4637             : 
    4638             : #undef LK_ENABLED
    4639             : 
    4640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4641             : 
    4642             : #define CK_ENABLED 1
    4643             : 
    4644             : #if CK5_ENABLED
    4645             :     module procedure test_setSortedArrSelection_D1_CK5
    4646             :         use pm_kind, only: CKC => CK5
    4647             : #include "test_pm_arraySort@routines.inc.F90"
    4648             :     end procedure
    4649             : #endif
    4650             : 
    4651             : #if CK4_ENABLED
    4652           1 :     module procedure test_setSortedArrSelection_D1_CK4
    4653             :         use pm_kind, only: CKC => CK4
    4654             : #include "test_pm_arraySort@routines.inc.F90"
    4655             :     end procedure
    4656             : #endif
    4657             : 
    4658             : #if CK3_ENABLED
    4659           1 :     module procedure test_setSortedArrSelection_D1_CK3
    4660             :         use pm_kind, only: CKC => CK3
    4661             : #include "test_pm_arraySort@routines.inc.F90"
    4662             :     end procedure
    4663             : #endif
    4664             : 
    4665             : #if CK2_ENABLED
    4666           1 :     module procedure test_setSortedArrSelection_D1_CK2
    4667             :         use pm_kind, only: CKC => CK2
    4668             : #include "test_pm_arraySort@routines.inc.F90"
    4669             :     end procedure
    4670             : #endif
    4671             : 
    4672             : #if CK1_ENABLED
    4673           1 :     module procedure test_setSortedArrSelection_D1_CK1
    4674             :         use pm_kind, only: CKC => CK1
    4675             : #include "test_pm_arraySort@routines.inc.F90"
    4676             :     end procedure
    4677             : #endif
    4678             : 
    4679             : #undef CK_ENABLED
    4680             : 
    4681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4682             : 
    4683             : #define RK_ENABLED 1
    4684             : 
    4685             : #if RK5_ENABLED
    4686             :     module procedure test_setSortedArrSelection_D1_RK5
    4687             :         use pm_kind, only: RKC => RK5
    4688             : #include "test_pm_arraySort@routines.inc.F90"
    4689             :     end procedure
    4690             : #endif
    4691             : 
    4692             : #if RK4_ENABLED
    4693           1 :     module procedure test_setSortedArrSelection_D1_RK4
    4694             :         use pm_kind, only: RKC => RK4
    4695             : #include "test_pm_arraySort@routines.inc.F90"
    4696             :     end procedure
    4697             : #endif
    4698             : 
    4699             : #if RK3_ENABLED
    4700           1 :     module procedure test_setSortedArrSelection_D1_RK3
    4701             :         use pm_kind, only: RKC => RK3
    4702             : #include "test_pm_arraySort@routines.inc.F90"
    4703             :     end procedure
    4704             : #endif
    4705             : 
    4706             : #if RK2_ENABLED
    4707           1 :     module procedure test_setSortedArrSelection_D1_RK2
    4708             :         use pm_kind, only: RKC => RK2
    4709             : #include "test_pm_arraySort@routines.inc.F90"
    4710             :     end procedure
    4711             : #endif
    4712             : 
    4713             : #if RK1_ENABLED
    4714           1 :     module procedure test_setSortedArrSelection_D1_RK1
    4715             :         use pm_kind, only: RKC => RK1
    4716             : #include "test_pm_arraySort@routines.inc.F90"
    4717             :     end procedure
    4718             : #endif
    4719             : 
    4720             : #undef RK_ENABLED
    4721             : 
    4722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4723             : 
    4724             : #if PDT_ENABLED && 0
    4725             : #define PSSK_ENABLED 1
    4726             : 
    4727             : #if SK5_ENABLED
    4728             :     module procedure test_setSortedArrSelection_D1_PSSK5
    4729             :         use pm_kind, only: SKC => SK5
    4730             : #include "test_pm_arraySort@routines.inc.F90"
    4731             :     end procedure
    4732             : #endif
    4733             : 
    4734             : #if SK4_ENABLED
    4735             :     module procedure test_setSortedArrSelection_D1_PSSK4
    4736             :         use pm_kind, only: SKC => SK4
    4737             : #include "test_pm_arraySort@routines.inc.F90"
    4738             :     end procedure
    4739             : #endif
    4740             : 
    4741             : #if SK3_ENABLED
    4742             :     module procedure test_setSortedArrSelection_D1_PSSK3
    4743             :         use pm_kind, only: SKC => SK3
    4744             : #include "test_pm_arraySort@routines.inc.F90"
    4745             :     end procedure
    4746             : #endif
    4747             : 
    4748             : #if SK2_ENABLED
    4749             :     module procedure test_setSortedArrSelection_D1_PSSK2
    4750             :         use pm_kind, only: SKC => SK2
    4751             : #include "test_pm_arraySort@routines.inc.F90"
    4752             :     end procedure
    4753             : #endif
    4754             : 
    4755             : #if SK1_ENABLED
    4756             :     module procedure test_setSortedArrSelection_D1_PSSK1
    4757             :         use pm_kind, only: SKC => SK1
    4758             : #include "test_pm_arraySort@routines.inc.F90"
    4759             :     end procedure
    4760             : #endif
    4761             : 
    4762             : #undef PSSK_ENABLED
    4763             : #endif
    4764             : 
    4765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4766             : 
    4767             : #undef D1_ENABLED
    4768             : 
    4769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4772             : 
    4773             : #undef Selection_ENABLED
    4774             : 
    4775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4778             : 
    4779             : #undef Arr_ENABLED
    4780             : 
    4781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4782             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4784             : 
    4785             : #undef setSorted_ENABLED
    4786             : 
    4787             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4788             : 
    4789             : #define setSorted_ENABLED 1
    4790             : 
    4791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4792             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4794             : 
    4795             : #define Arr_ENABLED 1
    4796             : 
    4797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4800             : 
    4801             : #define Shell_ENABLED 1
    4802             : 
    4803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4806             : 
    4807             : #define D0_ENABLED 1
    4808             : 
    4809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4810             : 
    4811             : #define SK_ENABLED 1
    4812             : 
    4813             : #if SK5_ENABLED
    4814             :     module procedure test_setSortedArrShell_D0_SK5
    4815             :         use pm_kind, only: SKC => SK5
    4816             : #include "test_pm_arraySort@routines.inc.F90"
    4817             :     end procedure
    4818             : #endif
    4819             : 
    4820             : #if SK4_ENABLED
    4821             :     module procedure test_setSortedArrShell_D0_SK4
    4822             :         use pm_kind, only: SKC => SK4
    4823             : #include "test_pm_arraySort@routines.inc.F90"
    4824             :     end procedure
    4825             : #endif
    4826             : 
    4827             : #if SK3_ENABLED
    4828             :     module procedure test_setSortedArrShell_D0_SK3
    4829             :         use pm_kind, only: SKC => SK3
    4830             : #include "test_pm_arraySort@routines.inc.F90"
    4831             :     end procedure
    4832             : #endif
    4833             : 
    4834             : #if SK2_ENABLED
    4835             :     module procedure test_setSortedArrShell_D0_SK2
    4836             :         use pm_kind, only: SKC => SK2
    4837             : #include "test_pm_arraySort@routines.inc.F90"
    4838             :     end procedure
    4839             : #endif
    4840             : 
    4841             : #if SK1_ENABLED
    4842           1 :     module procedure test_setSortedArrShell_D0_SK1
    4843             :         use pm_kind, only: SKC => SK1
    4844             : #include "test_pm_arraySort@routines.inc.F90"
    4845             :     end procedure
    4846             : #endif
    4847             : 
    4848             : #undef SK_ENABLED
    4849             : 
    4850             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4851             : 
    4852             : #undef D0_ENABLED
    4853             : 
    4854             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4856             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4857             : 
    4858             : #define D1_ENABLED 1
    4859             : 
    4860             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4861             : 
    4862             : #define SK_ENABLED 1
    4863             : 
    4864             : #if SK5_ENABLED
    4865             :     module procedure test_setSortedArrShell_D1_SK5
    4866             :         use pm_kind, only: SKC => SK5
    4867             : #include "test_pm_arraySort@routines.inc.F90"
    4868             :     end procedure
    4869             : #endif
    4870             : 
    4871             : #if SK4_ENABLED
    4872             :     module procedure test_setSortedArrShell_D1_SK4
    4873             :         use pm_kind, only: SKC => SK4
    4874             : #include "test_pm_arraySort@routines.inc.F90"
    4875             :     end procedure
    4876             : #endif
    4877             : 
    4878             : #if SK3_ENABLED
    4879             :     module procedure test_setSortedArrShell_D1_SK3
    4880             :         use pm_kind, only: SKC => SK3
    4881             : #include "test_pm_arraySort@routines.inc.F90"
    4882             :     end procedure
    4883             : #endif
    4884             : 
    4885             : #if SK2_ENABLED
    4886             :     module procedure test_setSortedArrShell_D1_SK2
    4887             :         use pm_kind, only: SKC => SK2
    4888             : #include "test_pm_arraySort@routines.inc.F90"
    4889             :     end procedure
    4890             : #endif
    4891             : 
    4892             : #if SK1_ENABLED
    4893           1 :     module procedure test_setSortedArrShell_D1_SK1
    4894             :         use pm_kind, only: SKC => SK1
    4895             : #include "test_pm_arraySort@routines.inc.F90"
    4896             :     end procedure
    4897             : #endif
    4898             : 
    4899             : #undef SK_ENABLED
    4900             : 
    4901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4902             : 
    4903             : #define IK_ENABLED 1
    4904             : 
    4905             : #if IK5_ENABLED
    4906           1 :     module procedure test_setSortedArrShell_D1_IK5
    4907             :         use pm_kind, only: IKC => IK5
    4908             : #include "test_pm_arraySort@routines.inc.F90"
    4909             :     end procedure
    4910             : #endif
    4911             : 
    4912             : #if IK4_ENABLED
    4913           1 :     module procedure test_setSortedArrShell_D1_IK4
    4914             :         use pm_kind, only: IKC => IK4
    4915             : #include "test_pm_arraySort@routines.inc.F90"
    4916             :     end procedure
    4917             : #endif
    4918             : 
    4919             : #if IK3_ENABLED
    4920           1 :     module procedure test_setSortedArrShell_D1_IK3
    4921             :         use pm_kind, only: IKC => IK3
    4922             : #include "test_pm_arraySort@routines.inc.F90"
    4923             :     end procedure
    4924             : #endif
    4925             : 
    4926             : #if IK2_ENABLED
    4927           1 :     module procedure test_setSortedArrShell_D1_IK2
    4928             :         use pm_kind, only: IKC => IK2
    4929             : #include "test_pm_arraySort@routines.inc.F90"
    4930             :     end procedure
    4931             : #endif
    4932             : 
    4933             : #if IK1_ENABLED
    4934           1 :     module procedure test_setSortedArrShell_D1_IK1
    4935             :         use pm_kind, only: IKC => IK1
    4936             : #include "test_pm_arraySort@routines.inc.F90"
    4937             :     end procedure
    4938             : #endif
    4939             : 
    4940             : #undef IK_ENABLED
    4941             : 
    4942             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4943             : 
    4944             : #define LK_ENABLED 1
    4945             : 
    4946             : #if LK5_ENABLED
    4947           1 :     module procedure test_setSortedArrShell_D1_LK5
    4948             :         use pm_kind, only: LKC => LK5
    4949             : #include "test_pm_arraySort@routines.inc.F90"
    4950             :     end procedure
    4951             : #endif
    4952             : 
    4953             : #if LK4_ENABLED
    4954           1 :     module procedure test_setSortedArrShell_D1_LK4
    4955             :         use pm_kind, only: LKC => LK4
    4956             : #include "test_pm_arraySort@routines.inc.F90"
    4957             :     end procedure
    4958             : #endif
    4959             : 
    4960             : #if LK3_ENABLED
    4961           1 :     module procedure test_setSortedArrShell_D1_LK3
    4962             :         use pm_kind, only: LKC => LK3
    4963             : #include "test_pm_arraySort@routines.inc.F90"
    4964             :     end procedure
    4965             : #endif
    4966             : 
    4967             : #if LK2_ENABLED
    4968           1 :     module procedure test_setSortedArrShell_D1_LK2
    4969             :         use pm_kind, only: LKC => LK2
    4970             : #include "test_pm_arraySort@routines.inc.F90"
    4971             :     end procedure
    4972             : #endif
    4973             : 
    4974             : #if LK1_ENABLED
    4975           1 :     module procedure test_setSortedArrShell_D1_LK1
    4976             :         use pm_kind, only: LKC => LK1
    4977             : #include "test_pm_arraySort@routines.inc.F90"
    4978             :     end procedure
    4979             : #endif
    4980             : 
    4981             : #undef LK_ENABLED
    4982             : 
    4983             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4984             : 
    4985             : #define CK_ENABLED 1
    4986             : 
    4987             : #if CK5_ENABLED
    4988             :     module procedure test_setSortedArrShell_D1_CK5
    4989             :         use pm_kind, only: CKC => CK5
    4990             : #include "test_pm_arraySort@routines.inc.F90"
    4991             :     end procedure
    4992             : #endif
    4993             : 
    4994             : #if CK4_ENABLED
    4995           1 :     module procedure test_setSortedArrShell_D1_CK4
    4996             :         use pm_kind, only: CKC => CK4
    4997             : #include "test_pm_arraySort@routines.inc.F90"
    4998             :     end procedure
    4999             : #endif
    5000             : 
    5001             : #if CK3_ENABLED
    5002           1 :     module procedure test_setSortedArrShell_D1_CK3
    5003             :         use pm_kind, only: CKC => CK3
    5004             : #include "test_pm_arraySort@routines.inc.F90"
    5005             :     end procedure
    5006             : #endif
    5007             : 
    5008             : #if CK2_ENABLED
    5009           1 :     module procedure test_setSortedArrShell_D1_CK2
    5010             :         use pm_kind, only: CKC => CK2
    5011             : #include "test_pm_arraySort@routines.inc.F90"
    5012             :     end procedure
    5013             : #endif
    5014             : 
    5015             : #if CK1_ENABLED
    5016           1 :     module procedure test_setSortedArrShell_D1_CK1
    5017             :         use pm_kind, only: CKC => CK1
    5018             : #include "test_pm_arraySort@routines.inc.F90"
    5019             :     end procedure
    5020             : #endif
    5021             : 
    5022             : #undef CK_ENABLED
    5023             : 
    5024             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5025             : 
    5026             : #define RK_ENABLED 1
    5027             : 
    5028             : #if RK5_ENABLED
    5029             :     module procedure test_setSortedArrShell_D1_RK5
    5030             :         use pm_kind, only: RKC => RK5
    5031             : #include "test_pm_arraySort@routines.inc.F90"
    5032             :     end procedure
    5033             : #endif
    5034             : 
    5035             : #if RK4_ENABLED
    5036           1 :     module procedure test_setSortedArrShell_D1_RK4
    5037             :         use pm_kind, only: RKC => RK4
    5038             : #include "test_pm_arraySort@routines.inc.F90"
    5039             :     end procedure
    5040             : #endif
    5041             : 
    5042             : #if RK3_ENABLED
    5043           1 :     module procedure test_setSortedArrShell_D1_RK3
    5044             :         use pm_kind, only: RKC => RK3
    5045             : #include "test_pm_arraySort@routines.inc.F90"
    5046             :     end procedure
    5047             : #endif
    5048             : 
    5049             : #if RK2_ENABLED
    5050           1 :     module procedure test_setSortedArrShell_D1_RK2
    5051             :         use pm_kind, only: RKC => RK2
    5052             : #include "test_pm_arraySort@routines.inc.F90"
    5053             :     end procedure
    5054             : #endif
    5055             : 
    5056             : #if RK1_ENABLED
    5057           1 :     module procedure test_setSortedArrShell_D1_RK1
    5058             :         use pm_kind, only: RKC => RK1
    5059             : #include "test_pm_arraySort@routines.inc.F90"
    5060             :     end procedure
    5061             : #endif
    5062             : 
    5063             : #undef RK_ENABLED
    5064             : 
    5065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5066             : 
    5067             : #if PDT_ENABLED && 0
    5068             : #define PSSK_ENABLED 1
    5069             : 
    5070             : #if SK5_ENABLED
    5071             :     module procedure test_setSortedArrShell_D1_PSSK5
    5072             :         use pm_kind, only: SKC => SK5
    5073             : #include "test_pm_arraySort@routines.inc.F90"
    5074             :     end procedure
    5075             : #endif
    5076             : 
    5077             : #if SK4_ENABLED
    5078             :     module procedure test_setSortedArrShell_D1_PSSK4
    5079             :         use pm_kind, only: SKC => SK4
    5080             : #include "test_pm_arraySort@routines.inc.F90"
    5081             :     end procedure
    5082             : #endif
    5083             : 
    5084             : #if SK3_ENABLED
    5085             :     module procedure test_setSortedArrShell_D1_PSSK3
    5086             :         use pm_kind, only: SKC => SK3
    5087             : #include "test_pm_arraySort@routines.inc.F90"
    5088             :     end procedure
    5089             : #endif
    5090             : 
    5091             : #if SK2_ENABLED
    5092             :     module procedure test_setSortedArrShell_D1_PSSK2
    5093             :         use pm_kind, only: SKC => SK2
    5094             : #include "test_pm_arraySort@routines.inc.F90"
    5095             :     end procedure
    5096             : #endif
    5097             : 
    5098             : #if SK1_ENABLED
    5099             :     module procedure test_setSortedArrShell_D1_PSSK1
    5100             :         use pm_kind, only: SKC => SK1
    5101             : #include "test_pm_arraySort@routines.inc.F90"
    5102             :     end procedure
    5103             : #endif
    5104             : 
    5105             : #undef PSSK_ENABLED
    5106             : #endif
    5107             : 
    5108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5109             : 
    5110             : #undef D1_ENABLED
    5111             : 
    5112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5115             : 
    5116             : #undef Shell_ENABLED
    5117             : 
    5118             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5121             : 
    5122             : #undef Arr_ENABLED
    5123             : 
    5124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5127             : 
    5128             : #undef setSorted_ENABLED
    5129             : 
    5130             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5131             : 
    5132             : end submodule routines

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