https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arraySort@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 1001 1201 83.3 %
Date: 2024-04-08 03:18:57 Functions: 633 757 83.6 %
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             : !>  \finmain
      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 (pm_arraySort) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_container, only: css_pdt
      40             :     use pm_container, only: css_type
      41             :     use pm_arrayMerge, only: setMerged
      42             : 
      43             :     implicit none
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : contains
      48             : 
      49             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             : 
      51             : #define isAscendingAll_ENABLED 1
      52             : 
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define DefCom_ENABLED 1
      58             : 
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define D0_ENABLED 1
      64             : 
      65             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      66             : 
      67             : 
      68             : #define SK_ENABLED 1
      69             : 
      70             : #if SK5_ENABLED
      71             :     module procedure isAscendingAllDefCom_D0_SK5
      72             :         use pm_kind, only: SKC => SK5
      73             : #include "pm_arraySort@routines.inc.F90"
      74             :     end procedure
      75             : #endif
      76             : 
      77             : #if SK4_ENABLED
      78             :     module procedure isAscendingAllDefCom_D0_SK4
      79             :         use pm_kind, only: SKC => SK4
      80             : #include "pm_arraySort@routines.inc.F90"
      81             :     end procedure
      82             : #endif
      83             : 
      84             : #if SK3_ENABLED
      85             :     module procedure isAscendingAllDefCom_D0_SK3
      86             :         use pm_kind, only: SKC => SK3
      87             : #include "pm_arraySort@routines.inc.F90"
      88             :     end procedure
      89             : #endif
      90             : 
      91             : #if SK2_ENABLED
      92             :     module procedure isAscendingAllDefCom_D0_SK2
      93             :         use pm_kind, only: SKC => SK2
      94             : #include "pm_arraySort@routines.inc.F90"
      95             :     end procedure
      96             : #endif
      97             : 
      98             : #if SK1_ENABLED
      99           5 :     module procedure isAscendingAllDefCom_D0_SK1
     100             :         use pm_kind, only: SKC => SK1
     101             : #include "pm_arraySort@routines.inc.F90"
     102             :     end procedure
     103             : #endif
     104             : 
     105             : #undef SK_ENABLED
     106             : 
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             : 
     109             : #undef D0_ENABLED
     110             : 
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     114             : 
     115             : #define D1_ENABLED 1
     116             : 
     117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     118             : 
     119             : #define SK_ENABLED 1
     120             : 
     121             : #if SK5_ENABLED
     122             :     module procedure isAscendingAllDefCom_D1_SK5
     123             :         use pm_kind, only: SKC => SK5
     124             : #include "pm_arraySort@routines.inc.F90"
     125             :     end procedure
     126             : #endif
     127             : 
     128             : #if SK4_ENABLED
     129             :     module procedure isAscendingAllDefCom_D1_SK4
     130             :         use pm_kind, only: SKC => SK4
     131             : #include "pm_arraySort@routines.inc.F90"
     132             :     end procedure
     133             : #endif
     134             : 
     135             : #if SK3_ENABLED
     136             :     module procedure isAscendingAllDefCom_D1_SK3
     137             :         use pm_kind, only: SKC => SK3
     138             : #include "pm_arraySort@routines.inc.F90"
     139             :     end procedure
     140             : #endif
     141             : 
     142             : #if SK2_ENABLED
     143             :     module procedure isAscendingAllDefCom_D1_SK2
     144             :         use pm_kind, only: SKC => SK2
     145             : #include "pm_arraySort@routines.inc.F90"
     146             :     end procedure
     147             : #endif
     148             : 
     149             : #if SK1_ENABLED
     150           5 :     module procedure isAscendingAllDefCom_D1_SK1
     151             :         use pm_kind, only: SKC => SK1
     152             : #include "pm_arraySort@routines.inc.F90"
     153             :     end procedure
     154             : #endif
     155             : 
     156             : #undef SK_ENABLED
     157             : 
     158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     159             : 
     160             : #define IK_ENABLED 1
     161             : 
     162             : #if IK5_ENABLED
     163           0 :     module procedure isAscendingAllDefCom_D1_IK5
     164             :         use pm_kind, only: IKC => IK5
     165             : #include "pm_arraySort@routines.inc.F90"
     166           0 :     end procedure
     167             : #endif
     168             : 
     169             : #if IK4_ENABLED
     170           0 :     module procedure isAscendingAllDefCom_D1_IK4
     171             :         use pm_kind, only: IKC => IK4
     172             : #include "pm_arraySort@routines.inc.F90"
     173           0 :     end procedure
     174             : #endif
     175             : 
     176             : #if IK3_ENABLED
     177           5 :     module procedure isAscendingAllDefCom_D1_IK3
     178             :         use pm_kind, only: IKC => IK3
     179             : #include "pm_arraySort@routines.inc.F90"
     180           2 :     end procedure
     181             : #endif
     182             : 
     183             : #if IK2_ENABLED
     184           0 :     module procedure isAscendingAllDefCom_D1_IK2
     185             :         use pm_kind, only: IKC => IK2
     186             : #include "pm_arraySort@routines.inc.F90"
     187           0 :     end procedure
     188             : #endif
     189             : 
     190             : #if IK1_ENABLED
     191           0 :     module procedure isAscendingAllDefCom_D1_IK1
     192             :         use pm_kind, only: IKC => IK1
     193             : #include "pm_arraySort@routines.inc.F90"
     194           0 :     end procedure
     195             : #endif
     196             : 
     197             : #undef IK_ENABLED
     198             : 
     199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     200             : 
     201             : #define LK_ENABLED 1
     202             : 
     203             : #if LK5_ENABLED
     204           0 :     module procedure isAscendingAllDefCom_D1_LK5
     205             :         use pm_kind, only: LKC => LK5
     206             : #include "pm_arraySort@routines.inc.F90"
     207             :     end procedure
     208             : #endif
     209             : 
     210             : #if LK4_ENABLED
     211           0 :     module procedure isAscendingAllDefCom_D1_LK4
     212             :         use pm_kind, only: LKC => LK4
     213             : #include "pm_arraySort@routines.inc.F90"
     214             :     end procedure
     215             : #endif
     216             : 
     217             : #if LK3_ENABLED
     218           5 :     module procedure isAscendingAllDefCom_D1_LK3
     219             :         use pm_kind, only: LKC => LK3
     220             : #include "pm_arraySort@routines.inc.F90"
     221             :     end procedure
     222             : #endif
     223             : 
     224             : #if LK2_ENABLED
     225           0 :     module procedure isAscendingAllDefCom_D1_LK2
     226             :         use pm_kind, only: LKC => LK2
     227             : #include "pm_arraySort@routines.inc.F90"
     228             :     end procedure
     229             : #endif
     230             : 
     231             : #if LK1_ENABLED
     232           0 :     module procedure isAscendingAllDefCom_D1_LK1
     233             :         use pm_kind, only: LKC => LK1
     234             : #include "pm_arraySort@routines.inc.F90"
     235             :     end procedure
     236             : #endif
     237             : 
     238             : #undef LK_ENABLED
     239             : 
     240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     241             : 
     242             : #define CK_ENABLED 1
     243             : 
     244             : #if CK5_ENABLED
     245             :     module procedure isAscendingAllDefCom_D1_CK5
     246             :         use pm_kind, only: CKC => CK5
     247             : #include "pm_arraySort@routines.inc.F90"
     248             :     end procedure
     249             : #endif
     250             : 
     251             : #if CK4_ENABLED
     252           0 :     module procedure isAscendingAllDefCom_D1_CK4
     253             :         use pm_kind, only: CKC => CK4
     254             : #include "pm_arraySort@routines.inc.F90"
     255           0 :     end procedure
     256             : #endif
     257             : 
     258             : #if CK3_ENABLED
     259           0 :     module procedure isAscendingAllDefCom_D1_CK3
     260             :         use pm_kind, only: CKC => CK3
     261             : #include "pm_arraySort@routines.inc.F90"
     262           0 :     end procedure
     263             : #endif
     264             : 
     265             : #if CK2_ENABLED
     266           0 :     module procedure isAscendingAllDefCom_D1_CK2
     267             :         use pm_kind, only: CKC => CK2
     268             : #include "pm_arraySort@routines.inc.F90"
     269           0 :     end procedure
     270             : #endif
     271             : 
     272             : #if CK1_ENABLED
     273           6 :     module procedure isAscendingAllDefCom_D1_CK1
     274             :         use pm_kind, only: CKC => CK1
     275             : #include "pm_arraySort@routines.inc.F90"
     276           2 :     end procedure
     277             : #endif
     278             : 
     279             : #undef CK_ENABLED
     280             : 
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #define RK_ENABLED 1
     284             : 
     285             : #if RK5_ENABLED
     286             :     module procedure isAscendingAllDefCom_D1_RK5
     287             :         use pm_kind, only: RKC => RK5
     288             : #include "pm_arraySort@routines.inc.F90"
     289             :     end procedure
     290             : #endif
     291             : 
     292             : #if RK4_ENABLED
     293           0 :     module procedure isAscendingAllDefCom_D1_RK4
     294             :         use pm_kind, only: RKC => RK4
     295             : #include "pm_arraySort@routines.inc.F90"
     296           0 :     end procedure
     297             : #endif
     298             : 
     299             : #if RK3_ENABLED
     300           0 :     module procedure isAscendingAllDefCom_D1_RK3
     301             :         use pm_kind, only: RKC => RK3
     302             : #include "pm_arraySort@routines.inc.F90"
     303           0 :     end procedure
     304             : #endif
     305             : 
     306             : #if RK2_ENABLED
     307           0 :     module procedure isAscendingAllDefCom_D1_RK2
     308             :         use pm_kind, only: RKC => RK2
     309             : #include "pm_arraySort@routines.inc.F90"
     310           0 :     end procedure
     311             : #endif
     312             : 
     313             : #if RK1_ENABLED
     314         254 :     module procedure isAscendingAllDefCom_D1_RK1
     315             :         use pm_kind, only: RKC => RK1
     316             : #include "pm_arraySort@routines.inc.F90"
     317         251 :     end procedure
     318             : #endif
     319             : 
     320             : #undef RK_ENABLED
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             : 
     324             : #if !__GFORTRAN__
     325             : #define PSSK_ENABLED 1
     326             : 
     327             : #if SK5_ENABLED
     328             :     module procedure isAscendingAllDefCom_D1_PSSK5
     329             :         use pm_kind, only: SKC => SK5
     330             : #include "pm_arraySort@routines.inc.F90"
     331             :     end procedure
     332             : #endif
     333             : 
     334             : #if SK4_ENABLED
     335             :     module procedure isAscendingAllDefCom_D1_PSSK4
     336             :         use pm_kind, only: SKC => SK4
     337             : #include "pm_arraySort@routines.inc.F90"
     338             :     end procedure
     339             : #endif
     340             : 
     341             : #if SK3_ENABLED
     342             :     module procedure isAscendingAllDefCom_D1_PSSK3
     343             :         use pm_kind, only: SKC => SK3
     344             : #include "pm_arraySort@routines.inc.F90"
     345             :     end procedure
     346             : #endif
     347             : 
     348             : #if SK2_ENABLED
     349             :     module procedure isAscendingAllDefCom_D1_PSSK2
     350             :         use pm_kind, only: SKC => SK2
     351             : #include "pm_arraySort@routines.inc.F90"
     352             :     end procedure
     353             : #endif
     354             : 
     355             : #if SK1_ENABLED
     356             :     module procedure isAscendingAllDefCom_D1_PSSK1
     357             :         use pm_kind, only: SKC => SK1
     358             : #include "pm_arraySort@routines.inc.F90"
     359             :     end procedure
     360             : #endif
     361             : 
     362             : #undef PSSK_ENABLED
     363             : #endif
     364             : 
     365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     366             : 
     367             : #define BSSK_ENABLED 1
     368             : 
     369           0 :     module procedure isAscendingAllDefCom_D1_BSSK
     370             :         use pm_kind, only: SKC => SK
     371             : #include "pm_arraySort@routines.inc.F90"
     372             :     end procedure
     373             : 
     374             : #undef BSSK_ENABLED
     375             : 
     376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     377             : 
     378             : #undef D1_ENABLED
     379             : 
     380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     383             : 
     384             : #undef DefCom_ENABLED
     385             : 
     386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     389             : 
     390             : #undef isAscendingAll_ENABLED
     391             : 
     392             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     393             : 
     394             : #define isDescendingAll_ENABLED 1
     395             : 
     396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     399             : 
     400             : #define DefCom_ENABLED 1
     401             : 
     402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     405             : 
     406             : #define D0_ENABLED 1
     407             : 
     408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     409             : 
     410             : 
     411             : #define SK_ENABLED 1
     412             : 
     413             : #if SK5_ENABLED
     414             :     module procedure isDescendingAllDefCom_D0_SK5
     415             :         use pm_kind, only: SKC => SK5
     416             : #include "pm_arraySort@routines.inc.F90"
     417             :     end procedure
     418             : #endif
     419             : 
     420             : #if SK4_ENABLED
     421             :     module procedure isDescendingAllDefCom_D0_SK4
     422             :         use pm_kind, only: SKC => SK4
     423             : #include "pm_arraySort@routines.inc.F90"
     424             :     end procedure
     425             : #endif
     426             : 
     427             : #if SK3_ENABLED
     428             :     module procedure isDescendingAllDefCom_D0_SK3
     429             :         use pm_kind, only: SKC => SK3
     430             : #include "pm_arraySort@routines.inc.F90"
     431             :     end procedure
     432             : #endif
     433             : 
     434             : #if SK2_ENABLED
     435             :     module procedure isDescendingAllDefCom_D0_SK2
     436             :         use pm_kind, only: SKC => SK2
     437             : #include "pm_arraySort@routines.inc.F90"
     438             :     end procedure
     439             : #endif
     440             : 
     441             : #if SK1_ENABLED
     442           5 :     module procedure isDescendingAllDefCom_D0_SK1
     443             :         use pm_kind, only: SKC => SK1
     444             : #include "pm_arraySort@routines.inc.F90"
     445             :     end procedure
     446             : #endif
     447             : 
     448             : #undef SK_ENABLED
     449             : 
     450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     451             : 
     452             : #undef D0_ENABLED
     453             : 
     454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     457             : 
     458             : #define D1_ENABLED 1
     459             : 
     460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     461             : 
     462             : #define SK_ENABLED 1
     463             : 
     464             : #if SK5_ENABLED
     465             :     module procedure isDescendingAllDefCom_D1_SK5
     466             :         use pm_kind, only: SKC => SK5
     467             : #include "pm_arraySort@routines.inc.F90"
     468             :     end procedure
     469             : #endif
     470             : 
     471             : #if SK4_ENABLED
     472             :     module procedure isDescendingAllDefCom_D1_SK4
     473             :         use pm_kind, only: SKC => SK4
     474             : #include "pm_arraySort@routines.inc.F90"
     475             :     end procedure
     476             : #endif
     477             : 
     478             : #if SK3_ENABLED
     479             :     module procedure isDescendingAllDefCom_D1_SK3
     480             :         use pm_kind, only: SKC => SK3
     481             : #include "pm_arraySort@routines.inc.F90"
     482             :     end procedure
     483             : #endif
     484             : 
     485             : #if SK2_ENABLED
     486             :     module procedure isDescendingAllDefCom_D1_SK2
     487             :         use pm_kind, only: SKC => SK2
     488             : #include "pm_arraySort@routines.inc.F90"
     489             :     end procedure
     490             : #endif
     491             : 
     492             : #if SK1_ENABLED
     493           5 :     module procedure isDescendingAllDefCom_D1_SK1
     494             :         use pm_kind, only: SKC => SK1
     495             : #include "pm_arraySort@routines.inc.F90"
     496             :     end procedure
     497             : #endif
     498             : 
     499             : #undef SK_ENABLED
     500             : 
     501             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     502             : 
     503             : #define IK_ENABLED 1
     504             : 
     505             : #if IK5_ENABLED
     506           0 :     module procedure isDescendingAllDefCom_D1_IK5
     507             :         use pm_kind, only: IKC => IK5
     508             : #include "pm_arraySort@routines.inc.F90"
     509           0 :     end procedure
     510             : #endif
     511             : 
     512             : #if IK4_ENABLED
     513           0 :     module procedure isDescendingAllDefCom_D1_IK4
     514             :         use pm_kind, only: IKC => IK4
     515             : #include "pm_arraySort@routines.inc.F90"
     516           0 :     end procedure
     517             : #endif
     518             : 
     519             : #if IK3_ENABLED
     520           5 :     module procedure isDescendingAllDefCom_D1_IK3
     521             :         use pm_kind, only: IKC => IK3
     522             : #include "pm_arraySort@routines.inc.F90"
     523           2 :     end procedure
     524             : #endif
     525             : 
     526             : #if IK2_ENABLED
     527           0 :     module procedure isDescendingAllDefCom_D1_IK2
     528             :         use pm_kind, only: IKC => IK2
     529             : #include "pm_arraySort@routines.inc.F90"
     530           0 :     end procedure
     531             : #endif
     532             : 
     533             : #if IK1_ENABLED
     534           0 :     module procedure isDescendingAllDefCom_D1_IK1
     535             :         use pm_kind, only: IKC => IK1
     536             : #include "pm_arraySort@routines.inc.F90"
     537           0 :     end procedure
     538             : #endif
     539             : 
     540             : #undef IK_ENABLED
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             : 
     544             : #define LK_ENABLED 1
     545             : 
     546             : #if LK5_ENABLED
     547           0 :     module procedure isDescendingAllDefCom_D1_LK5
     548             :         use pm_kind, only: LKC => LK5
     549             : #include "pm_arraySort@routines.inc.F90"
     550             :     end procedure
     551             : #endif
     552             : 
     553             : #if LK4_ENABLED
     554           0 :     module procedure isDescendingAllDefCom_D1_LK4
     555             :         use pm_kind, only: LKC => LK4
     556             : #include "pm_arraySort@routines.inc.F90"
     557             :     end procedure
     558             : #endif
     559             : 
     560             : #if LK3_ENABLED
     561           5 :     module procedure isDescendingAllDefCom_D1_LK3
     562             :         use pm_kind, only: LKC => LK3
     563             : #include "pm_arraySort@routines.inc.F90"
     564             :     end procedure
     565             : #endif
     566             : 
     567             : #if LK2_ENABLED
     568           0 :     module procedure isDescendingAllDefCom_D1_LK2
     569             :         use pm_kind, only: LKC => LK2
     570             : #include "pm_arraySort@routines.inc.F90"
     571             :     end procedure
     572             : #endif
     573             : 
     574             : #if LK1_ENABLED
     575           0 :     module procedure isDescendingAllDefCom_D1_LK1
     576             :         use pm_kind, only: LKC => LK1
     577             : #include "pm_arraySort@routines.inc.F90"
     578             :     end procedure
     579             : #endif
     580             : 
     581             : #undef LK_ENABLED
     582             : 
     583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     584             : 
     585             : #define CK_ENABLED 1
     586             : 
     587             : #if CK5_ENABLED
     588             :     module procedure isDescendingAllDefCom_D1_CK5
     589             :         use pm_kind, only: CKC => CK5
     590             : #include "pm_arraySort@routines.inc.F90"
     591             :     end procedure
     592             : #endif
     593             : 
     594             : #if CK4_ENABLED
     595           0 :     module procedure isDescendingAllDefCom_D1_CK4
     596             :         use pm_kind, only: CKC => CK4
     597             : #include "pm_arraySort@routines.inc.F90"
     598           0 :     end procedure
     599             : #endif
     600             : 
     601             : #if CK3_ENABLED
     602           0 :     module procedure isDescendingAllDefCom_D1_CK3
     603             :         use pm_kind, only: CKC => CK3
     604             : #include "pm_arraySort@routines.inc.F90"
     605           0 :     end procedure
     606             : #endif
     607             : 
     608             : #if CK2_ENABLED
     609           0 :     module procedure isDescendingAllDefCom_D1_CK2
     610             :         use pm_kind, only: CKC => CK2
     611             : #include "pm_arraySort@routines.inc.F90"
     612           0 :     end procedure
     613             : #endif
     614             : 
     615             : #if CK1_ENABLED
     616           6 :     module procedure isDescendingAllDefCom_D1_CK1
     617             :         use pm_kind, only: CKC => CK1
     618             : #include "pm_arraySort@routines.inc.F90"
     619           2 :     end procedure
     620             : #endif
     621             : 
     622             : #undef CK_ENABLED
     623             : 
     624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     625             : 
     626             : #define RK_ENABLED 1
     627             : 
     628             : #if RK5_ENABLED
     629             :     module procedure isDescendingAllDefCom_D1_RK5
     630             :         use pm_kind, only: RKC => RK5
     631             : #include "pm_arraySort@routines.inc.F90"
     632             :     end procedure
     633             : #endif
     634             : 
     635             : #if RK4_ENABLED
     636           0 :     module procedure isDescendingAllDefCom_D1_RK4
     637             :         use pm_kind, only: RKC => RK4
     638             : #include "pm_arraySort@routines.inc.F90"
     639           0 :     end procedure
     640             : #endif
     641             : 
     642             : #if RK3_ENABLED
     643           0 :     module procedure isDescendingAllDefCom_D1_RK3
     644             :         use pm_kind, only: RKC => RK3
     645             : #include "pm_arraySort@routines.inc.F90"
     646           0 :     end procedure
     647             : #endif
     648             : 
     649             : #if RK2_ENABLED
     650           0 :     module procedure isDescendingAllDefCom_D1_RK2
     651             :         use pm_kind, only: RKC => RK2
     652             : #include "pm_arraySort@routines.inc.F90"
     653           0 :     end procedure
     654             : #endif
     655             : 
     656             : #if RK1_ENABLED
     657           5 :     module procedure isDescendingAllDefCom_D1_RK1
     658             :         use pm_kind, only: RKC => RK1
     659             : #include "pm_arraySort@routines.inc.F90"
     660           2 :     end procedure
     661             : #endif
     662             : 
     663             : #undef RK_ENABLED
     664             : 
     665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     666             : 
     667             : #if !__GFORTRAN__
     668             : #define PSSK_ENABLED 1
     669             : 
     670             : #if SK5_ENABLED
     671             :     module procedure isDescendingAllDefCom_D1_PSSK5
     672             :         use pm_kind, only: SKC => SK5
     673             : #include "pm_arraySort@routines.inc.F90"
     674             :     end procedure
     675             : #endif
     676             : 
     677             : #if SK4_ENABLED
     678             :     module procedure isDescendingAllDefCom_D1_PSSK4
     679             :         use pm_kind, only: SKC => SK4
     680             : #include "pm_arraySort@routines.inc.F90"
     681             :     end procedure
     682             : #endif
     683             : 
     684             : #if SK3_ENABLED
     685             :     module procedure isDescendingAllDefCom_D1_PSSK3
     686             :         use pm_kind, only: SKC => SK3
     687             : #include "pm_arraySort@routines.inc.F90"
     688             :     end procedure
     689             : #endif
     690             : 
     691             : #if SK2_ENABLED
     692             :     module procedure isDescendingAllDefCom_D1_PSSK2
     693             :         use pm_kind, only: SKC => SK2
     694             : #include "pm_arraySort@routines.inc.F90"
     695             :     end procedure
     696             : #endif
     697             : 
     698             : #if SK1_ENABLED
     699             :     module procedure isDescendingAllDefCom_D1_PSSK1
     700             :         use pm_kind, only: SKC => SK1
     701             : #include "pm_arraySort@routines.inc.F90"
     702             :     end procedure
     703             : #endif
     704             : 
     705             : #undef PSSK_ENABLED
     706             : #endif
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             : 
     710             : #define BSSK_ENABLED 1
     711             : 
     712           0 :     module procedure isDescendingAllDefCom_D1_BSSK
     713             :         use pm_kind, only: SKC => SK
     714             : #include "pm_arraySort@routines.inc.F90"
     715             :     end procedure
     716             : 
     717             : #undef BSSK_ENABLED
     718             : 
     719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     720             : 
     721             : #undef D1_ENABLED
     722             : 
     723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #undef DefCom_ENABLED
     728             : 
     729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733             : #undef isDescendingAll_ENABLED
     734             : 
     735             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     736             : 
     737             : #define isAscending_ENABLED 1
     738             : 
     739             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     740             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     742             : 
     743             : #define DefCom_ENABLED 1
     744             : 
     745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     748             : 
     749             : #define D0_ENABLED 1
     750             : 
     751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     752             : 
     753             : 
     754             : #define SK_ENABLED 1
     755             : 
     756             : #if SK5_ENABLED
     757             :     module procedure isAscendingDefCom_D0_SK5
     758             :         use pm_kind, only: SKC => SK5
     759             : #include "pm_arraySort@routines.inc.F90"
     760             :     end procedure
     761             : #endif
     762             : 
     763             : #if SK4_ENABLED
     764             :     module procedure isAscendingDefCom_D0_SK4
     765             :         use pm_kind, only: SKC => SK4
     766             : #include "pm_arraySort@routines.inc.F90"
     767             :     end procedure
     768             : #endif
     769             : 
     770             : #if SK3_ENABLED
     771             :     module procedure isAscendingDefCom_D0_SK3
     772             :         use pm_kind, only: SKC => SK3
     773             : #include "pm_arraySort@routines.inc.F90"
     774             :     end procedure
     775             : #endif
     776             : 
     777             : #if SK2_ENABLED
     778             :     module procedure isAscendingDefCom_D0_SK2
     779             :         use pm_kind, only: SKC => SK2
     780             : #include "pm_arraySort@routines.inc.F90"
     781             :     end procedure
     782             : #endif
     783             : 
     784             : #if SK1_ENABLED
     785        8216 :     module procedure isAscendingDefCom_D0_SK1
     786             :         use pm_kind, only: SKC => SK1
     787             : #include "pm_arraySort@routines.inc.F90"
     788             :     end procedure
     789             : #endif
     790             : 
     791             : #undef SK_ENABLED
     792             : 
     793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     794             : 
     795             : #undef D0_ENABLED
     796             : 
     797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     800             : 
     801             : #define D1_ENABLED 1
     802             : 
     803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     804             : 
     805             : #define SK_ENABLED 1
     806             : 
     807             : #if SK5_ENABLED
     808             :     module procedure isAscendingDefCom_D1_SK5
     809             :         use pm_kind, only: SKC => SK5
     810             : #include "pm_arraySort@routines.inc.F90"
     811             :     end procedure
     812             : #endif
     813             : 
     814             : #if SK4_ENABLED
     815             :     module procedure isAscendingDefCom_D1_SK4
     816             :         use pm_kind, only: SKC => SK4
     817             : #include "pm_arraySort@routines.inc.F90"
     818             :     end procedure
     819             : #endif
     820             : 
     821             : #if SK3_ENABLED
     822             :     module procedure isAscendingDefCom_D1_SK3
     823             :         use pm_kind, only: SKC => SK3
     824             : #include "pm_arraySort@routines.inc.F90"
     825             :     end procedure
     826             : #endif
     827             : 
     828             : #if SK2_ENABLED
     829             :     module procedure isAscendingDefCom_D1_SK2
     830             :         use pm_kind, only: SKC => SK2
     831             : #include "pm_arraySort@routines.inc.F90"
     832             :     end procedure
     833             : #endif
     834             : 
     835             : #if SK1_ENABLED
     836        8178 :     module procedure isAscendingDefCom_D1_SK1
     837             :         use pm_kind, only: SKC => SK1
     838             : #include "pm_arraySort@routines.inc.F90"
     839             :     end procedure
     840             : #endif
     841             : 
     842             : #undef SK_ENABLED
     843             : 
     844             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     845             : 
     846             : #define IK_ENABLED 1
     847             : 
     848             : #if IK5_ENABLED
     849        7231 :     module procedure isAscendingDefCom_D1_IK5
     850             :         use pm_kind, only: IKC => IK5
     851             : #include "pm_arraySort@routines.inc.F90"
     852        7229 :     end procedure
     853             : #endif
     854             : 
     855             : #if IK4_ENABLED
     856        7489 :     module procedure isAscendingDefCom_D1_IK4
     857             :         use pm_kind, only: IKC => IK4
     858             : #include "pm_arraySort@routines.inc.F90"
     859        7487 :     end procedure
     860             : #endif
     861             : 
     862             : #if IK3_ENABLED
     863       25029 :     module procedure isAscendingDefCom_D1_IK3
     864             :         use pm_kind, only: IKC => IK3
     865             : #include "pm_arraySort@routines.inc.F90"
     866       25025 :     end procedure
     867             : #endif
     868             : 
     869             : #if IK2_ENABLED
     870        8055 :     module procedure isAscendingDefCom_D1_IK2
     871             :         use pm_kind, only: IKC => IK2
     872             : #include "pm_arraySort@routines.inc.F90"
     873        8053 :     end procedure
     874             : #endif
     875             : 
     876             : #if IK1_ENABLED
     877        8361 :     module procedure isAscendingDefCom_D1_IK1
     878             :         use pm_kind, only: IKC => IK1
     879             : #include "pm_arraySort@routines.inc.F90"
     880        8359 :     end procedure
     881             : #endif
     882             : 
     883             : #undef IK_ENABLED
     884             : 
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             : 
     887             : #define LK_ENABLED 1
     888             : 
     889             : #if LK5_ENABLED
     890        7527 :     module procedure isAscendingDefCom_D1_LK5
     891             :         use pm_kind, only: LKC => LK5
     892             : #include "pm_arraySort@routines.inc.F90"
     893             :     end procedure
     894             : #endif
     895             : 
     896             : #if LK4_ENABLED
     897        7681 :     module procedure isAscendingDefCom_D1_LK4
     898             :         use pm_kind, only: LKC => LK4
     899             : #include "pm_arraySort@routines.inc.F90"
     900             :     end procedure
     901             : #endif
     902             : 
     903             : #if LK3_ENABLED
     904        8148 :     module procedure isAscendingDefCom_D1_LK3
     905             :         use pm_kind, only: LKC => LK3
     906             : #include "pm_arraySort@routines.inc.F90"
     907             :     end procedure
     908             : #endif
     909             : 
     910             : #if LK2_ENABLED
     911        7637 :     module procedure isAscendingDefCom_D1_LK2
     912             :         use pm_kind, only: LKC => LK2
     913             : #include "pm_arraySort@routines.inc.F90"
     914             :     end procedure
     915             : #endif
     916             : 
     917             : #if LK1_ENABLED
     918        7737 :     module procedure isAscendingDefCom_D1_LK1
     919             :         use pm_kind, only: LKC => LK1
     920             : #include "pm_arraySort@routines.inc.F90"
     921             :     end procedure
     922             : #endif
     923             : 
     924             : #undef LK_ENABLED
     925             : 
     926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     927             : 
     928             : #define CK_ENABLED 1
     929             : 
     930             : #if CK5_ENABLED
     931             :     module procedure isAscendingDefCom_D1_CK5
     932             :         use pm_kind, only: CKC => CK5
     933             : #include "pm_arraySort@routines.inc.F90"
     934             :     end procedure
     935             : #endif
     936             : 
     937             : #if CK4_ENABLED
     938        8357 :     module procedure isAscendingDefCom_D1_CK4
     939             :         use pm_kind, only: CKC => CK4
     940             : #include "pm_arraySort@routines.inc.F90"
     941        8355 :     end procedure
     942             : #endif
     943             : 
     944             : #if CK3_ENABLED
     945        7571 :     module procedure isAscendingDefCom_D1_CK3
     946             :         use pm_kind, only: CKC => CK3
     947             : #include "pm_arraySort@routines.inc.F90"
     948        7569 :     end procedure
     949             : #endif
     950             : 
     951             : #if CK2_ENABLED
     952        7479 :     module procedure isAscendingDefCom_D1_CK2
     953             :         use pm_kind, only: CKC => CK2
     954             : #include "pm_arraySort@routines.inc.F90"
     955        7477 :     end procedure
     956             : #endif
     957             : 
     958             : #if CK1_ENABLED
     959        7633 :     module procedure isAscendingDefCom_D1_CK1
     960             :         use pm_kind, only: CKC => CK1
     961             : #include "pm_arraySort@routines.inc.F90"
     962        7629 :     end procedure
     963             : #endif
     964             : 
     965             : #undef CK_ENABLED
     966             : 
     967             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     968             : 
     969             : #define RK_ENABLED 1
     970             : 
     971             : #if RK5_ENABLED
     972             :     module procedure isAscendingDefCom_D1_RK5
     973             :         use pm_kind, only: RKC => RK5
     974             : #include "pm_arraySort@routines.inc.F90"
     975             :     end procedure
     976             : #endif
     977             : 
     978             : #if RK4_ENABLED
     979       42026 :     module procedure isAscendingDefCom_D1_RK4
     980             :         use pm_kind, only: RKC => RK4
     981             : #include "pm_arraySort@routines.inc.F90"
     982       42024 :     end procedure
     983             : #endif
     984             : 
     985             : #if RK3_ENABLED
     986       32979 :     module procedure isAscendingDefCom_D1_RK3
     987             :         use pm_kind, only: RKC => RK3
     988             : #include "pm_arraySort@routines.inc.F90"
     989       32977 :     end procedure
     990             : #endif
     991             : 
     992             : #if RK2_ENABLED
     993       29796 :     module procedure isAscendingDefCom_D1_RK2
     994             :         use pm_kind, only: RKC => RK2
     995             : #include "pm_arraySort@routines.inc.F90"
     996       29794 :     end procedure
     997             : #endif
     998             : 
     999             : #if RK1_ENABLED
    1000       56124 :     module procedure isAscendingDefCom_D1_RK1
    1001             :         use pm_kind, only: RKC => RK1
    1002             : #include "pm_arraySort@routines.inc.F90"
    1003       56120 :     end procedure
    1004             : #endif
    1005             : 
    1006             : #undef RK_ENABLED
    1007             : 
    1008             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1009             : 
    1010             : #if !__GFORTRAN__
    1011             : #define PSSK_ENABLED 1
    1012             : 
    1013             : #if SK5_ENABLED
    1014             :     module procedure isAscendingDefCom_D1_PSSK5
    1015             :         use pm_kind, only: SKC => SK5
    1016             : #include "pm_arraySort@routines.inc.F90"
    1017             :     end procedure
    1018             : #endif
    1019             : 
    1020             : #if SK4_ENABLED
    1021             :     module procedure isAscendingDefCom_D1_PSSK4
    1022             :         use pm_kind, only: SKC => SK4
    1023             : #include "pm_arraySort@routines.inc.F90"
    1024             :     end procedure
    1025             : #endif
    1026             : 
    1027             : #if SK3_ENABLED
    1028             :     module procedure isAscendingDefCom_D1_PSSK3
    1029             :         use pm_kind, only: SKC => SK3
    1030             : #include "pm_arraySort@routines.inc.F90"
    1031             :     end procedure
    1032             : #endif
    1033             : 
    1034             : #if SK2_ENABLED
    1035             :     module procedure isAscendingDefCom_D1_PSSK2
    1036             :         use pm_kind, only: SKC => SK2
    1037             : #include "pm_arraySort@routines.inc.F90"
    1038             :     end procedure
    1039             : #endif
    1040             : 
    1041             : #if SK1_ENABLED
    1042             :     module procedure isAscendingDefCom_D1_PSSK1
    1043             :         use pm_kind, only: SKC => SK1
    1044             : #include "pm_arraySort@routines.inc.F90"
    1045             :     end procedure
    1046             : #endif
    1047             : 
    1048             : #undef PSSK_ENABLED
    1049             : #endif
    1050             : 
    1051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1052             : 
    1053             : #define BSSK_ENABLED 1
    1054             : 
    1055           0 :     module procedure isAscendingDefCom_D1_BSSK
    1056             :         use pm_kind, only: SKC => SK
    1057             : #include "pm_arraySort@routines.inc.F90"
    1058             :     end procedure
    1059             : 
    1060             : #undef BSSK_ENABLED
    1061             : 
    1062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1063             : 
    1064             : #undef D1_ENABLED
    1065             : 
    1066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1069             : 
    1070             : #undef DefCom_ENABLED
    1071             : 
    1072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1075             : 
    1076             : #undef isAscending_ENABLED
    1077             : 
    1078             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1079             : 
    1080             : #define isDescending_ENABLED 1
    1081             : 
    1082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1085             : 
    1086             : #define DefCom_ENABLED 1
    1087             : 
    1088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1090             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1091             : 
    1092             : #define D0_ENABLED 1
    1093             : 
    1094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1095             : 
    1096             : 
    1097             : #define SK_ENABLED 1
    1098             : 
    1099             : #if SK5_ENABLED
    1100             :     module procedure isDescendingDefCom_D0_SK5
    1101             :         use pm_kind, only: SKC => SK5
    1102             : #include "pm_arraySort@routines.inc.F90"
    1103             :     end procedure
    1104             : #endif
    1105             : 
    1106             : #if SK4_ENABLED
    1107             :     module procedure isDescendingDefCom_D0_SK4
    1108             :         use pm_kind, only: SKC => SK4
    1109             : #include "pm_arraySort@routines.inc.F90"
    1110             :     end procedure
    1111             : #endif
    1112             : 
    1113             : #if SK3_ENABLED
    1114             :     module procedure isDescendingDefCom_D0_SK3
    1115             :         use pm_kind, only: SKC => SK3
    1116             : #include "pm_arraySort@routines.inc.F90"
    1117             :     end procedure
    1118             : #endif
    1119             : 
    1120             : #if SK2_ENABLED
    1121             :     module procedure isDescendingDefCom_D0_SK2
    1122             :         use pm_kind, only: SKC => SK2
    1123             : #include "pm_arraySort@routines.inc.F90"
    1124             :     end procedure
    1125             : #endif
    1126             : 
    1127             : #if SK1_ENABLED
    1128        2410 :     module procedure isDescendingDefCom_D0_SK1
    1129             :         use pm_kind, only: SKC => SK1
    1130             : #include "pm_arraySort@routines.inc.F90"
    1131             :     end procedure
    1132             : #endif
    1133             : 
    1134             : #undef SK_ENABLED
    1135             : 
    1136             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1137             : 
    1138             : #undef D0_ENABLED
    1139             : 
    1140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1141             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1143             : 
    1144             : #define D1_ENABLED 1
    1145             : 
    1146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1147             : 
    1148             : #define SK_ENABLED 1
    1149             : 
    1150             : #if SK5_ENABLED
    1151             :     module procedure isDescendingDefCom_D1_SK5
    1152             :         use pm_kind, only: SKC => SK5
    1153             : #include "pm_arraySort@routines.inc.F90"
    1154             :     end procedure
    1155             : #endif
    1156             : 
    1157             : #if SK4_ENABLED
    1158             :     module procedure isDescendingDefCom_D1_SK4
    1159             :         use pm_kind, only: SKC => SK4
    1160             : #include "pm_arraySort@routines.inc.F90"
    1161             :     end procedure
    1162             : #endif
    1163             : 
    1164             : #if SK3_ENABLED
    1165             :     module procedure isDescendingDefCom_D1_SK3
    1166             :         use pm_kind, only: SKC => SK3
    1167             : #include "pm_arraySort@routines.inc.F90"
    1168             :     end procedure
    1169             : #endif
    1170             : 
    1171             : #if SK2_ENABLED
    1172             :     module procedure isDescendingDefCom_D1_SK2
    1173             :         use pm_kind, only: SKC => SK2
    1174             : #include "pm_arraySort@routines.inc.F90"
    1175             :     end procedure
    1176             : #endif
    1177             : 
    1178             : #if SK1_ENABLED
    1179        2410 :     module procedure isDescendingDefCom_D1_SK1
    1180             :         use pm_kind, only: SKC => SK1
    1181             : #include "pm_arraySort@routines.inc.F90"
    1182             :     end procedure
    1183             : #endif
    1184             : 
    1185             : #undef SK_ENABLED
    1186             : 
    1187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1188             : 
    1189             : #define IK_ENABLED 1
    1190             : 
    1191             : #if IK5_ENABLED
    1192        2405 :     module procedure isDescendingDefCom_D1_IK5
    1193             :         use pm_kind, only: IKC => IK5
    1194             : #include "pm_arraySort@routines.inc.F90"
    1195        2403 :     end procedure
    1196             : #endif
    1197             : 
    1198             : #if IK4_ENABLED
    1199        2405 :     module procedure isDescendingDefCom_D1_IK4
    1200             :         use pm_kind, only: IKC => IK4
    1201             : #include "pm_arraySort@routines.inc.F90"
    1202        2403 :     end procedure
    1203             : #endif
    1204             : 
    1205             : #if IK3_ENABLED
    1206        2410 :     module procedure isDescendingDefCom_D1_IK3
    1207             :         use pm_kind, only: IKC => IK3
    1208             : #include "pm_arraySort@routines.inc.F90"
    1209        2406 :     end procedure
    1210             : #endif
    1211             : 
    1212             : #if IK2_ENABLED
    1213        2405 :     module procedure isDescendingDefCom_D1_IK2
    1214             :         use pm_kind, only: IKC => IK2
    1215             : #include "pm_arraySort@routines.inc.F90"
    1216        2403 :     end procedure
    1217             : #endif
    1218             : 
    1219             : #if IK1_ENABLED
    1220        2405 :     module procedure isDescendingDefCom_D1_IK1
    1221             :         use pm_kind, only: IKC => IK1
    1222             : #include "pm_arraySort@routines.inc.F90"
    1223        2403 :     end procedure
    1224             : #endif
    1225             : 
    1226             : #undef IK_ENABLED
    1227             : 
    1228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1229             : 
    1230             : #define LK_ENABLED 1
    1231             : 
    1232             : #if LK5_ENABLED
    1233        2405 :     module procedure isDescendingDefCom_D1_LK5
    1234             :         use pm_kind, only: LKC => LK5
    1235             : #include "pm_arraySort@routines.inc.F90"
    1236             :     end procedure
    1237             : #endif
    1238             : 
    1239             : #if LK4_ENABLED
    1240        2405 :     module procedure isDescendingDefCom_D1_LK4
    1241             :         use pm_kind, only: LKC => LK4
    1242             : #include "pm_arraySort@routines.inc.F90"
    1243             :     end procedure
    1244             : #endif
    1245             : 
    1246             : #if LK3_ENABLED
    1247        2410 :     module procedure isDescendingDefCom_D1_LK3
    1248             :         use pm_kind, only: LKC => LK3
    1249             : #include "pm_arraySort@routines.inc.F90"
    1250             :     end procedure
    1251             : #endif
    1252             : 
    1253             : #if LK2_ENABLED
    1254        2405 :     module procedure isDescendingDefCom_D1_LK2
    1255             :         use pm_kind, only: LKC => LK2
    1256             : #include "pm_arraySort@routines.inc.F90"
    1257             :     end procedure
    1258             : #endif
    1259             : 
    1260             : #if LK1_ENABLED
    1261        2405 :     module procedure isDescendingDefCom_D1_LK1
    1262             :         use pm_kind, only: LKC => LK1
    1263             : #include "pm_arraySort@routines.inc.F90"
    1264             :     end procedure
    1265             : #endif
    1266             : 
    1267             : #undef LK_ENABLED
    1268             : 
    1269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1270             : 
    1271             : #define CK_ENABLED 1
    1272             : 
    1273             : #if CK5_ENABLED
    1274             :     module procedure isDescendingDefCom_D1_CK5
    1275             :         use pm_kind, only: CKC => CK5
    1276             : #include "pm_arraySort@routines.inc.F90"
    1277             :     end procedure
    1278             : #endif
    1279             : 
    1280             : #if CK4_ENABLED
    1281        2405 :     module procedure isDescendingDefCom_D1_CK4
    1282             :         use pm_kind, only: CKC => CK4
    1283             : #include "pm_arraySort@routines.inc.F90"
    1284        2403 :     end procedure
    1285             : #endif
    1286             : 
    1287             : #if CK3_ENABLED
    1288        2405 :     module procedure isDescendingDefCom_D1_CK3
    1289             :         use pm_kind, only: CKC => CK3
    1290             : #include "pm_arraySort@routines.inc.F90"
    1291        2403 :     end procedure
    1292             : #endif
    1293             : 
    1294             : #if CK2_ENABLED
    1295        2405 :     module procedure isDescendingDefCom_D1_CK2
    1296             :         use pm_kind, only: CKC => CK2
    1297             : #include "pm_arraySort@routines.inc.F90"
    1298        2403 :     end procedure
    1299             : #endif
    1300             : 
    1301             : #if CK1_ENABLED
    1302        2411 :     module procedure isDescendingDefCom_D1_CK1
    1303             :         use pm_kind, only: CKC => CK1
    1304             : #include "pm_arraySort@routines.inc.F90"
    1305        2407 :     end procedure
    1306             : #endif
    1307             : 
    1308             : #undef CK_ENABLED
    1309             : 
    1310             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1311             : 
    1312             : #define RK_ENABLED 1
    1313             : 
    1314             : #if RK5_ENABLED
    1315             :     module procedure isDescendingDefCom_D1_RK5
    1316             :         use pm_kind, only: RKC => RK5
    1317             : #include "pm_arraySort@routines.inc.F90"
    1318             :     end procedure
    1319             : #endif
    1320             : 
    1321             : #if RK4_ENABLED
    1322        2405 :     module procedure isDescendingDefCom_D1_RK4
    1323             :         use pm_kind, only: RKC => RK4
    1324             : #include "pm_arraySort@routines.inc.F90"
    1325        2403 :     end procedure
    1326             : #endif
    1327             : 
    1328             : #if RK3_ENABLED
    1329        2405 :     module procedure isDescendingDefCom_D1_RK3
    1330             :         use pm_kind, only: RKC => RK3
    1331             : #include "pm_arraySort@routines.inc.F90"
    1332        2403 :     end procedure
    1333             : #endif
    1334             : 
    1335             : #if RK2_ENABLED
    1336        2405 :     module procedure isDescendingDefCom_D1_RK2
    1337             :         use pm_kind, only: RKC => RK2
    1338             : #include "pm_arraySort@routines.inc.F90"
    1339        2403 :     end procedure
    1340             : #endif
    1341             : 
    1342             : #if RK1_ENABLED
    1343        2410 :     module procedure isDescendingDefCom_D1_RK1
    1344             :         use pm_kind, only: RKC => RK1
    1345             : #include "pm_arraySort@routines.inc.F90"
    1346        2406 :     end procedure
    1347             : #endif
    1348             : 
    1349             : #undef RK_ENABLED
    1350             : 
    1351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1352             : 
    1353             : #if !__GFORTRAN__
    1354             : #define PSSK_ENABLED 1
    1355             : 
    1356             : #if SK5_ENABLED
    1357             :     module procedure isDescendingDefCom_D1_PSSK5
    1358             :         use pm_kind, only: SKC => SK5
    1359             : #include "pm_arraySort@routines.inc.F90"
    1360             :     end procedure
    1361             : #endif
    1362             : 
    1363             : #if SK4_ENABLED
    1364             :     module procedure isDescendingDefCom_D1_PSSK4
    1365             :         use pm_kind, only: SKC => SK4
    1366             : #include "pm_arraySort@routines.inc.F90"
    1367             :     end procedure
    1368             : #endif
    1369             : 
    1370             : #if SK3_ENABLED
    1371             :     module procedure isDescendingDefCom_D1_PSSK3
    1372             :         use pm_kind, only: SKC => SK3
    1373             : #include "pm_arraySort@routines.inc.F90"
    1374             :     end procedure
    1375             : #endif
    1376             : 
    1377             : #if SK2_ENABLED
    1378             :     module procedure isDescendingDefCom_D1_PSSK2
    1379             :         use pm_kind, only: SKC => SK2
    1380             : #include "pm_arraySort@routines.inc.F90"
    1381             :     end procedure
    1382             : #endif
    1383             : 
    1384             : #if SK1_ENABLED
    1385             :     module procedure isDescendingDefCom_D1_PSSK1
    1386             :         use pm_kind, only: SKC => SK1
    1387             : #include "pm_arraySort@routines.inc.F90"
    1388             :     end procedure
    1389             : #endif
    1390             : 
    1391             : #undef PSSK_ENABLED
    1392             : #endif
    1393             : 
    1394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1395             : 
    1396             : #define BSSK_ENABLED 1
    1397             : 
    1398           0 :     module procedure isDescendingDefCom_D1_BSSK
    1399             :         use pm_kind, only: SKC => SK
    1400             : #include "pm_arraySort@routines.inc.F90"
    1401             :     end procedure
    1402             : 
    1403             : #undef BSSK_ENABLED
    1404             : 
    1405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1406             : 
    1407             : #undef D1_ENABLED
    1408             : 
    1409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1412             : 
    1413             : #undef DefCom_ENABLED
    1414             : 
    1415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1418             : 
    1419             : #undef isDescending_ENABLED
    1420             : 
    1421             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1422             : 
    1423             : #define isSorted_ENABLED 1
    1424             : 
    1425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1427             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1428             : 
    1429             : #define DefCom_ENABLED 1
    1430             : 
    1431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1432             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1434             : 
    1435             : #define D0_ENABLED 1
    1436             : 
    1437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1438             : 
    1439             : 
    1440             : #define SK_ENABLED 1
    1441             : 
    1442             : #if SK5_ENABLED
    1443             :     module procedure isSortedDefCom_D0_SK5
    1444             :         use pm_kind, only: SKC => SK5
    1445             : #include "pm_arraySort@routines.inc.F90"
    1446             :     end procedure
    1447             : #endif
    1448             : 
    1449             : #if SK4_ENABLED
    1450             :     module procedure isSortedDefCom_D0_SK4
    1451             :         use pm_kind, only: SKC => SK4
    1452             : #include "pm_arraySort@routines.inc.F90"
    1453             :     end procedure
    1454             : #endif
    1455             : 
    1456             : #if SK3_ENABLED
    1457             :     module procedure isSortedDefCom_D0_SK3
    1458             :         use pm_kind, only: SKC => SK3
    1459             : #include "pm_arraySort@routines.inc.F90"
    1460             :     end procedure
    1461             : #endif
    1462             : 
    1463             : #if SK2_ENABLED
    1464             :     module procedure isSortedDefCom_D0_SK2
    1465             :         use pm_kind, only: SKC => SK2
    1466             : #include "pm_arraySort@routines.inc.F90"
    1467             :     end procedure
    1468             : #endif
    1469             : 
    1470             : #if SK1_ENABLED
    1471          10 :     module procedure isSortedDefCom_D0_SK1
    1472             :         use pm_kind, only: SKC => SK1
    1473             : #include "pm_arraySort@routines.inc.F90"
    1474          10 :     end procedure
    1475             : #endif
    1476             : 
    1477             : #undef SK_ENABLED
    1478             : 
    1479             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1480             : 
    1481             : #undef D0_ENABLED
    1482             : 
    1483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1486             : 
    1487             : #define D1_ENABLED 1
    1488             : 
    1489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1490             : 
    1491             : #define SK_ENABLED 1
    1492             : 
    1493             : #if SK5_ENABLED
    1494             :     module procedure isSortedDefCom_D1_SK5
    1495             :         use pm_kind, only: SKC => SK5
    1496             : #include "pm_arraySort@routines.inc.F90"
    1497             :     end procedure
    1498             : #endif
    1499             : 
    1500             : #if SK4_ENABLED
    1501             :     module procedure isSortedDefCom_D1_SK4
    1502             :         use pm_kind, only: SKC => SK4
    1503             : #include "pm_arraySort@routines.inc.F90"
    1504             :     end procedure
    1505             : #endif
    1506             : 
    1507             : #if SK3_ENABLED
    1508             :     module procedure isSortedDefCom_D1_SK3
    1509             :         use pm_kind, only: SKC => SK3
    1510             : #include "pm_arraySort@routines.inc.F90"
    1511             :     end procedure
    1512             : #endif
    1513             : 
    1514             : #if SK2_ENABLED
    1515             :     module procedure isSortedDefCom_D1_SK2
    1516             :         use pm_kind, only: SKC => SK2
    1517             : #include "pm_arraySort@routines.inc.F90"
    1518             :     end procedure
    1519             : #endif
    1520             : 
    1521             : #if SK1_ENABLED
    1522          10 :     module procedure isSortedDefCom_D1_SK1
    1523             :         use pm_kind, only: SKC => SK1
    1524             : #include "pm_arraySort@routines.inc.F90"
    1525          10 :     end procedure
    1526             : #endif
    1527             : 
    1528             : #undef SK_ENABLED
    1529             : 
    1530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1531             : 
    1532             : #define IK_ENABLED 1
    1533             : 
    1534             : #if IK5_ENABLED
    1535           5 :     module procedure isSortedDefCom_D1_IK5
    1536             :         use pm_kind, only: IKC => IK5
    1537             : #include "pm_arraySort@routines.inc.F90"
    1538           5 :     end procedure
    1539             : #endif
    1540             : 
    1541             : #if IK4_ENABLED
    1542           5 :     module procedure isSortedDefCom_D1_IK4
    1543             :         use pm_kind, only: IKC => IK4
    1544             : #include "pm_arraySort@routines.inc.F90"
    1545           5 :     end procedure
    1546             : #endif
    1547             : 
    1548             : #if IK3_ENABLED
    1549          10 :     module procedure isSortedDefCom_D1_IK3
    1550             :         use pm_kind, only: IKC => IK3
    1551             : #include "pm_arraySort@routines.inc.F90"
    1552          10 :     end procedure
    1553             : #endif
    1554             : 
    1555             : #if IK2_ENABLED
    1556           5 :     module procedure isSortedDefCom_D1_IK2
    1557             :         use pm_kind, only: IKC => IK2
    1558             : #include "pm_arraySort@routines.inc.F90"
    1559           5 :     end procedure
    1560             : #endif
    1561             : 
    1562             : #if IK1_ENABLED
    1563           5 :     module procedure isSortedDefCom_D1_IK1
    1564             :         use pm_kind, only: IKC => IK1
    1565             : #include "pm_arraySort@routines.inc.F90"
    1566           5 :     end procedure
    1567             : #endif
    1568             : 
    1569             : #undef IK_ENABLED
    1570             : 
    1571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1572             : 
    1573             : #define LK_ENABLED 1
    1574             : 
    1575             : #if LK5_ENABLED
    1576           5 :     module procedure isSortedDefCom_D1_LK5
    1577             :         use pm_kind, only: LKC => LK5
    1578             : #include "pm_arraySort@routines.inc.F90"
    1579           5 :     end procedure
    1580             : #endif
    1581             : 
    1582             : #if LK4_ENABLED
    1583           5 :     module procedure isSortedDefCom_D1_LK4
    1584             :         use pm_kind, only: LKC => LK4
    1585             : #include "pm_arraySort@routines.inc.F90"
    1586           5 :     end procedure
    1587             : #endif
    1588             : 
    1589             : #if LK3_ENABLED
    1590          10 :     module procedure isSortedDefCom_D1_LK3
    1591             :         use pm_kind, only: LKC => LK3
    1592             : #include "pm_arraySort@routines.inc.F90"
    1593          10 :     end procedure
    1594             : #endif
    1595             : 
    1596             : #if LK2_ENABLED
    1597           5 :     module procedure isSortedDefCom_D1_LK2
    1598             :         use pm_kind, only: LKC => LK2
    1599             : #include "pm_arraySort@routines.inc.F90"
    1600           5 :     end procedure
    1601             : #endif
    1602             : 
    1603             : #if LK1_ENABLED
    1604           5 :     module procedure isSortedDefCom_D1_LK1
    1605             :         use pm_kind, only: LKC => LK1
    1606             : #include "pm_arraySort@routines.inc.F90"
    1607           5 :     end procedure
    1608             : #endif
    1609             : 
    1610             : #undef LK_ENABLED
    1611             : 
    1612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1613             : 
    1614             : #define CK_ENABLED 1
    1615             : 
    1616             : #if CK5_ENABLED
    1617             :     module procedure isSortedDefCom_D1_CK5
    1618             :         use pm_kind, only: CKC => CK5
    1619             : #include "pm_arraySort@routines.inc.F90"
    1620             :     end procedure
    1621             : #endif
    1622             : 
    1623             : #if CK4_ENABLED
    1624           5 :     module procedure isSortedDefCom_D1_CK4
    1625             :         use pm_kind, only: CKC => CK4
    1626             : #include "pm_arraySort@routines.inc.F90"
    1627           5 :     end procedure
    1628             : #endif
    1629             : 
    1630             : #if CK3_ENABLED
    1631           5 :     module procedure isSortedDefCom_D1_CK3
    1632             :         use pm_kind, only: CKC => CK3
    1633             : #include "pm_arraySort@routines.inc.F90"
    1634           5 :     end procedure
    1635             : #endif
    1636             : 
    1637             : #if CK2_ENABLED
    1638           5 :     module procedure isSortedDefCom_D1_CK2
    1639             :         use pm_kind, only: CKC => CK2
    1640             : #include "pm_arraySort@routines.inc.F90"
    1641           5 :     end procedure
    1642             : #endif
    1643             : 
    1644             : #if CK1_ENABLED
    1645          11 :     module procedure isSortedDefCom_D1_CK1
    1646             :         use pm_kind, only: CKC => CK1
    1647             : #include "pm_arraySort@routines.inc.F90"
    1648          11 :     end procedure
    1649             : #endif
    1650             : 
    1651             : #undef CK_ENABLED
    1652             : 
    1653             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1654             : 
    1655             : #define RK_ENABLED 1
    1656             : 
    1657             : #if RK5_ENABLED
    1658             :     module procedure isSortedDefCom_D1_RK5
    1659             :         use pm_kind, only: RKC => RK5
    1660             : #include "pm_arraySort@routines.inc.F90"
    1661             :     end procedure
    1662             : #endif
    1663             : 
    1664             : #if RK4_ENABLED
    1665           5 :     module procedure isSortedDefCom_D1_RK4
    1666             :         use pm_kind, only: RKC => RK4
    1667             : #include "pm_arraySort@routines.inc.F90"
    1668           5 :     end procedure
    1669             : #endif
    1670             : 
    1671             : #if RK3_ENABLED
    1672           5 :     module procedure isSortedDefCom_D1_RK3
    1673             :         use pm_kind, only: RKC => RK3
    1674             : #include "pm_arraySort@routines.inc.F90"
    1675           5 :     end procedure
    1676             : #endif
    1677             : 
    1678             : #if RK2_ENABLED
    1679           5 :     module procedure isSortedDefCom_D1_RK2
    1680             :         use pm_kind, only: RKC => RK2
    1681             : #include "pm_arraySort@routines.inc.F90"
    1682           5 :     end procedure
    1683             : #endif
    1684             : 
    1685             : #if RK1_ENABLED
    1686          10 :     module procedure isSortedDefCom_D1_RK1
    1687             :         use pm_kind, only: RKC => RK1
    1688             : #include "pm_arraySort@routines.inc.F90"
    1689          10 :     end procedure
    1690             : #endif
    1691             : 
    1692             : #undef RK_ENABLED
    1693             : 
    1694             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1695             : 
    1696             : #if !__GFORTRAN__
    1697             : #define PSSK_ENABLED 1
    1698             : 
    1699             : #if SK5_ENABLED
    1700             :     module procedure isSortedDefCom_D1_PSSK5
    1701             :         use pm_kind, only: SKC => SK5
    1702             : #include "pm_arraySort@routines.inc.F90"
    1703             :     end procedure
    1704             : #endif
    1705             : 
    1706             : #if SK4_ENABLED
    1707             :     module procedure isSortedDefCom_D1_PSSK4
    1708             :         use pm_kind, only: SKC => SK4
    1709             : #include "pm_arraySort@routines.inc.F90"
    1710             :     end procedure
    1711             : #endif
    1712             : 
    1713             : #if SK3_ENABLED
    1714             :     module procedure isSortedDefCom_D1_PSSK3
    1715             :         use pm_kind, only: SKC => SK3
    1716             : #include "pm_arraySort@routines.inc.F90"
    1717             :     end procedure
    1718             : #endif
    1719             : 
    1720             : #if SK2_ENABLED
    1721             :     module procedure isSortedDefCom_D1_PSSK2
    1722             :         use pm_kind, only: SKC => SK2
    1723             : #include "pm_arraySort@routines.inc.F90"
    1724             :     end procedure
    1725             : #endif
    1726             : 
    1727             : #if SK1_ENABLED
    1728             :     module procedure isSortedDefCom_D1_PSSK1
    1729             :         use pm_kind, only: SKC => SK1
    1730             : #include "pm_arraySort@routines.inc.F90"
    1731             :     end procedure
    1732             : #endif
    1733             : 
    1734             : #undef PSSK_ENABLED
    1735             : #endif
    1736             : 
    1737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1738             : 
    1739             : #define BSSK_ENABLED 1
    1740             : 
    1741           0 :     module procedure isSortedDefCom_D1_BSSK
    1742             :         use pm_kind, only: SKC => SK
    1743             : #include "pm_arraySort@routines.inc.F90"
    1744           0 :     end procedure
    1745             : 
    1746             : #undef BSSK_ENABLED
    1747             : 
    1748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1749             : 
    1750             : #undef D1_ENABLED
    1751             : 
    1752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1755             : 
    1756             : #undef DefCom_ENABLED
    1757             : 
    1758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1761             : 
    1762             : #define CusCom_ENABLED 1
    1763             : 
    1764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1766             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1767             : 
    1768             : #define D0_ENABLED 1
    1769             : 
    1770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1771             : 
    1772             : 
    1773             : #define SK_ENABLED 1
    1774             : 
    1775             : #if SK5_ENABLED
    1776             :     module procedure isSortedCusCom_D0_SK5
    1777             :         use pm_kind, only: SKC => SK5
    1778             : #include "pm_arraySort@routines.inc.F90"
    1779             :     end procedure
    1780             : #endif
    1781             : 
    1782             : #if SK4_ENABLED
    1783             :     module procedure isSortedCusCom_D0_SK4
    1784             :         use pm_kind, only: SKC => SK4
    1785             : #include "pm_arraySort@routines.inc.F90"
    1786             :     end procedure
    1787             : #endif
    1788             : 
    1789             : #if SK3_ENABLED
    1790             :     module procedure isSortedCusCom_D0_SK3
    1791             :         use pm_kind, only: SKC => SK3
    1792             : #include "pm_arraySort@routines.inc.F90"
    1793             :     end procedure
    1794             : #endif
    1795             : 
    1796             : #if SK2_ENABLED
    1797             :     module procedure isSortedCusCom_D0_SK2
    1798             :         use pm_kind, only: SKC => SK2
    1799             : #include "pm_arraySort@routines.inc.F90"
    1800             :     end procedure
    1801             : #endif
    1802             : 
    1803             : #if SK1_ENABLED
    1804        5762 :     module procedure isSortedCusCom_D0_SK1
    1805             :         use pm_kind, only: SKC => SK1
    1806             : #include "pm_arraySort@routines.inc.F90"
    1807        5762 :     end procedure
    1808             : #endif
    1809             : 
    1810             : #undef SK_ENABLED
    1811             : 
    1812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1813             : 
    1814             : #undef D0_ENABLED
    1815             : 
    1816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1818             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1819             : 
    1820             : #define D1_ENABLED 1
    1821             : 
    1822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1823             : 
    1824             : #define SK_ENABLED 1
    1825             : 
    1826             : #if SK5_ENABLED
    1827             :     module procedure isSortedCusCom_D1_SK5
    1828             :         use pm_kind, only: SKC => SK5
    1829             : #include "pm_arraySort@routines.inc.F90"
    1830             :     end procedure
    1831             : #endif
    1832             : 
    1833             : #if SK4_ENABLED
    1834             :     module procedure isSortedCusCom_D1_SK4
    1835             :         use pm_kind, only: SKC => SK4
    1836             : #include "pm_arraySort@routines.inc.F90"
    1837             :     end procedure
    1838             : #endif
    1839             : 
    1840             : #if SK3_ENABLED
    1841             :     module procedure isSortedCusCom_D1_SK3
    1842             :         use pm_kind, only: SKC => SK3
    1843             : #include "pm_arraySort@routines.inc.F90"
    1844             :     end procedure
    1845             : #endif
    1846             : 
    1847             : #if SK2_ENABLED
    1848             :     module procedure isSortedCusCom_D1_SK2
    1849             :         use pm_kind, only: SKC => SK2
    1850             : #include "pm_arraySort@routines.inc.F90"
    1851             :     end procedure
    1852             : #endif
    1853             : 
    1854             : #if SK1_ENABLED
    1855        5332 :     module procedure isSortedCusCom_D1_SK1
    1856             :         use pm_kind, only: SKC => SK1
    1857             : #include "pm_arraySort@routines.inc.F90"
    1858        5332 :     end procedure
    1859             : #endif
    1860             : 
    1861             : #undef SK_ENABLED
    1862             : 
    1863             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1864             : 
    1865             : #define IK_ENABLED 1
    1866             : 
    1867             : #if IK5_ENABLED
    1868        5308 :     module procedure isSortedCusCom_D1_IK5
    1869             :         use pm_kind, only: IKC => IK5
    1870             : #include "pm_arraySort@routines.inc.F90"
    1871        5308 :     end procedure
    1872             : #endif
    1873             : 
    1874             : #if IK4_ENABLED
    1875        5350 :     module procedure isSortedCusCom_D1_IK4
    1876             :         use pm_kind, only: IKC => IK4
    1877             : #include "pm_arraySort@routines.inc.F90"
    1878        5350 :     end procedure
    1879             : #endif
    1880             : 
    1881             : #if IK3_ENABLED
    1882        5360 :     module procedure isSortedCusCom_D1_IK3
    1883             :         use pm_kind, only: IKC => IK3
    1884             : #include "pm_arraySort@routines.inc.F90"
    1885        5360 :     end procedure
    1886             : #endif
    1887             : 
    1888             : #if IK2_ENABLED
    1889        5292 :     module procedure isSortedCusCom_D1_IK2
    1890             :         use pm_kind, only: IKC => IK2
    1891             : #include "pm_arraySort@routines.inc.F90"
    1892        5292 :     end procedure
    1893             : #endif
    1894             : 
    1895             : #if IK1_ENABLED
    1896        5714 :     module procedure isSortedCusCom_D1_IK1
    1897             :         use pm_kind, only: IKC => IK1
    1898             : #include "pm_arraySort@routines.inc.F90"
    1899        5714 :     end procedure
    1900             : #endif
    1901             : 
    1902             : #undef IK_ENABLED
    1903             : 
    1904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1905             : 
    1906             : #define LK_ENABLED 1
    1907             : 
    1908             : #if LK5_ENABLED
    1909        5508 :     module procedure isSortedCusCom_D1_LK5
    1910             :         use pm_kind, only: LKC => LK5
    1911             : #include "pm_arraySort@routines.inc.F90"
    1912        5508 :     end procedure
    1913             : #endif
    1914             : 
    1915             : #if LK4_ENABLED
    1916        5460 :     module procedure isSortedCusCom_D1_LK4
    1917             :         use pm_kind, only: LKC => LK4
    1918             : #include "pm_arraySort@routines.inc.F90"
    1919        5460 :     end procedure
    1920             : #endif
    1921             : 
    1922             : #if LK3_ENABLED
    1923        6204 :     module procedure isSortedCusCom_D1_LK3
    1924             :         use pm_kind, only: LKC => LK3
    1925             : #include "pm_arraySort@routines.inc.F90"
    1926        6204 :     end procedure
    1927             : #endif
    1928             : 
    1929             : #if LK2_ENABLED
    1930        4510 :     module procedure isSortedCusCom_D1_LK2
    1931             :         use pm_kind, only: LKC => LK2
    1932             : #include "pm_arraySort@routines.inc.F90"
    1933        4510 :     end procedure
    1934             : #endif
    1935             : 
    1936             : #if LK1_ENABLED
    1937        5226 :     module procedure isSortedCusCom_D1_LK1
    1938             :         use pm_kind, only: LKC => LK1
    1939             : #include "pm_arraySort@routines.inc.F90"
    1940        5226 :     end procedure
    1941             : #endif
    1942             : 
    1943             : #undef LK_ENABLED
    1944             : 
    1945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1946             : 
    1947             : #define CK_ENABLED 1
    1948             : 
    1949             : #if CK5_ENABLED
    1950             :     module procedure isSortedCusCom_D1_CK5
    1951             :         use pm_kind, only: CKC => CK5
    1952             : #include "pm_arraySort@routines.inc.F90"
    1953             :     end procedure
    1954             : #endif
    1955             : 
    1956             : #if CK4_ENABLED
    1957        5606 :     module procedure isSortedCusCom_D1_CK4
    1958             :         use pm_kind, only: CKC => CK4
    1959             : #include "pm_arraySort@routines.inc.F90"
    1960        5606 :     end procedure
    1961             : #endif
    1962             : 
    1963             : #if CK3_ENABLED
    1964        5300 :     module procedure isSortedCusCom_D1_CK3
    1965             :         use pm_kind, only: CKC => CK3
    1966             : #include "pm_arraySort@routines.inc.F90"
    1967        5300 :     end procedure
    1968             : #endif
    1969             : 
    1970             : #if CK2_ENABLED
    1971        4890 :     module procedure isSortedCusCom_D1_CK2
    1972             :         use pm_kind, only: CKC => CK2
    1973             : #include "pm_arraySort@routines.inc.F90"
    1974        4890 :     end procedure
    1975             : #endif
    1976             : 
    1977             : #if CK1_ENABLED
    1978        4900 :     module procedure isSortedCusCom_D1_CK1
    1979             :         use pm_kind, only: CKC => CK1
    1980             : #include "pm_arraySort@routines.inc.F90"
    1981        4900 :     end procedure
    1982             : #endif
    1983             : 
    1984             : #undef CK_ENABLED
    1985             : 
    1986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1987             : 
    1988             : #define RK_ENABLED 1
    1989             : 
    1990             : #if RK5_ENABLED
    1991             :     module procedure isSortedCusCom_D1_RK5
    1992             :         use pm_kind, only: RKC => RK5
    1993             : #include "pm_arraySort@routines.inc.F90"
    1994             :     end procedure
    1995             : #endif
    1996             : 
    1997             : #if RK4_ENABLED
    1998        5872 :     module procedure isSortedCusCom_D1_RK4
    1999             :         use pm_kind, only: RKC => RK4
    2000             : #include "pm_arraySort@routines.inc.F90"
    2001        5872 :     end procedure
    2002             : #endif
    2003             : 
    2004             : #if RK3_ENABLED
    2005        5104 :     module procedure isSortedCusCom_D1_RK3
    2006             :         use pm_kind, only: RKC => RK3
    2007             : #include "pm_arraySort@routines.inc.F90"
    2008        5104 :     end procedure
    2009             : #endif
    2010             : 
    2011             : #if RK2_ENABLED
    2012        4942 :     module procedure isSortedCusCom_D1_RK2
    2013             :         use pm_kind, only: RKC => RK2
    2014             : #include "pm_arraySort@routines.inc.F90"
    2015        4942 :     end procedure
    2016             : #endif
    2017             : 
    2018             : #if RK1_ENABLED
    2019        6278 :     module procedure isSortedCusCom_D1_RK1
    2020             :         use pm_kind, only: RKC => RK1
    2021             : #include "pm_arraySort@routines.inc.F90"
    2022        6278 :     end procedure
    2023             : #endif
    2024             : 
    2025             : #undef RK_ENABLED
    2026             : 
    2027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2028             : 
    2029             : #if !__GFORTRAN__
    2030             : #define PSSK_ENABLED 1
    2031             : 
    2032             : #if SK5_ENABLED
    2033             :     module procedure isSortedCusCom_D1_PSSK5
    2034             :         use pm_kind, only: SKC => SK5
    2035             : #include "pm_arraySort@routines.inc.F90"
    2036             :     end procedure
    2037             : #endif
    2038             : 
    2039             : #if SK4_ENABLED
    2040             :     module procedure isSortedCusCom_D1_PSSK4
    2041             :         use pm_kind, only: SKC => SK4
    2042             : #include "pm_arraySort@routines.inc.F90"
    2043             :     end procedure
    2044             : #endif
    2045             : 
    2046             : #if SK3_ENABLED
    2047             :     module procedure isSortedCusCom_D1_PSSK3
    2048             :         use pm_kind, only: SKC => SK3
    2049             : #include "pm_arraySort@routines.inc.F90"
    2050             :     end procedure
    2051             : #endif
    2052             : 
    2053             : #if SK2_ENABLED
    2054             :     module procedure isSortedCusCom_D1_PSSK2
    2055             :         use pm_kind, only: SKC => SK2
    2056             : #include "pm_arraySort@routines.inc.F90"
    2057             :     end procedure
    2058             : #endif
    2059             : 
    2060             : #if SK1_ENABLED
    2061             :     module procedure isSortedCusCom_D1_PSSK1
    2062             :         use pm_kind, only: SKC => SK1
    2063             : #include "pm_arraySort@routines.inc.F90"
    2064             :     end procedure
    2065             : #endif
    2066             : 
    2067             : #undef PSSK_ENABLED
    2068             : #endif
    2069             : 
    2070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2071             : 
    2072             : #define BSSK_ENABLED 1
    2073             : 
    2074           0 :     module procedure isSortedCusCom_D1_BSSK
    2075             :         use pm_kind, only: SKC => SK
    2076             : #include "pm_arraySort@routines.inc.F90"
    2077           0 :     end procedure
    2078             : 
    2079             : #undef BSSK_ENABLED
    2080             : 
    2081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2082             : 
    2083             : #undef D1_ENABLED
    2084             : 
    2085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2086             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2088             : 
    2089             : #undef CusCom_ENABLED
    2090             : 
    2091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2092             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2093             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2094             : 
    2095             : #undef isSorted_ENABLED
    2096             : 
    2097             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2098             : 
    2099             : #define getSorted_ENABLED 1
    2100             : 
    2101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2104             : 
    2105             : #define Ind_ENABLED 1
    2106             : 
    2107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2110             : 
    2111             : #define CusCom_ENABLED 1
    2112             : 
    2113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2116             : 
    2117             : #define Def_ENABLED 1
    2118             : 
    2119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2122             : 
    2123             : #define D0_ENABLED 1
    2124             : 
    2125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2126             : 
    2127             : #define SK_ENABLED 1
    2128             : 
    2129             : #if SK5_ENABLED
    2130             :     module procedure getSortedIndCusComDef_D0_SK5
    2131             :         use pm_kind, only: SKC => SK5
    2132             : #include "pm_arraySort@routines.inc.F90"
    2133             :     end procedure
    2134             : #endif
    2135             : 
    2136             : #if SK4_ENABLED
    2137             :     module procedure getSortedIndCusComDef_D0_SK4
    2138             :         use pm_kind, only: SKC => SK4
    2139             : #include "pm_arraySort@routines.inc.F90"
    2140             :     end procedure
    2141             : #endif
    2142             : 
    2143             : #if SK3_ENABLED
    2144             :     module procedure getSortedIndCusComDef_D0_SK3
    2145             :         use pm_kind, only: SKC => SK3
    2146             : #include "pm_arraySort@routines.inc.F90"
    2147             :     end procedure
    2148             : #endif
    2149             : 
    2150             : #if SK2_ENABLED
    2151             :     module procedure getSortedIndCusComDef_D0_SK2
    2152             :         use pm_kind, only: SKC => SK2
    2153             : #include "pm_arraySort@routines.inc.F90"
    2154             :     end procedure
    2155             : #endif
    2156             : 
    2157             : #if SK1_ENABLED
    2158           1 :     module procedure getSortedIndCusComDef_D0_SK1
    2159             :         use pm_kind, only: SKC => SK1
    2160             : #include "pm_arraySort@routines.inc.F90"
    2161           1 :     end procedure
    2162             : #endif
    2163             : 
    2164             : #undef SK_ENABLED
    2165             : 
    2166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2167             : 
    2168             : #undef D0_ENABLED
    2169             : 
    2170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2173             : 
    2174             : #define D1_ENABLED 1
    2175             : 
    2176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2177             : 
    2178             : #define SK_ENABLED 1
    2179             : 
    2180             : #if SK5_ENABLED
    2181             :     module procedure getSortedIndCusComDef_D1_SK5
    2182             :         use pm_kind, only: SKC => SK5
    2183             : #include "pm_arraySort@routines.inc.F90"
    2184             :     end procedure
    2185             : #endif
    2186             : 
    2187             : #if SK4_ENABLED
    2188             :     module procedure getSortedIndCusComDef_D1_SK4
    2189             :         use pm_kind, only: SKC => SK4
    2190             : #include "pm_arraySort@routines.inc.F90"
    2191             :     end procedure
    2192             : #endif
    2193             : 
    2194             : #if SK3_ENABLED
    2195             :     module procedure getSortedIndCusComDef_D1_SK3
    2196             :         use pm_kind, only: SKC => SK3
    2197             : #include "pm_arraySort@routines.inc.F90"
    2198             :     end procedure
    2199             : #endif
    2200             : 
    2201             : #if SK2_ENABLED
    2202             :     module procedure getSortedIndCusComDef_D1_SK2
    2203             :         use pm_kind, only: SKC => SK2
    2204             : #include "pm_arraySort@routines.inc.F90"
    2205             :     end procedure
    2206             : #endif
    2207             : 
    2208             : #if SK1_ENABLED
    2209           0 :     module procedure getSortedIndCusComDef_D1_SK1
    2210             :         use pm_kind, only: SKC => SK1
    2211             : #include "pm_arraySort@routines.inc.F90"
    2212           0 :     end procedure
    2213             : #endif
    2214             : 
    2215             : #undef SK_ENABLED
    2216             : 
    2217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2218             : 
    2219             : #define IK_ENABLED 1
    2220             : 
    2221             : #if IK5_ENABLED
    2222           0 :     module procedure getSortedIndCusComDef_D1_IK5
    2223             :         use pm_kind, only: IKC => IK5
    2224             : #include "pm_arraySort@routines.inc.F90"
    2225           0 :     end procedure
    2226             : #endif
    2227             : 
    2228             : #if IK4_ENABLED
    2229           0 :     module procedure getSortedIndCusComDef_D1_IK4
    2230             :         use pm_kind, only: IKC => IK4
    2231             : #include "pm_arraySort@routines.inc.F90"
    2232           0 :     end procedure
    2233             : #endif
    2234             : 
    2235             : #if IK3_ENABLED
    2236           1 :     module procedure getSortedIndCusComDef_D1_IK3
    2237             :         use pm_kind, only: IKC => IK3
    2238             : #include "pm_arraySort@routines.inc.F90"
    2239           1 :     end procedure
    2240             : #endif
    2241             : 
    2242             : #if IK2_ENABLED
    2243           0 :     module procedure getSortedIndCusComDef_D1_IK2
    2244             :         use pm_kind, only: IKC => IK2
    2245             : #include "pm_arraySort@routines.inc.F90"
    2246           0 :     end procedure
    2247             : #endif
    2248             : 
    2249             : #if IK1_ENABLED
    2250           0 :     module procedure getSortedIndCusComDef_D1_IK1
    2251             :         use pm_kind, only: IKC => IK1
    2252             : #include "pm_arraySort@routines.inc.F90"
    2253           0 :     end procedure
    2254             : #endif
    2255             : 
    2256             : #undef IK_ENABLED
    2257             : 
    2258             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2259             : 
    2260             : #define LK_ENABLED 1
    2261             : 
    2262             : #if LK5_ENABLED
    2263           0 :     module procedure getSortedIndCusComDef_D1_LK5
    2264             :         use pm_kind, only: LKC => LK5
    2265             : #include "pm_arraySort@routines.inc.F90"
    2266           0 :     end procedure
    2267             : #endif
    2268             : 
    2269             : #if LK4_ENABLED
    2270           0 :     module procedure getSortedIndCusComDef_D1_LK4
    2271             :         use pm_kind, only: LKC => LK4
    2272             : #include "pm_arraySort@routines.inc.F90"
    2273           0 :     end procedure
    2274             : #endif
    2275             : 
    2276             : #if LK3_ENABLED
    2277           1 :     module procedure getSortedIndCusComDef_D1_LK3
    2278             :         use pm_kind, only: LKC => LK3
    2279             : #include "pm_arraySort@routines.inc.F90"
    2280           1 :     end procedure
    2281             : #endif
    2282             : 
    2283             : #if LK2_ENABLED
    2284           0 :     module procedure getSortedIndCusComDef_D1_LK2
    2285             :         use pm_kind, only: LKC => LK2
    2286             : #include "pm_arraySort@routines.inc.F90"
    2287           0 :     end procedure
    2288             : #endif
    2289             : 
    2290             : #if LK1_ENABLED
    2291           0 :     module procedure getSortedIndCusComDef_D1_LK1
    2292             :         use pm_kind, only: LKC => LK1
    2293             : #include "pm_arraySort@routines.inc.F90"
    2294           0 :     end procedure
    2295             : #endif
    2296             : 
    2297             : #undef LK_ENABLED
    2298             : 
    2299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2300             : 
    2301             : #define CK_ENABLED 1
    2302             : 
    2303             : #if CK5_ENABLED
    2304             :     module procedure getSortedIndCusComDef_D1_CK5
    2305             :         use pm_kind, only: CKC => CK5
    2306             : #include "pm_arraySort@routines.inc.F90"
    2307             :     end procedure
    2308             : #endif
    2309             : 
    2310             : #if CK4_ENABLED
    2311           0 :     module procedure getSortedIndCusComDef_D1_CK4
    2312             :         use pm_kind, only: CKC => CK4
    2313             : #include "pm_arraySort@routines.inc.F90"
    2314           0 :     end procedure
    2315             : #endif
    2316             : 
    2317             : #if CK3_ENABLED
    2318           0 :     module procedure getSortedIndCusComDef_D1_CK3
    2319             :         use pm_kind, only: CKC => CK3
    2320             : #include "pm_arraySort@routines.inc.F90"
    2321           0 :     end procedure
    2322             : #endif
    2323             : 
    2324             : #if CK2_ENABLED
    2325           0 :     module procedure getSortedIndCusComDef_D1_CK2
    2326             :         use pm_kind, only: CKC => CK2
    2327             : #include "pm_arraySort@routines.inc.F90"
    2328           0 :     end procedure
    2329             : #endif
    2330             : 
    2331             : #if CK1_ENABLED
    2332           2 :     module procedure getSortedIndCusComDef_D1_CK1
    2333             :         use pm_kind, only: CKC => CK1
    2334             : #include "pm_arraySort@routines.inc.F90"
    2335           2 :     end procedure
    2336             : #endif
    2337             : 
    2338             : #undef CK_ENABLED
    2339             : 
    2340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2341             : 
    2342             : #define RK_ENABLED 1
    2343             : 
    2344             : #if RK5_ENABLED
    2345             :     module procedure getSortedIndCusComDef_D1_RK5
    2346             :         use pm_kind, only: RKC => RK5
    2347             : #include "pm_arraySort@routines.inc.F90"
    2348             :     end procedure
    2349             : #endif
    2350             : 
    2351             : #if RK4_ENABLED
    2352           0 :     module procedure getSortedIndCusComDef_D1_RK4
    2353             :         use pm_kind, only: RKC => RK4
    2354             : #include "pm_arraySort@routines.inc.F90"
    2355           0 :     end procedure
    2356             : #endif
    2357             : 
    2358             : #if RK3_ENABLED
    2359           0 :     module procedure getSortedIndCusComDef_D1_RK3
    2360             :         use pm_kind, only: RKC => RK3
    2361             : #include "pm_arraySort@routines.inc.F90"
    2362           0 :     end procedure
    2363             : #endif
    2364             : 
    2365             : #if RK2_ENABLED
    2366           0 :     module procedure getSortedIndCusComDef_D1_RK2
    2367             :         use pm_kind, only: RKC => RK2
    2368             : #include "pm_arraySort@routines.inc.F90"
    2369           0 :     end procedure
    2370             : #endif
    2371             : 
    2372             : #if RK1_ENABLED
    2373           2 :     module procedure getSortedIndCusComDef_D1_RK1
    2374             :         use pm_kind, only: RKC => RK1
    2375             : #include "pm_arraySort@routines.inc.F90"
    2376           2 :     end procedure
    2377             : #endif
    2378             : 
    2379             : #undef RK_ENABLED
    2380             : 
    2381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2382             : 
    2383             : #if !__GFORTRAN__
    2384             : #define PSSK_ENABLED 1
    2385             : 
    2386             : #if SK5_ENABLED
    2387             :     module procedure getSortedIndCusComDef_D1_PSSK5
    2388             :         use pm_kind, only: SKC => SK5
    2389             : #include "pm_arraySort@routines.inc.F90"
    2390             :     end procedure
    2391             : #endif
    2392             : 
    2393             : #if SK4_ENABLED
    2394             :     module procedure getSortedIndCusComDef_D1_PSSK4
    2395             :         use pm_kind, only: SKC => SK4
    2396             : #include "pm_arraySort@routines.inc.F90"
    2397             :     end procedure
    2398             : #endif
    2399             : 
    2400             : #if SK3_ENABLED
    2401             :     module procedure getSortedIndCusComDef_D1_PSSK3
    2402             :         use pm_kind, only: SKC => SK3
    2403             : #include "pm_arraySort@routines.inc.F90"
    2404             :     end procedure
    2405             : #endif
    2406             : 
    2407             : #if SK2_ENABLED
    2408             :     module procedure getSortedIndCusComDef_D1_PSSK2
    2409             :         use pm_kind, only: SKC => SK2
    2410             : #include "pm_arraySort@routines.inc.F90"
    2411             :     end procedure
    2412             : #endif
    2413             : 
    2414             : #if SK1_ENABLED
    2415             :     module procedure getSortedIndCusComDef_D1_PSSK1
    2416             :         use pm_kind, only: SKC => SK1
    2417             : #include "pm_arraySort@routines.inc.F90"
    2418             :     end procedure
    2419             : #endif
    2420             : 
    2421             : #undef PSSK_ENABLED
    2422             : #endif
    2423             : 
    2424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2425             : 
    2426             : #define BSSK_ENABLED 1
    2427             : 
    2428           0 :     module procedure getSortedIndCusComDef_D1_BSSK
    2429             :         use pm_kind, only: SKC => SK
    2430             : #include "pm_arraySort@routines.inc.F90"
    2431           0 :     end procedure
    2432             : 
    2433             : #undef BSSK_ENABLED
    2434             : 
    2435             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2436             : 
    2437             : #undef D1_ENABLED
    2438             : 
    2439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2442             : 
    2443             : #undef Def_ENABLED
    2444             : 
    2445             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2448             : 
    2449             : #undef CusCom_ENABLED
    2450             : 
    2451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2452             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2454             : 
    2455             : #undef Ind_ENABLED
    2456             : 
    2457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2460             : 
    2461             : #undef getSorted_ENABLED
    2462             : 
    2463             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2464             : 
    2465             : #define getSorted_ENABLED 1
    2466             : 
    2467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2470             : 
    2471             : #define Arr_ENABLED 1
    2472             : 
    2473             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2474             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2476             : 
    2477             : #define CusCom_ENABLED 1
    2478             : 
    2479             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2480             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2482             : 
    2483             : #define Def_ENABLED 1
    2484             : 
    2485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2486             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2488             : 
    2489             : #define D0_ENABLED 1
    2490             : 
    2491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2492             : 
    2493             : #define SK_ENABLED 1
    2494             : 
    2495             : #if SK5_ENABLED
    2496             :     module procedure getSortedArrCusComDef_D0_SK5
    2497             :         use pm_kind, only: SKC => SK5
    2498             : #include "pm_arraySort@routines.inc.F90"
    2499             :     end procedure
    2500             : #endif
    2501             : 
    2502             : #if SK4_ENABLED
    2503             :     module procedure getSortedArrCusComDef_D0_SK4
    2504             :         use pm_kind, only: SKC => SK4
    2505             : #include "pm_arraySort@routines.inc.F90"
    2506             :     end procedure
    2507             : #endif
    2508             : 
    2509             : #if SK3_ENABLED
    2510             :     module procedure getSortedArrCusComDef_D0_SK3
    2511             :         use pm_kind, only: SKC => SK3
    2512             : #include "pm_arraySort@routines.inc.F90"
    2513             :     end procedure
    2514             : #endif
    2515             : 
    2516             : #if SK2_ENABLED
    2517             :     module procedure getSortedArrCusComDef_D0_SK2
    2518             :         use pm_kind, only: SKC => SK2
    2519             : #include "pm_arraySort@routines.inc.F90"
    2520             :     end procedure
    2521             : #endif
    2522             : 
    2523             : #if SK1_ENABLED
    2524           1 :     module procedure getSortedArrCusComDef_D0_SK1
    2525             :         use pm_kind, only: SKC => SK1
    2526             : #include "pm_arraySort@routines.inc.F90"
    2527           1 :     end procedure
    2528             : #endif
    2529             : 
    2530             : #undef SK_ENABLED
    2531             : 
    2532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2533             : 
    2534             : #undef D0_ENABLED
    2535             : 
    2536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2539             : 
    2540             : #define D1_ENABLED 1
    2541             : 
    2542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2543             : 
    2544             : #define SK_ENABLED 1
    2545             : 
    2546             : #if SK5_ENABLED
    2547             :     module procedure getSortedArrCusComDef_D1_SK5
    2548             :         use pm_kind, only: SKC => SK5
    2549             : #include "pm_arraySort@routines.inc.F90"
    2550             :     end procedure
    2551             : #endif
    2552             : 
    2553             : #if SK4_ENABLED
    2554             :     module procedure getSortedArrCusComDef_D1_SK4
    2555             :         use pm_kind, only: SKC => SK4
    2556             : #include "pm_arraySort@routines.inc.F90"
    2557             :     end procedure
    2558             : #endif
    2559             : 
    2560             : #if SK3_ENABLED
    2561             :     module procedure getSortedArrCusComDef_D1_SK3
    2562             :         use pm_kind, only: SKC => SK3
    2563             : #include "pm_arraySort@routines.inc.F90"
    2564             :     end procedure
    2565             : #endif
    2566             : 
    2567             : #if SK2_ENABLED
    2568             :     module procedure getSortedArrCusComDef_D1_SK2
    2569             :         use pm_kind, only: SKC => SK2
    2570             : #include "pm_arraySort@routines.inc.F90"
    2571             :     end procedure
    2572             : #endif
    2573             : 
    2574             : #if SK1_ENABLED
    2575           0 :     module procedure getSortedArrCusComDef_D1_SK1
    2576             :         use pm_kind, only: SKC => SK1
    2577             : #include "pm_arraySort@routines.inc.F90"
    2578             :     end procedure
    2579             : #endif
    2580             : 
    2581             : #undef SK_ENABLED
    2582             : 
    2583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2584             : 
    2585             : #define IK_ENABLED 1
    2586             : 
    2587             : #if IK5_ENABLED
    2588           0 :     module procedure getSortedArrCusComDef_D1_IK5
    2589             :         use pm_kind, only: IKC => IK5
    2590             : #include "pm_arraySort@routines.inc.F90"
    2591             :     end procedure
    2592             : #endif
    2593             : 
    2594             : #if IK4_ENABLED
    2595           0 :     module procedure getSortedArrCusComDef_D1_IK4
    2596             :         use pm_kind, only: IKC => IK4
    2597             : #include "pm_arraySort@routines.inc.F90"
    2598             :     end procedure
    2599             : #endif
    2600             : 
    2601             : #if IK3_ENABLED
    2602           1 :     module procedure getSortedArrCusComDef_D1_IK3
    2603             :         use pm_kind, only: IKC => IK3
    2604             : #include "pm_arraySort@routines.inc.F90"
    2605             :     end procedure
    2606             : #endif
    2607             : 
    2608             : #if IK2_ENABLED
    2609           0 :     module procedure getSortedArrCusComDef_D1_IK2
    2610             :         use pm_kind, only: IKC => IK2
    2611             : #include "pm_arraySort@routines.inc.F90"
    2612             :     end procedure
    2613             : #endif
    2614             : 
    2615             : #if IK1_ENABLED
    2616           0 :     module procedure getSortedArrCusComDef_D1_IK1
    2617             :         use pm_kind, only: IKC => IK1
    2618             : #include "pm_arraySort@routines.inc.F90"
    2619             :     end procedure
    2620             : #endif
    2621             : 
    2622             : #undef IK_ENABLED
    2623             : 
    2624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2625             : 
    2626             : #define LK_ENABLED 1
    2627             : 
    2628             : #if LK5_ENABLED
    2629           0 :     module procedure getSortedArrCusComDef_D1_LK5
    2630             :         use pm_kind, only: LKC => LK5
    2631             : #include "pm_arraySort@routines.inc.F90"
    2632             :     end procedure
    2633             : #endif
    2634             : 
    2635             : #if LK4_ENABLED
    2636           0 :     module procedure getSortedArrCusComDef_D1_LK4
    2637             :         use pm_kind, only: LKC => LK4
    2638             : #include "pm_arraySort@routines.inc.F90"
    2639             :     end procedure
    2640             : #endif
    2641             : 
    2642             : #if LK3_ENABLED
    2643           1 :     module procedure getSortedArrCusComDef_D1_LK3
    2644             :         use pm_kind, only: LKC => LK3
    2645             : #include "pm_arraySort@routines.inc.F90"
    2646             :     end procedure
    2647             : #endif
    2648             : 
    2649             : #if LK2_ENABLED
    2650           0 :     module procedure getSortedArrCusComDef_D1_LK2
    2651             :         use pm_kind, only: LKC => LK2
    2652             : #include "pm_arraySort@routines.inc.F90"
    2653             :     end procedure
    2654             : #endif
    2655             : 
    2656             : #if LK1_ENABLED
    2657           0 :     module procedure getSortedArrCusComDef_D1_LK1
    2658             :         use pm_kind, only: LKC => LK1
    2659             : #include "pm_arraySort@routines.inc.F90"
    2660             :     end procedure
    2661             : #endif
    2662             : 
    2663             : #undef LK_ENABLED
    2664             : 
    2665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2666             : 
    2667             : #define CK_ENABLED 1
    2668             : 
    2669             : #if CK5_ENABLED
    2670             :     module procedure getSortedArrCusComDef_D1_CK5
    2671             :         use pm_kind, only: CKC => CK5
    2672             : #include "pm_arraySort@routines.inc.F90"
    2673             :     end procedure
    2674             : #endif
    2675             : 
    2676             : #if CK4_ENABLED
    2677           0 :     module procedure getSortedArrCusComDef_D1_CK4
    2678             :         use pm_kind, only: CKC => CK4
    2679             : #include "pm_arraySort@routines.inc.F90"
    2680             :     end procedure
    2681             : #endif
    2682             : 
    2683             : #if CK3_ENABLED
    2684           0 :     module procedure getSortedArrCusComDef_D1_CK3
    2685             :         use pm_kind, only: CKC => CK3
    2686             : #include "pm_arraySort@routines.inc.F90"
    2687             :     end procedure
    2688             : #endif
    2689             : 
    2690             : #if CK2_ENABLED
    2691           0 :     module procedure getSortedArrCusComDef_D1_CK2
    2692             :         use pm_kind, only: CKC => CK2
    2693             : #include "pm_arraySort@routines.inc.F90"
    2694             :     end procedure
    2695             : #endif
    2696             : 
    2697             : #if CK1_ENABLED
    2698           0 :     module procedure getSortedArrCusComDef_D1_CK1
    2699             :         use pm_kind, only: CKC => CK1
    2700             : #include "pm_arraySort@routines.inc.F90"
    2701             :     end procedure
    2702             : #endif
    2703             : 
    2704             : #undef CK_ENABLED
    2705             : 
    2706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2707             : 
    2708             : #define RK_ENABLED 1
    2709             : 
    2710             : #if RK5_ENABLED
    2711             :     module procedure getSortedArrCusComDef_D1_RK5
    2712             :         use pm_kind, only: RKC => RK5
    2713             : #include "pm_arraySort@routines.inc.F90"
    2714             :     end procedure
    2715             : #endif
    2716             : 
    2717             : #if RK4_ENABLED
    2718           0 :     module procedure getSortedArrCusComDef_D1_RK4
    2719             :         use pm_kind, only: RKC => RK4
    2720             : #include "pm_arraySort@routines.inc.F90"
    2721             :     end procedure
    2722             : #endif
    2723             : 
    2724             : #if RK3_ENABLED
    2725           0 :     module procedure getSortedArrCusComDef_D1_RK3
    2726             :         use pm_kind, only: RKC => RK3
    2727             : #include "pm_arraySort@routines.inc.F90"
    2728             :     end procedure
    2729             : #endif
    2730             : 
    2731             : #if RK2_ENABLED
    2732           0 :     module procedure getSortedArrCusComDef_D1_RK2
    2733             :         use pm_kind, only: RKC => RK2
    2734             : #include "pm_arraySort@routines.inc.F90"
    2735             :     end procedure
    2736             : #endif
    2737             : 
    2738             : #if RK1_ENABLED
    2739           0 :     module procedure getSortedArrCusComDef_D1_RK1
    2740             :         use pm_kind, only: RKC => RK1
    2741             : #include "pm_arraySort@routines.inc.F90"
    2742             :     end procedure
    2743             : #endif
    2744             : 
    2745             : #undef RK_ENABLED
    2746             : 
    2747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2748             : 
    2749             : ! LCOV_EXCL_START
    2750             : !#if !__GFORTRAN__
    2751             : 
    2752             : #define PSSK_ENABLED 1
    2753             : 
    2754             : #if SK5_ENABLED
    2755             :     module procedure getSortedArrCusComDef_D1_PSSK5
    2756             :         use pm_kind, only: SKC => SK5
    2757             : #include "pm_arraySort@routines.inc.F90"
    2758             :     end procedure
    2759             : #endif
    2760             : 
    2761             : #if SK4_ENABLED
    2762             :     module procedure getSortedArrCusComDef_D1_PSSK4
    2763             :         use pm_kind, only: SKC => SK4
    2764             : #include "pm_arraySort@routines.inc.F90"
    2765             :     end procedure
    2766             : #endif
    2767             : 
    2768             : #if SK3_ENABLED
    2769             :     module procedure getSortedArrCusComDef_D1_PSSK3
    2770             :         use pm_kind, only: SKC => SK3
    2771             : #include "pm_arraySort@routines.inc.F90"
    2772             :     end procedure
    2773             : #endif
    2774             : 
    2775             : #if SK2_ENABLED
    2776             :     module procedure getSortedArrCusComDef_D1_PSSK2
    2777             :         use pm_kind, only: SKC => SK2
    2778             : #include "pm_arraySort@routines.inc.F90"
    2779             :     end procedure
    2780             : #endif
    2781             : 
    2782             : #if SK1_ENABLED
    2783             :     module procedure getSortedArrCusComDef_D1_PSSK1
    2784             :         use pm_kind, only: SKC => SK1
    2785             : #include "pm_arraySort@routines.inc.F90"
    2786             :     end procedure
    2787             : #endif
    2788             : 
    2789             : #undef PSSK_ENABLED
    2790             : 
    2791             : !#endif
    2792             : ! LCOV_EXCL_STOP
    2793             : 
    2794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2795             : 
    2796             : #define BSSK_ENABLED 1
    2797             : 
    2798           0 :     module procedure getSortedArrCusComDef_D1_BSSK
    2799             :         use pm_kind, only: SKC => SK
    2800             : #include "pm_arraySort@routines.inc.F90"
    2801           0 :     end procedure
    2802             : 
    2803             : #undef BSSK_ENABLED
    2804             : 
    2805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2806             : 
    2807             : #undef D1_ENABLED
    2808             : 
    2809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2812             : 
    2813             : #undef Def_ENABLED
    2814             : 
    2815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2818             : 
    2819             : #undef CusCom_ENABLED
    2820             : 
    2821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2824             : 
    2825             : #undef Arr_ENABLED
    2826             : 
    2827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2830             : 
    2831             : #undef getSorted_ENABLED
    2832             : 
    2833             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2834             : 
    2835             : #define getSorted_ENABLED 1
    2836             : 
    2837             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2840             : 
    2841             : #define Ind_ENABLED 1
    2842             : 
    2843             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2844             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2846             : 
    2847             : #define DefCom_ENABLED 1
    2848             : 
    2849             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2850             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2851             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2852             : 
    2853             : #define Def_ENABLED 1
    2854             : 
    2855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2856             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2857             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2858             : 
    2859             : #define D0_ENABLED 1
    2860             : 
    2861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2862             : 
    2863             : #define SK_ENABLED 1
    2864             : 
    2865             : #if SK5_ENABLED
    2866             :     module procedure getSortedIndDefComDef_D0_SK5
    2867             :         use pm_kind, only: SKC => SK5
    2868             : #include "pm_arraySort@routines.inc.F90"
    2869             :     end procedure
    2870             : #endif
    2871             : 
    2872             : #if SK4_ENABLED
    2873             :     module procedure getSortedIndDefComDef_D0_SK4
    2874             :         use pm_kind, only: SKC => SK4
    2875             : #include "pm_arraySort@routines.inc.F90"
    2876             :     end procedure
    2877             : #endif
    2878             : 
    2879             : #if SK3_ENABLED
    2880             :     module procedure getSortedIndDefComDef_D0_SK3
    2881             :         use pm_kind, only: SKC => SK3
    2882             : #include "pm_arraySort@routines.inc.F90"
    2883             :     end procedure
    2884             : #endif
    2885             : 
    2886             : #if SK2_ENABLED
    2887             :     module procedure getSortedIndDefComDef_D0_SK2
    2888             :         use pm_kind, only: SKC => SK2
    2889             : #include "pm_arraySort@routines.inc.F90"
    2890             :     end procedure
    2891             : #endif
    2892             : 
    2893             : #if SK1_ENABLED
    2894           1 :     module procedure getSortedIndDefComDef_D0_SK1
    2895             :         use pm_kind, only: SKC => SK1
    2896             : #include "pm_arraySort@routines.inc.F90"
    2897           1 :     end procedure
    2898             : #endif
    2899             : 
    2900             : #undef SK_ENABLED
    2901             : 
    2902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2903             : 
    2904             : #undef D0_ENABLED
    2905             : 
    2906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2909             : 
    2910             : #define D1_ENABLED 1
    2911             : 
    2912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2913             : 
    2914             : #define SK_ENABLED 1
    2915             : 
    2916             : #if SK5_ENABLED
    2917             :     module procedure getSortedIndDefComDef_D1_SK5
    2918             :         use pm_kind, only: SKC => SK5
    2919             : #include "pm_arraySort@routines.inc.F90"
    2920             :     end procedure
    2921             : #endif
    2922             : 
    2923             : #if SK4_ENABLED
    2924             :     module procedure getSortedIndDefComDef_D1_SK4
    2925             :         use pm_kind, only: SKC => SK4
    2926             : #include "pm_arraySort@routines.inc.F90"
    2927             :     end procedure
    2928             : #endif
    2929             : 
    2930             : #if SK3_ENABLED
    2931             :     module procedure getSortedIndDefComDef_D1_SK3
    2932             :         use pm_kind, only: SKC => SK3
    2933             : #include "pm_arraySort@routines.inc.F90"
    2934             :     end procedure
    2935             : #endif
    2936             : 
    2937             : #if SK2_ENABLED
    2938             :     module procedure getSortedIndDefComDef_D1_SK2
    2939             :         use pm_kind, only: SKC => SK2
    2940             : #include "pm_arraySort@routines.inc.F90"
    2941             :     end procedure
    2942             : #endif
    2943             : 
    2944             : #if SK1_ENABLED
    2945           1 :     module procedure getSortedIndDefComDef_D1_SK1
    2946             :         use pm_kind, only: SKC => SK1
    2947             : #include "pm_arraySort@routines.inc.F90"
    2948           1 :     end procedure
    2949             : #endif
    2950             : 
    2951             : #undef SK_ENABLED
    2952             : 
    2953             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2954             : 
    2955             : #define IK_ENABLED 1
    2956             : 
    2957             : #if IK5_ENABLED
    2958           0 :     module procedure getSortedIndDefComDef_D1_IK5
    2959             :         use pm_kind, only: IKC => IK5
    2960             : #include "pm_arraySort@routines.inc.F90"
    2961           0 :     end procedure
    2962             : #endif
    2963             : 
    2964             : #if IK4_ENABLED
    2965           0 :     module procedure getSortedIndDefComDef_D1_IK4
    2966             :         use pm_kind, only: IKC => IK4
    2967             : #include "pm_arraySort@routines.inc.F90"
    2968           0 :     end procedure
    2969             : #endif
    2970             : 
    2971             : #if IK3_ENABLED
    2972           1 :     module procedure getSortedIndDefComDef_D1_IK3
    2973             :         use pm_kind, only: IKC => IK3
    2974             : #include "pm_arraySort@routines.inc.F90"
    2975           1 :     end procedure
    2976             : #endif
    2977             : 
    2978             : #if IK2_ENABLED
    2979           0 :     module procedure getSortedIndDefComDef_D1_IK2
    2980             :         use pm_kind, only: IKC => IK2
    2981             : #include "pm_arraySort@routines.inc.F90"
    2982           0 :     end procedure
    2983             : #endif
    2984             : 
    2985             : #if IK1_ENABLED
    2986           0 :     module procedure getSortedIndDefComDef_D1_IK1
    2987             :         use pm_kind, only: IKC => IK1
    2988             : #include "pm_arraySort@routines.inc.F90"
    2989           0 :     end procedure
    2990             : #endif
    2991             : 
    2992             : #undef IK_ENABLED
    2993             : 
    2994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2995             : 
    2996             : #define LK_ENABLED 1
    2997             : 
    2998             : #if LK5_ENABLED
    2999           0 :     module procedure getSortedIndDefComDef_D1_LK5
    3000             :         use pm_kind, only: LKC => LK5
    3001             : #include "pm_arraySort@routines.inc.F90"
    3002           0 :     end procedure
    3003             : #endif
    3004             : 
    3005             : #if LK4_ENABLED
    3006           0 :     module procedure getSortedIndDefComDef_D1_LK4
    3007             :         use pm_kind, only: LKC => LK4
    3008             : #include "pm_arraySort@routines.inc.F90"
    3009           0 :     end procedure
    3010             : #endif
    3011             : 
    3012             : #if LK3_ENABLED
    3013           1 :     module procedure getSortedIndDefComDef_D1_LK3
    3014             :         use pm_kind, only: LKC => LK3
    3015             : #include "pm_arraySort@routines.inc.F90"
    3016           1 :     end procedure
    3017             : #endif
    3018             : 
    3019             : #if LK2_ENABLED
    3020           0 :     module procedure getSortedIndDefComDef_D1_LK2
    3021             :         use pm_kind, only: LKC => LK2
    3022             : #include "pm_arraySort@routines.inc.F90"
    3023           0 :     end procedure
    3024             : #endif
    3025             : 
    3026             : #if LK1_ENABLED
    3027           0 :     module procedure getSortedIndDefComDef_D1_LK1
    3028             :         use pm_kind, only: LKC => LK1
    3029             : #include "pm_arraySort@routines.inc.F90"
    3030           0 :     end procedure
    3031             : #endif
    3032             : 
    3033             : #undef LK_ENABLED
    3034             : 
    3035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3036             : 
    3037             : #define CK_ENABLED 1
    3038             : 
    3039             : #if CK5_ENABLED
    3040             :     module procedure getSortedIndDefComDef_D1_CK5
    3041             :         use pm_kind, only: CKC => CK5
    3042             : #include "pm_arraySort@routines.inc.F90"
    3043             :     end procedure
    3044             : #endif
    3045             : 
    3046             : #if CK4_ENABLED
    3047           0 :     module procedure getSortedIndDefComDef_D1_CK4
    3048             :         use pm_kind, only: CKC => CK4
    3049             : #include "pm_arraySort@routines.inc.F90"
    3050           0 :     end procedure
    3051             : #endif
    3052             : 
    3053             : #if CK3_ENABLED
    3054           0 :     module procedure getSortedIndDefComDef_D1_CK3
    3055             :         use pm_kind, only: CKC => CK3
    3056             : #include "pm_arraySort@routines.inc.F90"
    3057           0 :     end procedure
    3058             : #endif
    3059             : 
    3060             : #if CK2_ENABLED
    3061           0 :     module procedure getSortedIndDefComDef_D1_CK2
    3062             :         use pm_kind, only: CKC => CK2
    3063             : #include "pm_arraySort@routines.inc.F90"
    3064           0 :     end procedure
    3065             : #endif
    3066             : 
    3067             : #if CK1_ENABLED
    3068           1 :     module procedure getSortedIndDefComDef_D1_CK1
    3069             :         use pm_kind, only: CKC => CK1
    3070             : #include "pm_arraySort@routines.inc.F90"
    3071           1 :     end procedure
    3072             : #endif
    3073             : 
    3074             : #undef CK_ENABLED
    3075             : 
    3076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3077             : 
    3078             : #define RK_ENABLED 1
    3079             : 
    3080             : #if RK5_ENABLED
    3081             :     module procedure getSortedIndDefComDef_D1_RK5
    3082             :         use pm_kind, only: RKC => RK5
    3083             : #include "pm_arraySort@routines.inc.F90"
    3084             :     end procedure
    3085             : #endif
    3086             : 
    3087             : #if RK4_ENABLED
    3088           0 :     module procedure getSortedIndDefComDef_D1_RK4
    3089             :         use pm_kind, only: RKC => RK4
    3090             : #include "pm_arraySort@routines.inc.F90"
    3091           0 :     end procedure
    3092             : #endif
    3093             : 
    3094             : #if RK3_ENABLED
    3095           0 :     module procedure getSortedIndDefComDef_D1_RK3
    3096             :         use pm_kind, only: RKC => RK3
    3097             : #include "pm_arraySort@routines.inc.F90"
    3098           0 :     end procedure
    3099             : #endif
    3100             : 
    3101             : #if RK2_ENABLED
    3102           0 :     module procedure getSortedIndDefComDef_D1_RK2
    3103             :         use pm_kind, only: RKC => RK2
    3104             : #include "pm_arraySort@routines.inc.F90"
    3105           0 :     end procedure
    3106             : #endif
    3107             : 
    3108             : #if RK1_ENABLED
    3109           1 :     module procedure getSortedIndDefComDef_D1_RK1
    3110             :         use pm_kind, only: RKC => RK1
    3111             : #include "pm_arraySort@routines.inc.F90"
    3112           1 :     end procedure
    3113             : #endif
    3114             : 
    3115             : #undef RK_ENABLED
    3116             : 
    3117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3118             : 
    3119             : #if !__GFORTRAN__
    3120             : #define PSSK_ENABLED 1
    3121             : 
    3122             : #if SK5_ENABLED
    3123             :     module procedure getSortedIndDefComDef_D1_PSSK5
    3124             :         use pm_kind, only: SKC => SK5
    3125             : #include "pm_arraySort@routines.inc.F90"
    3126             :     end procedure
    3127             : #endif
    3128             : 
    3129             : #if SK4_ENABLED
    3130             :     module procedure getSortedIndDefComDef_D1_PSSK4
    3131             :         use pm_kind, only: SKC => SK4
    3132             : #include "pm_arraySort@routines.inc.F90"
    3133             :     end procedure
    3134             : #endif
    3135             : 
    3136             : #if SK3_ENABLED
    3137             :     module procedure getSortedIndDefComDef_D1_PSSK3
    3138             :         use pm_kind, only: SKC => SK3
    3139             : #include "pm_arraySort@routines.inc.F90"
    3140             :     end procedure
    3141             : #endif
    3142             : 
    3143             : #if SK2_ENABLED
    3144             :     module procedure getSortedIndDefComDef_D1_PSSK2
    3145             :         use pm_kind, only: SKC => SK2
    3146             : #include "pm_arraySort@routines.inc.F90"
    3147             :     end procedure
    3148             : #endif
    3149             : 
    3150             : #if SK1_ENABLED
    3151             :     module procedure getSortedIndDefComDef_D1_PSSK1
    3152             :         use pm_kind, only: SKC => SK1
    3153             : #include "pm_arraySort@routines.inc.F90"
    3154             :     end procedure
    3155             : #endif
    3156             : 
    3157             : #undef PSSK_ENABLED
    3158             : #endif
    3159             : 
    3160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3161             : 
    3162             : #define BSSK_ENABLED 1
    3163             : 
    3164           0 :     module procedure getSortedIndDefComDef_D1_BSSK
    3165             :         use pm_kind, only: SKC => SK
    3166             : #include "pm_arraySort@routines.inc.F90"
    3167           0 :     end procedure
    3168             : 
    3169             : #undef BSSK_ENABLED
    3170             : 
    3171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3172             : 
    3173             : #undef D1_ENABLED
    3174             : 
    3175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3178             : 
    3179             : #undef Def_ENABLED
    3180             : 
    3181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3182             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3184             : 
    3185             : #undef DefCom_ENABLED
    3186             : 
    3187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3190             : 
    3191             : #undef Ind_ENABLED
    3192             : 
    3193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3196             : 
    3197             : #undef getSorted_ENABLED
    3198             : 
    3199             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3200             : 
    3201             : #define getSorted_ENABLED 1
    3202             : 
    3203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3206             : 
    3207             : #define Arr_ENABLED 1
    3208             : 
    3209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3212             : 
    3213             : #define DefCom_ENABLED 1
    3214             : 
    3215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3216             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3218             : 
    3219             : #define Def_ENABLED 1
    3220             : 
    3221             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3223             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3224             : 
    3225             : #define D0_ENABLED 1
    3226             : 
    3227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3228             : 
    3229             : #define SK_ENABLED 1
    3230             : 
    3231             : #if SK5_ENABLED
    3232             :     module procedure getSortedArrDefComDef_D0_SK5
    3233             :         use pm_kind, only: SKC => SK5
    3234             : #include "pm_arraySort@routines.inc.F90"
    3235             :     end procedure
    3236             : #endif
    3237             : 
    3238             : #if SK4_ENABLED
    3239             :     module procedure getSortedArrDefComDef_D0_SK4
    3240             :         use pm_kind, only: SKC => SK4
    3241             : #include "pm_arraySort@routines.inc.F90"
    3242             :     end procedure
    3243             : #endif
    3244             : 
    3245             : #if SK3_ENABLED
    3246             :     module procedure getSortedArrDefComDef_D0_SK3
    3247             :         use pm_kind, only: SKC => SK3
    3248             : #include "pm_arraySort@routines.inc.F90"
    3249             :     end procedure
    3250             : #endif
    3251             : 
    3252             : #if SK2_ENABLED
    3253             :     module procedure getSortedArrDefComDef_D0_SK2
    3254             :         use pm_kind, only: SKC => SK2
    3255             : #include "pm_arraySort@routines.inc.F90"
    3256             :     end procedure
    3257             : #endif
    3258             : 
    3259             : #if SK1_ENABLED
    3260           3 :     module procedure getSortedArrDefComDef_D0_SK1
    3261             :         use pm_kind, only: SKC => SK1
    3262             : #include "pm_arraySort@routines.inc.F90"
    3263           3 :     end procedure
    3264             : #endif
    3265             : 
    3266             : #undef SK_ENABLED
    3267             : 
    3268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3269             : 
    3270             : #undef D0_ENABLED
    3271             : 
    3272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3275             : 
    3276             : #define D1_ENABLED 1
    3277             : 
    3278             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3279             : 
    3280             : #define SK_ENABLED 1
    3281             : 
    3282             : #if SK5_ENABLED
    3283             :     module procedure getSortedArrDefComDef_D1_SK5
    3284             :         use pm_kind, only: SKC => SK5
    3285             : #include "pm_arraySort@routines.inc.F90"
    3286             :     end procedure
    3287             : #endif
    3288             : 
    3289             : #if SK4_ENABLED
    3290             :     module procedure getSortedArrDefComDef_D1_SK4
    3291             :         use pm_kind, only: SKC => SK4
    3292             : #include "pm_arraySort@routines.inc.F90"
    3293             :     end procedure
    3294             : #endif
    3295             : 
    3296             : #if SK3_ENABLED
    3297             :     module procedure getSortedArrDefComDef_D1_SK3
    3298             :         use pm_kind, only: SKC => SK3
    3299             : #include "pm_arraySort@routines.inc.F90"
    3300             :     end procedure
    3301             : #endif
    3302             : 
    3303             : #if SK2_ENABLED
    3304             :     module procedure getSortedArrDefComDef_D1_SK2
    3305             :         use pm_kind, only: SKC => SK2
    3306             : #include "pm_arraySort@routines.inc.F90"
    3307             :     end procedure
    3308             : #endif
    3309             : 
    3310             : #if SK1_ENABLED
    3311           1 :     module procedure getSortedArrDefComDef_D1_SK1
    3312             :         use pm_kind, only: SKC => SK1
    3313             : #include "pm_arraySort@routines.inc.F90"
    3314             :     end procedure
    3315             : #endif
    3316             : 
    3317             : #undef SK_ENABLED
    3318             : 
    3319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3320             : 
    3321             : #define IK_ENABLED 1
    3322             : 
    3323             : #if IK5_ENABLED
    3324           0 :     module procedure getSortedArrDefComDef_D1_IK5
    3325             :         use pm_kind, only: IKC => IK5
    3326             : #include "pm_arraySort@routines.inc.F90"
    3327             :     end procedure
    3328             : #endif
    3329             : 
    3330             : #if IK4_ENABLED
    3331           0 :     module procedure getSortedArrDefComDef_D1_IK4
    3332             :         use pm_kind, only: IKC => IK4
    3333             : #include "pm_arraySort@routines.inc.F90"
    3334             :     end procedure
    3335             : #endif
    3336             : 
    3337             : #if IK3_ENABLED
    3338           5 :     module procedure getSortedArrDefComDef_D1_IK3
    3339             :         use pm_kind, only: IKC => IK3
    3340             : #include "pm_arraySort@routines.inc.F90"
    3341             :     end procedure
    3342             : #endif
    3343             : 
    3344             : #if IK2_ENABLED
    3345           0 :     module procedure getSortedArrDefComDef_D1_IK2
    3346             :         use pm_kind, only: IKC => IK2
    3347             : #include "pm_arraySort@routines.inc.F90"
    3348             :     end procedure
    3349             : #endif
    3350             : 
    3351             : #if IK1_ENABLED
    3352           0 :     module procedure getSortedArrDefComDef_D1_IK1
    3353             :         use pm_kind, only: IKC => IK1
    3354             : #include "pm_arraySort@routines.inc.F90"
    3355             :     end procedure
    3356             : #endif
    3357             : 
    3358             : #undef IK_ENABLED
    3359             : 
    3360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3361             : 
    3362             : #define LK_ENABLED 1
    3363             : 
    3364             : #if LK5_ENABLED
    3365           0 :     module procedure getSortedArrDefComDef_D1_LK5
    3366             :         use pm_kind, only: LKC => LK5
    3367             : #include "pm_arraySort@routines.inc.F90"
    3368             :     end procedure
    3369             : #endif
    3370             : 
    3371             : #if LK4_ENABLED
    3372           0 :     module procedure getSortedArrDefComDef_D1_LK4
    3373             :         use pm_kind, only: LKC => LK4
    3374             : #include "pm_arraySort@routines.inc.F90"
    3375             :     end procedure
    3376             : #endif
    3377             : 
    3378             : #if LK3_ENABLED
    3379           1 :     module procedure getSortedArrDefComDef_D1_LK3
    3380             :         use pm_kind, only: LKC => LK3
    3381             : #include "pm_arraySort@routines.inc.F90"
    3382             :     end procedure
    3383             : #endif
    3384             : 
    3385             : #if LK2_ENABLED
    3386           0 :     module procedure getSortedArrDefComDef_D1_LK2
    3387             :         use pm_kind, only: LKC => LK2
    3388             : #include "pm_arraySort@routines.inc.F90"
    3389             :     end procedure
    3390             : #endif
    3391             : 
    3392             : #if LK1_ENABLED
    3393           0 :     module procedure getSortedArrDefComDef_D1_LK1
    3394             :         use pm_kind, only: LKC => LK1
    3395             : #include "pm_arraySort@routines.inc.F90"
    3396             :     end procedure
    3397             : #endif
    3398             : 
    3399             : #undef LK_ENABLED
    3400             : 
    3401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3402             : 
    3403             : #define CK_ENABLED 1
    3404             : 
    3405             : #if CK5_ENABLED
    3406             :     module procedure getSortedArrDefComDef_D1_CK5
    3407             :         use pm_kind, only: CKC => CK5
    3408             : #include "pm_arraySort@routines.inc.F90"
    3409             :     end procedure
    3410             : #endif
    3411             : 
    3412             : #if CK4_ENABLED
    3413           0 :     module procedure getSortedArrDefComDef_D1_CK4
    3414             :         use pm_kind, only: CKC => CK4
    3415             : #include "pm_arraySort@routines.inc.F90"
    3416             :     end procedure
    3417             : #endif
    3418             : 
    3419             : #if CK3_ENABLED
    3420           0 :     module procedure getSortedArrDefComDef_D1_CK3
    3421             :         use pm_kind, only: CKC => CK3
    3422             : #include "pm_arraySort@routines.inc.F90"
    3423             :     end procedure
    3424             : #endif
    3425             : 
    3426             : #if CK2_ENABLED
    3427           0 :     module procedure getSortedArrDefComDef_D1_CK2
    3428             :         use pm_kind, only: CKC => CK2
    3429             : #include "pm_arraySort@routines.inc.F90"
    3430             :     end procedure
    3431             : #endif
    3432             : 
    3433             : #if CK1_ENABLED
    3434           1 :     module procedure getSortedArrDefComDef_D1_CK1
    3435             :         use pm_kind, only: CKC => CK1
    3436             : #include "pm_arraySort@routines.inc.F90"
    3437             :     end procedure
    3438             : #endif
    3439             : 
    3440             : #undef CK_ENABLED
    3441             : 
    3442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3443             : 
    3444             : #define RK_ENABLED 1
    3445             : 
    3446             : #if RK5_ENABLED
    3447             :     module procedure getSortedArrDefComDef_D1_RK5
    3448             :         use pm_kind, only: RKC => RK5
    3449             : #include "pm_arraySort@routines.inc.F90"
    3450             :     end procedure
    3451             : #endif
    3452             : 
    3453             : #if RK4_ENABLED
    3454           0 :     module procedure getSortedArrDefComDef_D1_RK4
    3455             :         use pm_kind, only: RKC => RK4
    3456             : #include "pm_arraySort@routines.inc.F90"
    3457             :     end procedure
    3458             : #endif
    3459             : 
    3460             : #if RK3_ENABLED
    3461           0 :     module procedure getSortedArrDefComDef_D1_RK3
    3462             :         use pm_kind, only: RKC => RK3
    3463             : #include "pm_arraySort@routines.inc.F90"
    3464             :     end procedure
    3465             : #endif
    3466             : 
    3467             : #if RK2_ENABLED
    3468           0 :     module procedure getSortedArrDefComDef_D1_RK2
    3469             :         use pm_kind, only: RKC => RK2
    3470             : #include "pm_arraySort@routines.inc.F90"
    3471             :     end procedure
    3472             : #endif
    3473             : 
    3474             : #if RK1_ENABLED
    3475         101 :     module procedure getSortedArrDefComDef_D1_RK1
    3476             :         use pm_kind, only: RKC => RK1
    3477             : #include "pm_arraySort@routines.inc.F90"
    3478             :     end procedure
    3479             : #endif
    3480             : 
    3481             : #undef RK_ENABLED
    3482             : 
    3483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3484             : 
    3485             : ! LCOV_EXCL_START
    3486             : !#if !__GFORTRAN__
    3487             : 
    3488             : #define PSSK_ENABLED 1
    3489             : 
    3490             : #if SK5_ENABLED
    3491             :     module procedure getSortedArrDefComDef_D1_PSSK5
    3492             :         use pm_kind, only: SKC => SK5
    3493             : #include "pm_arraySort@routines.inc.F90"
    3494             :     end procedure
    3495             : #endif
    3496             : 
    3497             : #if SK4_ENABLED
    3498             :     module procedure getSortedArrDefComDef_D1_PSSK4
    3499             :         use pm_kind, only: SKC => SK4
    3500             : #include "pm_arraySort@routines.inc.F90"
    3501             :     end procedure
    3502             : #endif
    3503             : 
    3504             : #if SK3_ENABLED
    3505             :     module procedure getSortedArrDefComDef_D1_PSSK3
    3506             :         use pm_kind, only: SKC => SK3
    3507             : #include "pm_arraySort@routines.inc.F90"
    3508             :     end procedure
    3509             : #endif
    3510             : 
    3511             : #if SK2_ENABLED
    3512             :     module procedure getSortedArrDefComDef_D1_PSSK2
    3513             :         use pm_kind, only: SKC => SK2
    3514             : #include "pm_arraySort@routines.inc.F90"
    3515             :     end procedure
    3516             : #endif
    3517             : 
    3518             : #if SK1_ENABLED
    3519             :     module procedure getSortedArrDefComDef_D1_PSSK1
    3520             :         use pm_kind, only: SKC => SK1
    3521             : #include "pm_arraySort@routines.inc.F90"
    3522             :     end procedure
    3523             : #endif
    3524             : 
    3525             : #undef PSSK_ENABLED
    3526             : 
    3527             : !#endif
    3528             : ! LCOV_EXCL_STOP
    3529             : 
    3530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3531             : 
    3532             : #define BSSK_ENABLED 1
    3533             : 
    3534           0 :     module procedure getSortedArrDefComDef_D1_BSSK
    3535             :         use pm_kind, only: SKC => SK
    3536             : #include "pm_arraySort@routines.inc.F90"
    3537           0 :     end procedure
    3538             : 
    3539             : #undef BSSK_ENABLED
    3540             : 
    3541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3542             : 
    3543             : #undef D1_ENABLED
    3544             : 
    3545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3546             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3548             : 
    3549             : #undef Def_ENABLED
    3550             : 
    3551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3554             : 
    3555             : #undef DefCom_ENABLED
    3556             : 
    3557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3560             : 
    3561             : #undef Arr_ENABLED
    3562             : 
    3563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3565             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3566             : 
    3567             : #undef getSorted_ENABLED
    3568             : 
    3569             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3570             : 
    3571             : #define setSorted_ENABLED 1
    3572             : 
    3573             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3575             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3576             : 
    3577             : #define Ind_ENABLED 1
    3578             : 
    3579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3581             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3582             : 
    3583             : #define CusCom_ENABLED 1
    3584             : 
    3585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3587             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3588             : 
    3589             : #define Def_ENABLED 1
    3590             : 
    3591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3592             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3594             : 
    3595             : #define D0_ENABLED 1
    3596             : 
    3597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3598             : 
    3599             : #define SK_ENABLED 1
    3600             : 
    3601             : #if SK5_ENABLED
    3602             :     module procedure setSortedIndCusComDef_D0_SK5
    3603             :         use pm_kind, only: SKC => SK5
    3604             : #include "pm_arraySort@routines.inc.F90"
    3605             :     end procedure
    3606             : #endif
    3607             : 
    3608             : #if SK4_ENABLED
    3609             :     module procedure setSortedIndCusComDef_D0_SK4
    3610             :         use pm_kind, only: SKC => SK4
    3611             : #include "pm_arraySort@routines.inc.F90"
    3612             :     end procedure
    3613             : #endif
    3614             : 
    3615             : #if SK3_ENABLED
    3616             :     module procedure setSortedIndCusComDef_D0_SK3
    3617             :         use pm_kind, only: SKC => SK3
    3618             : #include "pm_arraySort@routines.inc.F90"
    3619             :     end procedure
    3620             : #endif
    3621             : 
    3622             : #if SK2_ENABLED
    3623             :     module procedure setSortedIndCusComDef_D0_SK2
    3624             :         use pm_kind, only: SKC => SK2
    3625             : #include "pm_arraySort@routines.inc.F90"
    3626             :     end procedure
    3627             : #endif
    3628             : 
    3629             : #if SK1_ENABLED
    3630        2252 :     module procedure setSortedIndCusComDef_D0_SK1
    3631             :         use pm_kind, only: SKC => SK1
    3632             : #include "pm_arraySort@routines.inc.F90"
    3633        2252 :     end procedure
    3634             : #endif
    3635             : 
    3636             : #undef SK_ENABLED
    3637             : 
    3638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3639             : 
    3640             : #undef D0_ENABLED
    3641             : 
    3642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3644             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3645             : 
    3646             : #define D1_ENABLED 1
    3647             : 
    3648             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3649             : 
    3650             : #define SK_ENABLED 1
    3651             : 
    3652             : #if SK5_ENABLED
    3653             :     module procedure setSortedIndCusComDef_D1_SK5
    3654             :         use pm_kind, only: SKC => SK5
    3655             : #include "pm_arraySort@routines.inc.F90"
    3656             :     end procedure
    3657             : #endif
    3658             : 
    3659             : #if SK4_ENABLED
    3660             :     module procedure setSortedIndCusComDef_D1_SK4
    3661             :         use pm_kind, only: SKC => SK4
    3662             : #include "pm_arraySort@routines.inc.F90"
    3663             :     end procedure
    3664             : #endif
    3665             : 
    3666             : #if SK3_ENABLED
    3667             :     module procedure setSortedIndCusComDef_D1_SK3
    3668             :         use pm_kind, only: SKC => SK3
    3669             : #include "pm_arraySort@routines.inc.F90"
    3670             :     end procedure
    3671             : #endif
    3672             : 
    3673             : #if SK2_ENABLED
    3674             :     module procedure setSortedIndCusComDef_D1_SK2
    3675             :         use pm_kind, only: SKC => SK2
    3676             : #include "pm_arraySort@routines.inc.F90"
    3677             :     end procedure
    3678             : #endif
    3679             : 
    3680             : #if SK1_ENABLED
    3681        2210 :     module procedure setSortedIndCusComDef_D1_SK1
    3682             :         use pm_kind, only: SKC => SK1
    3683             : #include "pm_arraySort@routines.inc.F90"
    3684        2210 :     end procedure
    3685             : #endif
    3686             : 
    3687             : #undef SK_ENABLED
    3688             : 
    3689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3690             : 
    3691             : #define IK_ENABLED 1
    3692             : 
    3693             : #if IK5_ENABLED
    3694        2217 :     module procedure setSortedIndCusComDef_D1_IK5
    3695             :         use pm_kind, only: IKC => IK5
    3696             : #include "pm_arraySort@routines.inc.F90"
    3697        2217 :     end procedure
    3698             : #endif
    3699             : 
    3700             : #if IK4_ENABLED
    3701        2215 :     module procedure setSortedIndCusComDef_D1_IK4
    3702             :         use pm_kind, only: IKC => IK4
    3703             : #include "pm_arraySort@routines.inc.F90"
    3704        2215 :     end procedure
    3705             : #endif
    3706             : 
    3707             : #if IK3_ENABLED
    3708        2225 :     module procedure setSortedIndCusComDef_D1_IK3
    3709             :         use pm_kind, only: IKC => IK3
    3710             : #include "pm_arraySort@routines.inc.F90"
    3711        2225 :     end procedure
    3712             : #endif
    3713             : 
    3714             : #if IK2_ENABLED
    3715        2217 :     module procedure setSortedIndCusComDef_D1_IK2
    3716             :         use pm_kind, only: IKC => IK2
    3717             : #include "pm_arraySort@routines.inc.F90"
    3718        2217 :     end procedure
    3719             : #endif
    3720             : 
    3721             : #if IK1_ENABLED
    3722        2217 :     module procedure setSortedIndCusComDef_D1_IK1
    3723             :         use pm_kind, only: IKC => IK1
    3724             : #include "pm_arraySort@routines.inc.F90"
    3725        2217 :     end procedure
    3726             : #endif
    3727             : 
    3728             : #undef IK_ENABLED
    3729             : 
    3730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3731             : 
    3732             : #define LK_ENABLED 1
    3733             : 
    3734             : #if LK5_ENABLED
    3735        2221 :     module procedure setSortedIndCusComDef_D1_LK5
    3736             :         use pm_kind, only: LKC => LK5
    3737             : #include "pm_arraySort@routines.inc.F90"
    3738        2221 :     end procedure
    3739             : #endif
    3740             : 
    3741             : #if LK4_ENABLED
    3742        2220 :     module procedure setSortedIndCusComDef_D1_LK4
    3743             :         use pm_kind, only: LKC => LK4
    3744             : #include "pm_arraySort@routines.inc.F90"
    3745        2220 :     end procedure
    3746             : #endif
    3747             : 
    3748             : #if LK3_ENABLED
    3749        2218 :     module procedure setSortedIndCusComDef_D1_LK3
    3750             :         use pm_kind, only: LKC => LK3
    3751             : #include "pm_arraySort@routines.inc.F90"
    3752        2218 :     end procedure
    3753             : #endif
    3754             : 
    3755             : #if LK2_ENABLED
    3756        2218 :     module procedure setSortedIndCusComDef_D1_LK2
    3757             :         use pm_kind, only: LKC => LK2
    3758             : #include "pm_arraySort@routines.inc.F90"
    3759        2218 :     end procedure
    3760             : #endif
    3761             : 
    3762             : #if LK1_ENABLED
    3763        2221 :     module procedure setSortedIndCusComDef_D1_LK1
    3764             :         use pm_kind, only: LKC => LK1
    3765             : #include "pm_arraySort@routines.inc.F90"
    3766        2221 :     end procedure
    3767             : #endif
    3768             : 
    3769             : #undef LK_ENABLED
    3770             : 
    3771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3772             : 
    3773             : #define CK_ENABLED 1
    3774             : 
    3775             : #if CK5_ENABLED
    3776             :     module procedure setSortedIndCusComDef_D1_CK5
    3777             :         use pm_kind, only: CKC => CK5
    3778             : #include "pm_arraySort@routines.inc.F90"
    3779             :     end procedure
    3780             : #endif
    3781             : 
    3782             : #if CK4_ENABLED
    3783        2214 :     module procedure setSortedIndCusComDef_D1_CK4
    3784             :         use pm_kind, only: CKC => CK4
    3785             : #include "pm_arraySort@routines.inc.F90"
    3786        2214 :     end procedure
    3787             : #endif
    3788             : 
    3789             : #if CK3_ENABLED
    3790        2211 :     module procedure setSortedIndCusComDef_D1_CK3
    3791             :         use pm_kind, only: CKC => CK3
    3792             : #include "pm_arraySort@routines.inc.F90"
    3793        2211 :     end procedure
    3794             : #endif
    3795             : 
    3796             : #if CK2_ENABLED
    3797        2221 :     module procedure setSortedIndCusComDef_D1_CK2
    3798             :         use pm_kind, only: CKC => CK2
    3799             : #include "pm_arraySort@routines.inc.F90"
    3800        2221 :     end procedure
    3801             : #endif
    3802             : 
    3803             : #if CK1_ENABLED
    3804        2222 :     module procedure setSortedIndCusComDef_D1_CK1
    3805             :         use pm_kind, only: CKC => CK1
    3806             : #include "pm_arraySort@routines.inc.F90"
    3807        2222 :     end procedure
    3808             : #endif
    3809             : 
    3810             : #undef CK_ENABLED
    3811             : 
    3812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3813             : 
    3814             : #define RK_ENABLED 1
    3815             : 
    3816             : #if RK5_ENABLED
    3817             :     module procedure setSortedIndCusComDef_D1_RK5
    3818             :         use pm_kind, only: RKC => RK5
    3819             : #include "pm_arraySort@routines.inc.F90"
    3820             :     end procedure
    3821             : #endif
    3822             : 
    3823             : #if RK4_ENABLED
    3824        2220 :     module procedure setSortedIndCusComDef_D1_RK4
    3825             :         use pm_kind, only: RKC => RK4
    3826             : #include "pm_arraySort@routines.inc.F90"
    3827        2220 :     end procedure
    3828             : #endif
    3829             : 
    3830             : #if RK3_ENABLED
    3831        2217 :     module procedure setSortedIndCusComDef_D1_RK3
    3832             :         use pm_kind, only: RKC => RK3
    3833             : #include "pm_arraySort@routines.inc.F90"
    3834        2217 :     end procedure
    3835             : #endif
    3836             : 
    3837             : #if RK2_ENABLED
    3838        2230 :     module procedure setSortedIndCusComDef_D1_RK2
    3839             :         use pm_kind, only: RKC => RK2
    3840             : #include "pm_arraySort@routines.inc.F90"
    3841        2230 :     end procedure
    3842             : #endif
    3843             : 
    3844             : #if RK1_ENABLED
    3845        2224 :     module procedure setSortedIndCusComDef_D1_RK1
    3846             :         use pm_kind, only: RKC => RK1
    3847             : #include "pm_arraySort@routines.inc.F90"
    3848        2224 :     end procedure
    3849             : #endif
    3850             : 
    3851             : #undef RK_ENABLED
    3852             : 
    3853             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3854             : 
    3855             : #if !__GFORTRAN__
    3856             : #define PSSK_ENABLED 1
    3857             : 
    3858             : #if SK5_ENABLED
    3859             :     module procedure setSortedIndCusComDef_D1_PSSK5
    3860             :         use pm_kind, only: SKC => SK5
    3861             : #include "pm_arraySort@routines.inc.F90"
    3862             :     end procedure
    3863             : #endif
    3864             : 
    3865             : #if SK4_ENABLED
    3866             :     module procedure setSortedIndCusComDef_D1_PSSK4
    3867             :         use pm_kind, only: SKC => SK4
    3868             : #include "pm_arraySort@routines.inc.F90"
    3869             :     end procedure
    3870             : #endif
    3871             : 
    3872             : #if SK3_ENABLED
    3873             :     module procedure setSortedIndCusComDef_D1_PSSK3
    3874             :         use pm_kind, only: SKC => SK3
    3875             : #include "pm_arraySort@routines.inc.F90"
    3876             :     end procedure
    3877             : #endif
    3878             : 
    3879             : #if SK2_ENABLED
    3880             :     module procedure setSortedIndCusComDef_D1_PSSK2
    3881             :         use pm_kind, only: SKC => SK2
    3882             : #include "pm_arraySort@routines.inc.F90"
    3883             :     end procedure
    3884             : #endif
    3885             : 
    3886             : #if SK1_ENABLED
    3887             :     module procedure setSortedIndCusComDef_D1_PSSK1
    3888             :         use pm_kind, only: SKC => SK1
    3889             : #include "pm_arraySort@routines.inc.F90"
    3890             :     end procedure
    3891             : #endif
    3892             : 
    3893             : #undef PSSK_ENABLED
    3894             : #endif
    3895             : 
    3896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3897             : 
    3898             : #define BSSK_ENABLED 1
    3899             : 
    3900           0 :     module procedure setSortedIndCusComDef_D1_BSSK
    3901             :         use pm_kind, only: SKC => SK
    3902             : #include "pm_arraySort@routines.inc.F90"
    3903           0 :     end procedure
    3904             : 
    3905             : #undef BSSK_ENABLED
    3906             : 
    3907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3908             : 
    3909             : #undef D1_ENABLED
    3910             : 
    3911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3913             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3914             : 
    3915             : #undef Def_ENABLED
    3916             : 
    3917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3920             : 
    3921             : #undef CusCom_ENABLED
    3922             : 
    3923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3926             : 
    3927             : #undef Ind_ENABLED
    3928             : 
    3929             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3930             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3932             : 
    3933             : #undef setSorted_ENABLED
    3934             : 
    3935             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3936             : 
    3937             : #define setSorted_ENABLED 1
    3938             : 
    3939             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3940             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3941             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3942             : 
    3943             : #define Arr_ENABLED 1
    3944             : 
    3945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3946             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3947             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3948             : 
    3949             : #define CusCom_ENABLED 1
    3950             : 
    3951             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3952             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3953             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3954             : 
    3955             : #define Def_ENABLED 1
    3956             : 
    3957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3959             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3960             : 
    3961             : #define D0_ENABLED 1
    3962             : 
    3963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3964             : 
    3965             : #define SK_ENABLED 1
    3966             : 
    3967             : #if SK5_ENABLED
    3968             :     module procedure setSortedArrCusComDef_D0_SK5
    3969             :         use pm_kind, only: SKC => SK5
    3970             : #include "pm_arraySort@routines.inc.F90"
    3971             :     end procedure
    3972             : #endif
    3973             : 
    3974             : #if SK4_ENABLED
    3975             :     module procedure setSortedArrCusComDef_D0_SK4
    3976             :         use pm_kind, only: SKC => SK4
    3977             : #include "pm_arraySort@routines.inc.F90"
    3978             :     end procedure
    3979             : #endif
    3980             : 
    3981             : #if SK3_ENABLED
    3982             :     module procedure setSortedArrCusComDef_D0_SK3
    3983             :         use pm_kind, only: SKC => SK3
    3984             : #include "pm_arraySort@routines.inc.F90"
    3985             :     end procedure
    3986             : #endif
    3987             : 
    3988             : #if SK2_ENABLED
    3989             :     module procedure setSortedArrCusComDef_D0_SK2
    3990             :         use pm_kind, only: SKC => SK2
    3991             : #include "pm_arraySort@routines.inc.F90"
    3992             :     end procedure
    3993             : #endif
    3994             : 
    3995             : #if SK1_ENABLED
    3996        2321 :     module procedure setSortedArrCusComDef_D0_SK1
    3997             :         use pm_kind, only: SKC => SK1
    3998             : #include "pm_arraySort@routines.inc.F90"
    3999             :     end procedure
    4000             : #endif
    4001             : 
    4002             : #undef SK_ENABLED
    4003             : 
    4004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4005             : 
    4006             : #undef D0_ENABLED
    4007             : 
    4008             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4011             : 
    4012             : #define D1_ENABLED 1
    4013             : 
    4014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4015             : 
    4016             : #define SK_ENABLED 1
    4017             : 
    4018             : #if SK5_ENABLED
    4019             :     module procedure setSortedArrCusComDef_D1_SK5
    4020             :         use pm_kind, only: SKC => SK5
    4021             : #include "pm_arraySort@routines.inc.F90"
    4022             :     end procedure
    4023             : #endif
    4024             : 
    4025             : #if SK4_ENABLED
    4026             :     module procedure setSortedArrCusComDef_D1_SK4
    4027             :         use pm_kind, only: SKC => SK4
    4028             : #include "pm_arraySort@routines.inc.F90"
    4029             :     end procedure
    4030             : #endif
    4031             : 
    4032             : #if SK3_ENABLED
    4033             :     module procedure setSortedArrCusComDef_D1_SK3
    4034             :         use pm_kind, only: SKC => SK3
    4035             : #include "pm_arraySort@routines.inc.F90"
    4036             :     end procedure
    4037             : #endif
    4038             : 
    4039             : #if SK2_ENABLED
    4040             :     module procedure setSortedArrCusComDef_D1_SK2
    4041             :         use pm_kind, only: SKC => SK2
    4042             : #include "pm_arraySort@routines.inc.F90"
    4043             :     end procedure
    4044             : #endif
    4045             : 
    4046             : #if SK1_ENABLED
    4047        2323 :     module procedure setSortedArrCusComDef_D1_SK1
    4048             :         use pm_kind, only: SKC => SK1
    4049             : #include "pm_arraySort@routines.inc.F90"
    4050             :     end procedure
    4051             : #endif
    4052             : 
    4053             : #undef SK_ENABLED
    4054             : 
    4055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4056             : 
    4057             : #define IK_ENABLED 1
    4058             : 
    4059             : #if IK5_ENABLED
    4060        2368 :     module procedure setSortedArrCusComDef_D1_IK5
    4061             :         use pm_kind, only: IKC => IK5
    4062             : #include "pm_arraySort@routines.inc.F90"
    4063             :     end procedure
    4064             : #endif
    4065             : 
    4066             : #if IK4_ENABLED
    4067        2330 :     module procedure setSortedArrCusComDef_D1_IK4
    4068             :         use pm_kind, only: IKC => IK4
    4069             : #include "pm_arraySort@routines.inc.F90"
    4070             :     end procedure
    4071             : #endif
    4072             : 
    4073             : #if IK3_ENABLED
    4074        2361 :     module procedure setSortedArrCusComDef_D1_IK3
    4075             :         use pm_kind, only: IKC => IK3
    4076             : #include "pm_arraySort@routines.inc.F90"
    4077             :     end procedure
    4078             : #endif
    4079             : 
    4080             : #if IK2_ENABLED
    4081        2321 :     module procedure setSortedArrCusComDef_D1_IK2
    4082             :         use pm_kind, only: IKC => IK2
    4083             : #include "pm_arraySort@routines.inc.F90"
    4084             :     end procedure
    4085             : #endif
    4086             : 
    4087             : #if IK1_ENABLED
    4088        2377 :     module procedure setSortedArrCusComDef_D1_IK1
    4089             :         use pm_kind, only: IKC => IK1
    4090             : #include "pm_arraySort@routines.inc.F90"
    4091             :     end procedure
    4092             : #endif
    4093             : 
    4094             : #undef IK_ENABLED
    4095             : 
    4096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4097             : 
    4098             : #define LK_ENABLED 1
    4099             : 
    4100             : #if LK5_ENABLED
    4101        2377 :     module procedure setSortedArrCusComDef_D1_LK5
    4102             :         use pm_kind, only: LKC => LK5
    4103             : #include "pm_arraySort@routines.inc.F90"
    4104             :     end procedure
    4105             : #endif
    4106             : 
    4107             : #if LK4_ENABLED
    4108        2327 :     module procedure setSortedArrCusComDef_D1_LK4
    4109             :         use pm_kind, only: LKC => LK4
    4110             : #include "pm_arraySort@routines.inc.F90"
    4111             :     end procedure
    4112             : #endif
    4113             : 
    4114             : #if LK3_ENABLED
    4115        2322 :     module procedure setSortedArrCusComDef_D1_LK3
    4116             :         use pm_kind, only: LKC => LK3
    4117             : #include "pm_arraySort@routines.inc.F90"
    4118             :     end procedure
    4119             : #endif
    4120             : 
    4121             : #if LK2_ENABLED
    4122        2381 :     module procedure setSortedArrCusComDef_D1_LK2
    4123             :         use pm_kind, only: LKC => LK2
    4124             : #include "pm_arraySort@routines.inc.F90"
    4125             :     end procedure
    4126             : #endif
    4127             : 
    4128             : #if LK1_ENABLED
    4129        2392 :     module procedure setSortedArrCusComDef_D1_LK1
    4130             :         use pm_kind, only: LKC => LK1
    4131             : #include "pm_arraySort@routines.inc.F90"
    4132             :     end procedure
    4133             : #endif
    4134             : 
    4135             : #undef LK_ENABLED
    4136             : 
    4137             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4138             : 
    4139             : #define CK_ENABLED 1
    4140             : 
    4141             : #if CK5_ENABLED
    4142             :     module procedure setSortedArrCusComDef_D1_CK5
    4143             :         use pm_kind, only: CKC => CK5
    4144             : #include "pm_arraySort@routines.inc.F90"
    4145             :     end procedure
    4146             : #endif
    4147             : 
    4148             : #if CK4_ENABLED
    4149        2329 :     module procedure setSortedArrCusComDef_D1_CK4
    4150             :         use pm_kind, only: CKC => CK4
    4151             : #include "pm_arraySort@routines.inc.F90"
    4152             :     end procedure
    4153             : #endif
    4154             : 
    4155             : #if CK3_ENABLED
    4156        2358 :     module procedure setSortedArrCusComDef_D1_CK3
    4157             :         use pm_kind, only: CKC => CK3
    4158             : #include "pm_arraySort@routines.inc.F90"
    4159             :     end procedure
    4160             : #endif
    4161             : 
    4162             : #if CK2_ENABLED
    4163        2404 :     module procedure setSortedArrCusComDef_D1_CK2
    4164             :         use pm_kind, only: CKC => CK2
    4165             : #include "pm_arraySort@routines.inc.F90"
    4166             :     end procedure
    4167             : #endif
    4168             : 
    4169             : #if CK1_ENABLED
    4170        2327 :     module procedure setSortedArrCusComDef_D1_CK1
    4171             :         use pm_kind, only: CKC => CK1
    4172             : #include "pm_arraySort@routines.inc.F90"
    4173             :     end procedure
    4174             : #endif
    4175             : 
    4176             : #undef CK_ENABLED
    4177             : 
    4178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4179             : 
    4180             : #define RK_ENABLED 1
    4181             : 
    4182             : #if RK5_ENABLED
    4183             :     module procedure setSortedArrCusComDef_D1_RK5
    4184             :         use pm_kind, only: RKC => RK5
    4185             : #include "pm_arraySort@routines.inc.F90"
    4186             :     end procedure
    4187             : #endif
    4188             : 
    4189             : #if RK4_ENABLED
    4190        2324 :     module procedure setSortedArrCusComDef_D1_RK4
    4191             :         use pm_kind, only: RKC => RK4
    4192             : #include "pm_arraySort@routines.inc.F90"
    4193             :     end procedure
    4194             : #endif
    4195             : 
    4196             : #if RK3_ENABLED
    4197        2320 :     module procedure setSortedArrCusComDef_D1_RK3
    4198             :         use pm_kind, only: RKC => RK3
    4199             : #include "pm_arraySort@routines.inc.F90"
    4200             :     end procedure
    4201             : #endif
    4202             : 
    4203             : #if RK2_ENABLED
    4204        2359 :     module procedure setSortedArrCusComDef_D1_RK2
    4205             :         use pm_kind, only: RKC => RK2
    4206             : #include "pm_arraySort@routines.inc.F90"
    4207             :     end procedure
    4208             : #endif
    4209             : 
    4210             : #if RK1_ENABLED
    4211        2353 :     module procedure setSortedArrCusComDef_D1_RK1
    4212             :         use pm_kind, only: RKC => RK1
    4213             : #include "pm_arraySort@routines.inc.F90"
    4214             :     end procedure
    4215             : #endif
    4216             : 
    4217             : #undef RK_ENABLED
    4218             : 
    4219             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4220             : 
    4221             : ! LCOV_EXCL_START
    4222             : !#if !__GFORTRAN__
    4223             : 
    4224             : #define PSSK_ENABLED 1
    4225             : 
    4226             : #if SK5_ENABLED
    4227             :     module procedure setSortedArrCusComDef_D1_PSSK5
    4228             :         use pm_kind, only: SKC => SK5
    4229             : #include "pm_arraySort@routines.inc.F90"
    4230             :     end procedure
    4231             : #endif
    4232             : 
    4233             : #if SK4_ENABLED
    4234             :     module procedure setSortedArrCusComDef_D1_PSSK4
    4235             :         use pm_kind, only: SKC => SK4
    4236             : #include "pm_arraySort@routines.inc.F90"
    4237             :     end procedure
    4238             : #endif
    4239             : 
    4240             : #if SK3_ENABLED
    4241             :     module procedure setSortedArrCusComDef_D1_PSSK3
    4242             :         use pm_kind, only: SKC => SK3
    4243             : #include "pm_arraySort@routines.inc.F90"
    4244             :     end procedure
    4245             : #endif
    4246             : 
    4247             : #if SK2_ENABLED
    4248             :     module procedure setSortedArrCusComDef_D1_PSSK2
    4249             :         use pm_kind, only: SKC => SK2
    4250             : #include "pm_arraySort@routines.inc.F90"
    4251             :     end procedure
    4252             : #endif
    4253             : 
    4254             : #if SK1_ENABLED
    4255             :     module procedure setSortedArrCusComDef_D1_PSSK1
    4256             :         use pm_kind, only: SKC => SK1
    4257             : #include "pm_arraySort@routines.inc.F90"
    4258             :     end procedure
    4259             : #endif
    4260             : 
    4261             : #undef PSSK_ENABLED
    4262             : 
    4263             : !#endif
    4264             : ! LCOV_EXCL_STOP
    4265             : 
    4266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4267             : 
    4268             : #define BSSK_ENABLED 1
    4269             : 
    4270           0 :     module procedure setSortedArrCusComDef_D1_BSSK
    4271             :         use pm_kind, only: SKC => SK
    4272             : #include "pm_arraySort@routines.inc.F90"
    4273           0 :     end procedure
    4274             : 
    4275             : #undef BSSK_ENABLED
    4276             : 
    4277             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4278             : 
    4279             : #undef D1_ENABLED
    4280             : 
    4281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4282             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4284             : 
    4285             : #undef Def_ENABLED
    4286             : 
    4287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4288             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4290             : 
    4291             : #undef CusCom_ENABLED
    4292             : 
    4293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4294             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4296             : 
    4297             : #undef Arr_ENABLED
    4298             : 
    4299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4300             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4302             : 
    4303             : #undef setSorted_ENABLED
    4304             : 
    4305             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4306             : 
    4307             : #define setSorted_ENABLED 1
    4308             : 
    4309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4310             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4312             : 
    4313             : #define Arr_ENABLED 1
    4314             : 
    4315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4318             : 
    4319             : #define CusCom_ENABLED 1
    4320             : 
    4321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4324             : 
    4325             : #define Qsorti_ENABLED 1
    4326             : 
    4327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4330             : 
    4331             : #define D0_ENABLED 1
    4332             : 
    4333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4334             : 
    4335             : #define SK_ENABLED 1
    4336             : 
    4337             : #if SK5_ENABLED
    4338             :     module procedure setSortedArrCusComQsorti_D0_SK5
    4339             :         use pm_kind, only: SKC => SK5
    4340             : #include "pm_arraySort@routines.inc.F90"
    4341             :     end procedure
    4342             : #endif
    4343             : 
    4344             : #if SK4_ENABLED
    4345             :     module procedure setSortedArrCusComQsorti_D0_SK4
    4346             :         use pm_kind, only: SKC => SK4
    4347             : #include "pm_arraySort@routines.inc.F90"
    4348             :     end procedure
    4349             : #endif
    4350             : 
    4351             : #if SK3_ENABLED
    4352             :     module procedure setSortedArrCusComQsorti_D0_SK3
    4353             :         use pm_kind, only: SKC => SK3
    4354             : #include "pm_arraySort@routines.inc.F90"
    4355             :     end procedure
    4356             : #endif
    4357             : 
    4358             : #if SK2_ENABLED
    4359             :     module procedure setSortedArrCusComQsorti_D0_SK2
    4360             :         use pm_kind, only: SKC => SK2
    4361             : #include "pm_arraySort@routines.inc.F90"
    4362             :     end procedure
    4363             : #endif
    4364             : 
    4365             : #if SK1_ENABLED
    4366         110 :     module procedure setSortedArrCusComQsorti_D0_SK1
    4367             :         use pm_kind, only: SKC => SK1
    4368             : #include "pm_arraySort@routines.inc.F90"
    4369             :     end procedure
    4370             : #endif
    4371             : 
    4372             : #undef SK_ENABLED
    4373             : 
    4374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4375             : 
    4376             : #undef D0_ENABLED
    4377             : 
    4378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4381             : 
    4382             : #define D1_ENABLED 1
    4383             : 
    4384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4385             : 
    4386             : #define SK_ENABLED 1
    4387             : 
    4388             : #if SK5_ENABLED
    4389             :     module procedure setSortedArrCusComQsorti_D1_SK5
    4390             :         use pm_kind, only: SKC => SK5
    4391             : #include "pm_arraySort@routines.inc.F90"
    4392             :     end procedure
    4393             : #endif
    4394             : 
    4395             : #if SK4_ENABLED
    4396             :     module procedure setSortedArrCusComQsorti_D1_SK4
    4397             :         use pm_kind, only: SKC => SK4
    4398             : #include "pm_arraySort@routines.inc.F90"
    4399             :     end procedure
    4400             : #endif
    4401             : 
    4402             : #if SK3_ENABLED
    4403             :     module procedure setSortedArrCusComQsorti_D1_SK3
    4404             :         use pm_kind, only: SKC => SK3
    4405             : #include "pm_arraySort@routines.inc.F90"
    4406             :     end procedure
    4407             : #endif
    4408             : 
    4409             : #if SK2_ENABLED
    4410             :     module procedure setSortedArrCusComQsorti_D1_SK2
    4411             :         use pm_kind, only: SKC => SK2
    4412             : #include "pm_arraySort@routines.inc.F90"
    4413             :     end procedure
    4414             : #endif
    4415             : 
    4416             : #if SK1_ENABLED
    4417          94 :     module procedure setSortedArrCusComQsorti_D1_SK1
    4418             :         use pm_kind, only: SKC => SK1
    4419             : #include "pm_arraySort@routines.inc.F90"
    4420             :     end procedure
    4421             : #endif
    4422             : 
    4423             : #undef SK_ENABLED
    4424             : 
    4425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4426             : 
    4427             : #define IK_ENABLED 1
    4428             : 
    4429             : #if IK5_ENABLED
    4430         104 :     module procedure setSortedArrCusComQsorti_D1_IK5
    4431             :         use pm_kind, only: IKC => IK5
    4432             : #include "pm_arraySort@routines.inc.F90"
    4433             :     end procedure
    4434             : #endif
    4435             : 
    4436             : #if IK4_ENABLED
    4437          97 :     module procedure setSortedArrCusComQsorti_D1_IK4
    4438             :         use pm_kind, only: IKC => IK4
    4439             : #include "pm_arraySort@routines.inc.F90"
    4440             :     end procedure
    4441             : #endif
    4442             : 
    4443             : #if IK3_ENABLED
    4444          95 :     module procedure setSortedArrCusComQsorti_D1_IK3
    4445             :         use pm_kind, only: IKC => IK3
    4446             : #include "pm_arraySort@routines.inc.F90"
    4447             :     end procedure
    4448             : #endif
    4449             : 
    4450             : #if IK2_ENABLED
    4451          95 :     module procedure setSortedArrCusComQsorti_D1_IK2
    4452             :         use pm_kind, only: IKC => IK2
    4453             : #include "pm_arraySort@routines.inc.F90"
    4454             :     end procedure
    4455             : #endif
    4456             : 
    4457             : #if IK1_ENABLED
    4458         102 :     module procedure setSortedArrCusComQsorti_D1_IK1
    4459             :         use pm_kind, only: IKC => IK1
    4460             : #include "pm_arraySort@routines.inc.F90"
    4461             :     end procedure
    4462             : #endif
    4463             : 
    4464             : #undef IK_ENABLED
    4465             : 
    4466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4467             : 
    4468             : #define LK_ENABLED 1
    4469             : 
    4470             : #if LK5_ENABLED
    4471          94 :     module procedure setSortedArrCusComQsorti_D1_LK5
    4472             :         use pm_kind, only: LKC => LK5
    4473             : #include "pm_arraySort@routines.inc.F90"
    4474             :     end procedure
    4475             : #endif
    4476             : 
    4477             : #if LK4_ENABLED
    4478         109 :     module procedure setSortedArrCusComQsorti_D1_LK4
    4479             :         use pm_kind, only: LKC => LK4
    4480             : #include "pm_arraySort@routines.inc.F90"
    4481             :     end procedure
    4482             : #endif
    4483             : 
    4484             : #if LK3_ENABLED
    4485         113 :     module procedure setSortedArrCusComQsorti_D1_LK3
    4486             :         use pm_kind, only: LKC => LK3
    4487             : #include "pm_arraySort@routines.inc.F90"
    4488             :     end procedure
    4489             : #endif
    4490             : 
    4491             : #if LK2_ENABLED
    4492         102 :     module procedure setSortedArrCusComQsorti_D1_LK2
    4493             :         use pm_kind, only: LKC => LK2
    4494             : #include "pm_arraySort@routines.inc.F90"
    4495             :     end procedure
    4496             : #endif
    4497             : 
    4498             : #if LK1_ENABLED
    4499          96 :     module procedure setSortedArrCusComQsorti_D1_LK1
    4500             :         use pm_kind, only: LKC => LK1
    4501             : #include "pm_arraySort@routines.inc.F90"
    4502             :     end procedure
    4503             : #endif
    4504             : 
    4505             : #undef LK_ENABLED
    4506             : 
    4507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4508             : 
    4509             : #define CK_ENABLED 1
    4510             : 
    4511             : #if CK5_ENABLED
    4512             :     module procedure setSortedArrCusComQsorti_D1_CK5
    4513             :         use pm_kind, only: CKC => CK5
    4514             : #include "pm_arraySort@routines.inc.F90"
    4515             :     end procedure
    4516             : #endif
    4517             : 
    4518             : #if CK4_ENABLED
    4519          95 :     module procedure setSortedArrCusComQsorti_D1_CK4
    4520             :         use pm_kind, only: CKC => CK4
    4521             : #include "pm_arraySort@routines.inc.F90"
    4522             :     end procedure
    4523             : #endif
    4524             : 
    4525             : #if CK3_ENABLED
    4526          86 :     module procedure setSortedArrCusComQsorti_D1_CK3
    4527             :         use pm_kind, only: CKC => CK3
    4528             : #include "pm_arraySort@routines.inc.F90"
    4529             :     end procedure
    4530             : #endif
    4531             : 
    4532             : #if CK2_ENABLED
    4533         100 :     module procedure setSortedArrCusComQsorti_D1_CK2
    4534             :         use pm_kind, only: CKC => CK2
    4535             : #include "pm_arraySort@routines.inc.F90"
    4536             :     end procedure
    4537             : #endif
    4538             : 
    4539             : #if CK1_ENABLED
    4540          97 :     module procedure setSortedArrCusComQsorti_D1_CK1
    4541             :         use pm_kind, only: CKC => CK1
    4542             : #include "pm_arraySort@routines.inc.F90"
    4543             :     end procedure
    4544             : #endif
    4545             : 
    4546             : #undef CK_ENABLED
    4547             : 
    4548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4549             : 
    4550             : #define RK_ENABLED 1
    4551             : 
    4552             : #if RK5_ENABLED
    4553             :     module procedure setSortedArrCusComQsorti_D1_RK5
    4554             :         use pm_kind, only: RKC => RK5
    4555             : #include "pm_arraySort@routines.inc.F90"
    4556             :     end procedure
    4557             : #endif
    4558             : 
    4559             : #if RK4_ENABLED
    4560          96 :     module procedure setSortedArrCusComQsorti_D1_RK4
    4561             :         use pm_kind, only: RKC => RK4
    4562             : #include "pm_arraySort@routines.inc.F90"
    4563             :     end procedure
    4564             : #endif
    4565             : 
    4566             : #if RK3_ENABLED
    4567          97 :     module procedure setSortedArrCusComQsorti_D1_RK3
    4568             :         use pm_kind, only: RKC => RK3
    4569             : #include "pm_arraySort@routines.inc.F90"
    4570             :     end procedure
    4571             : #endif
    4572             : 
    4573             : #if RK2_ENABLED
    4574          95 :     module procedure setSortedArrCusComQsorti_D1_RK2
    4575             :         use pm_kind, only: RKC => RK2
    4576             : #include "pm_arraySort@routines.inc.F90"
    4577             :     end procedure
    4578             : #endif
    4579             : 
    4580             : #if RK1_ENABLED
    4581         102 :     module procedure setSortedArrCusComQsorti_D1_RK1
    4582             :         use pm_kind, only: RKC => RK1
    4583             : #include "pm_arraySort@routines.inc.F90"
    4584             :     end procedure
    4585             : #endif
    4586             : 
    4587             : #undef RK_ENABLED
    4588             : 
    4589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4590             : 
    4591             : ! LCOV_EXCL_START
    4592             : !#if !__GFORTRAN__
    4593             : 
    4594             : #define PSSK_ENABLED 1
    4595             : 
    4596             : #if SK5_ENABLED
    4597             :     module procedure setSortedArrCusComQsorti_D1_PSSK5
    4598             :         use pm_kind, only: SKC => SK5
    4599             : #include "pm_arraySort@routines.inc.F90"
    4600             :     end procedure
    4601             : #endif
    4602             : 
    4603             : #if SK4_ENABLED
    4604             :     module procedure setSortedArrCusComQsorti_D1_PSSK4
    4605             :         use pm_kind, only: SKC => SK4
    4606             : #include "pm_arraySort@routines.inc.F90"
    4607             :     end procedure
    4608             : #endif
    4609             : 
    4610             : #if SK3_ENABLED
    4611             :     module procedure setSortedArrCusComQsorti_D1_PSSK3
    4612             :         use pm_kind, only: SKC => SK3
    4613             : #include "pm_arraySort@routines.inc.F90"
    4614             :     end procedure
    4615             : #endif
    4616             : 
    4617             : #if SK2_ENABLED
    4618             :     module procedure setSortedArrCusComQsorti_D1_PSSK2
    4619             :         use pm_kind, only: SKC => SK2
    4620             : #include "pm_arraySort@routines.inc.F90"
    4621             :     end procedure
    4622             : #endif
    4623             : 
    4624             : #if SK1_ENABLED
    4625             :     module procedure setSortedArrCusComQsorti_D1_PSSK1
    4626             :         use pm_kind, only: SKC => SK1
    4627             : #include "pm_arraySort@routines.inc.F90"
    4628             :     end procedure
    4629             : #endif
    4630             : 
    4631             : #undef PSSK_ENABLED
    4632             : 
    4633             : !#endif
    4634             : ! LCOV_EXCL_STOP
    4635             : 
    4636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4637             : 
    4638             : #define BSSK_ENABLED 1
    4639             : 
    4640           0 :     module procedure setSortedArrCusComQsorti_D1_BSSK
    4641             :         use pm_kind, only: SKC => SK
    4642             : #include "pm_arraySort@routines.inc.F90"
    4643           0 :     end procedure
    4644             : 
    4645             : #undef BSSK_ENABLED
    4646             : 
    4647             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4648             : 
    4649             : #undef D1_ENABLED
    4650             : 
    4651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4653             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4654             : 
    4655             : #undef Qsorti_ENABLED
    4656             : 
    4657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4658             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4660             : 
    4661             : #undef CusCom_ENABLED
    4662             : 
    4663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4666             : 
    4667             : #undef Arr_ENABLED
    4668             : 
    4669             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4672             : 
    4673             : #undef setSorted_ENABLED
    4674             : 
    4675             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4676             : 
    4677             : #define setSorted_ENABLED 1
    4678             : 
    4679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4682             : 
    4683             : #define Arr_ENABLED 1
    4684             : 
    4685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4688             : 
    4689             : #define CusCom_ENABLED 1
    4690             : 
    4691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4692             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4694             : 
    4695             : #define Qsortr_ENABLED 1
    4696             : 
    4697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4698             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4699             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4700             : 
    4701             : #define D0_ENABLED 1
    4702             : 
    4703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4704             : 
    4705             : #define SK_ENABLED 1
    4706             : 
    4707             : #if SK5_ENABLED
    4708             :     module procedure setSortedArrCusComQsortr_D0_SK5
    4709             :         use pm_kind, only: SKC => SK5
    4710             : #include "pm_arraySort@routines.inc.F90"
    4711             :     end procedure
    4712             : #endif
    4713             : 
    4714             : #if SK4_ENABLED
    4715             :     module procedure setSortedArrCusComQsortr_D0_SK4
    4716             :         use pm_kind, only: SKC => SK4
    4717             : #include "pm_arraySort@routines.inc.F90"
    4718             :     end procedure
    4719             : #endif
    4720             : 
    4721             : #if SK3_ENABLED
    4722             :     module procedure setSortedArrCusComQsortr_D0_SK3
    4723             :         use pm_kind, only: SKC => SK3
    4724             : #include "pm_arraySort@routines.inc.F90"
    4725             :     end procedure
    4726             : #endif
    4727             : 
    4728             : #if SK2_ENABLED
    4729             :     module procedure setSortedArrCusComQsortr_D0_SK2
    4730             :         use pm_kind, only: SKC => SK2
    4731             : #include "pm_arraySort@routines.inc.F90"
    4732             :     end procedure
    4733             : #endif
    4734             : 
    4735             : #if SK1_ENABLED
    4736        6348 :     module procedure setSortedArrCusComQsortr_D0_SK1
    4737             :         use pm_kind, only: SKC => SK1
    4738             : #include "pm_arraySort@routines.inc.F90"
    4739        6348 :     end procedure
    4740             : #endif
    4741             : 
    4742             : #undef SK_ENABLED
    4743             : 
    4744             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4745             : 
    4746             : #undef D0_ENABLED
    4747             : 
    4748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4751             : 
    4752             : #define D1_ENABLED 1
    4753             : 
    4754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4755             : 
    4756             : #define SK_ENABLED 1
    4757             : 
    4758             : #if SK5_ENABLED
    4759             :     module procedure setSortedArrCusComQsortr_D1_SK5
    4760             :         use pm_kind, only: SKC => SK5
    4761             : #include "pm_arraySort@routines.inc.F90"
    4762             :     end procedure
    4763             : #endif
    4764             : 
    4765             : #if SK4_ENABLED
    4766             :     module procedure setSortedArrCusComQsortr_D1_SK4
    4767             :         use pm_kind, only: SKC => SK4
    4768             : #include "pm_arraySort@routines.inc.F90"
    4769             :     end procedure
    4770             : #endif
    4771             : 
    4772             : #if SK3_ENABLED
    4773             :     module procedure setSortedArrCusComQsortr_D1_SK3
    4774             :         use pm_kind, only: SKC => SK3
    4775             : #include "pm_arraySort@routines.inc.F90"
    4776             :     end procedure
    4777             : #endif
    4778             : 
    4779             : #if SK2_ENABLED
    4780             :     module procedure setSortedArrCusComQsortr_D1_SK2
    4781             :         use pm_kind, only: SKC => SK2
    4782             : #include "pm_arraySort@routines.inc.F90"
    4783             :     end procedure
    4784             : #endif
    4785             : 
    4786             : #if SK1_ENABLED
    4787        8788 :     module procedure setSortedArrCusComQsortr_D1_SK1
    4788             :         use pm_kind, only: SKC => SK1
    4789             : #include "pm_arraySort@routines.inc.F90"
    4790        8788 :     end procedure
    4791             : #endif
    4792             : 
    4793             : #undef SK_ENABLED
    4794             : 
    4795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4796             : 
    4797             : #define IK_ENABLED 1
    4798             : 
    4799             : #if IK5_ENABLED
    4800        7540 :     module procedure setSortedArrCusComQsortr_D1_IK5
    4801             :         use pm_kind, only: IKC => IK5
    4802             : #include "pm_arraySort@routines.inc.F90"
    4803        7540 :     end procedure
    4804             : #endif
    4805             : 
    4806             : #if IK4_ENABLED
    4807        6078 :     module procedure setSortedArrCusComQsortr_D1_IK4
    4808             :         use pm_kind, only: IKC => IK4
    4809             : #include "pm_arraySort@routines.inc.F90"
    4810        6078 :     end procedure
    4811             : #endif
    4812             : 
    4813             : #if IK3_ENABLED
    4814        7686 :     module procedure setSortedArrCusComQsortr_D1_IK3
    4815             :         use pm_kind, only: IKC => IK3
    4816             : #include "pm_arraySort@routines.inc.F90"
    4817        7686 :     end procedure
    4818             : #endif
    4819             : 
    4820             : #if IK2_ENABLED
    4821        8363 :     module procedure setSortedArrCusComQsortr_D1_IK2
    4822             :         use pm_kind, only: IKC => IK2
    4823             : #include "pm_arraySort@routines.inc.F90"
    4824        8363 :     end procedure
    4825             : #endif
    4826             : 
    4827             : #if IK1_ENABLED
    4828        6702 :     module procedure setSortedArrCusComQsortr_D1_IK1
    4829             :         use pm_kind, only: IKC => IK1
    4830             : #include "pm_arraySort@routines.inc.F90"
    4831        6702 :     end procedure
    4832             : #endif
    4833             : 
    4834             : #undef IK_ENABLED
    4835             : 
    4836             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4837             : 
    4838             : #define LK_ENABLED 1
    4839             : 
    4840             : #if LK5_ENABLED
    4841        5033 :     module procedure setSortedArrCusComQsortr_D1_LK5
    4842             :         use pm_kind, only: LKC => LK5
    4843             : #include "pm_arraySort@routines.inc.F90"
    4844        5033 :     end procedure
    4845             : #endif
    4846             : 
    4847             : #if LK4_ENABLED
    4848        6183 :     module procedure setSortedArrCusComQsortr_D1_LK4
    4849             :         use pm_kind, only: LKC => LK4
    4850             : #include "pm_arraySort@routines.inc.F90"
    4851        6183 :     end procedure
    4852             : #endif
    4853             : 
    4854             : #if LK3_ENABLED
    4855        5060 :     module procedure setSortedArrCusComQsortr_D1_LK3
    4856             :         use pm_kind, only: LKC => LK3
    4857             : #include "pm_arraySort@routines.inc.F90"
    4858        5060 :     end procedure
    4859             : #endif
    4860             : 
    4861             : #if LK2_ENABLED
    4862        4080 :     module procedure setSortedArrCusComQsortr_D1_LK2
    4863             :         use pm_kind, only: LKC => LK2
    4864             : #include "pm_arraySort@routines.inc.F90"
    4865        4080 :     end procedure
    4866             : #endif
    4867             : 
    4868             : #if LK1_ENABLED
    4869        4898 :     module procedure setSortedArrCusComQsortr_D1_LK1
    4870             :         use pm_kind, only: LKC => LK1
    4871             : #include "pm_arraySort@routines.inc.F90"
    4872        4898 :     end procedure
    4873             : #endif
    4874             : 
    4875             : #undef LK_ENABLED
    4876             : 
    4877             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4878             : 
    4879             : #define CK_ENABLED 1
    4880             : 
    4881             : #if CK5_ENABLED
    4882             :     module procedure setSortedArrCusComQsortr_D1_CK5
    4883             :         use pm_kind, only: CKC => CK5
    4884             : #include "pm_arraySort@routines.inc.F90"
    4885             :     end procedure
    4886             : #endif
    4887             : 
    4888             : #if CK4_ENABLED
    4889        6012 :     module procedure setSortedArrCusComQsortr_D1_CK4
    4890             :         use pm_kind, only: CKC => CK4
    4891             : #include "pm_arraySort@routines.inc.F90"
    4892        6012 :     end procedure
    4893             : #endif
    4894             : 
    4895             : #if CK3_ENABLED
    4896        6308 :     module procedure setSortedArrCusComQsortr_D1_CK3
    4897             :         use pm_kind, only: CKC => CK3
    4898             : #include "pm_arraySort@routines.inc.F90"
    4899        6308 :     end procedure
    4900             : #endif
    4901             : 
    4902             : #if CK2_ENABLED
    4903        5527 :     module procedure setSortedArrCusComQsortr_D1_CK2
    4904             :         use pm_kind, only: CKC => CK2
    4905             : #include "pm_arraySort@routines.inc.F90"
    4906        5527 :     end procedure
    4907             : #endif
    4908             : 
    4909             : #if CK1_ENABLED
    4910        8105 :     module procedure setSortedArrCusComQsortr_D1_CK1
    4911             :         use pm_kind, only: CKC => CK1
    4912             : #include "pm_arraySort@routines.inc.F90"
    4913        8105 :     end procedure
    4914             : #endif
    4915             : 
    4916             : #undef CK_ENABLED
    4917             : 
    4918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4919             : 
    4920             : #define RK_ENABLED 1
    4921             : 
    4922             : #if RK5_ENABLED
    4923             :     module procedure setSortedArrCusComQsortr_D1_RK5
    4924             :         use pm_kind, only: RKC => RK5
    4925             : #include "pm_arraySort@routines.inc.F90"
    4926             :     end procedure
    4927             : #endif
    4928             : 
    4929             : #if RK4_ENABLED
    4930        6878 :     module procedure setSortedArrCusComQsortr_D1_RK4
    4931             :         use pm_kind, only: RKC => RK4
    4932             : #include "pm_arraySort@routines.inc.F90"
    4933        6878 :     end procedure
    4934             : #endif
    4935             : 
    4936             : #if RK3_ENABLED
    4937        6668 :     module procedure setSortedArrCusComQsortr_D1_RK3
    4938             :         use pm_kind, only: RKC => RK3
    4939             : #include "pm_arraySort@routines.inc.F90"
    4940        6668 :     end procedure
    4941             : #endif
    4942             : 
    4943             : #if RK2_ENABLED
    4944        7087 :     module procedure setSortedArrCusComQsortr_D1_RK2
    4945             :         use pm_kind, only: RKC => RK2
    4946             : #include "pm_arraySort@routines.inc.F90"
    4947        7087 :     end procedure
    4948             : #endif
    4949             : 
    4950             : #if RK1_ENABLED
    4951        6923 :     module procedure setSortedArrCusComQsortr_D1_RK1
    4952             :         use pm_kind, only: RKC => RK1
    4953             : #include "pm_arraySort@routines.inc.F90"
    4954        6923 :     end procedure
    4955             : #endif
    4956             : 
    4957             : #undef RK_ENABLED
    4958             : 
    4959             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4960             : 
    4961             : ! LCOV_EXCL_START
    4962             : !#if !__GFORTRAN__
    4963             : 
    4964             : #define PSSK_ENABLED 1
    4965             : 
    4966             : #if SK5_ENABLED
    4967             :     module procedure setSortedArrCusComQsortr_D1_PSSK5
    4968             :         use pm_kind, only: SKC => SK5
    4969             : #include "pm_arraySort@routines.inc.F90"
    4970             :     end procedure
    4971             : #endif
    4972             : 
    4973             : #if SK4_ENABLED
    4974             :     module procedure setSortedArrCusComQsortr_D1_PSSK4
    4975             :         use pm_kind, only: SKC => SK4
    4976             : #include "pm_arraySort@routines.inc.F90"
    4977             :     end procedure
    4978             : #endif
    4979             : 
    4980             : #if SK3_ENABLED
    4981             :     module procedure setSortedArrCusComQsortr_D1_PSSK3
    4982             :         use pm_kind, only: SKC => SK3
    4983             : #include "pm_arraySort@routines.inc.F90"
    4984             :     end procedure
    4985             : #endif
    4986             : 
    4987             : #if SK2_ENABLED
    4988             :     module procedure setSortedArrCusComQsortr_D1_PSSK2
    4989             :         use pm_kind, only: SKC => SK2
    4990             : #include "pm_arraySort@routines.inc.F90"
    4991             :     end procedure
    4992             : #endif
    4993             : 
    4994             : #if SK1_ENABLED
    4995             :     module procedure setSortedArrCusComQsortr_D1_PSSK1
    4996             :         use pm_kind, only: SKC => SK1
    4997             : #include "pm_arraySort@routines.inc.F90"
    4998             :     end procedure
    4999             : #endif
    5000             : 
    5001             : #undef PSSK_ENABLED
    5002             : 
    5003             : !#endif
    5004             : ! LCOV_EXCL_STOP
    5005             : 
    5006             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5007             : 
    5008             : #define BSSK_ENABLED 1
    5009             : 
    5010           0 :     module procedure setSortedArrCusComQsortr_D1_BSSK
    5011             :         use pm_kind, only: SKC => SK
    5012             : #include "pm_arraySort@routines.inc.F90"
    5013           0 :     end procedure
    5014             : 
    5015             : #undef BSSK_ENABLED
    5016             : 
    5017             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5018             : 
    5019             : #undef D1_ENABLED
    5020             : 
    5021             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5022             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5023             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5024             : 
    5025             : #undef Qsortr_ENABLED
    5026             : 
    5027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5028             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5030             : 
    5031             : #undef CusCom_ENABLED
    5032             : 
    5033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5034             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5036             : 
    5037             : #undef Arr_ENABLED
    5038             : 
    5039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5042             : 
    5043             : #undef setSorted_ENABLED
    5044             : 
    5045             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5046             : 
    5047             : #define setSorted_ENABLED 1
    5048             : 
    5049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5052             : 
    5053             : #define Arr_ENABLED 1
    5054             : 
    5055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5058             : 
    5059             : #define CusCom_ENABLED 1
    5060             : 
    5061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5064             : 
    5065             : #define Qsortrdp_ENABLED 1
    5066             : 
    5067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5070             : 
    5071             : #define D0_ENABLED 1
    5072             : 
    5073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5074             : 
    5075             : #define SK_ENABLED 1
    5076             : 
    5077             : #if SK5_ENABLED
    5078             :     module procedure setSortedArrCusComQsortrdp_D0_SK5
    5079             :         use pm_kind, only: SKC => SK5
    5080             : #include "pm_arraySort@routines.inc.F90"
    5081             :     end procedure
    5082             : #endif
    5083             : 
    5084             : #if SK4_ENABLED
    5085             :     module procedure setSortedArrCusComQsortrdp_D0_SK4
    5086             :         use pm_kind, only: SKC => SK4
    5087             : #include "pm_arraySort@routines.inc.F90"
    5088             :     end procedure
    5089             : #endif
    5090             : 
    5091             : #if SK3_ENABLED
    5092             :     module procedure setSortedArrCusComQsortrdp_D0_SK3
    5093             :         use pm_kind, only: SKC => SK3
    5094             : #include "pm_arraySort@routines.inc.F90"
    5095             :     end procedure
    5096             : #endif
    5097             : 
    5098             : #if SK2_ENABLED
    5099             :     module procedure setSortedArrCusComQsortrdp_D0_SK2
    5100             :         use pm_kind, only: SKC => SK2
    5101             : #include "pm_arraySort@routines.inc.F90"
    5102             :     end procedure
    5103             : #endif
    5104             : 
    5105             : #if SK1_ENABLED
    5106        5912 :     module procedure setSortedArrCusComQsortrdp_D0_SK1
    5107             :         use pm_kind, only: SKC => SK1
    5108             : #include "pm_arraySort@routines.inc.F90"
    5109             :     end procedure
    5110             : #endif
    5111             : 
    5112             : #undef SK_ENABLED
    5113             : 
    5114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5115             : 
    5116             : #undef D0_ENABLED
    5117             : 
    5118             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5121             : 
    5122             : #define D1_ENABLED 1
    5123             : 
    5124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5125             : 
    5126             : #define SK_ENABLED 1
    5127             : 
    5128             : #if SK5_ENABLED
    5129             :     module procedure setSortedArrCusComQsortrdp_D1_SK5
    5130             :         use pm_kind, only: SKC => SK5
    5131             : #include "pm_arraySort@routines.inc.F90"
    5132             :     end procedure
    5133             : #endif
    5134             : 
    5135             : #if SK4_ENABLED
    5136             :     module procedure setSortedArrCusComQsortrdp_D1_SK4
    5137             :         use pm_kind, only: SKC => SK4
    5138             : #include "pm_arraySort@routines.inc.F90"
    5139             :     end procedure
    5140             : #endif
    5141             : 
    5142             : #if SK3_ENABLED
    5143             :     module procedure setSortedArrCusComQsortrdp_D1_SK3
    5144             :         use pm_kind, only: SKC => SK3
    5145             : #include "pm_arraySort@routines.inc.F90"
    5146             :     end procedure
    5147             : #endif
    5148             : 
    5149             : #if SK2_ENABLED
    5150             :     module procedure setSortedArrCusComQsortrdp_D1_SK2
    5151             :         use pm_kind, only: SKC => SK2
    5152             : #include "pm_arraySort@routines.inc.F90"
    5153             :     end procedure
    5154             : #endif
    5155             : 
    5156             : #if SK1_ENABLED
    5157        5710 :     module procedure setSortedArrCusComQsortrdp_D1_SK1
    5158             :         use pm_kind, only: SKC => SK1
    5159             : #include "pm_arraySort@routines.inc.F90"
    5160             :     end procedure
    5161             : #endif
    5162             : 
    5163             : #undef SK_ENABLED
    5164             : 
    5165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5166             : 
    5167             : #define IK_ENABLED 1
    5168             : 
    5169             : #if IK5_ENABLED
    5170        5594 :     module procedure setSortedArrCusComQsortrdp_D1_IK5
    5171             :         use pm_kind, only: IKC => IK5
    5172             : #include "pm_arraySort@routines.inc.F90"
    5173             :     end procedure
    5174             : #endif
    5175             : 
    5176             : #if IK4_ENABLED
    5177        6119 :     module procedure setSortedArrCusComQsortrdp_D1_IK4
    5178             :         use pm_kind, only: IKC => IK4
    5179             : #include "pm_arraySort@routines.inc.F90"
    5180             :     end procedure
    5181             : #endif
    5182             : 
    5183             : #if IK3_ENABLED
    5184        4407 :     module procedure setSortedArrCusComQsortrdp_D1_IK3
    5185             :         use pm_kind, only: IKC => IK3
    5186             : #include "pm_arraySort@routines.inc.F90"
    5187             :     end procedure
    5188             : #endif
    5189             : 
    5190             : #if IK2_ENABLED
    5191        5832 :     module procedure setSortedArrCusComQsortrdp_D1_IK2
    5192             :         use pm_kind, only: IKC => IK2
    5193             : #include "pm_arraySort@routines.inc.F90"
    5194             :     end procedure
    5195             : #endif
    5196             : 
    5197             : #if IK1_ENABLED
    5198        5032 :     module procedure setSortedArrCusComQsortrdp_D1_IK1
    5199             :         use pm_kind, only: IKC => IK1
    5200             : #include "pm_arraySort@routines.inc.F90"
    5201             :     end procedure
    5202             : #endif
    5203             : 
    5204             : #undef IK_ENABLED
    5205             : 
    5206             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5207             : 
    5208             : #define LK_ENABLED 1
    5209             : 
    5210             : #if LK5_ENABLED
    5211       10723 :     module procedure setSortedArrCusComQsortrdp_D1_LK5
    5212             :         use pm_kind, only: LKC => LK5
    5213             : #include "pm_arraySort@routines.inc.F90"
    5214             :     end procedure
    5215             : #endif
    5216             : 
    5217             : #if LK4_ENABLED
    5218        9248 :     module procedure setSortedArrCusComQsortrdp_D1_LK4
    5219             :         use pm_kind, only: LKC => LK4
    5220             : #include "pm_arraySort@routines.inc.F90"
    5221             :     end procedure
    5222             : #endif
    5223             : 
    5224             : #if LK3_ENABLED
    5225       11009 :     module procedure setSortedArrCusComQsortrdp_D1_LK3
    5226             :         use pm_kind, only: LKC => LK3
    5227             : #include "pm_arraySort@routines.inc.F90"
    5228             :     end procedure
    5229             : #endif
    5230             : 
    5231             : #if LK2_ENABLED
    5232       11828 :     module procedure setSortedArrCusComQsortrdp_D1_LK2
    5233             :         use pm_kind, only: LKC => LK2
    5234             : #include "pm_arraySort@routines.inc.F90"
    5235             :     end procedure
    5236             : #endif
    5237             : 
    5238             : #if LK1_ENABLED
    5239       11239 :     module procedure setSortedArrCusComQsortrdp_D1_LK1
    5240             :         use pm_kind, only: LKC => LK1
    5241             : #include "pm_arraySort@routines.inc.F90"
    5242             :     end procedure
    5243             : #endif
    5244             : 
    5245             : #undef LK_ENABLED
    5246             : 
    5247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5248             : 
    5249             : #define CK_ENABLED 1
    5250             : 
    5251             : #if CK5_ENABLED
    5252             :     module procedure setSortedArrCusComQsortrdp_D1_CK5
    5253             :         use pm_kind, only: CKC => CK5
    5254             : #include "pm_arraySort@routines.inc.F90"
    5255             :     end procedure
    5256             : #endif
    5257             : 
    5258             : #if CK4_ENABLED
    5259        5666 :     module procedure setSortedArrCusComQsortrdp_D1_CK4
    5260             :         use pm_kind, only: CKC => CK4
    5261             : #include "pm_arraySort@routines.inc.F90"
    5262             :     end procedure
    5263             : #endif
    5264             : 
    5265             : #if CK3_ENABLED
    5266        5116 :     module procedure setSortedArrCusComQsortrdp_D1_CK3
    5267             :         use pm_kind, only: CKC => CK3
    5268             : #include "pm_arraySort@routines.inc.F90"
    5269             :     end procedure
    5270             : #endif
    5271             : 
    5272             : #if CK2_ENABLED
    5273        4762 :     module procedure setSortedArrCusComQsortrdp_D1_CK2
    5274             :         use pm_kind, only: CKC => CK2
    5275             : #include "pm_arraySort@routines.inc.F90"
    5276             :     end procedure
    5277             : #endif
    5278             : 
    5279             : #if CK1_ENABLED
    5280        4890 :     module procedure setSortedArrCusComQsortrdp_D1_CK1
    5281             :         use pm_kind, only: CKC => CK1
    5282             : #include "pm_arraySort@routines.inc.F90"
    5283             :     end procedure
    5284             : #endif
    5285             : 
    5286             : #undef CK_ENABLED
    5287             : 
    5288             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5289             : 
    5290             : #define RK_ENABLED 1
    5291             : 
    5292             : #if RK5_ENABLED
    5293             :     module procedure setSortedArrCusComQsortrdp_D1_RK5
    5294             :         use pm_kind, only: RKC => RK5
    5295             : #include "pm_arraySort@routines.inc.F90"
    5296             :     end procedure
    5297             : #endif
    5298             : 
    5299             : #if RK4_ENABLED
    5300        4670 :     module procedure setSortedArrCusComQsortrdp_D1_RK4
    5301             :         use pm_kind, only: RKC => RK4
    5302             : #include "pm_arraySort@routines.inc.F90"
    5303             :     end procedure
    5304             : #endif
    5305             : 
    5306             : #if RK3_ENABLED
    5307        5717 :     module procedure setSortedArrCusComQsortrdp_D1_RK3
    5308             :         use pm_kind, only: RKC => RK3
    5309             : #include "pm_arraySort@routines.inc.F90"
    5310             :     end procedure
    5311             : #endif
    5312             : 
    5313             : #if RK2_ENABLED
    5314        5359 :     module procedure setSortedArrCusComQsortrdp_D1_RK2
    5315             :         use pm_kind, only: RKC => RK2
    5316             : #include "pm_arraySort@routines.inc.F90"
    5317             :     end procedure
    5318             : #endif
    5319             : 
    5320             : #if RK1_ENABLED
    5321        5223 :     module procedure setSortedArrCusComQsortrdp_D1_RK1
    5322             :         use pm_kind, only: RKC => RK1
    5323             : #include "pm_arraySort@routines.inc.F90"
    5324             :     end procedure
    5325             : #endif
    5326             : 
    5327             : #undef RK_ENABLED
    5328             : 
    5329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5330             : 
    5331             : ! LCOV_EXCL_START
    5332             : !#if !__GFORTRAN__
    5333             : 
    5334             : #define PSSK_ENABLED 1
    5335             : 
    5336             : #if SK5_ENABLED
    5337             :     module procedure setSortedArrCusComQsortrdp_D1_PSSK5
    5338             :         use pm_kind, only: SKC => SK5
    5339             : #include "pm_arraySort@routines.inc.F90"
    5340             :     end procedure
    5341             : #endif
    5342             : 
    5343             : #if SK4_ENABLED
    5344             :     module procedure setSortedArrCusComQsortrdp_D1_PSSK4
    5345             :         use pm_kind, only: SKC => SK4
    5346             : #include "pm_arraySort@routines.inc.F90"
    5347             :     end procedure
    5348             : #endif
    5349             : 
    5350             : #if SK3_ENABLED
    5351             :     module procedure setSortedArrCusComQsortrdp_D1_PSSK3
    5352             :         use pm_kind, only: SKC => SK3
    5353             : #include "pm_arraySort@routines.inc.F90"
    5354             :     end procedure
    5355             : #endif
    5356             : 
    5357             : #if SK2_ENABLED
    5358             :     module procedure setSortedArrCusComQsortrdp_D1_PSSK2
    5359             :         use pm_kind, only: SKC => SK2
    5360             : #include "pm_arraySort@routines.inc.F90"
    5361             :     end procedure
    5362             : #endif
    5363             : 
    5364             : #if SK1_ENABLED
    5365             :     module procedure setSortedArrCusComQsortrdp_D1_PSSK1
    5366             :         use pm_kind, only: SKC => SK1
    5367             : #include "pm_arraySort@routines.inc.F90"
    5368             :     end procedure
    5369             : #endif
    5370             : 
    5371             : #undef PSSK_ENABLED
    5372             : 
    5373             : !#endif
    5374             : ! LCOV_EXCL_STOP
    5375             : 
    5376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5377             : 
    5378             : #define BSSK_ENABLED 1
    5379             : 
    5380           0 :     module procedure setSortedArrCusComQsortrdp_D1_BSSK
    5381             :         use pm_kind, only: SKC => SK
    5382             : #include "pm_arraySort@routines.inc.F90"
    5383           0 :     end procedure
    5384             : 
    5385             : #undef BSSK_ENABLED
    5386             : 
    5387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5388             : 
    5389             : #undef D1_ENABLED
    5390             : 
    5391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5394             : 
    5395             : #undef Qsortrdp_ENABLED
    5396             : 
    5397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5400             : 
    5401             : #undef CusCom_ENABLED
    5402             : 
    5403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5406             : 
    5407             : #undef Arr_ENABLED
    5408             : 
    5409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5412             : 
    5413             : #undef setSorted_ENABLED
    5414             : 
    5415             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5416             : 
    5417             : #define setSorted_ENABLED 1
    5418             : 
    5419             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5422             : 
    5423             : #define Arr_ENABLED 1
    5424             : 
    5425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5427             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5428             : 
    5429             : #define CusCom_ENABLED 1
    5430             : 
    5431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5432             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5434             : 
    5435             : #define Bubble_ENABLED 1
    5436             : 
    5437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5440             : 
    5441             : #define D0_ENABLED 1
    5442             : 
    5443             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5444             : 
    5445             : #define SK_ENABLED 1
    5446             : 
    5447             : #if SK5_ENABLED
    5448             :     module procedure setSortedArrCusComBubble_D0_SK5
    5449             :         use pm_kind, only: SKC => SK5
    5450             : #include "pm_arraySort@routines.inc.F90"
    5451             :     end procedure
    5452             : #endif
    5453             : 
    5454             : #if SK4_ENABLED
    5455             :     module procedure setSortedArrCusComBubble_D0_SK4
    5456             :         use pm_kind, only: SKC => SK4
    5457             : #include "pm_arraySort@routines.inc.F90"
    5458             :     end procedure
    5459             : #endif
    5460             : 
    5461             : #if SK3_ENABLED
    5462             :     module procedure setSortedArrCusComBubble_D0_SK3
    5463             :         use pm_kind, only: SKC => SK3
    5464             : #include "pm_arraySort@routines.inc.F90"
    5465             :     end procedure
    5466             : #endif
    5467             : 
    5468             : #if SK2_ENABLED
    5469             :     module procedure setSortedArrCusComBubble_D0_SK2
    5470             :         use pm_kind, only: SKC => SK2
    5471             : #include "pm_arraySort@routines.inc.F90"
    5472             :     end procedure
    5473             : #endif
    5474             : 
    5475             : #if SK1_ENABLED
    5476          92 :     module procedure setSortedArrCusComBubble_D0_SK1
    5477             :         use pm_kind, only: SKC => SK1
    5478             : #include "pm_arraySort@routines.inc.F90"
    5479          92 :     end procedure
    5480             : #endif
    5481             : 
    5482             : #undef SK_ENABLED
    5483             : 
    5484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5485             : 
    5486             : #undef D0_ENABLED
    5487             : 
    5488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5491             : 
    5492             : #define D1_ENABLED 1
    5493             : 
    5494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5495             : 
    5496             : #define SK_ENABLED 1
    5497             : 
    5498             : #if SK5_ENABLED
    5499             :     module procedure setSortedArrCusComBubble_D1_SK5
    5500             :         use pm_kind, only: SKC => SK5
    5501             : #include "pm_arraySort@routines.inc.F90"
    5502             :     end procedure
    5503             : #endif
    5504             : 
    5505             : #if SK4_ENABLED
    5506             :     module procedure setSortedArrCusComBubble_D1_SK4
    5507             :         use pm_kind, only: SKC => SK4
    5508             : #include "pm_arraySort@routines.inc.F90"
    5509             :     end procedure
    5510             : #endif
    5511             : 
    5512             : #if SK3_ENABLED
    5513             :     module procedure setSortedArrCusComBubble_D1_SK3
    5514             :         use pm_kind, only: SKC => SK3
    5515             : #include "pm_arraySort@routines.inc.F90"
    5516             :     end procedure
    5517             : #endif
    5518             : 
    5519             : #if SK2_ENABLED
    5520             :     module procedure setSortedArrCusComBubble_D1_SK2
    5521             :         use pm_kind, only: SKC => SK2
    5522             : #include "pm_arraySort@routines.inc.F90"
    5523             :     end procedure
    5524             : #endif
    5525             : 
    5526             : #if SK1_ENABLED
    5527         116 :     module procedure setSortedArrCusComBubble_D1_SK1
    5528             :         use pm_kind, only: SKC => SK1
    5529             : #include "pm_arraySort@routines.inc.F90"
    5530         116 :     end procedure
    5531             : #endif
    5532             : 
    5533             : #undef SK_ENABLED
    5534             : 
    5535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5536             : 
    5537             : #define IK_ENABLED 1
    5538             : 
    5539             : #if IK5_ENABLED
    5540          98 :     module procedure setSortedArrCusComBubble_D1_IK5
    5541             :         use pm_kind, only: IKC => IK5
    5542             : #include "pm_arraySort@routines.inc.F90"
    5543          98 :     end procedure
    5544             : #endif
    5545             : 
    5546             : #if IK4_ENABLED
    5547          99 :     module procedure setSortedArrCusComBubble_D1_IK4
    5548             :         use pm_kind, only: IKC => IK4
    5549             : #include "pm_arraySort@routines.inc.F90"
    5550          99 :     end procedure
    5551             : #endif
    5552             : 
    5553             : #if IK3_ENABLED
    5554         104 :     module procedure setSortedArrCusComBubble_D1_IK3
    5555             :         use pm_kind, only: IKC => IK3
    5556             : #include "pm_arraySort@routines.inc.F90"
    5557         104 :     end procedure
    5558             : #endif
    5559             : 
    5560             : #if IK2_ENABLED
    5561         104 :     module procedure setSortedArrCusComBubble_D1_IK2
    5562             :         use pm_kind, only: IKC => IK2
    5563             : #include "pm_arraySort@routines.inc.F90"
    5564         104 :     end procedure
    5565             : #endif
    5566             : 
    5567             : #if IK1_ENABLED
    5568          98 :     module procedure setSortedArrCusComBubble_D1_IK1
    5569             :         use pm_kind, only: IKC => IK1
    5570             : #include "pm_arraySort@routines.inc.F90"
    5571          98 :     end procedure
    5572             : #endif
    5573             : 
    5574             : #undef IK_ENABLED
    5575             : 
    5576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5577             : 
    5578             : #define LK_ENABLED 1
    5579             : 
    5580             : #if LK5_ENABLED
    5581         102 :     module procedure setSortedArrCusComBubble_D1_LK5
    5582             :         use pm_kind, only: LKC => LK5
    5583             : #include "pm_arraySort@routines.inc.F90"
    5584         102 :     end procedure
    5585             : #endif
    5586             : 
    5587             : #if LK4_ENABLED
    5588         101 :     module procedure setSortedArrCusComBubble_D1_LK4
    5589             :         use pm_kind, only: LKC => LK4
    5590             : #include "pm_arraySort@routines.inc.F90"
    5591         101 :     end procedure
    5592             : #endif
    5593             : 
    5594             : #if LK3_ENABLED
    5595          98 :     module procedure setSortedArrCusComBubble_D1_LK3
    5596             :         use pm_kind, only: LKC => LK3
    5597             : #include "pm_arraySort@routines.inc.F90"
    5598          98 :     end procedure
    5599             : #endif
    5600             : 
    5601             : #if LK2_ENABLED
    5602         102 :     module procedure setSortedArrCusComBubble_D1_LK2
    5603             :         use pm_kind, only: LKC => LK2
    5604             : #include "pm_arraySort@routines.inc.F90"
    5605         102 :     end procedure
    5606             : #endif
    5607             : 
    5608             : #if LK1_ENABLED
    5609          96 :     module procedure setSortedArrCusComBubble_D1_LK1
    5610             :         use pm_kind, only: LKC => LK1
    5611             : #include "pm_arraySort@routines.inc.F90"
    5612          96 :     end procedure
    5613             : #endif
    5614             : 
    5615             : #undef LK_ENABLED
    5616             : 
    5617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5618             : 
    5619             : #define CK_ENABLED 1
    5620             : 
    5621             : #if CK5_ENABLED
    5622             :     module procedure setSortedArrCusComBubble_D1_CK5
    5623             :         use pm_kind, only: CKC => CK5
    5624             : #include "pm_arraySort@routines.inc.F90"
    5625             :     end procedure
    5626             : #endif
    5627             : 
    5628             : #if CK4_ENABLED
    5629         119 :     module procedure setSortedArrCusComBubble_D1_CK4
    5630             :         use pm_kind, only: CKC => CK4
    5631             : #include "pm_arraySort@routines.inc.F90"
    5632         119 :     end procedure
    5633             : #endif
    5634             : 
    5635             : #if CK3_ENABLED
    5636          98 :     module procedure setSortedArrCusComBubble_D1_CK3
    5637             :         use pm_kind, only: CKC => CK3
    5638             : #include "pm_arraySort@routines.inc.F90"
    5639          98 :     end procedure
    5640             : #endif
    5641             : 
    5642             : #if CK2_ENABLED
    5643         101 :     module procedure setSortedArrCusComBubble_D1_CK2
    5644             :         use pm_kind, only: CKC => CK2
    5645             : #include "pm_arraySort@routines.inc.F90"
    5646         101 :     end procedure
    5647             : #endif
    5648             : 
    5649             : #if CK1_ENABLED
    5650         107 :     module procedure setSortedArrCusComBubble_D1_CK1
    5651             :         use pm_kind, only: CKC => CK1
    5652             : #include "pm_arraySort@routines.inc.F90"
    5653         107 :     end procedure
    5654             : #endif
    5655             : 
    5656             : #undef CK_ENABLED
    5657             : 
    5658             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5659             : 
    5660             : #define RK_ENABLED 1
    5661             : 
    5662             : #if RK5_ENABLED
    5663             :     module procedure setSortedArrCusComBubble_D1_RK5
    5664             :         use pm_kind, only: RKC => RK5
    5665             : #include "pm_arraySort@routines.inc.F90"
    5666             :     end procedure
    5667             : #endif
    5668             : 
    5669             : #if RK4_ENABLED
    5670         113 :     module procedure setSortedArrCusComBubble_D1_RK4
    5671             :         use pm_kind, only: RKC => RK4
    5672             : #include "pm_arraySort@routines.inc.F90"
    5673         113 :     end procedure
    5674             : #endif
    5675             : 
    5676             : #if RK3_ENABLED
    5677          99 :     module procedure setSortedArrCusComBubble_D1_RK3
    5678             :         use pm_kind, only: RKC => RK3
    5679             : #include "pm_arraySort@routines.inc.F90"
    5680          99 :     end procedure
    5681             : #endif
    5682             : 
    5683             : #if RK2_ENABLED
    5684          99 :     module procedure setSortedArrCusComBubble_D1_RK2
    5685             :         use pm_kind, only: RKC => RK2
    5686             : #include "pm_arraySort@routines.inc.F90"
    5687          99 :     end procedure
    5688             : #endif
    5689             : 
    5690             : #if RK1_ENABLED
    5691         114 :     module procedure setSortedArrCusComBubble_D1_RK1
    5692             :         use pm_kind, only: RKC => RK1
    5693             : #include "pm_arraySort@routines.inc.F90"
    5694         114 :     end procedure
    5695             : #endif
    5696             : 
    5697             : #undef RK_ENABLED
    5698             : 
    5699             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5700             : 
    5701             : ! LCOV_EXCL_START
    5702             : !#if !__GFORTRAN__
    5703             : 
    5704             : #define PSSK_ENABLED 1
    5705             : 
    5706             : #if SK5_ENABLED
    5707             :     module procedure setSortedArrCusComBubble_D1_PSSK5
    5708             :         use pm_kind, only: SKC => SK5
    5709             : #include "pm_arraySort@routines.inc.F90"
    5710             :     end procedure
    5711             : #endif
    5712             : 
    5713             : #if SK4_ENABLED
    5714             :     module procedure setSortedArrCusComBubble_D1_PSSK4
    5715             :         use pm_kind, only: SKC => SK4
    5716             : #include "pm_arraySort@routines.inc.F90"
    5717             :     end procedure
    5718             : #endif
    5719             : 
    5720             : #if SK3_ENABLED
    5721             :     module procedure setSortedArrCusComBubble_D1_PSSK3
    5722             :         use pm_kind, only: SKC => SK3
    5723             : #include "pm_arraySort@routines.inc.F90"
    5724             :     end procedure
    5725             : #endif
    5726             : 
    5727             : #if SK2_ENABLED
    5728             :     module procedure setSortedArrCusComBubble_D1_PSSK2
    5729             :         use pm_kind, only: SKC => SK2
    5730             : #include "pm_arraySort@routines.inc.F90"
    5731             :     end procedure
    5732             : #endif
    5733             : 
    5734             : #if SK1_ENABLED
    5735             :     module procedure setSortedArrCusComBubble_D1_PSSK1
    5736             :         use pm_kind, only: SKC => SK1
    5737             : #include "pm_arraySort@routines.inc.F90"
    5738             :     end procedure
    5739             : #endif
    5740             : 
    5741             : #undef PSSK_ENABLED
    5742             : 
    5743             : !#endif
    5744             : ! LCOV_EXCL_STOP
    5745             : 
    5746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5747             : 
    5748             : #define BSSK_ENABLED 1
    5749             : 
    5750           0 :     module procedure setSortedArrCusComBubble_D1_BSSK
    5751             :         use pm_kind, only: SKC => SK
    5752             : #include "pm_arraySort@routines.inc.F90"
    5753           0 :     end procedure
    5754             : 
    5755             : #undef BSSK_ENABLED
    5756             : 
    5757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5758             : 
    5759             : #undef D1_ENABLED
    5760             : 
    5761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5764             : 
    5765             : #undef Bubble_ENABLED
    5766             : 
    5767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5770             : 
    5771             : #undef CusCom_ENABLED
    5772             : 
    5773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5774             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5776             : 
    5777             : #undef Arr_ENABLED
    5778             : 
    5779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5782             : 
    5783             : #undef setSorted_ENABLED
    5784             : 
    5785             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5786             : 
    5787             : #define setSorted_ENABLED 1
    5788             : 
    5789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5790             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5792             : 
    5793             : #define Arr_ENABLED 1
    5794             : 
    5795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5798             : 
    5799             : #define CusCom_ENABLED 1
    5800             : 
    5801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5804             : 
    5805             : #define Heapi_ENABLED 1
    5806             : 
    5807             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5810             : 
    5811             : #define D0_ENABLED 1
    5812             : 
    5813             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5814             : 
    5815             : #define SK_ENABLED 1
    5816             : 
    5817             : #if SK5_ENABLED
    5818             :     module procedure setSortedArrCusComHeapi_D0_SK5
    5819             :         use pm_kind, only: SKC => SK5
    5820             : #include "pm_arraySort@routines.inc.F90"
    5821             :     end procedure
    5822             : #endif
    5823             : 
    5824             : #if SK4_ENABLED
    5825             :     module procedure setSortedArrCusComHeapi_D0_SK4
    5826             :         use pm_kind, only: SKC => SK4
    5827             : #include "pm_arraySort@routines.inc.F90"
    5828             :     end procedure
    5829             : #endif
    5830             : 
    5831             : #if SK3_ENABLED
    5832             :     module procedure setSortedArrCusComHeapi_D0_SK3
    5833             :         use pm_kind, only: SKC => SK3
    5834             : #include "pm_arraySort@routines.inc.F90"
    5835             :     end procedure
    5836             : #endif
    5837             : 
    5838             : #if SK2_ENABLED
    5839             :     module procedure setSortedArrCusComHeapi_D0_SK2
    5840             :         use pm_kind, only: SKC => SK2
    5841             : #include "pm_arraySort@routines.inc.F90"
    5842             :     end procedure
    5843             : #endif
    5844             : 
    5845             : #if SK1_ENABLED
    5846          95 :     module procedure setSortedArrCusComHeapi_D0_SK1
    5847             :         use pm_kind, only: SKC => SK1
    5848             : #include "pm_arraySort@routines.inc.F90"
    5849             :     end procedure
    5850             : #endif
    5851             : 
    5852             : #undef SK_ENABLED
    5853             : 
    5854             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5855             : 
    5856             : #undef D0_ENABLED
    5857             : 
    5858             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5859             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5860             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5861             : 
    5862             : #define D1_ENABLED 1
    5863             : 
    5864             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5865             : 
    5866             : #define SK_ENABLED 1
    5867             : 
    5868             : #if SK5_ENABLED
    5869             :     module procedure setSortedArrCusComHeapi_D1_SK5
    5870             :         use pm_kind, only: SKC => SK5
    5871             : #include "pm_arraySort@routines.inc.F90"
    5872             :     end procedure
    5873             : #endif
    5874             : 
    5875             : #if SK4_ENABLED
    5876             :     module procedure setSortedArrCusComHeapi_D1_SK4
    5877             :         use pm_kind, only: SKC => SK4
    5878             : #include "pm_arraySort@routines.inc.F90"
    5879             :     end procedure
    5880             : #endif
    5881             : 
    5882             : #if SK3_ENABLED
    5883             :     module procedure setSortedArrCusComHeapi_D1_SK3
    5884             :         use pm_kind, only: SKC => SK3
    5885             : #include "pm_arraySort@routines.inc.F90"
    5886             :     end procedure
    5887             : #endif
    5888             : 
    5889             : #if SK2_ENABLED
    5890             :     module procedure setSortedArrCusComHeapi_D1_SK2
    5891             :         use pm_kind, only: SKC => SK2
    5892             : #include "pm_arraySort@routines.inc.F90"
    5893             :     end procedure
    5894             : #endif
    5895             : 
    5896             : #if SK1_ENABLED
    5897          98 :     module procedure setSortedArrCusComHeapi_D1_SK1
    5898             :         use pm_kind, only: SKC => SK1
    5899             : #include "pm_arraySort@routines.inc.F90"
    5900             :     end procedure
    5901             : #endif
    5902             : 
    5903             : #undef SK_ENABLED
    5904             : 
    5905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5906             : 
    5907             : #define IK_ENABLED 1
    5908             : 
    5909             : #if IK5_ENABLED
    5910          95 :     module procedure setSortedArrCusComHeapi_D1_IK5
    5911             :         use pm_kind, only: IKC => IK5
    5912             : #include "pm_arraySort@routines.inc.F90"
    5913             :     end procedure
    5914             : #endif
    5915             : 
    5916             : #if IK4_ENABLED
    5917         109 :     module procedure setSortedArrCusComHeapi_D1_IK4
    5918             :         use pm_kind, only: IKC => IK4
    5919             : #include "pm_arraySort@routines.inc.F90"
    5920             :     end procedure
    5921             : #endif
    5922             : 
    5923             : #if IK3_ENABLED
    5924          97 :     module procedure setSortedArrCusComHeapi_D1_IK3
    5925             :         use pm_kind, only: IKC => IK3
    5926             : #include "pm_arraySort@routines.inc.F90"
    5927             :     end procedure
    5928             : #endif
    5929             : 
    5930             : #if IK2_ENABLED
    5931         104 :     module procedure setSortedArrCusComHeapi_D1_IK2
    5932             :         use pm_kind, only: IKC => IK2
    5933             : #include "pm_arraySort@routines.inc.F90"
    5934             :     end procedure
    5935             : #endif
    5936             : 
    5937             : #if IK1_ENABLED
    5938          94 :     module procedure setSortedArrCusComHeapi_D1_IK1
    5939             :         use pm_kind, only: IKC => IK1
    5940             : #include "pm_arraySort@routines.inc.F90"
    5941             :     end procedure
    5942             : #endif
    5943             : 
    5944             : #undef IK_ENABLED
    5945             : 
    5946             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5947             : 
    5948             : #define LK_ENABLED 1
    5949             : 
    5950             : #if LK5_ENABLED
    5951         111 :     module procedure setSortedArrCusComHeapi_D1_LK5
    5952             :         use pm_kind, only: LKC => LK5
    5953             : #include "pm_arraySort@routines.inc.F90"
    5954             :     end procedure
    5955             : #endif
    5956             : 
    5957             : #if LK4_ENABLED
    5958         101 :     module procedure setSortedArrCusComHeapi_D1_LK4
    5959             :         use pm_kind, only: LKC => LK4
    5960             : #include "pm_arraySort@routines.inc.F90"
    5961             :     end procedure
    5962             : #endif
    5963             : 
    5964             : #if LK3_ENABLED
    5965          98 :     module procedure setSortedArrCusComHeapi_D1_LK3
    5966             :         use pm_kind, only: LKC => LK3
    5967             : #include "pm_arraySort@routines.inc.F90"
    5968             :     end procedure
    5969             : #endif
    5970             : 
    5971             : #if LK2_ENABLED
    5972         104 :     module procedure setSortedArrCusComHeapi_D1_LK2
    5973             :         use pm_kind, only: LKC => LK2
    5974             : #include "pm_arraySort@routines.inc.F90"
    5975             :     end procedure
    5976             : #endif
    5977             : 
    5978             : #if LK1_ENABLED
    5979         100 :     module procedure setSortedArrCusComHeapi_D1_LK1
    5980             :         use pm_kind, only: LKC => LK1
    5981             : #include "pm_arraySort@routines.inc.F90"
    5982             :     end procedure
    5983             : #endif
    5984             : 
    5985             : #undef LK_ENABLED
    5986             : 
    5987             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5988             : 
    5989             : #define CK_ENABLED 1
    5990             : 
    5991             : #if CK5_ENABLED
    5992             :     module procedure setSortedArrCusComHeapi_D1_CK5
    5993             :         use pm_kind, only: CKC => CK5
    5994             : #include "pm_arraySort@routines.inc.F90"
    5995             :     end procedure
    5996             : #endif
    5997             : 
    5998             : #if CK4_ENABLED
    5999          98 :     module procedure setSortedArrCusComHeapi_D1_CK4
    6000             :         use pm_kind, only: CKC => CK4
    6001             : #include "pm_arraySort@routines.inc.F90"
    6002             :     end procedure
    6003             : #endif
    6004             : 
    6005             : #if CK3_ENABLED
    6006         102 :     module procedure setSortedArrCusComHeapi_D1_CK3
    6007             :         use pm_kind, only: CKC => CK3
    6008             : #include "pm_arraySort@routines.inc.F90"
    6009             :     end procedure
    6010             : #endif
    6011             : 
    6012             : #if CK2_ENABLED
    6013         108 :     module procedure setSortedArrCusComHeapi_D1_CK2
    6014             :         use pm_kind, only: CKC => CK2
    6015             : #include "pm_arraySort@routines.inc.F90"
    6016             :     end procedure
    6017             : #endif
    6018             : 
    6019             : #if CK1_ENABLED
    6020          94 :     module procedure setSortedArrCusComHeapi_D1_CK1
    6021             :         use pm_kind, only: CKC => CK1
    6022             : #include "pm_arraySort@routines.inc.F90"
    6023             :     end procedure
    6024             : #endif
    6025             : 
    6026             : #undef CK_ENABLED
    6027             : 
    6028             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6029             : 
    6030             : #define RK_ENABLED 1
    6031             : 
    6032             : #if RK5_ENABLED
    6033             :     module procedure setSortedArrCusComHeapi_D1_RK5
    6034             :         use pm_kind, only: RKC => RK5
    6035             : #include "pm_arraySort@routines.inc.F90"
    6036             :     end procedure
    6037             : #endif
    6038             : 
    6039             : #if RK4_ENABLED
    6040          98 :     module procedure setSortedArrCusComHeapi_D1_RK4
    6041             :         use pm_kind, only: RKC => RK4
    6042             : #include "pm_arraySort@routines.inc.F90"
    6043             :     end procedure
    6044             : #endif
    6045             : 
    6046             : #if RK3_ENABLED
    6047         111 :     module procedure setSortedArrCusComHeapi_D1_RK3
    6048             :         use pm_kind, only: RKC => RK3
    6049             : #include "pm_arraySort@routines.inc.F90"
    6050             :     end procedure
    6051             : #endif
    6052             : 
    6053             : #if RK2_ENABLED
    6054          95 :     module procedure setSortedArrCusComHeapi_D1_RK2
    6055             :         use pm_kind, only: RKC => RK2
    6056             : #include "pm_arraySort@routines.inc.F90"
    6057             :     end procedure
    6058             : #endif
    6059             : 
    6060             : #if RK1_ENABLED
    6061          94 :     module procedure setSortedArrCusComHeapi_D1_RK1
    6062             :         use pm_kind, only: RKC => RK1
    6063             : #include "pm_arraySort@routines.inc.F90"
    6064             :     end procedure
    6065             : #endif
    6066             : 
    6067             : #undef RK_ENABLED
    6068             : 
    6069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6070             : 
    6071             : ! LCOV_EXCL_START
    6072             : !#if !__GFORTRAN__
    6073             : 
    6074             : #define PSSK_ENABLED 1
    6075             : 
    6076             : #if SK5_ENABLED
    6077             :     module procedure setSortedArrCusComHeapi_D1_PSSK5
    6078             :         use pm_kind, only: SKC => SK5
    6079             : #include "pm_arraySort@routines.inc.F90"
    6080             :     end procedure
    6081             : #endif
    6082             : 
    6083             : #if SK4_ENABLED
    6084             :     module procedure setSortedArrCusComHeapi_D1_PSSK4
    6085             :         use pm_kind, only: SKC => SK4
    6086             : #include "pm_arraySort@routines.inc.F90"
    6087             :     end procedure
    6088             : #endif
    6089             : 
    6090             : #if SK3_ENABLED
    6091             :     module procedure setSortedArrCusComHeapi_D1_PSSK3
    6092             :         use pm_kind, only: SKC => SK3
    6093             : #include "pm_arraySort@routines.inc.F90"
    6094             :     end procedure
    6095             : #endif
    6096             : 
    6097             : #if SK2_ENABLED
    6098             :     module procedure setSortedArrCusComHeapi_D1_PSSK2
    6099             :         use pm_kind, only: SKC => SK2
    6100             : #include "pm_arraySort@routines.inc.F90"
    6101             :     end procedure
    6102             : #endif
    6103             : 
    6104             : #if SK1_ENABLED
    6105             :     module procedure setSortedArrCusComHeapi_D1_PSSK1
    6106             :         use pm_kind, only: SKC => SK1
    6107             : #include "pm_arraySort@routines.inc.F90"
    6108             :     end procedure
    6109             : #endif
    6110             : 
    6111             : #undef PSSK_ENABLED
    6112             : 
    6113             : !#endif
    6114             : ! LCOV_EXCL_STOP
    6115             : 
    6116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6117             : 
    6118             : #define BSSK_ENABLED 1
    6119             : 
    6120           0 :     module procedure setSortedArrCusComHeapi_D1_BSSK
    6121             :         use pm_kind, only: SKC => SK
    6122             : #include "pm_arraySort@routines.inc.F90"
    6123             :     end procedure
    6124             : 
    6125             : #undef BSSK_ENABLED
    6126             : 
    6127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6128             : 
    6129             : #undef D1_ENABLED
    6130             : 
    6131             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6133             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6134             : 
    6135             : #undef Heapi_ENABLED
    6136             : 
    6137             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6138             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6140             : 
    6141             : #undef CusCom_ENABLED
    6142             : 
    6143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6144             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6145             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6146             : 
    6147             : #undef Arr_ENABLED
    6148             : 
    6149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6150             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6152             : 
    6153             : #undef setSorted_ENABLED
    6154             : 
    6155             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6156             : 
    6157             : #define setSorted_ENABLED 1
    6158             : 
    6159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6162             : 
    6163             : #define Arr_ENABLED 1
    6164             : 
    6165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6168             : 
    6169             : #define CusCom_ENABLED 1
    6170             : 
    6171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6174             : 
    6175             : #define Heapr_ENABLED 1
    6176             : 
    6177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6180             : 
    6181             : #define D0_ENABLED 1
    6182             : 
    6183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6184             : 
    6185             : #define SK_ENABLED 1
    6186             : 
    6187             : #if SK5_ENABLED
    6188             :     module procedure setSortedArrCusComHeapr_D0_SK5
    6189             :         use pm_kind, only: SKC => SK5
    6190             : #include "pm_arraySort@routines.inc.F90"
    6191             :     end procedure
    6192             : #endif
    6193             : 
    6194             : #if SK4_ENABLED
    6195             :     module procedure setSortedArrCusComHeapr_D0_SK4
    6196             :         use pm_kind, only: SKC => SK4
    6197             : #include "pm_arraySort@routines.inc.F90"
    6198             :     end procedure
    6199             : #endif
    6200             : 
    6201             : #if SK3_ENABLED
    6202             :     module procedure setSortedArrCusComHeapr_D0_SK3
    6203             :         use pm_kind, only: SKC => SK3
    6204             : #include "pm_arraySort@routines.inc.F90"
    6205             :     end procedure
    6206             : #endif
    6207             : 
    6208             : #if SK2_ENABLED
    6209             :     module procedure setSortedArrCusComHeapr_D0_SK2
    6210             :         use pm_kind, only: SKC => SK2
    6211             : #include "pm_arraySort@routines.inc.F90"
    6212             :     end procedure
    6213             : #endif
    6214             : 
    6215             : #if SK1_ENABLED
    6216          96 :     module procedure setSortedArrCusComHeapr_D0_SK1
    6217             :         use pm_kind, only: SKC => SK1
    6218             : #include "pm_arraySort@routines.inc.F90"
    6219             :     end procedure
    6220             : #endif
    6221             : 
    6222             : #undef SK_ENABLED
    6223             : 
    6224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6225             : 
    6226             : #undef D0_ENABLED
    6227             : 
    6228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6230             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6231             : 
    6232             : #define D1_ENABLED 1
    6233             : 
    6234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6235             : 
    6236             : #define SK_ENABLED 1
    6237             : 
    6238             : #if SK5_ENABLED
    6239             :     module procedure setSortedArrCusComHeapr_D1_SK5
    6240             :         use pm_kind, only: SKC => SK5
    6241             : #include "pm_arraySort@routines.inc.F90"
    6242             :     end procedure
    6243             : #endif
    6244             : 
    6245             : #if SK4_ENABLED
    6246             :     module procedure setSortedArrCusComHeapr_D1_SK4
    6247             :         use pm_kind, only: SKC => SK4
    6248             : #include "pm_arraySort@routines.inc.F90"
    6249             :     end procedure
    6250             : #endif
    6251             : 
    6252             : #if SK3_ENABLED
    6253             :     module procedure setSortedArrCusComHeapr_D1_SK3
    6254             :         use pm_kind, only: SKC => SK3
    6255             : #include "pm_arraySort@routines.inc.F90"
    6256             :     end procedure
    6257             : #endif
    6258             : 
    6259             : #if SK2_ENABLED
    6260             :     module procedure setSortedArrCusComHeapr_D1_SK2
    6261             :         use pm_kind, only: SKC => SK2
    6262             : #include "pm_arraySort@routines.inc.F90"
    6263             :     end procedure
    6264             : #endif
    6265             : 
    6266             : #if SK1_ENABLED
    6267         101 :     module procedure setSortedArrCusComHeapr_D1_SK1
    6268             :         use pm_kind, only: SKC => SK1
    6269             : #include "pm_arraySort@routines.inc.F90"
    6270             :     end procedure
    6271             : #endif
    6272             : 
    6273             : #undef SK_ENABLED
    6274             : 
    6275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6276             : 
    6277             : #define IK_ENABLED 1
    6278             : 
    6279             : #if IK5_ENABLED
    6280          97 :     module procedure setSortedArrCusComHeapr_D1_IK5
    6281             :         use pm_kind, only: IKC => IK5
    6282             : #include "pm_arraySort@routines.inc.F90"
    6283             :     end procedure
    6284             : #endif
    6285             : 
    6286             : #if IK4_ENABLED
    6287          94 :     module procedure setSortedArrCusComHeapr_D1_IK4
    6288             :         use pm_kind, only: IKC => IK4
    6289             : #include "pm_arraySort@routines.inc.F90"
    6290             :     end procedure
    6291             : #endif
    6292             : 
    6293             : #if IK3_ENABLED
    6294          88 :     module procedure setSortedArrCusComHeapr_D1_IK3
    6295             :         use pm_kind, only: IKC => IK3
    6296             : #include "pm_arraySort@routines.inc.F90"
    6297             :     end procedure
    6298             : #endif
    6299             : 
    6300             : #if IK2_ENABLED
    6301         101 :     module procedure setSortedArrCusComHeapr_D1_IK2
    6302             :         use pm_kind, only: IKC => IK2
    6303             : #include "pm_arraySort@routines.inc.F90"
    6304             :     end procedure
    6305             : #endif
    6306             : 
    6307             : #if IK1_ENABLED
    6308          91 :     module procedure setSortedArrCusComHeapr_D1_IK1
    6309             :         use pm_kind, only: IKC => IK1
    6310             : #include "pm_arraySort@routines.inc.F90"
    6311             :     end procedure
    6312             : #endif
    6313             : 
    6314             : #undef IK_ENABLED
    6315             : 
    6316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6317             : 
    6318             : #define LK_ENABLED 1
    6319             : 
    6320             : #if LK5_ENABLED
    6321          87 :     module procedure setSortedArrCusComHeapr_D1_LK5
    6322             :         use pm_kind, only: LKC => LK5
    6323             : #include "pm_arraySort@routines.inc.F90"
    6324             :     end procedure
    6325             : #endif
    6326             : 
    6327             : #if LK4_ENABLED
    6328         108 :     module procedure setSortedArrCusComHeapr_D1_LK4
    6329             :         use pm_kind, only: LKC => LK4
    6330             : #include "pm_arraySort@routines.inc.F90"
    6331             :     end procedure
    6332             : #endif
    6333             : 
    6334             : #if LK3_ENABLED
    6335          99 :     module procedure setSortedArrCusComHeapr_D1_LK3
    6336             :         use pm_kind, only: LKC => LK3
    6337             : #include "pm_arraySort@routines.inc.F90"
    6338             :     end procedure
    6339             : #endif
    6340             : 
    6341             : #if LK2_ENABLED
    6342         103 :     module procedure setSortedArrCusComHeapr_D1_LK2
    6343             :         use pm_kind, only: LKC => LK2
    6344             : #include "pm_arraySort@routines.inc.F90"
    6345             :     end procedure
    6346             : #endif
    6347             : 
    6348             : #if LK1_ENABLED
    6349          97 :     module procedure setSortedArrCusComHeapr_D1_LK1
    6350             :         use pm_kind, only: LKC => LK1
    6351             : #include "pm_arraySort@routines.inc.F90"
    6352             :     end procedure
    6353             : #endif
    6354             : 
    6355             : #undef LK_ENABLED
    6356             : 
    6357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6358             : 
    6359             : #define CK_ENABLED 1
    6360             : 
    6361             : #if CK5_ENABLED
    6362             :     module procedure setSortedArrCusComHeapr_D1_CK5
    6363             :         use pm_kind, only: CKC => CK5
    6364             : #include "pm_arraySort@routines.inc.F90"
    6365             :     end procedure
    6366             : #endif
    6367             : 
    6368             : #if CK4_ENABLED
    6369         103 :     module procedure setSortedArrCusComHeapr_D1_CK4
    6370             :         use pm_kind, only: CKC => CK4
    6371             : #include "pm_arraySort@routines.inc.F90"
    6372             :     end procedure
    6373             : #endif
    6374             : 
    6375             : #if CK3_ENABLED
    6376         112 :     module procedure setSortedArrCusComHeapr_D1_CK3
    6377             :         use pm_kind, only: CKC => CK3
    6378             : #include "pm_arraySort@routines.inc.F90"
    6379             :     end procedure
    6380             : #endif
    6381             : 
    6382             : #if CK2_ENABLED
    6383          92 :     module procedure setSortedArrCusComHeapr_D1_CK2
    6384             :         use pm_kind, only: CKC => CK2
    6385             : #include "pm_arraySort@routines.inc.F90"
    6386             :     end procedure
    6387             : #endif
    6388             : 
    6389             : #if CK1_ENABLED
    6390         106 :     module procedure setSortedArrCusComHeapr_D1_CK1
    6391             :         use pm_kind, only: CKC => CK1
    6392             : #include "pm_arraySort@routines.inc.F90"
    6393             :     end procedure
    6394             : #endif
    6395             : 
    6396             : #undef CK_ENABLED
    6397             : 
    6398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6399             : 
    6400             : #define RK_ENABLED 1
    6401             : 
    6402             : #if RK5_ENABLED
    6403             :     module procedure setSortedArrCusComHeapr_D1_RK5
    6404             :         use pm_kind, only: RKC => RK5
    6405             : #include "pm_arraySort@routines.inc.F90"
    6406             :     end procedure
    6407             : #endif
    6408             : 
    6409             : #if RK4_ENABLED
    6410         103 :     module procedure setSortedArrCusComHeapr_D1_RK4
    6411             :         use pm_kind, only: RKC => RK4
    6412             : #include "pm_arraySort@routines.inc.F90"
    6413             :     end procedure
    6414             : #endif
    6415             : 
    6416             : #if RK3_ENABLED
    6417         112 :     module procedure setSortedArrCusComHeapr_D1_RK3
    6418             :         use pm_kind, only: RKC => RK3
    6419             : #include "pm_arraySort@routines.inc.F90"
    6420             :     end procedure
    6421             : #endif
    6422             : 
    6423             : #if RK2_ENABLED
    6424         100 :     module procedure setSortedArrCusComHeapr_D1_RK2
    6425             :         use pm_kind, only: RKC => RK2
    6426             : #include "pm_arraySort@routines.inc.F90"
    6427             :     end procedure
    6428             : #endif
    6429             : 
    6430             : #if RK1_ENABLED
    6431          99 :     module procedure setSortedArrCusComHeapr_D1_RK1
    6432             :         use pm_kind, only: RKC => RK1
    6433             : #include "pm_arraySort@routines.inc.F90"
    6434             :     end procedure
    6435             : #endif
    6436             : 
    6437             : #undef RK_ENABLED
    6438             : 
    6439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6440             : 
    6441             : ! LCOV_EXCL_START
    6442             : !#if !__GFORTRAN__
    6443             : 
    6444             : #define PSSK_ENABLED 1
    6445             : 
    6446             : #if SK5_ENABLED
    6447             :     module procedure setSortedArrCusComHeapr_D1_PSSK5
    6448             :         use pm_kind, only: SKC => SK5
    6449             : #include "pm_arraySort@routines.inc.F90"
    6450             :     end procedure
    6451             : #endif
    6452             : 
    6453             : #if SK4_ENABLED
    6454             :     module procedure setSortedArrCusComHeapr_D1_PSSK4
    6455             :         use pm_kind, only: SKC => SK4
    6456             : #include "pm_arraySort@routines.inc.F90"
    6457             :     end procedure
    6458             : #endif
    6459             : 
    6460             : #if SK3_ENABLED
    6461             :     module procedure setSortedArrCusComHeapr_D1_PSSK3
    6462             :         use pm_kind, only: SKC => SK3
    6463             : #include "pm_arraySort@routines.inc.F90"
    6464             :     end procedure
    6465             : #endif
    6466             : 
    6467             : #if SK2_ENABLED
    6468             :     module procedure setSortedArrCusComHeapr_D1_PSSK2
    6469             :         use pm_kind, only: SKC => SK2
    6470             : #include "pm_arraySort@routines.inc.F90"
    6471             :     end procedure
    6472             : #endif
    6473             : 
    6474             : #if SK1_ENABLED
    6475             :     module procedure setSortedArrCusComHeapr_D1_PSSK1
    6476             :         use pm_kind, only: SKC => SK1
    6477             : #include "pm_arraySort@routines.inc.F90"
    6478             :     end procedure
    6479             : #endif
    6480             : 
    6481             : #undef PSSK_ENABLED
    6482             : 
    6483             : !#endif
    6484             : ! LCOV_EXCL_STOP
    6485             : 
    6486             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6487             : 
    6488             : #define BSSK_ENABLED 1
    6489             : 
    6490           0 :     module procedure setSortedArrCusComHeapr_D1_BSSK
    6491             :         use pm_kind, only: SKC => SK
    6492             : #include "pm_arraySort@routines.inc.F90"
    6493             :     end procedure
    6494             : 
    6495             : #undef BSSK_ENABLED
    6496             : 
    6497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6498             : 
    6499             : #undef D1_ENABLED
    6500             : 
    6501             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6502             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6504             : 
    6505             : #undef Heapr_ENABLED
    6506             : 
    6507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6510             : 
    6511             : #undef CusCom_ENABLED
    6512             : 
    6513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6516             : 
    6517             : #undef Arr_ENABLED
    6518             : 
    6519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6522             : 
    6523             : #undef setSorted_ENABLED
    6524             : 
    6525             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6526             : 
    6527             : #define setSorted_ENABLED 1
    6528             : 
    6529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6532             : 
    6533             : #define Arr_ENABLED 1
    6534             : 
    6535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6538             : 
    6539             : #define CusCom_ENABLED 1
    6540             : 
    6541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6544             : 
    6545             : #define Insertionl_ENABLED 1
    6546             : 
    6547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6550             : 
    6551             : #define D0_ENABLED 1
    6552             : 
    6553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6554             : 
    6555             : #define SK_ENABLED 1
    6556             : 
    6557             : #if SK5_ENABLED
    6558             :     module procedure setSortedArrCusComInsertionl_D0_SK5
    6559             :         use pm_kind, only: SKC => SK5
    6560             : #include "pm_arraySort@routines.inc.F90"
    6561             :     end procedure
    6562             : #endif
    6563             : 
    6564             : #if SK4_ENABLED
    6565             :     module procedure setSortedArrCusComInsertionl_D0_SK4
    6566             :         use pm_kind, only: SKC => SK4
    6567             : #include "pm_arraySort@routines.inc.F90"
    6568             :     end procedure
    6569             : #endif
    6570             : 
    6571             : #if SK3_ENABLED
    6572             :     module procedure setSortedArrCusComInsertionl_D0_SK3
    6573             :         use pm_kind, only: SKC => SK3
    6574             : #include "pm_arraySort@routines.inc.F90"
    6575             :     end procedure
    6576             : #endif
    6577             : 
    6578             : #if SK2_ENABLED
    6579             :     module procedure setSortedArrCusComInsertionl_D0_SK2
    6580             :         use pm_kind, only: SKC => SK2
    6581             : #include "pm_arraySort@routines.inc.F90"
    6582             :     end procedure
    6583             : #endif
    6584             : 
    6585             : #if SK1_ENABLED
    6586       28994 :     module procedure setSortedArrCusComInsertionl_D0_SK1
    6587             :         use pm_kind, only: SKC => SK1
    6588             : #include "pm_arraySort@routines.inc.F90"
    6589       28994 :     end procedure
    6590             : #endif
    6591             : 
    6592             : #undef SK_ENABLED
    6593             : 
    6594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6595             : 
    6596             : #undef D0_ENABLED
    6597             : 
    6598             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6601             : 
    6602             : #define D1_ENABLED 1
    6603             : 
    6604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6605             : 
    6606             : #define SK_ENABLED 1
    6607             : 
    6608             : #if SK5_ENABLED
    6609             :     module procedure setSortedArrCusComInsertionl_D1_SK5
    6610             :         use pm_kind, only: SKC => SK5
    6611             : #include "pm_arraySort@routines.inc.F90"
    6612             :     end procedure
    6613             : #endif
    6614             : 
    6615             : #if SK4_ENABLED
    6616             :     module procedure setSortedArrCusComInsertionl_D1_SK4
    6617             :         use pm_kind, only: SKC => SK4
    6618             : #include "pm_arraySort@routines.inc.F90"
    6619             :     end procedure
    6620             : #endif
    6621             : 
    6622             : #if SK3_ENABLED
    6623             :     module procedure setSortedArrCusComInsertionl_D1_SK3
    6624             :         use pm_kind, only: SKC => SK3
    6625             : #include "pm_arraySort@routines.inc.F90"
    6626             :     end procedure
    6627             : #endif
    6628             : 
    6629             : #if SK2_ENABLED
    6630             :     module procedure setSortedArrCusComInsertionl_D1_SK2
    6631             :         use pm_kind, only: SKC => SK2
    6632             : #include "pm_arraySort@routines.inc.F90"
    6633             :     end procedure
    6634             : #endif
    6635             : 
    6636             : #if SK1_ENABLED
    6637       26885 :     module procedure setSortedArrCusComInsertionl_D1_SK1
    6638             :         use pm_kind, only: SKC => SK1
    6639             : #include "pm_arraySort@routines.inc.F90"
    6640       26885 :     end procedure
    6641             : #endif
    6642             : 
    6643             : #undef SK_ENABLED
    6644             : 
    6645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6646             : 
    6647             : #define IK_ENABLED 1
    6648             : 
    6649             : #if IK5_ENABLED
    6650       24075 :     module procedure setSortedArrCusComInsertionl_D1_IK5
    6651             :         use pm_kind, only: IKC => IK5
    6652             : #include "pm_arraySort@routines.inc.F90"
    6653       24075 :     end procedure
    6654             : #endif
    6655             : 
    6656             : #if IK4_ENABLED
    6657       27708 :     module procedure setSortedArrCusComInsertionl_D1_IK4
    6658             :         use pm_kind, only: IKC => IK4
    6659             : #include "pm_arraySort@routines.inc.F90"
    6660       27708 :     end procedure
    6661             : #endif
    6662             : 
    6663             : #if IK3_ENABLED
    6664       21791 :     module procedure setSortedArrCusComInsertionl_D1_IK3
    6665             :         use pm_kind, only: IKC => IK3
    6666             : #include "pm_arraySort@routines.inc.F90"
    6667       21791 :     end procedure
    6668             : #endif
    6669             : 
    6670             : #if IK2_ENABLED
    6671       27777 :     module procedure setSortedArrCusComInsertionl_D1_IK2
    6672             :         use pm_kind, only: IKC => IK2
    6673             : #include "pm_arraySort@routines.inc.F90"
    6674       27777 :     end procedure
    6675             : #endif
    6676             : 
    6677             : #if IK1_ENABLED
    6678       22306 :     module procedure setSortedArrCusComInsertionl_D1_IK1
    6679             :         use pm_kind, only: IKC => IK1
    6680             : #include "pm_arraySort@routines.inc.F90"
    6681       22306 :     end procedure
    6682             : #endif
    6683             : 
    6684             : #undef IK_ENABLED
    6685             : 
    6686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6687             : 
    6688             : #define LK_ENABLED 1
    6689             : 
    6690             : #if LK5_ENABLED
    6691       23409 :     module procedure setSortedArrCusComInsertionl_D1_LK5
    6692             :         use pm_kind, only: LKC => LK5
    6693             : #include "pm_arraySort@routines.inc.F90"
    6694       23409 :     end procedure
    6695             : #endif
    6696             : 
    6697             : #if LK4_ENABLED
    6698       20458 :     module procedure setSortedArrCusComInsertionl_D1_LK4
    6699             :         use pm_kind, only: LKC => LK4
    6700             : #include "pm_arraySort@routines.inc.F90"
    6701       20458 :     end procedure
    6702             : #endif
    6703             : 
    6704             : #if LK3_ENABLED
    6705       31744 :     module procedure setSortedArrCusComInsertionl_D1_LK3
    6706             :         use pm_kind, only: LKC => LK3
    6707             : #include "pm_arraySort@routines.inc.F90"
    6708       31744 :     end procedure
    6709             : #endif
    6710             : 
    6711             : #if LK2_ENABLED
    6712       24545 :     module procedure setSortedArrCusComInsertionl_D1_LK2
    6713             :         use pm_kind, only: LKC => LK2
    6714             : #include "pm_arraySort@routines.inc.F90"
    6715       24545 :     end procedure
    6716             : #endif
    6717             : 
    6718             : #if LK1_ENABLED
    6719       24099 :     module procedure setSortedArrCusComInsertionl_D1_LK1
    6720             :         use pm_kind, only: LKC => LK1
    6721             : #include "pm_arraySort@routines.inc.F90"
    6722       24099 :     end procedure
    6723             : #endif
    6724             : 
    6725             : #undef LK_ENABLED
    6726             : 
    6727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6728             : 
    6729             : #define CK_ENABLED 1
    6730             : 
    6731             : #if CK5_ENABLED
    6732             :     module procedure setSortedArrCusComInsertionl_D1_CK5
    6733             :         use pm_kind, only: CKC => CK5
    6734             : #include "pm_arraySort@routines.inc.F90"
    6735             :     end procedure
    6736             : #endif
    6737             : 
    6738             : #if CK4_ENABLED
    6739       28726 :     module procedure setSortedArrCusComInsertionl_D1_CK4
    6740             :         use pm_kind, only: CKC => CK4
    6741             : #include "pm_arraySort@routines.inc.F90"
    6742       28726 :     end procedure
    6743             : #endif
    6744             : 
    6745             : #if CK3_ENABLED
    6746       27165 :     module procedure setSortedArrCusComInsertionl_D1_CK3
    6747             :         use pm_kind, only: CKC => CK3
    6748             : #include "pm_arraySort@routines.inc.F90"
    6749       27165 :     end procedure
    6750             : #endif
    6751             : 
    6752             : #if CK2_ENABLED
    6753       26534 :     module procedure setSortedArrCusComInsertionl_D1_CK2
    6754             :         use pm_kind, only: CKC => CK2
    6755             : #include "pm_arraySort@routines.inc.F90"
    6756       26534 :     end procedure
    6757             : #endif
    6758             : 
    6759             : #if CK1_ENABLED
    6760       28537 :     module procedure setSortedArrCusComInsertionl_D1_CK1
    6761             :         use pm_kind, only: CKC => CK1
    6762             : #include "pm_arraySort@routines.inc.F90"
    6763       28537 :     end procedure
    6764             : #endif
    6765             : 
    6766             : #undef CK_ENABLED
    6767             : 
    6768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6769             : 
    6770             : #define RK_ENABLED 1
    6771             : 
    6772             : #if RK5_ENABLED
    6773             :     module procedure setSortedArrCusComInsertionl_D1_RK5
    6774             :         use pm_kind, only: RKC => RK5
    6775             : #include "pm_arraySort@routines.inc.F90"
    6776             :     end procedure
    6777             : #endif
    6778             : 
    6779             : #if RK4_ENABLED
    6780       32345 :     module procedure setSortedArrCusComInsertionl_D1_RK4
    6781             :         use pm_kind, only: RKC => RK4
    6782             : #include "pm_arraySort@routines.inc.F90"
    6783       32345 :     end procedure
    6784             : #endif
    6785             : 
    6786             : #if RK3_ENABLED
    6787       24431 :     module procedure setSortedArrCusComInsertionl_D1_RK3
    6788             :         use pm_kind, only: RKC => RK3
    6789             : #include "pm_arraySort@routines.inc.F90"
    6790       24431 :     end procedure
    6791             : #endif
    6792             : 
    6793             : #if RK2_ENABLED
    6794       24997 :     module procedure setSortedArrCusComInsertionl_D1_RK2
    6795             :         use pm_kind, only: RKC => RK2
    6796             : #include "pm_arraySort@routines.inc.F90"
    6797       24997 :     end procedure
    6798             : #endif
    6799             : 
    6800             : #if RK1_ENABLED
    6801       27234 :     module procedure setSortedArrCusComInsertionl_D1_RK1
    6802             :         use pm_kind, only: RKC => RK1
    6803             : #include "pm_arraySort@routines.inc.F90"
    6804       27234 :     end procedure
    6805             : #endif
    6806             : 
    6807             : #undef RK_ENABLED
    6808             : 
    6809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6810             : 
    6811             : ! LCOV_EXCL_START
    6812             : !#if !__GFORTRAN__
    6813             : 
    6814             : #define PSSK_ENABLED 1
    6815             : 
    6816             : #if SK5_ENABLED
    6817             :     module procedure setSortedArrCusComInsertionl_D1_PSSK5
    6818             :         use pm_kind, only: SKC => SK5
    6819             : #include "pm_arraySort@routines.inc.F90"
    6820             :     end procedure
    6821             : #endif
    6822             : 
    6823             : #if SK4_ENABLED
    6824             :     module procedure setSortedArrCusComInsertionl_D1_PSSK4
    6825             :         use pm_kind, only: SKC => SK4
    6826             : #include "pm_arraySort@routines.inc.F90"
    6827             :     end procedure
    6828             : #endif
    6829             : 
    6830             : #if SK3_ENABLED
    6831             :     module procedure setSortedArrCusComInsertionl_D1_PSSK3
    6832             :         use pm_kind, only: SKC => SK3
    6833             : #include "pm_arraySort@routines.inc.F90"
    6834             :     end procedure
    6835             : #endif
    6836             : 
    6837             : #if SK2_ENABLED
    6838             :     module procedure setSortedArrCusComInsertionl_D1_PSSK2
    6839             :         use pm_kind, only: SKC => SK2
    6840             : #include "pm_arraySort@routines.inc.F90"
    6841             :     end procedure
    6842             : #endif
    6843             : 
    6844             : #if SK1_ENABLED
    6845             :     module procedure setSortedArrCusComInsertionl_D1_PSSK1
    6846             :         use pm_kind, only: SKC => SK1
    6847             : #include "pm_arraySort@routines.inc.F90"
    6848             :     end procedure
    6849             : #endif
    6850             : 
    6851             : #undef PSSK_ENABLED
    6852             : 
    6853             : !#endif
    6854             : ! LCOV_EXCL_STOP
    6855             : 
    6856             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6857             : 
    6858             : #define BSSK_ENABLED 1
    6859             : 
    6860           0 :     module procedure setSortedArrCusComInsertionl_D1_BSSK
    6861             :         use pm_kind, only: SKC => SK
    6862             : #include "pm_arraySort@routines.inc.F90"
    6863           0 :     end procedure
    6864             : 
    6865             : #undef BSSK_ENABLED
    6866             : 
    6867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6868             : 
    6869             : #undef D1_ENABLED
    6870             : 
    6871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6872             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6874             : 
    6875             : #undef Insertionl_ENABLED
    6876             : 
    6877             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6878             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6880             : 
    6881             : #undef CusCom_ENABLED
    6882             : 
    6883             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6886             : 
    6887             : #undef Arr_ENABLED
    6888             : 
    6889             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6892             : 
    6893             : #undef setSorted_ENABLED
    6894             : 
    6895             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6896             : 
    6897             : #define setSorted_ENABLED 1
    6898             : 
    6899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6900             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6902             : 
    6903             : #define Arr_ENABLED 1
    6904             : 
    6905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6908             : 
    6909             : #define CusCom_ENABLED 1
    6910             : 
    6911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6913             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6914             : 
    6915             : #define Insertionb_ENABLED 1
    6916             : 
    6917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6920             : 
    6921             : #define D0_ENABLED 1
    6922             : 
    6923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6924             : 
    6925             : #define SK_ENABLED 1
    6926             : 
    6927             : #if SK5_ENABLED
    6928             :     module procedure setSortedArrCusComInsertionb_D0_SK5
    6929             :         use pm_kind, only: SKC => SK5
    6930             : #include "pm_arraySort@routines.inc.F90"
    6931             :     end procedure
    6932             : #endif
    6933             : 
    6934             : #if SK4_ENABLED
    6935             :     module procedure setSortedArrCusComInsertionb_D0_SK4
    6936             :         use pm_kind, only: SKC => SK4
    6937             : #include "pm_arraySort@routines.inc.F90"
    6938             :     end procedure
    6939             : #endif
    6940             : 
    6941             : #if SK3_ENABLED
    6942             :     module procedure setSortedArrCusComInsertionb_D0_SK3
    6943             :         use pm_kind, only: SKC => SK3
    6944             : #include "pm_arraySort@routines.inc.F90"
    6945             :     end procedure
    6946             : #endif
    6947             : 
    6948             : #if SK2_ENABLED
    6949             :     module procedure setSortedArrCusComInsertionb_D0_SK2
    6950             :         use pm_kind, only: SKC => SK2
    6951             : #include "pm_arraySort@routines.inc.F90"
    6952             :     end procedure
    6953             : #endif
    6954             : 
    6955             : #if SK1_ENABLED
    6956         101 :     module procedure setSortedArrCusComInsertionb_D0_SK1
    6957             :         use pm_kind, only: SKC => SK1
    6958             : #include "pm_arraySort@routines.inc.F90"
    6959         101 :     end procedure
    6960             : #endif
    6961             : 
    6962             : #undef SK_ENABLED
    6963             : 
    6964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6965             : 
    6966             : #undef D0_ENABLED
    6967             : 
    6968             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6969             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6970             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6971             : 
    6972             : #define D1_ENABLED 1
    6973             : 
    6974             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6975             : 
    6976             : #define SK_ENABLED 1
    6977             : 
    6978             : #if SK5_ENABLED
    6979             :     module procedure setSortedArrCusComInsertionb_D1_SK5
    6980             :         use pm_kind, only: SKC => SK5
    6981             : #include "pm_arraySort@routines.inc.F90"
    6982             :     end procedure
    6983             : #endif
    6984             : 
    6985             : #if SK4_ENABLED
    6986             :     module procedure setSortedArrCusComInsertionb_D1_SK4
    6987             :         use pm_kind, only: SKC => SK4
    6988             : #include "pm_arraySort@routines.inc.F90"
    6989             :     end procedure
    6990             : #endif
    6991             : 
    6992             : #if SK3_ENABLED
    6993             :     module procedure setSortedArrCusComInsertionb_D1_SK3
    6994             :         use pm_kind, only: SKC => SK3
    6995             : #include "pm_arraySort@routines.inc.F90"
    6996             :     end procedure
    6997             : #endif
    6998             : 
    6999             : #if SK2_ENABLED
    7000             :     module procedure setSortedArrCusComInsertionb_D1_SK2
    7001             :         use pm_kind, only: SKC => SK2
    7002             : #include "pm_arraySort@routines.inc.F90"
    7003             :     end procedure
    7004             : #endif
    7005             : 
    7006             : #if SK1_ENABLED
    7007          96 :     module procedure setSortedArrCusComInsertionb_D1_SK1
    7008             :         use pm_kind, only: SKC => SK1
    7009             : #include "pm_arraySort@routines.inc.F90"
    7010          96 :     end procedure
    7011             : #endif
    7012             : 
    7013             : #undef SK_ENABLED
    7014             : 
    7015             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7016             : 
    7017             : #define IK_ENABLED 1
    7018             : 
    7019             : #if IK5_ENABLED
    7020          87 :     module procedure setSortedArrCusComInsertionb_D1_IK5
    7021             :         use pm_kind, only: IKC => IK5
    7022             : #include "pm_arraySort@routines.inc.F90"
    7023          87 :     end procedure
    7024             : #endif
    7025             : 
    7026             : #if IK4_ENABLED
    7027         104 :     module procedure setSortedArrCusComInsertionb_D1_IK4
    7028             :         use pm_kind, only: IKC => IK4
    7029             : #include "pm_arraySort@routines.inc.F90"
    7030         104 :     end procedure
    7031             : #endif
    7032             : 
    7033             : #if IK3_ENABLED
    7034         106 :     module procedure setSortedArrCusComInsertionb_D1_IK3
    7035             :         use pm_kind, only: IKC => IK3
    7036             : #include "pm_arraySort@routines.inc.F90"
    7037         106 :     end procedure
    7038             : #endif
    7039             : 
    7040             : #if IK2_ENABLED
    7041          89 :     module procedure setSortedArrCusComInsertionb_D1_IK2
    7042             :         use pm_kind, only: IKC => IK2
    7043             : #include "pm_arraySort@routines.inc.F90"
    7044          89 :     end procedure
    7045             : #endif
    7046             : 
    7047             : #if IK1_ENABLED
    7048          99 :     module procedure setSortedArrCusComInsertionb_D1_IK1
    7049             :         use pm_kind, only: IKC => IK1
    7050             : #include "pm_arraySort@routines.inc.F90"
    7051          99 :     end procedure
    7052             : #endif
    7053             : 
    7054             : #undef IK_ENABLED
    7055             : 
    7056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7057             : 
    7058             : #define LK_ENABLED 1
    7059             : 
    7060             : #if LK5_ENABLED
    7061          98 :     module procedure setSortedArrCusComInsertionb_D1_LK5
    7062             :         use pm_kind, only: LKC => LK5
    7063             : #include "pm_arraySort@routines.inc.F90"
    7064          98 :     end procedure
    7065             : #endif
    7066             : 
    7067             : #if LK4_ENABLED
    7068         100 :     module procedure setSortedArrCusComInsertionb_D1_LK4
    7069             :         use pm_kind, only: LKC => LK4
    7070             : #include "pm_arraySort@routines.inc.F90"
    7071         100 :     end procedure
    7072             : #endif
    7073             : 
    7074             : #if LK3_ENABLED
    7075         101 :     module procedure setSortedArrCusComInsertionb_D1_LK3
    7076             :         use pm_kind, only: LKC => LK3
    7077             : #include "pm_arraySort@routines.inc.F90"
    7078         101 :     end procedure
    7079             : #endif
    7080             : 
    7081             : #if LK2_ENABLED
    7082         100 :     module procedure setSortedArrCusComInsertionb_D1_LK2
    7083             :         use pm_kind, only: LKC => LK2
    7084             : #include "pm_arraySort@routines.inc.F90"
    7085         100 :     end procedure
    7086             : #endif
    7087             : 
    7088             : #if LK1_ENABLED
    7089          97 :     module procedure setSortedArrCusComInsertionb_D1_LK1
    7090             :         use pm_kind, only: LKC => LK1
    7091             : #include "pm_arraySort@routines.inc.F90"
    7092          97 :     end procedure
    7093             : #endif
    7094             : 
    7095             : #undef LK_ENABLED
    7096             : 
    7097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7098             : 
    7099             : #define CK_ENABLED 1
    7100             : 
    7101             : #if CK5_ENABLED
    7102             :     module procedure setSortedArrCusComInsertionb_D1_CK5
    7103             :         use pm_kind, only: CKC => CK5
    7104             : #include "pm_arraySort@routines.inc.F90"
    7105             :     end procedure
    7106             : #endif
    7107             : 
    7108             : #if CK4_ENABLED
    7109          99 :     module procedure setSortedArrCusComInsertionb_D1_CK4
    7110             :         use pm_kind, only: CKC => CK4
    7111             : #include "pm_arraySort@routines.inc.F90"
    7112          99 :     end procedure
    7113             : #endif
    7114             : 
    7115             : #if CK3_ENABLED
    7116          96 :     module procedure setSortedArrCusComInsertionb_D1_CK3
    7117             :         use pm_kind, only: CKC => CK3
    7118             : #include "pm_arraySort@routines.inc.F90"
    7119          96 :     end procedure
    7120             : #endif
    7121             : 
    7122             : #if CK2_ENABLED
    7123          91 :     module procedure setSortedArrCusComInsertionb_D1_CK2
    7124             :         use pm_kind, only: CKC => CK2
    7125             : #include "pm_arraySort@routines.inc.F90"
    7126          91 :     end procedure
    7127             : #endif
    7128             : 
    7129             : #if CK1_ENABLED
    7130         110 :     module procedure setSortedArrCusComInsertionb_D1_CK1
    7131             :         use pm_kind, only: CKC => CK1
    7132             : #include "pm_arraySort@routines.inc.F90"
    7133         110 :     end procedure
    7134             : #endif
    7135             : 
    7136             : #undef CK_ENABLED
    7137             : 
    7138             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7139             : 
    7140             : #define RK_ENABLED 1
    7141             : 
    7142             : #if RK5_ENABLED
    7143             :     module procedure setSortedArrCusComInsertionb_D1_RK5
    7144             :         use pm_kind, only: RKC => RK5
    7145             : #include "pm_arraySort@routines.inc.F90"
    7146             :     end procedure
    7147             : #endif
    7148             : 
    7149             : #if RK4_ENABLED
    7150         101 :     module procedure setSortedArrCusComInsertionb_D1_RK4
    7151             :         use pm_kind, only: RKC => RK4
    7152             : #include "pm_arraySort@routines.inc.F90"
    7153         101 :     end procedure
    7154             : #endif
    7155             : 
    7156             : #if RK3_ENABLED
    7157          98 :     module procedure setSortedArrCusComInsertionb_D1_RK3
    7158             :         use pm_kind, only: RKC => RK3
    7159             : #include "pm_arraySort@routines.inc.F90"
    7160          98 :     end procedure
    7161             : #endif
    7162             : 
    7163             : #if RK2_ENABLED
    7164         107 :     module procedure setSortedArrCusComInsertionb_D1_RK2
    7165             :         use pm_kind, only: RKC => RK2
    7166             : #include "pm_arraySort@routines.inc.F90"
    7167         107 :     end procedure
    7168             : #endif
    7169             : 
    7170             : #if RK1_ENABLED
    7171          90 :     module procedure setSortedArrCusComInsertionb_D1_RK1
    7172             :         use pm_kind, only: RKC => RK1
    7173             : #include "pm_arraySort@routines.inc.F90"
    7174          90 :     end procedure
    7175             : #endif
    7176             : 
    7177             : #undef RK_ENABLED
    7178             : 
    7179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7180             : 
    7181             : ! LCOV_EXCL_START
    7182             : !#if !__GFORTRAN__
    7183             : 
    7184             : #define PSSK_ENABLED 1
    7185             : 
    7186             : #if SK5_ENABLED
    7187             :     module procedure setSortedArrCusComInsertionb_D1_PSSK5
    7188             :         use pm_kind, only: SKC => SK5
    7189             : #include "pm_arraySort@routines.inc.F90"
    7190             :     end procedure
    7191             : #endif
    7192             : 
    7193             : #if SK4_ENABLED
    7194             :     module procedure setSortedArrCusComInsertionb_D1_PSSK4
    7195             :         use pm_kind, only: SKC => SK4
    7196             : #include "pm_arraySort@routines.inc.F90"
    7197             :     end procedure
    7198             : #endif
    7199             : 
    7200             : #if SK3_ENABLED
    7201             :     module procedure setSortedArrCusComInsertionb_D1_PSSK3
    7202             :         use pm_kind, only: SKC => SK3
    7203             : #include "pm_arraySort@routines.inc.F90"
    7204             :     end procedure
    7205             : #endif
    7206             : 
    7207             : #if SK2_ENABLED
    7208             :     module procedure setSortedArrCusComInsertionb_D1_PSSK2
    7209             :         use pm_kind, only: SKC => SK2
    7210             : #include "pm_arraySort@routines.inc.F90"
    7211             :     end procedure
    7212             : #endif
    7213             : 
    7214             : #if SK1_ENABLED
    7215             :     module procedure setSortedArrCusComInsertionb_D1_PSSK1
    7216             :         use pm_kind, only: SKC => SK1
    7217             : #include "pm_arraySort@routines.inc.F90"
    7218             :     end procedure
    7219             : #endif
    7220             : 
    7221             : #undef PSSK_ENABLED
    7222             : 
    7223             : !#endif
    7224             : ! LCOV_EXCL_STOP
    7225             : 
    7226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7227             : 
    7228             : #define BSSK_ENABLED 1
    7229             : 
    7230           0 :     module procedure setSortedArrCusComInsertionb_D1_BSSK
    7231             :         use pm_kind, only: SKC => SK
    7232             : #include "pm_arraySort@routines.inc.F90"
    7233           0 :     end procedure
    7234             : 
    7235             : #undef BSSK_ENABLED
    7236             : 
    7237             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7238             : 
    7239             : #undef D1_ENABLED
    7240             : 
    7241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7244             : 
    7245             : #undef Insertionb_ENABLED
    7246             : 
    7247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7249             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7250             : 
    7251             : #undef CusCom_ENABLED
    7252             : 
    7253             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7254             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7255             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7256             : 
    7257             : #undef Arr_ENABLED
    7258             : 
    7259             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7261             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7262             : 
    7263             : #undef setSorted_ENABLED
    7264             : 
    7265             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7266             : 
    7267             : #define setSorted_ENABLED 1
    7268             : 
    7269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7271             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7272             : 
    7273             : #define Arr_ENABLED 1
    7274             : 
    7275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7276             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7277             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7278             : 
    7279             : #define CusCom_ENABLED 1
    7280             : 
    7281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7282             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7284             : 
    7285             : #define Merger_ENABLED 1
    7286             : 
    7287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7288             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7290             : 
    7291             : #define D0_ENABLED 1
    7292             : 
    7293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7294             : 
    7295             : #define SK_ENABLED 1
    7296             : 
    7297             : #if SK5_ENABLED
    7298             :     module procedure setSortedArrCusComMerger_D0_SK5
    7299             :         use pm_kind, only: SKC => SK5
    7300             : #include "pm_arraySort@routines.inc.F90"
    7301             :     end procedure
    7302             : #endif
    7303             : 
    7304             : #if SK4_ENABLED
    7305             :     module procedure setSortedArrCusComMerger_D0_SK4
    7306             :         use pm_kind, only: SKC => SK4
    7307             : #include "pm_arraySort@routines.inc.F90"
    7308             :     end procedure
    7309             : #endif
    7310             : 
    7311             : #if SK3_ENABLED
    7312             :     module procedure setSortedArrCusComMerger_D0_SK3
    7313             :         use pm_kind, only: SKC => SK3
    7314             : #include "pm_arraySort@routines.inc.F90"
    7315             :     end procedure
    7316             : #endif
    7317             : 
    7318             : #if SK2_ENABLED
    7319             :     module procedure setSortedArrCusComMerger_D0_SK2
    7320             :         use pm_kind, only: SKC => SK2
    7321             : #include "pm_arraySort@routines.inc.F90"
    7322             :     end procedure
    7323             : #endif
    7324             : 
    7325             : #if SK1_ENABLED
    7326        5072 :     module procedure setSortedArrCusComMerger_D0_SK1
    7327             :         use pm_kind, only: SKC => SK1
    7328             : #include "pm_arraySort@routines.inc.F90"
    7329        5072 :     end procedure
    7330             : #endif
    7331             : 
    7332             : #undef SK_ENABLED
    7333             : 
    7334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7335             : 
    7336             : #undef D0_ENABLED
    7337             : 
    7338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7341             : 
    7342             : #define D1_ENABLED 1
    7343             : 
    7344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7345             : 
    7346             : #define SK_ENABLED 1
    7347             : 
    7348             : #if SK5_ENABLED
    7349             :     module procedure setSortedArrCusComMerger_D1_SK5
    7350             :         use pm_kind, only: SKC => SK5
    7351             : #include "pm_arraySort@routines.inc.F90"
    7352             :     end procedure
    7353             : #endif
    7354             : 
    7355             : #if SK4_ENABLED
    7356             :     module procedure setSortedArrCusComMerger_D1_SK4
    7357             :         use pm_kind, only: SKC => SK4
    7358             : #include "pm_arraySort@routines.inc.F90"
    7359             :     end procedure
    7360             : #endif
    7361             : 
    7362             : #if SK3_ENABLED
    7363             :     module procedure setSortedArrCusComMerger_D1_SK3
    7364             :         use pm_kind, only: SKC => SK3
    7365             : #include "pm_arraySort@routines.inc.F90"
    7366             :     end procedure
    7367             : #endif
    7368             : 
    7369             : #if SK2_ENABLED
    7370             :     module procedure setSortedArrCusComMerger_D1_SK2
    7371             :         use pm_kind, only: SKC => SK2
    7372             : #include "pm_arraySort@routines.inc.F90"
    7373             :     end procedure
    7374             : #endif
    7375             : 
    7376             : #if SK1_ENABLED
    7377        4633 :     module procedure setSortedArrCusComMerger_D1_SK1
    7378             :         use pm_kind, only: SKC => SK1
    7379             : #include "pm_arraySort@routines.inc.F90"
    7380             :     end procedure
    7381             : #endif
    7382             : 
    7383             : #undef SK_ENABLED
    7384             : 
    7385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7386             : 
    7387             : #define IK_ENABLED 1
    7388             : 
    7389             : #if IK5_ENABLED
    7390        4608 :     module procedure setSortedArrCusComMerger_D1_IK5
    7391             :         use pm_kind, only: IKC => IK5
    7392             : #include "pm_arraySort@routines.inc.F90"
    7393             :     end procedure
    7394             : #endif
    7395             : 
    7396             : #if IK4_ENABLED
    7397        4651 :     module procedure setSortedArrCusComMerger_D1_IK4
    7398             :         use pm_kind, only: IKC => IK4
    7399             : #include "pm_arraySort@routines.inc.F90"
    7400             :     end procedure
    7401             : #endif
    7402             : 
    7403             : #if IK3_ENABLED
    7404        4665 :     module procedure setSortedArrCusComMerger_D1_IK3
    7405             :         use pm_kind, only: IKC => IK3
    7406             : #include "pm_arraySort@routines.inc.F90"
    7407             :     end procedure
    7408             : #endif
    7409             : 
    7410             : #if IK2_ENABLED
    7411        4596 :     module procedure setSortedArrCusComMerger_D1_IK2
    7412             :         use pm_kind, only: IKC => IK2
    7413             : #include "pm_arraySort@routines.inc.F90"
    7414             :     end procedure
    7415             : #endif
    7416             : 
    7417             : #if IK1_ENABLED
    7418        5016 :     module procedure setSortedArrCusComMerger_D1_IK1
    7419             :         use pm_kind, only: IKC => IK1
    7420             : #include "pm_arraySort@routines.inc.F90"
    7421             :     end procedure
    7422             : #endif
    7423             : 
    7424             : #undef IK_ENABLED
    7425             : 
    7426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7427             : 
    7428             : #define LK_ENABLED 1
    7429             : 
    7430             : #if LK5_ENABLED
    7431        4796 :     module procedure setSortedArrCusComMerger_D1_LK5
    7432             :         use pm_kind, only: LKC => LK5
    7433             : #include "pm_arraySort@routines.inc.F90"
    7434             :     end procedure
    7435             : #endif
    7436             : 
    7437             : #if LK4_ENABLED
    7438        4758 :     module procedure setSortedArrCusComMerger_D1_LK4
    7439             :         use pm_kind, only: LKC => LK4
    7440             : #include "pm_arraySort@routines.inc.F90"
    7441             :     end procedure
    7442             : #endif
    7443             : 
    7444             : #if LK3_ENABLED
    7445        5511 :     module procedure setSortedArrCusComMerger_D1_LK3
    7446             :         use pm_kind, only: LKC => LK3
    7447             : #include "pm_arraySort@routines.inc.F90"
    7448             :     end procedure
    7449             : #endif
    7450             : 
    7451             : #if LK2_ENABLED
    7452        3804 :     module procedure setSortedArrCusComMerger_D1_LK2
    7453             :         use pm_kind, only: LKC => LK2
    7454             : #include "pm_arraySort@routines.inc.F90"
    7455             :     end procedure
    7456             : #endif
    7457             : 
    7458             : #if LK1_ENABLED
    7459        4516 :     module procedure setSortedArrCusComMerger_D1_LK1
    7460             :         use pm_kind, only: LKC => LK1
    7461             : #include "pm_arraySort@routines.inc.F90"
    7462             :     end procedure
    7463             : #endif
    7464             : 
    7465             : #undef LK_ENABLED
    7466             : 
    7467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7468             : 
    7469             : #define CK_ENABLED 1
    7470             : 
    7471             : #if CK5_ENABLED
    7472             :     module procedure setSortedArrCusComMerger_D1_CK5
    7473             :         use pm_kind, only: CKC => CK5
    7474             : #include "pm_arraySort@routines.inc.F90"
    7475             :     end procedure
    7476             : #endif
    7477             : 
    7478             : #if CK4_ENABLED
    7479        4903 :     module procedure setSortedArrCusComMerger_D1_CK4
    7480             :         use pm_kind, only: CKC => CK4
    7481             : #include "pm_arraySort@routines.inc.F90"
    7482             :     end procedure
    7483             : #endif
    7484             : 
    7485             : #if CK3_ENABLED
    7486        4598 :     module procedure setSortedArrCusComMerger_D1_CK3
    7487             :         use pm_kind, only: CKC => CK3
    7488             : #include "pm_arraySort@routines.inc.F90"
    7489             :     end procedure
    7490             : #endif
    7491             : 
    7492             : #if CK2_ENABLED
    7493        4180 :     module procedure setSortedArrCusComMerger_D1_CK2
    7494             :         use pm_kind, only: CKC => CK2
    7495             : #include "pm_arraySort@routines.inc.F90"
    7496             :     end procedure
    7497             : #endif
    7498             : 
    7499             : #if CK1_ENABLED
    7500        4192 :     module procedure setSortedArrCusComMerger_D1_CK1
    7501             :         use pm_kind, only: CKC => CK1
    7502             : #include "pm_arraySort@routines.inc.F90"
    7503             :     end procedure
    7504             : #endif
    7505             : 
    7506             : #undef CK_ENABLED
    7507             : 
    7508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7509             : 
    7510             : #define RK_ENABLED 1
    7511             : 
    7512             : #if RK5_ENABLED
    7513             :     module procedure setSortedArrCusComMerger_D1_RK5
    7514             :         use pm_kind, only: RKC => RK5
    7515             : #include "pm_arraySort@routines.inc.F90"
    7516             :     end procedure
    7517             : #endif
    7518             : 
    7519             : #if RK4_ENABLED
    7520        5174 :     module procedure setSortedArrCusComMerger_D1_RK4
    7521             :         use pm_kind, only: RKC => RK4
    7522             : #include "pm_arraySort@routines.inc.F90"
    7523             :     end procedure
    7524             : #endif
    7525             : 
    7526             : #if RK3_ENABLED
    7527        4409 :     module procedure setSortedArrCusComMerger_D1_RK3
    7528             :         use pm_kind, only: RKC => RK3
    7529             : #include "pm_arraySort@routines.inc.F90"
    7530             :     end procedure
    7531             : #endif
    7532             : 
    7533             : #if RK2_ENABLED
    7534        4233 :     module procedure setSortedArrCusComMerger_D1_RK2
    7535             :         use pm_kind, only: RKC => RK2
    7536             : #include "pm_arraySort@routines.inc.F90"
    7537             :     end procedure
    7538             : #endif
    7539             : 
    7540             : #if RK1_ENABLED
    7541        5586 :     module procedure setSortedArrCusComMerger_D1_RK1
    7542             :         use pm_kind, only: RKC => RK1
    7543             : #include "pm_arraySort@routines.inc.F90"
    7544             :     end procedure
    7545             : #endif
    7546             : 
    7547             : #undef RK_ENABLED
    7548             : 
    7549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7550             : 
    7551             : ! LCOV_EXCL_START
    7552             : !#if !__GFORTRAN__
    7553             : 
    7554             : #define PSSK_ENABLED 1
    7555             : 
    7556             : #if SK5_ENABLED
    7557             :     module procedure setSortedArrCusComMerger_D1_PSSK5
    7558             :         use pm_kind, only: SKC => SK5
    7559             : #include "pm_arraySort@routines.inc.F90"
    7560             :     end procedure
    7561             : #endif
    7562             : 
    7563             : #if SK4_ENABLED
    7564             :     module procedure setSortedArrCusComMerger_D1_PSSK4
    7565             :         use pm_kind, only: SKC => SK4
    7566             : #include "pm_arraySort@routines.inc.F90"
    7567             :     end procedure
    7568             : #endif
    7569             : 
    7570             : #if SK3_ENABLED
    7571             :     module procedure setSortedArrCusComMerger_D1_PSSK3
    7572             :         use pm_kind, only: SKC => SK3
    7573             : #include "pm_arraySort@routines.inc.F90"
    7574             :     end procedure
    7575             : #endif
    7576             : 
    7577             : #if SK2_ENABLED
    7578             :     module procedure setSortedArrCusComMerger_D1_PSSK2
    7579             :         use pm_kind, only: SKC => SK2
    7580             : #include "pm_arraySort@routines.inc.F90"
    7581             :     end procedure
    7582             : #endif
    7583             : 
    7584             : #if SK1_ENABLED
    7585             :     module procedure setSortedArrCusComMerger_D1_PSSK1
    7586             :         use pm_kind, only: SKC => SK1
    7587             : #include "pm_arraySort@routines.inc.F90"
    7588             :     end procedure
    7589             : #endif
    7590             : 
    7591             : #undef PSSK_ENABLED
    7592             : 
    7593             : !#endif
    7594             : ! LCOV_EXCL_STOP
    7595             : 
    7596             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7597             : 
    7598             : #define BSSK_ENABLED 1
    7599             : 
    7600           0 :     module procedure setSortedArrCusComMerger_D1_BSSK
    7601             :         use pm_kind, only: SKC => SK
    7602             : #include "pm_arraySort@routines.inc.F90"
    7603           0 :     end procedure
    7604             : 
    7605             : #undef BSSK_ENABLED
    7606             : 
    7607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7608             : 
    7609             : #undef D1_ENABLED
    7610             : 
    7611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7614             : 
    7615             : #undef Merger_ENABLED
    7616             : 
    7617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7620             : 
    7621             : #undef CusCom_ENABLED
    7622             : 
    7623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7626             : 
    7627             : #undef Arr_ENABLED
    7628             : 
    7629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7632             : 
    7633             : #undef setSorted_ENABLED
    7634             : 
    7635             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7636             : 
    7637             : #define setSorted_ENABLED 1
    7638             : 
    7639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7641             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7642             : 
    7643             : #define Arr_ENABLED 1
    7644             : 
    7645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7646             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7647             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7648             : 
    7649             : #define CusCom_ENABLED 1
    7650             : 
    7651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7653             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7654             : 
    7655             : #define Selection_ENABLED 1
    7656             : 
    7657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7658             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7660             : 
    7661             : #define D0_ENABLED 1
    7662             : 
    7663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7664             : 
    7665             : #define SK_ENABLED 1
    7666             : 
    7667             : #if SK5_ENABLED
    7668             :     module procedure setSortedArrCusComSelection_D0_SK5
    7669             :         use pm_kind, only: SKC => SK5
    7670             : #include "pm_arraySort@routines.inc.F90"
    7671             :     end procedure
    7672             : #endif
    7673             : 
    7674             : #if SK4_ENABLED
    7675             :     module procedure setSortedArrCusComSelection_D0_SK4
    7676             :         use pm_kind, only: SKC => SK4
    7677             : #include "pm_arraySort@routines.inc.F90"
    7678             :     end procedure
    7679             : #endif
    7680             : 
    7681             : #if SK3_ENABLED
    7682             :     module procedure setSortedArrCusComSelection_D0_SK3
    7683             :         use pm_kind, only: SKC => SK3
    7684             : #include "pm_arraySort@routines.inc.F90"
    7685             :     end procedure
    7686             : #endif
    7687             : 
    7688             : #if SK2_ENABLED
    7689             :     module procedure setSortedArrCusComSelection_D0_SK2
    7690             :         use pm_kind, only: SKC => SK2
    7691             : #include "pm_arraySort@routines.inc.F90"
    7692             :     end procedure
    7693             : #endif
    7694             : 
    7695             : #if SK1_ENABLED
    7696         109 :     module procedure setSortedArrCusComSelection_D0_SK1
    7697             :         use pm_kind, only: SKC => SK1
    7698             : #include "pm_arraySort@routines.inc.F90"
    7699         109 :     end procedure
    7700             : #endif
    7701             : 
    7702             : #undef SK_ENABLED
    7703             : 
    7704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7705             : 
    7706             : #undef D0_ENABLED
    7707             : 
    7708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7711             : 
    7712             : #define D1_ENABLED 1
    7713             : 
    7714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7715             : 
    7716             : #define SK_ENABLED 1
    7717             : 
    7718             : #if SK5_ENABLED
    7719             :     module procedure setSortedArrCusComSelection_D1_SK5
    7720             :         use pm_kind, only: SKC => SK5
    7721             : #include "pm_arraySort@routines.inc.F90"
    7722             :     end procedure
    7723             : #endif
    7724             : 
    7725             : #if SK4_ENABLED
    7726             :     module procedure setSortedArrCusComSelection_D1_SK4
    7727             :         use pm_kind, only: SKC => SK4
    7728             : #include "pm_arraySort@routines.inc.F90"
    7729             :     end procedure
    7730             : #endif
    7731             : 
    7732             : #if SK3_ENABLED
    7733             :     module procedure setSortedArrCusComSelection_D1_SK3
    7734             :         use pm_kind, only: SKC => SK3
    7735             : #include "pm_arraySort@routines.inc.F90"
    7736             :     end procedure
    7737             : #endif
    7738             : 
    7739             : #if SK2_ENABLED
    7740             :     module procedure setSortedArrCusComSelection_D1_SK2
    7741             :         use pm_kind, only: SKC => SK2
    7742             : #include "pm_arraySort@routines.inc.F90"
    7743             :     end procedure
    7744             : #endif
    7745             : 
    7746             : #if SK1_ENABLED
    7747         101 :     module procedure setSortedArrCusComSelection_D1_SK1
    7748             :         use pm_kind, only: SKC => SK1
    7749             : #include "pm_arraySort@routines.inc.F90"
    7750         101 :     end procedure
    7751             : #endif
    7752             : 
    7753             : #undef SK_ENABLED
    7754             : 
    7755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7756             : 
    7757             : #define IK_ENABLED 1
    7758             : 
    7759             : #if IK5_ENABLED
    7760         102 :     module procedure setSortedArrCusComSelection_D1_IK5
    7761             :         use pm_kind, only: IKC => IK5
    7762             : #include "pm_arraySort@routines.inc.F90"
    7763         102 :     end procedure
    7764             : #endif
    7765             : 
    7766             : #if IK4_ENABLED
    7767         103 :     module procedure setSortedArrCusComSelection_D1_IK4
    7768             :         use pm_kind, only: IKC => IK4
    7769             : #include "pm_arraySort@routines.inc.F90"
    7770         103 :     end procedure
    7771             : #endif
    7772             : 
    7773             : #if IK3_ENABLED
    7774         114 :     module procedure setSortedArrCusComSelection_D1_IK3
    7775             :         use pm_kind, only: IKC => IK3
    7776             : #include "pm_arraySort@routines.inc.F90"
    7777         114 :     end procedure
    7778             : #endif
    7779             : 
    7780             : #if IK2_ENABLED
    7781         116 :     module procedure setSortedArrCusComSelection_D1_IK2
    7782             :         use pm_kind, only: IKC => IK2
    7783             : #include "pm_arraySort@routines.inc.F90"
    7784         116 :     end procedure
    7785             : #endif
    7786             : 
    7787             : #if IK1_ENABLED
    7788          87 :     module procedure setSortedArrCusComSelection_D1_IK1
    7789             :         use pm_kind, only: IKC => IK1
    7790             : #include "pm_arraySort@routines.inc.F90"
    7791          87 :     end procedure
    7792             : #endif
    7793             : 
    7794             : #undef IK_ENABLED
    7795             : 
    7796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7797             : 
    7798             : #define LK_ENABLED 1
    7799             : 
    7800             : #if LK5_ENABLED
    7801          94 :     module procedure setSortedArrCusComSelection_D1_LK5
    7802             :         use pm_kind, only: LKC => LK5
    7803             : #include "pm_arraySort@routines.inc.F90"
    7804          94 :     end procedure
    7805             : #endif
    7806             : 
    7807             : #if LK4_ENABLED
    7808         111 :     module procedure setSortedArrCusComSelection_D1_LK4
    7809             :         use pm_kind, only: LKC => LK4
    7810             : #include "pm_arraySort@routines.inc.F90"
    7811         111 :     end procedure
    7812             : #endif
    7813             : 
    7814             : #if LK3_ENABLED
    7815         106 :     module procedure setSortedArrCusComSelection_D1_LK3
    7816             :         use pm_kind, only: LKC => LK3
    7817             : #include "pm_arraySort@routines.inc.F90"
    7818         106 :     end procedure
    7819             : #endif
    7820             : 
    7821             : #if LK2_ENABLED
    7822          94 :     module procedure setSortedArrCusComSelection_D1_LK2
    7823             :         use pm_kind, only: LKC => LK2
    7824             : #include "pm_arraySort@routines.inc.F90"
    7825          94 :     end procedure
    7826             : #endif
    7827             : 
    7828             : #if LK1_ENABLED
    7829          98 :     module procedure setSortedArrCusComSelection_D1_LK1
    7830             :         use pm_kind, only: LKC => LK1
    7831             : #include "pm_arraySort@routines.inc.F90"
    7832          98 :     end procedure
    7833             : #endif
    7834             : 
    7835             : #undef LK_ENABLED
    7836             : 
    7837             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7838             : 
    7839             : #define CK_ENABLED 1
    7840             : 
    7841             : #if CK5_ENABLED
    7842             :     module procedure setSortedArrCusComSelection_D1_CK5
    7843             :         use pm_kind, only: CKC => CK5
    7844             : #include "pm_arraySort@routines.inc.F90"
    7845             :     end procedure
    7846             : #endif
    7847             : 
    7848             : #if CK4_ENABLED
    7849          96 :     module procedure setSortedArrCusComSelection_D1_CK4
    7850             :         use pm_kind, only: CKC => CK4
    7851             : #include "pm_arraySort@routines.inc.F90"
    7852          96 :     end procedure
    7853             : #endif
    7854             : 
    7855             : #if CK3_ENABLED
    7856         100 :     module procedure setSortedArrCusComSelection_D1_CK3
    7857             :         use pm_kind, only: CKC => CK3
    7858             : #include "pm_arraySort@routines.inc.F90"
    7859         100 :     end procedure
    7860             : #endif
    7861             : 
    7862             : #if CK2_ENABLED
    7863         105 :     module procedure setSortedArrCusComSelection_D1_CK2
    7864             :         use pm_kind, only: CKC => CK2
    7865             : #include "pm_arraySort@routines.inc.F90"
    7866         105 :     end procedure
    7867             : #endif
    7868             : 
    7869             : #if CK1_ENABLED
    7870         104 :     module procedure setSortedArrCusComSelection_D1_CK1
    7871             :         use pm_kind, only: CKC => CK1
    7872             : #include "pm_arraySort@routines.inc.F90"
    7873         104 :     end procedure
    7874             : #endif
    7875             : 
    7876             : #undef CK_ENABLED
    7877             : 
    7878             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7879             : 
    7880             : #define RK_ENABLED 1
    7881             : 
    7882             : #if RK5_ENABLED
    7883             :     module procedure setSortedArrCusComSelection_D1_RK5
    7884             :         use pm_kind, only: RKC => RK5
    7885             : #include "pm_arraySort@routines.inc.F90"
    7886             :     end procedure
    7887             : #endif
    7888             : 
    7889             : #if RK4_ENABLED
    7890         111 :     module procedure setSortedArrCusComSelection_D1_RK4
    7891             :         use pm_kind, only: RKC => RK4
    7892             : #include "pm_arraySort@routines.inc.F90"
    7893         111 :     end procedure
    7894             : #endif
    7895             : 
    7896             : #if RK3_ENABLED
    7897         101 :     module procedure setSortedArrCusComSelection_D1_RK3
    7898             :         use pm_kind, only: RKC => RK3
    7899             : #include "pm_arraySort@routines.inc.F90"
    7900         101 :     end procedure
    7901             : #endif
    7902             : 
    7903             : #if RK2_ENABLED
    7904         100 :     module procedure setSortedArrCusComSelection_D1_RK2
    7905             :         use pm_kind, only: RKC => RK2
    7906             : #include "pm_arraySort@routines.inc.F90"
    7907         100 :     end procedure
    7908             : #endif
    7909             : 
    7910             : #if RK1_ENABLED
    7911          95 :     module procedure setSortedArrCusComSelection_D1_RK1
    7912             :         use pm_kind, only: RKC => RK1
    7913             : #include "pm_arraySort@routines.inc.F90"
    7914          95 :     end procedure
    7915             : #endif
    7916             : 
    7917             : #undef RK_ENABLED
    7918             : 
    7919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7920             : 
    7921             : ! LCOV_EXCL_START
    7922             : !#if !__GFORTRAN__
    7923             : 
    7924             : #define PSSK_ENABLED 1
    7925             : 
    7926             : #if SK5_ENABLED
    7927             :     module procedure setSortedArrCusComSelection_D1_PSSK5
    7928             :         use pm_kind, only: SKC => SK5
    7929             : #include "pm_arraySort@routines.inc.F90"
    7930             :     end procedure
    7931             : #endif
    7932             : 
    7933             : #if SK4_ENABLED
    7934             :     module procedure setSortedArrCusComSelection_D1_PSSK4
    7935             :         use pm_kind, only: SKC => SK4
    7936             : #include "pm_arraySort@routines.inc.F90"
    7937             :     end procedure
    7938             : #endif
    7939             : 
    7940             : #if SK3_ENABLED
    7941             :     module procedure setSortedArrCusComSelection_D1_PSSK3
    7942             :         use pm_kind, only: SKC => SK3
    7943             : #include "pm_arraySort@routines.inc.F90"
    7944             :     end procedure
    7945             : #endif
    7946             : 
    7947             : #if SK2_ENABLED
    7948             :     module procedure setSortedArrCusComSelection_D1_PSSK2
    7949             :         use pm_kind, only: SKC => SK2
    7950             : #include "pm_arraySort@routines.inc.F90"
    7951             :     end procedure
    7952             : #endif
    7953             : 
    7954             : #if SK1_ENABLED
    7955             :     module procedure setSortedArrCusComSelection_D1_PSSK1
    7956             :         use pm_kind, only: SKC => SK1
    7957             : #include "pm_arraySort@routines.inc.F90"
    7958             :     end procedure
    7959             : #endif
    7960             : 
    7961             : #undef PSSK_ENABLED
    7962             : 
    7963             : !#endif
    7964             : ! LCOV_EXCL_STOP
    7965             : 
    7966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7967             : 
    7968             : #define BSSK_ENABLED 1
    7969             : 
    7970           0 :     module procedure setSortedArrCusComSelection_D1_BSSK
    7971             :         use pm_kind, only: SKC => SK
    7972             : #include "pm_arraySort@routines.inc.F90"
    7973           0 :     end procedure
    7974             : 
    7975             : #undef BSSK_ENABLED
    7976             : 
    7977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7978             : 
    7979             : #undef D1_ENABLED
    7980             : 
    7981             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7982             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7983             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7984             : 
    7985             : #undef Selection_ENABLED
    7986             : 
    7987             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7989             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7990             : 
    7991             : #undef CusCom_ENABLED
    7992             : 
    7993             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7995             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7996             : 
    7997             : #undef Arr_ENABLED
    7998             : 
    7999             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8000             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8002             : 
    8003             : #undef setSorted_ENABLED
    8004             : 
    8005             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8006             : 
    8007             : #define setSorted_ENABLED 1
    8008             : 
    8009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8012             : 
    8013             : #define Arr_ENABLED 1
    8014             : 
    8015             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8016             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8017             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8018             : 
    8019             : #define CusCom_ENABLED 1
    8020             : 
    8021             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8022             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8023             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8024             : 
    8025             : #define Shell_ENABLED 1
    8026             : 
    8027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8028             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8030             : 
    8031             : #define D0_ENABLED 1
    8032             : 
    8033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8034             : 
    8035             : #define SK_ENABLED 1
    8036             : 
    8037             : #if SK5_ENABLED
    8038             :     module procedure setSortedArrCusComShell_D0_SK5
    8039             :         use pm_kind, only: SKC => SK5
    8040             : #include "pm_arraySort@routines.inc.F90"
    8041             :     end procedure
    8042             : #endif
    8043             : 
    8044             : #if SK4_ENABLED
    8045             :     module procedure setSortedArrCusComShell_D0_SK4
    8046             :         use pm_kind, only: SKC => SK4
    8047             : #include "pm_arraySort@routines.inc.F90"
    8048             :     end procedure
    8049             : #endif
    8050             : 
    8051             : #if SK3_ENABLED
    8052             :     module procedure setSortedArrCusComShell_D0_SK3
    8053             :         use pm_kind, only: SKC => SK3
    8054             : #include "pm_arraySort@routines.inc.F90"
    8055             :     end procedure
    8056             : #endif
    8057             : 
    8058             : #if SK2_ENABLED
    8059             :     module procedure setSortedArrCusComShell_D0_SK2
    8060             :         use pm_kind, only: SKC => SK2
    8061             : #include "pm_arraySort@routines.inc.F90"
    8062             :     end procedure
    8063             : #endif
    8064             : 
    8065             : #if SK1_ENABLED
    8066         107 :     module procedure setSortedArrCusComShell_D0_SK1
    8067             :         use pm_kind, only: SKC => SK1
    8068             : #include "pm_arraySort@routines.inc.F90"
    8069         107 :     end procedure
    8070             : #endif
    8071             : 
    8072             : #undef SK_ENABLED
    8073             : 
    8074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8075             : 
    8076             : #undef D0_ENABLED
    8077             : 
    8078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8080             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8081             : 
    8082             : #define D1_ENABLED 1
    8083             : 
    8084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8085             : 
    8086             : #define SK_ENABLED 1
    8087             : 
    8088             : #if SK5_ENABLED
    8089             :     module procedure setSortedArrCusComShell_D1_SK5
    8090             :         use pm_kind, only: SKC => SK5
    8091             : #include "pm_arraySort@routines.inc.F90"
    8092             :     end procedure
    8093             : #endif
    8094             : 
    8095             : #if SK4_ENABLED
    8096             :     module procedure setSortedArrCusComShell_D1_SK4
    8097             :         use pm_kind, only: SKC => SK4
    8098             : #include "pm_arraySort@routines.inc.F90"
    8099             :     end procedure
    8100             : #endif
    8101             : 
    8102             : #if SK3_ENABLED
    8103             :     module procedure setSortedArrCusComShell_D1_SK3
    8104             :         use pm_kind, only: SKC => SK3
    8105             : #include "pm_arraySort@routines.inc.F90"
    8106             :     end procedure
    8107             : #endif
    8108             : 
    8109             : #if SK2_ENABLED
    8110             :     module procedure setSortedArrCusComShell_D1_SK2
    8111             :         use pm_kind, only: SKC => SK2
    8112             : #include "pm_arraySort@routines.inc.F90"
    8113             :     end procedure
    8114             : #endif
    8115             : 
    8116             : #if SK1_ENABLED
    8117          99 :     module procedure setSortedArrCusComShell_D1_SK1
    8118             :         use pm_kind, only: SKC => SK1
    8119             : #include "pm_arraySort@routines.inc.F90"
    8120          99 :     end procedure
    8121             : #endif
    8122             : 
    8123             : #undef SK_ENABLED
    8124             : 
    8125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8126             : 
    8127             : #define IK_ENABLED 1
    8128             : 
    8129             : #if IK5_ENABLED
    8130          97 :     module procedure setSortedArrCusComShell_D1_IK5
    8131             :         use pm_kind, only: IKC => IK5
    8132             : #include "pm_arraySort@routines.inc.F90"
    8133          97 :     end procedure
    8134             : #endif
    8135             : 
    8136             : #if IK4_ENABLED
    8137         103 :     module procedure setSortedArrCusComShell_D1_IK4
    8138             :         use pm_kind, only: IKC => IK4
    8139             : #include "pm_arraySort@routines.inc.F90"
    8140         103 :     end procedure
    8141             : #endif
    8142             : 
    8143             : #if IK3_ENABLED
    8144         102 :     module procedure setSortedArrCusComShell_D1_IK3
    8145             :         use pm_kind, only: IKC => IK3
    8146             : #include "pm_arraySort@routines.inc.F90"
    8147         102 :     end procedure
    8148             : #endif
    8149             : 
    8150             : #if IK2_ENABLED
    8151         103 :     module procedure setSortedArrCusComShell_D1_IK2
    8152             :         use pm_kind, only: IKC => IK2
    8153             : #include "pm_arraySort@routines.inc.F90"
    8154         103 :     end procedure
    8155             : #endif
    8156             : 
    8157             : #if IK1_ENABLED
    8158         101 :     module procedure setSortedArrCusComShell_D1_IK1
    8159             :         use pm_kind, only: IKC => IK1
    8160             : #include "pm_arraySort@routines.inc.F90"
    8161         101 :     end procedure
    8162             : #endif
    8163             : 
    8164             : #undef IK_ENABLED
    8165             : 
    8166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8167             : 
    8168             : #define LK_ENABLED 1
    8169             : 
    8170             : #if LK5_ENABLED
    8171          95 :     module procedure setSortedArrCusComShell_D1_LK5
    8172             :         use pm_kind, only: LKC => LK5
    8173             : #include "pm_arraySort@routines.inc.F90"
    8174          95 :     end procedure
    8175             : #endif
    8176             : 
    8177             : #if LK4_ENABLED
    8178          89 :     module procedure setSortedArrCusComShell_D1_LK4
    8179             :         use pm_kind, only: LKC => LK4
    8180             : #include "pm_arraySort@routines.inc.F90"
    8181          89 :     end procedure
    8182             : #endif
    8183             : 
    8184             : #if LK3_ENABLED
    8185         101 :     module procedure setSortedArrCusComShell_D1_LK3
    8186             :         use pm_kind, only: LKC => LK3
    8187             : #include "pm_arraySort@routines.inc.F90"
    8188         101 :     end procedure
    8189             : #endif
    8190             : 
    8191             : #if LK2_ENABLED
    8192          94 :     module procedure setSortedArrCusComShell_D1_LK2
    8193             :         use pm_kind, only: LKC => LK2
    8194             : #include "pm_arraySort@routines.inc.F90"
    8195          94 :     end procedure
    8196             : #endif
    8197             : 
    8198             : #if LK1_ENABLED
    8199          88 :     module procedure setSortedArrCusComShell_D1_LK1
    8200             :         use pm_kind, only: LKC => LK1
    8201             : #include "pm_arraySort@routines.inc.F90"
    8202          88 :     end procedure
    8203             : #endif
    8204             : 
    8205             : #undef LK_ENABLED
    8206             : 
    8207             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8208             : 
    8209             : #define CK_ENABLED 1
    8210             : 
    8211             : #if CK5_ENABLED
    8212             :     module procedure setSortedArrCusComShell_D1_CK5
    8213             :         use pm_kind, only: CKC => CK5
    8214             : #include "pm_arraySort@routines.inc.F90"
    8215             :     end procedure
    8216             : #endif
    8217             : 
    8218             : #if CK4_ENABLED
    8219         107 :     module procedure setSortedArrCusComShell_D1_CK4
    8220             :         use pm_kind, only: CKC => CK4
    8221             : #include "pm_arraySort@routines.inc.F90"
    8222         107 :     end procedure
    8223             : #endif
    8224             : 
    8225             : #if CK3_ENABLED
    8226          99 :     module procedure setSortedArrCusComShell_D1_CK3
    8227             :         use pm_kind, only: CKC => CK3
    8228             : #include "pm_arraySort@routines.inc.F90"
    8229          99 :     end procedure
    8230             : #endif
    8231             : 
    8232             : #if CK2_ENABLED
    8233         107 :     module procedure setSortedArrCusComShell_D1_CK2
    8234             :         use pm_kind, only: CKC => CK2
    8235             : #include "pm_arraySort@routines.inc.F90"
    8236         107 :     end procedure
    8237             : #endif
    8238             : 
    8239             : #if CK1_ENABLED
    8240         103 :     module procedure setSortedArrCusComShell_D1_CK1
    8241             :         use pm_kind, only: CKC => CK1
    8242             : #include "pm_arraySort@routines.inc.F90"
    8243         103 :     end procedure
    8244             : #endif
    8245             : 
    8246             : #undef CK_ENABLED
    8247             : 
    8248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8249             : 
    8250             : #define RK_ENABLED 1
    8251             : 
    8252             : #if RK5_ENABLED
    8253             :     module procedure setSortedArrCusComShell_D1_RK5
    8254             :         use pm_kind, only: RKC => RK5
    8255             : #include "pm_arraySort@routines.inc.F90"
    8256             :     end procedure
    8257             : #endif
    8258             : 
    8259             : #if RK4_ENABLED
    8260         113 :     module procedure setSortedArrCusComShell_D1_RK4
    8261             :         use pm_kind, only: RKC => RK4
    8262             : #include "pm_arraySort@routines.inc.F90"
    8263         113 :     end procedure
    8264             : #endif
    8265             : 
    8266             : #if RK3_ENABLED
    8267         108 :     module procedure setSortedArrCusComShell_D1_RK3
    8268             :         use pm_kind, only: RKC => RK3
    8269             : #include "pm_arraySort@routines.inc.F90"
    8270         108 :     end procedure
    8271             : #endif
    8272             : 
    8273             : #if RK2_ENABLED
    8274          98 :     module procedure setSortedArrCusComShell_D1_RK2
    8275             :         use pm_kind, only: RKC => RK2
    8276             : #include "pm_arraySort@routines.inc.F90"
    8277          98 :     end procedure
    8278             : #endif
    8279             : 
    8280             : #if RK1_ENABLED
    8281         101 :     module procedure setSortedArrCusComShell_D1_RK1
    8282             :         use pm_kind, only: RKC => RK1
    8283             : #include "pm_arraySort@routines.inc.F90"
    8284         101 :     end procedure
    8285             : #endif
    8286             : 
    8287             : #undef RK_ENABLED
    8288             : 
    8289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8290             : 
    8291             : ! LCOV_EXCL_START
    8292             : !#if !__GFORTRAN__
    8293             : 
    8294             : #define PSSK_ENABLED 1
    8295             : 
    8296             : #if SK5_ENABLED
    8297             :     module procedure setSortedArrCusComShell_D1_PSSK5
    8298             :         use pm_kind, only: SKC => SK5
    8299             : #include "pm_arraySort@routines.inc.F90"
    8300             :     end procedure
    8301             : #endif
    8302             : 
    8303             : #if SK4_ENABLED
    8304             :     module procedure setSortedArrCusComShell_D1_PSSK4
    8305             :         use pm_kind, only: SKC => SK4
    8306             : #include "pm_arraySort@routines.inc.F90"
    8307             :     end procedure
    8308             : #endif
    8309             : 
    8310             : #if SK3_ENABLED
    8311             :     module procedure setSortedArrCusComShell_D1_PSSK3
    8312             :         use pm_kind, only: SKC => SK3
    8313             : #include "pm_arraySort@routines.inc.F90"
    8314             :     end procedure
    8315             : #endif
    8316             : 
    8317             : #if SK2_ENABLED
    8318             :     module procedure setSortedArrCusComShell_D1_PSSK2
    8319             :         use pm_kind, only: SKC => SK2
    8320             : #include "pm_arraySort@routines.inc.F90"
    8321             :     end procedure
    8322             : #endif
    8323             : 
    8324             : #if SK1_ENABLED
    8325             :     module procedure setSortedArrCusComShell_D1_PSSK1
    8326             :         use pm_kind, only: SKC => SK1
    8327             : #include "pm_arraySort@routines.inc.F90"
    8328             :     end procedure
    8329             : #endif
    8330             : 
    8331             : #undef PSSK_ENABLED
    8332             : 
    8333             : !#endif
    8334             : ! LCOV_EXCL_STOP
    8335             : 
    8336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8337             : 
    8338             : #define BSSK_ENABLED 1
    8339             : 
    8340           0 :     module procedure setSortedArrCusComShell_D1_BSSK
    8341             :         use pm_kind, only: SKC => SK
    8342             : #include "pm_arraySort@routines.inc.F90"
    8343           0 :     end procedure
    8344             : 
    8345             : #undef BSSK_ENABLED
    8346             : 
    8347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8348             : 
    8349             : #undef D1_ENABLED
    8350             : 
    8351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8354             : 
    8355             : #undef Shell_ENABLED
    8356             : 
    8357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8359             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8360             : 
    8361             : #undef CusCom_ENABLED
    8362             : 
    8363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8366             : 
    8367             : #undef Arr_ENABLED
    8368             : 
    8369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8372             : 
    8373             : #undef setSorted_ENABLED
    8374             : 
    8375             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8376             : 
    8377             : #define setSorted_ENABLED 1
    8378             : 
    8379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8382             : 
    8383             : #define Ind_ENABLED 1
    8384             : 
    8385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8388             : 
    8389             : #define DefCom_ENABLED 1
    8390             : 
    8391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8394             : 
    8395             : #define Def_ENABLED 1
    8396             : 
    8397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8400             : 
    8401             : #define D0_ENABLED 1
    8402             : 
    8403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8404             : 
    8405             : #define SK_ENABLED 1
    8406             : 
    8407             : #if SK5_ENABLED
    8408             :     module procedure setSortedIndDefComDef_D0_SK5
    8409             :         use pm_kind, only: SKC => SK5
    8410             : #include "pm_arraySort@routines.inc.F90"
    8411             :     end procedure
    8412             : #endif
    8413             : 
    8414             : #if SK4_ENABLED
    8415             :     module procedure setSortedIndDefComDef_D0_SK4
    8416             :         use pm_kind, only: SKC => SK4
    8417             : #include "pm_arraySort@routines.inc.F90"
    8418             :     end procedure
    8419             : #endif
    8420             : 
    8421             : #if SK3_ENABLED
    8422             :     module procedure setSortedIndDefComDef_D0_SK3
    8423             :         use pm_kind, only: SKC => SK3
    8424             : #include "pm_arraySort@routines.inc.F90"
    8425             :     end procedure
    8426             : #endif
    8427             : 
    8428             : #if SK2_ENABLED
    8429             :     module procedure setSortedIndDefComDef_D0_SK2
    8430             :         use pm_kind, only: SKC => SK2
    8431             : #include "pm_arraySort@routines.inc.F90"
    8432             :     end procedure
    8433             : #endif
    8434             : 
    8435             : #if SK1_ENABLED
    8436        3446 :     module procedure setSortedIndDefComDef_D0_SK1
    8437             :         use pm_kind, only: SKC => SK1
    8438             : #include "pm_arraySort@routines.inc.F90"
    8439        3446 :     end procedure
    8440             : #endif
    8441             : 
    8442             : #undef SK_ENABLED
    8443             : 
    8444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8445             : 
    8446             : #undef D0_ENABLED
    8447             : 
    8448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8451             : 
    8452             : #define D1_ENABLED 1
    8453             : 
    8454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8455             : 
    8456             : #define SK_ENABLED 1
    8457             : 
    8458             : #if SK5_ENABLED
    8459             :     module procedure setSortedIndDefComDef_D1_SK5
    8460             :         use pm_kind, only: SKC => SK5
    8461             : #include "pm_arraySort@routines.inc.F90"
    8462             :     end procedure
    8463             : #endif
    8464             : 
    8465             : #if SK4_ENABLED
    8466             :     module procedure setSortedIndDefComDef_D1_SK4
    8467             :         use pm_kind, only: SKC => SK4
    8468             : #include "pm_arraySort@routines.inc.F90"
    8469             :     end procedure
    8470             : #endif
    8471             : 
    8472             : #if SK3_ENABLED
    8473             :     module procedure setSortedIndDefComDef_D1_SK3
    8474             :         use pm_kind, only: SKC => SK3
    8475             : #include "pm_arraySort@routines.inc.F90"
    8476             :     end procedure
    8477             : #endif
    8478             : 
    8479             : #if SK2_ENABLED
    8480             :     module procedure setSortedIndDefComDef_D1_SK2
    8481             :         use pm_kind, only: SKC => SK2
    8482             : #include "pm_arraySort@routines.inc.F90"
    8483             :     end procedure
    8484             : #endif
    8485             : 
    8486             : #if SK1_ENABLED
    8487        6142 :     module procedure setSortedIndDefComDef_D1_SK1
    8488             :         use pm_kind, only: SKC => SK1
    8489             : #include "pm_arraySort@routines.inc.F90"
    8490        6142 :     end procedure
    8491             : #endif
    8492             : 
    8493             : #undef SK_ENABLED
    8494             : 
    8495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8496             : 
    8497             : #define IK_ENABLED 1
    8498             : 
    8499             : #if IK5_ENABLED
    8500        6204 :     module procedure setSortedIndDefComDef_D1_IK5
    8501             :         use pm_kind, only: IKC => IK5
    8502             : #include "pm_arraySort@routines.inc.F90"
    8503        6204 :     end procedure
    8504             : #endif
    8505             : 
    8506             : #if IK4_ENABLED
    8507        5950 :     module procedure setSortedIndDefComDef_D1_IK4
    8508             :         use pm_kind, only: IKC => IK4
    8509             : #include "pm_arraySort@routines.inc.F90"
    8510        5950 :     end procedure
    8511             : #endif
    8512             : 
    8513             : #if IK3_ENABLED
    8514        7714 :     module procedure setSortedIndDefComDef_D1_IK3
    8515             :         use pm_kind, only: IKC => IK3
    8516             : #include "pm_arraySort@routines.inc.F90"
    8517        7714 :     end procedure
    8518             : #endif
    8519             : 
    8520             : #if IK2_ENABLED
    8521        6360 :     module procedure setSortedIndDefComDef_D1_IK2
    8522             :         use pm_kind, only: IKC => IK2
    8523             : #include "pm_arraySort@routines.inc.F90"
    8524        6360 :     end procedure
    8525             : #endif
    8526             : 
    8527             : #if IK1_ENABLED
    8528        6363 :     module procedure setSortedIndDefComDef_D1_IK1
    8529             :         use pm_kind, only: IKC => IK1
    8530             : #include "pm_arraySort@routines.inc.F90"
    8531        6363 :     end procedure
    8532             : #endif
    8533             : 
    8534             : #undef IK_ENABLED
    8535             : 
    8536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8537             : 
    8538             : #define LK_ENABLED 1
    8539             : 
    8540             : #if LK5_ENABLED
    8541        2216 :     module procedure setSortedIndDefComDef_D1_LK5
    8542             :         use pm_kind, only: LKC => LK5
    8543             : #include "pm_arraySort@routines.inc.F90"
    8544        2216 :     end procedure
    8545             : #endif
    8546             : 
    8547             : #if LK4_ENABLED
    8548        2213 :     module procedure setSortedIndDefComDef_D1_LK4
    8549             :         use pm_kind, only: LKC => LK4
    8550             : #include "pm_arraySort@routines.inc.F90"
    8551        2213 :     end procedure
    8552             : #endif
    8553             : 
    8554             : #if LK3_ENABLED
    8555        2237 :     module procedure setSortedIndDefComDef_D1_LK3
    8556             :         use pm_kind, only: LKC => LK3
    8557             : #include "pm_arraySort@routines.inc.F90"
    8558        2237 :     end procedure
    8559             : #endif
    8560             : 
    8561             : #if LK2_ENABLED
    8562        2226 :     module procedure setSortedIndDefComDef_D1_LK2
    8563             :         use pm_kind, only: LKC => LK2
    8564             : #include "pm_arraySort@routines.inc.F90"
    8565        2226 :     end procedure
    8566             : #endif
    8567             : 
    8568             : #if LK1_ENABLED
    8569        2216 :     module procedure setSortedIndDefComDef_D1_LK1
    8570             :         use pm_kind, only: LKC => LK1
    8571             : #include "pm_arraySort@routines.inc.F90"
    8572        2216 :     end procedure
    8573             : #endif
    8574             : 
    8575             : #undef LK_ENABLED
    8576             : 
    8577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8578             : 
    8579             : #define CK_ENABLED 1
    8580             : 
    8581             : #if CK5_ENABLED
    8582             :     module procedure setSortedIndDefComDef_D1_CK5
    8583             :         use pm_kind, only: CKC => CK5
    8584             : #include "pm_arraySort@routines.inc.F90"
    8585             :     end procedure
    8586             : #endif
    8587             : 
    8588             : #if CK4_ENABLED
    8589        2211 :     module procedure setSortedIndDefComDef_D1_CK4
    8590             :         use pm_kind, only: CKC => CK4
    8591             : #include "pm_arraySort@routines.inc.F90"
    8592        2211 :     end procedure
    8593             : #endif
    8594             : 
    8595             : #if CK3_ENABLED
    8596        2213 :     module procedure setSortedIndDefComDef_D1_CK3
    8597             :         use pm_kind, only: CKC => CK3
    8598             : #include "pm_arraySort@routines.inc.F90"
    8599        2213 :     end procedure
    8600             : #endif
    8601             : 
    8602             : #if CK2_ENABLED
    8603        2220 :     module procedure setSortedIndDefComDef_D1_CK2
    8604             :         use pm_kind, only: CKC => CK2
    8605             : #include "pm_arraySort@routines.inc.F90"
    8606        2220 :     end procedure
    8607             : #endif
    8608             : 
    8609             : #if CK1_ENABLED
    8610        2217 :     module procedure setSortedIndDefComDef_D1_CK1
    8611             :         use pm_kind, only: CKC => CK1
    8612             : #include "pm_arraySort@routines.inc.F90"
    8613        2217 :     end procedure
    8614             : #endif
    8615             : 
    8616             : #undef CK_ENABLED
    8617             : 
    8618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8619             : 
    8620             : #define RK_ENABLED 1
    8621             : 
    8622             : #if RK5_ENABLED
    8623             :     module procedure setSortedIndDefComDef_D1_RK5
    8624             :         use pm_kind, only: RKC => RK5
    8625             : #include "pm_arraySort@routines.inc.F90"
    8626             :     end procedure
    8627             : #endif
    8628             : 
    8629             : #if RK4_ENABLED
    8630        6241 :     module procedure setSortedIndDefComDef_D1_RK4
    8631             :         use pm_kind, only: RKC => RK4
    8632             : #include "pm_arraySort@routines.inc.F90"
    8633        6241 :     end procedure
    8634             : #endif
    8635             : 
    8636             : #if RK3_ENABLED
    8637        6243 :     module procedure setSortedIndDefComDef_D1_RK3
    8638             :         use pm_kind, only: RKC => RK3
    8639             : #include "pm_arraySort@routines.inc.F90"
    8640        6243 :     end procedure
    8641             : #endif
    8642             : 
    8643             : #if RK2_ENABLED
    8644        6117 :     module procedure setSortedIndDefComDef_D1_RK2
    8645             :         use pm_kind, only: RKC => RK2
    8646             : #include "pm_arraySort@routines.inc.F90"
    8647        6117 :     end procedure
    8648             : #endif
    8649             : 
    8650             : #if RK1_ENABLED
    8651        6635 :     module procedure setSortedIndDefComDef_D1_RK1
    8652             :         use pm_kind, only: RKC => RK1
    8653             : #include "pm_arraySort@routines.inc.F90"
    8654        6635 :     end procedure
    8655             : #endif
    8656             : 
    8657             : #undef RK_ENABLED
    8658             : 
    8659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8660             : 
    8661             : #if !__GFORTRAN__
    8662             : #define PSSK_ENABLED 1
    8663             : 
    8664             : #if SK5_ENABLED
    8665             :     module procedure setSortedIndDefComDef_D1_PSSK5
    8666             :         use pm_kind, only: SKC => SK5
    8667             : #include "pm_arraySort@routines.inc.F90"
    8668             :     end procedure
    8669             : #endif
    8670             : 
    8671             : #if SK4_ENABLED
    8672             :     module procedure setSortedIndDefComDef_D1_PSSK4
    8673             :         use pm_kind, only: SKC => SK4
    8674             : #include "pm_arraySort@routines.inc.F90"
    8675             :     end procedure
    8676             : #endif
    8677             : 
    8678             : #if SK3_ENABLED
    8679             :     module procedure setSortedIndDefComDef_D1_PSSK3
    8680             :         use pm_kind, only: SKC => SK3
    8681             : #include "pm_arraySort@routines.inc.F90"
    8682             :     end procedure
    8683             : #endif
    8684             : 
    8685             : #if SK2_ENABLED
    8686             :     module procedure setSortedIndDefComDef_D1_PSSK2
    8687             :         use pm_kind, only: SKC => SK2
    8688             : #include "pm_arraySort@routines.inc.F90"
    8689             :     end procedure
    8690             : #endif
    8691             : 
    8692             : #if SK1_ENABLED
    8693             :     module procedure setSortedIndDefComDef_D1_PSSK1
    8694             :         use pm_kind, only: SKC => SK1
    8695             : #include "pm_arraySort@routines.inc.F90"
    8696             :     end procedure
    8697             : #endif
    8698             : 
    8699             : #undef PSSK_ENABLED
    8700             : #endif
    8701             : 
    8702             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8703             : 
    8704             : #define BSSK_ENABLED 1
    8705             : 
    8706        3558 :     module procedure setSortedIndDefComDef_D1_BSSK
    8707             :         use pm_kind, only: SKC => SK
    8708             : #include "pm_arraySort@routines.inc.F90"
    8709        3558 :     end procedure
    8710             : 
    8711             : #undef BSSK_ENABLED
    8712             : 
    8713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8714             : 
    8715             : #undef D1_ENABLED
    8716             : 
    8717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8720             : 
    8721             : #undef Def_ENABLED
    8722             : 
    8723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8726             : 
    8727             : #undef DefCom_ENABLED
    8728             : 
    8729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8732             : 
    8733             : #undef Ind_ENABLED
    8734             : 
    8735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8738             : 
    8739             : #undef setSorted_ENABLED
    8740             : 
    8741             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8742             : 
    8743             : #define setSorted_ENABLED 1
    8744             : 
    8745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8748             : 
    8749             : #define Arr_ENABLED 1
    8750             : 
    8751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8754             : 
    8755             : #define DefCom_ENABLED 1
    8756             : 
    8757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8760             : 
    8761             : #define Def_ENABLED 1
    8762             : 
    8763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8766             : 
    8767             : #define D0_ENABLED 1
    8768             : 
    8769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8770             : 
    8771             : #define SK_ENABLED 1
    8772             : 
    8773             : #if SK5_ENABLED
    8774             :     module procedure setSortedArrDefComDef_D0_SK5
    8775             :         use pm_kind, only: SKC => SK5
    8776             : #include "pm_arraySort@routines.inc.F90"
    8777             :     end procedure
    8778             : #endif
    8779             : 
    8780             : #if SK4_ENABLED
    8781             :     module procedure setSortedArrDefComDef_D0_SK4
    8782             :         use pm_kind, only: SKC => SK4
    8783             : #include "pm_arraySort@routines.inc.F90"
    8784             :     end procedure
    8785             : #endif
    8786             : 
    8787             : #if SK3_ENABLED
    8788             :     module procedure setSortedArrDefComDef_D0_SK3
    8789             :         use pm_kind, only: SKC => SK3
    8790             : #include "pm_arraySort@routines.inc.F90"
    8791             :     end procedure
    8792             : #endif
    8793             : 
    8794             : #if SK2_ENABLED
    8795             :     module procedure setSortedArrDefComDef_D0_SK2
    8796             :         use pm_kind, only: SKC => SK2
    8797             : #include "pm_arraySort@routines.inc.F90"
    8798             :     end procedure
    8799             : #endif
    8800             : 
    8801             : #if SK1_ENABLED
    8802        2366 :     module procedure setSortedArrDefComDef_D0_SK1
    8803             :         use pm_kind, only: SKC => SK1
    8804             : #include "pm_arraySort@routines.inc.F90"
    8805             :     end procedure
    8806             : #endif
    8807             : 
    8808             : #undef SK_ENABLED
    8809             : 
    8810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8811             : 
    8812             : #undef D0_ENABLED
    8813             : 
    8814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8817             : 
    8818             : #define D1_ENABLED 1
    8819             : 
    8820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8821             : 
    8822             : #define SK_ENABLED 1
    8823             : 
    8824             : #if SK5_ENABLED
    8825             :     module procedure setSortedArrDefComDef_D1_SK5
    8826             :         use pm_kind, only: SKC => SK5
    8827             : #include "pm_arraySort@routines.inc.F90"
    8828             :     end procedure
    8829             : #endif
    8830             : 
    8831             : #if SK4_ENABLED
    8832             :     module procedure setSortedArrDefComDef_D1_SK4
    8833             :         use pm_kind, only: SKC => SK4
    8834             : #include "pm_arraySort@routines.inc.F90"
    8835             :     end procedure
    8836             : #endif
    8837             : 
    8838             : #if SK3_ENABLED
    8839             :     module procedure setSortedArrDefComDef_D1_SK3
    8840             :         use pm_kind, only: SKC => SK3
    8841             : #include "pm_arraySort@routines.inc.F90"
    8842             :     end procedure
    8843             : #endif
    8844             : 
    8845             : #if SK2_ENABLED
    8846             :     module procedure setSortedArrDefComDef_D1_SK2
    8847             :         use pm_kind, only: SKC => SK2
    8848             : #include "pm_arraySort@routines.inc.F90"
    8849             :     end procedure
    8850             : #endif
    8851             : 
    8852             : #if SK1_ENABLED
    8853        2356 :     module procedure setSortedArrDefComDef_D1_SK1
    8854             :         use pm_kind, only: SKC => SK1
    8855             : #include "pm_arraySort@routines.inc.F90"
    8856             :     end procedure
    8857             : #endif
    8858             : 
    8859             : #undef SK_ENABLED
    8860             : 
    8861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8862             : 
    8863             : #define IK_ENABLED 1
    8864             : 
    8865             : #if IK5_ENABLED
    8866        2616 :     module procedure setSortedArrDefComDef_D1_IK5
    8867             :         use pm_kind, only: IKC => IK5
    8868             : #include "pm_arraySort@routines.inc.F90"
    8869             :     end procedure
    8870             : #endif
    8871             : 
    8872             : #if IK4_ENABLED
    8873        2591 :     module procedure setSortedArrDefComDef_D1_IK4
    8874             :         use pm_kind, only: IKC => IK4
    8875             : #include "pm_arraySort@routines.inc.F90"
    8876             :     end procedure
    8877             : #endif
    8878             : 
    8879             : #if IK3_ENABLED
    8880       88028 :     module procedure setSortedArrDefComDef_D1_IK3
    8881             :         use pm_kind, only: IKC => IK3
    8882             : #include "pm_arraySort@routines.inc.F90"
    8883             :     end procedure
    8884             : #endif
    8885             : 
    8886             : #if IK2_ENABLED
    8887        2619 :     module procedure setSortedArrDefComDef_D1_IK2
    8888             :         use pm_kind, only: IKC => IK2
    8889             : #include "pm_arraySort@routines.inc.F90"
    8890             :     end procedure
    8891             : #endif
    8892             : 
    8893             : #if IK1_ENABLED
    8894        2622 :     module procedure setSortedArrDefComDef_D1_IK1
    8895             :         use pm_kind, only: IKC => IK1
    8896             : #include "pm_arraySort@routines.inc.F90"
    8897             :     end procedure
    8898             : #endif
    8899             : 
    8900             : #undef IK_ENABLED
    8901             : 
    8902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8903             : 
    8904             : #define LK_ENABLED 1
    8905             : 
    8906             : #if LK5_ENABLED
    8907        2398 :     module procedure setSortedArrDefComDef_D1_LK5
    8908             :         use pm_kind, only: LKC => LK5
    8909             : #include "pm_arraySort@routines.inc.F90"
    8910             :     end procedure
    8911             : #endif
    8912             : 
    8913             : #if LK4_ENABLED
    8914        2355 :     module procedure setSortedArrDefComDef_D1_LK4
    8915             :         use pm_kind, only: LKC => LK4
    8916             : #include "pm_arraySort@routines.inc.F90"
    8917             :     end procedure
    8918             : #endif
    8919             : 
    8920             : #if LK3_ENABLED
    8921        2368 :     module procedure setSortedArrDefComDef_D1_LK3
    8922             :         use pm_kind, only: LKC => LK3
    8923             : #include "pm_arraySort@routines.inc.F90"
    8924             :     end procedure
    8925             : #endif
    8926             : 
    8927             : #if LK2_ENABLED
    8928        2317 :     module procedure setSortedArrDefComDef_D1_LK2
    8929             :         use pm_kind, only: LKC => LK2
    8930             : #include "pm_arraySort@routines.inc.F90"
    8931             :     end procedure
    8932             : #endif
    8933             : 
    8934             : #if LK1_ENABLED
    8935        2358 :     module procedure setSortedArrDefComDef_D1_LK1
    8936             :         use pm_kind, only: LKC => LK1
    8937             : #include "pm_arraySort@routines.inc.F90"
    8938             :     end procedure
    8939             : #endif
    8940             : 
    8941             : #undef LK_ENABLED
    8942             : 
    8943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8944             : 
    8945             : #define CK_ENABLED 1
    8946             : 
    8947             : #if CK5_ENABLED
    8948             :     module procedure setSortedArrDefComDef_D1_CK5
    8949             :         use pm_kind, only: CKC => CK5
    8950             : #include "pm_arraySort@routines.inc.F90"
    8951             :     end procedure
    8952             : #endif
    8953             : 
    8954             : #if CK4_ENABLED
    8955        2338 :     module procedure setSortedArrDefComDef_D1_CK4
    8956             :         use pm_kind, only: CKC => CK4
    8957             : #include "pm_arraySort@routines.inc.F90"
    8958             :     end procedure
    8959             : #endif
    8960             : 
    8961             : #if CK3_ENABLED
    8962        2342 :     module procedure setSortedArrDefComDef_D1_CK3
    8963             :         use pm_kind, only: CKC => CK3
    8964             : #include "pm_arraySort@routines.inc.F90"
    8965             :     end procedure
    8966             : #endif
    8967             : 
    8968             : #if CK2_ENABLED
    8969        2341 :     module procedure setSortedArrDefComDef_D1_CK2
    8970             :         use pm_kind, only: CKC => CK2
    8971             : #include "pm_arraySort@routines.inc.F90"
    8972             :     end procedure
    8973             : #endif
    8974             : 
    8975             : #if CK1_ENABLED
    8976        2346 :     module procedure setSortedArrDefComDef_D1_CK1
    8977             :         use pm_kind, only: CKC => CK1
    8978             : #include "pm_arraySort@routines.inc.F90"
    8979             :     end procedure
    8980             : #endif
    8981             : 
    8982             : #undef CK_ENABLED
    8983             : 
    8984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8985             : 
    8986             : #define RK_ENABLED 1
    8987             : 
    8988             : #if RK5_ENABLED
    8989             :     module procedure setSortedArrDefComDef_D1_RK5
    8990             :         use pm_kind, only: RKC => RK5
    8991             : #include "pm_arraySort@routines.inc.F90"
    8992             :     end procedure
    8993             : #endif
    8994             : 
    8995             : #if RK4_ENABLED
    8996        2591 :     module procedure setSortedArrDefComDef_D1_RK4
    8997             :         use pm_kind, only: RKC => RK4
    8998             : #include "pm_arraySort@routines.inc.F90"
    8999             :     end procedure
    9000             : #endif
    9001             : 
    9002             : #if RK3_ENABLED
    9003        2571 :     module procedure setSortedArrDefComDef_D1_RK3
    9004             :         use pm_kind, only: RKC => RK3
    9005             : #include "pm_arraySort@routines.inc.F90"
    9006             :     end procedure
    9007             : #endif
    9008             : 
    9009             : #if RK2_ENABLED
    9010        2613 :     module procedure setSortedArrDefComDef_D1_RK2
    9011             :         use pm_kind, only: RKC => RK2
    9012             : #include "pm_arraySort@routines.inc.F90"
    9013             :     end procedure
    9014             : #endif
    9015             : 
    9016             : #if RK1_ENABLED
    9017        3055 :     module procedure setSortedArrDefComDef_D1_RK1
    9018             :         use pm_kind, only: RKC => RK1
    9019             : #include "pm_arraySort@routines.inc.F90"
    9020             :     end procedure
    9021             : #endif
    9022             : 
    9023             : #undef RK_ENABLED
    9024             : 
    9025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9026             : 
    9027             : ! LCOV_EXCL_START
    9028             : !#if !__GFORTRAN__
    9029             : 
    9030             : #define PSSK_ENABLED 1
    9031             : 
    9032             : #if SK5_ENABLED
    9033             :     module procedure setSortedArrDefComDef_D1_PSSK5
    9034             :         use pm_kind, only: SKC => SK5
    9035             : #include "pm_arraySort@routines.inc.F90"
    9036             :     end procedure
    9037             : #endif
    9038             : 
    9039             : #if SK4_ENABLED
    9040             :     module procedure setSortedArrDefComDef_D1_PSSK4
    9041             :         use pm_kind, only: SKC => SK4
    9042             : #include "pm_arraySort@routines.inc.F90"
    9043             :     end procedure
    9044             : #endif
    9045             : 
    9046             : #if SK3_ENABLED
    9047             :     module procedure setSortedArrDefComDef_D1_PSSK3
    9048             :         use pm_kind, only: SKC => SK3
    9049             : #include "pm_arraySort@routines.inc.F90"
    9050             :     end procedure
    9051             : #endif
    9052             : 
    9053             : #if SK2_ENABLED
    9054             :     module procedure setSortedArrDefComDef_D1_PSSK2
    9055             :         use pm_kind, only: SKC => SK2
    9056             : #include "pm_arraySort@routines.inc.F90"
    9057             :     end procedure
    9058             : #endif
    9059             : 
    9060             : #if SK1_ENABLED
    9061             :     module procedure setSortedArrDefComDef_D1_PSSK1
    9062             :         use pm_kind, only: SKC => SK1
    9063             : #include "pm_arraySort@routines.inc.F90"
    9064             :     end procedure
    9065             : #endif
    9066             : 
    9067             : #undef PSSK_ENABLED
    9068             : 
    9069             : !#endif
    9070             : ! LCOV_EXCL_STOP
    9071             : 
    9072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9073             : 
    9074             : #define BSSK_ENABLED 1
    9075             : 
    9076           0 :     module procedure setSortedArrDefComDef_D1_BSSK
    9077             :         use pm_kind, only: SKC => SK
    9078             : #include "pm_arraySort@routines.inc.F90"
    9079           0 :     end procedure
    9080             : 
    9081             : #undef BSSK_ENABLED
    9082             : 
    9083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9084             : 
    9085             : #undef D1_ENABLED
    9086             : 
    9087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9090             : 
    9091             : #undef Def_ENABLED
    9092             : 
    9093             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9096             : 
    9097             : #undef DefCom_ENABLED
    9098             : 
    9099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9102             : 
    9103             : #undef Arr_ENABLED
    9104             : 
    9105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9108             : 
    9109             : #undef setSorted_ENABLED
    9110             : 
    9111             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9112             : 
    9113             : #define setSorted_ENABLED 1
    9114             : 
    9115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9118             : 
    9119             : #define Arr_ENABLED 1
    9120             : 
    9121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9124             : 
    9125             : #define DefCom_ENABLED 1
    9126             : 
    9127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9129             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9130             : 
    9131             : #define Qsorti_ENABLED 1
    9132             : 
    9133             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9134             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9135             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9136             : 
    9137             : #define D0_ENABLED 1
    9138             : 
    9139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9140             : 
    9141             : #define SK_ENABLED 1
    9142             : 
    9143             : #if SK5_ENABLED
    9144             :     module procedure setSortedArrDefComQsorti_D0_SK5
    9145             :         use pm_kind, only: SKC => SK5
    9146             : #include "pm_arraySort@routines.inc.F90"
    9147             :     end procedure
    9148             : #endif
    9149             : 
    9150             : #if SK4_ENABLED
    9151             :     module procedure setSortedArrDefComQsorti_D0_SK4
    9152             :         use pm_kind, only: SKC => SK4
    9153             : #include "pm_arraySort@routines.inc.F90"
    9154             :     end procedure
    9155             : #endif
    9156             : 
    9157             : #if SK3_ENABLED
    9158             :     module procedure setSortedArrDefComQsorti_D0_SK3
    9159             :         use pm_kind, only: SKC => SK3
    9160             : #include "pm_arraySort@routines.inc.F90"
    9161             :     end procedure
    9162             : #endif
    9163             : 
    9164             : #if SK2_ENABLED
    9165             :     module procedure setSortedArrDefComQsorti_D0_SK2
    9166             :         use pm_kind, only: SKC => SK2
    9167             : #include "pm_arraySort@routines.inc.F90"
    9168             :     end procedure
    9169             : #endif
    9170             : 
    9171             : #if SK1_ENABLED
    9172         102 :     module procedure setSortedArrDefComQsorti_D0_SK1
    9173             :         use pm_kind, only: SKC => SK1
    9174             : #include "pm_arraySort@routines.inc.F90"
    9175             :     end procedure
    9176             : #endif
    9177             : 
    9178             : #undef SK_ENABLED
    9179             : 
    9180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9181             : 
    9182             : #undef D0_ENABLED
    9183             : 
    9184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9187             : 
    9188             : #define D1_ENABLED 1
    9189             : 
    9190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9191             : 
    9192             : #define SK_ENABLED 1
    9193             : 
    9194             : #if SK5_ENABLED
    9195             :     module procedure setSortedArrDefComQsorti_D1_SK5
    9196             :         use pm_kind, only: SKC => SK5
    9197             : #include "pm_arraySort@routines.inc.F90"
    9198             :     end procedure
    9199             : #endif
    9200             : 
    9201             : #if SK4_ENABLED
    9202             :     module procedure setSortedArrDefComQsorti_D1_SK4
    9203             :         use pm_kind, only: SKC => SK4
    9204             : #include "pm_arraySort@routines.inc.F90"
    9205             :     end procedure
    9206             : #endif
    9207             : 
    9208             : #if SK3_ENABLED
    9209             :     module procedure setSortedArrDefComQsorti_D1_SK3
    9210             :         use pm_kind, only: SKC => SK3
    9211             : #include "pm_arraySort@routines.inc.F90"
    9212             :     end procedure
    9213             : #endif
    9214             : 
    9215             : #if SK2_ENABLED
    9216             :     module procedure setSortedArrDefComQsorti_D1_SK2
    9217             :         use pm_kind, only: SKC => SK2
    9218             : #include "pm_arraySort@routines.inc.F90"
    9219             :     end procedure
    9220             : #endif
    9221             : 
    9222             : #if SK1_ENABLED
    9223          99 :     module procedure setSortedArrDefComQsorti_D1_SK1
    9224             :         use pm_kind, only: SKC => SK1
    9225             : #include "pm_arraySort@routines.inc.F90"
    9226             :     end procedure
    9227             : #endif
    9228             : 
    9229             : #undef SK_ENABLED
    9230             : 
    9231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9232             : 
    9233             : #define IK_ENABLED 1
    9234             : 
    9235             : #if IK5_ENABLED
    9236          90 :     module procedure setSortedArrDefComQsorti_D1_IK5
    9237             :         use pm_kind, only: IKC => IK5
    9238             : #include "pm_arraySort@routines.inc.F90"
    9239             :     end procedure
    9240             : #endif
    9241             : 
    9242             : #if IK4_ENABLED
    9243         109 :     module procedure setSortedArrDefComQsorti_D1_IK4
    9244             :         use pm_kind, only: IKC => IK4
    9245             : #include "pm_arraySort@routines.inc.F90"
    9246             :     end procedure
    9247             : #endif
    9248             : 
    9249             : #if IK3_ENABLED
    9250         105 :     module procedure setSortedArrDefComQsorti_D1_IK3
    9251             :         use pm_kind, only: IKC => IK3
    9252             : #include "pm_arraySort@routines.inc.F90"
    9253             :     end procedure
    9254             : #endif
    9255             : 
    9256             : #if IK2_ENABLED
    9257         100 :     module procedure setSortedArrDefComQsorti_D1_IK2
    9258             :         use pm_kind, only: IKC => IK2
    9259             : #include "pm_arraySort@routines.inc.F90"
    9260             :     end procedure
    9261             : #endif
    9262             : 
    9263             : #if IK1_ENABLED
    9264         102 :     module procedure setSortedArrDefComQsorti_D1_IK1
    9265             :         use pm_kind, only: IKC => IK1
    9266             : #include "pm_arraySort@routines.inc.F90"
    9267             :     end procedure
    9268             : #endif
    9269             : 
    9270             : #undef IK_ENABLED
    9271             : 
    9272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9273             : 
    9274             : #define LK_ENABLED 1
    9275             : 
    9276             : #if LK5_ENABLED
    9277          97 :     module procedure setSortedArrDefComQsorti_D1_LK5
    9278             :         use pm_kind, only: LKC => LK5
    9279             : #include "pm_arraySort@routines.inc.F90"
    9280             :     end procedure
    9281             : #endif
    9282             : 
    9283             : #if LK4_ENABLED
    9284          97 :     module procedure setSortedArrDefComQsorti_D1_LK4
    9285             :         use pm_kind, only: LKC => LK4
    9286             : #include "pm_arraySort@routines.inc.F90"
    9287             :     end procedure
    9288             : #endif
    9289             : 
    9290             : #if LK3_ENABLED
    9291         100 :     module procedure setSortedArrDefComQsorti_D1_LK3
    9292             :         use pm_kind, only: LKC => LK3
    9293             : #include "pm_arraySort@routines.inc.F90"
    9294             :     end procedure
    9295             : #endif
    9296             : 
    9297             : #if LK2_ENABLED
    9298         107 :     module procedure setSortedArrDefComQsorti_D1_LK2
    9299             :         use pm_kind, only: LKC => LK2
    9300             : #include "pm_arraySort@routines.inc.F90"
    9301             :     end procedure
    9302             : #endif
    9303             : 
    9304             : #if LK1_ENABLED
    9305          94 :     module procedure setSortedArrDefComQsorti_D1_LK1
    9306             :         use pm_kind, only: LKC => LK1
    9307             : #include "pm_arraySort@routines.inc.F90"
    9308             :     end procedure
    9309             : #endif
    9310             : 
    9311             : #undef LK_ENABLED
    9312             : 
    9313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9314             : 
    9315             : #define CK_ENABLED 1
    9316             : 
    9317             : #if CK5_ENABLED
    9318             :     module procedure setSortedArrDefComQsorti_D1_CK5
    9319             :         use pm_kind, only: CKC => CK5
    9320             : #include "pm_arraySort@routines.inc.F90"
    9321             :     end procedure
    9322             : #endif
    9323             : 
    9324             : #if CK4_ENABLED
    9325         102 :     module procedure setSortedArrDefComQsorti_D1_CK4
    9326             :         use pm_kind, only: CKC => CK4
    9327             : #include "pm_arraySort@routines.inc.F90"
    9328             :     end procedure
    9329             : #endif
    9330             : 
    9331             : #if CK3_ENABLED
    9332         108 :     module procedure setSortedArrDefComQsorti_D1_CK3
    9333             :         use pm_kind, only: CKC => CK3
    9334             : #include "pm_arraySort@routines.inc.F90"
    9335             :     end procedure
    9336             : #endif
    9337             : 
    9338             : #if CK2_ENABLED
    9339         109 :     module procedure setSortedArrDefComQsorti_D1_CK2
    9340             :         use pm_kind, only: CKC => CK2
    9341             : #include "pm_arraySort@routines.inc.F90"
    9342             :     end procedure
    9343             : #endif
    9344             : 
    9345             : #if CK1_ENABLED
    9346          82 :     module procedure setSortedArrDefComQsorti_D1_CK1
    9347             :         use pm_kind, only: CKC => CK1
    9348             : #include "pm_arraySort@routines.inc.F90"
    9349             :     end procedure
    9350             : #endif
    9351             : 
    9352             : #undef CK_ENABLED
    9353             : 
    9354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9355             : 
    9356             : #define RK_ENABLED 1
    9357             : 
    9358             : #if RK5_ENABLED
    9359             :     module procedure setSortedArrDefComQsorti_D1_RK5
    9360             :         use pm_kind, only: RKC => RK5
    9361             : #include "pm_arraySort@routines.inc.F90"
    9362             :     end procedure
    9363             : #endif
    9364             : 
    9365             : #if RK4_ENABLED
    9366          94 :     module procedure setSortedArrDefComQsorti_D1_RK4
    9367             :         use pm_kind, only: RKC => RK4
    9368             : #include "pm_arraySort@routines.inc.F90"
    9369             :     end procedure
    9370             : #endif
    9371             : 
    9372             : #if RK3_ENABLED
    9373         111 :     module procedure setSortedArrDefComQsorti_D1_RK3
    9374             :         use pm_kind, only: RKC => RK3
    9375             : #include "pm_arraySort@routines.inc.F90"
    9376             :     end procedure
    9377             : #endif
    9378             : 
    9379             : #if RK2_ENABLED
    9380          98 :     module procedure setSortedArrDefComQsorti_D1_RK2
    9381             :         use pm_kind, only: RKC => RK2
    9382             : #include "pm_arraySort@routines.inc.F90"
    9383             :     end procedure
    9384             : #endif
    9385             : 
    9386             : #if RK1_ENABLED
    9387         196 :     module procedure setSortedArrDefComQsorti_D1_RK1
    9388             :         use pm_kind, only: RKC => RK1
    9389             : #include "pm_arraySort@routines.inc.F90"
    9390             :     end procedure
    9391             : #endif
    9392             : 
    9393             : #undef RK_ENABLED
    9394             : 
    9395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9396             : 
    9397             : ! LCOV_EXCL_START
    9398             : !#if !__GFORTRAN__
    9399             : 
    9400             : #define PSSK_ENABLED 1
    9401             : 
    9402             : #if SK5_ENABLED
    9403             :     module procedure setSortedArrDefComQsorti_D1_PSSK5
    9404             :         use pm_kind, only: SKC => SK5
    9405             : #include "pm_arraySort@routines.inc.F90"
    9406             :     end procedure
    9407             : #endif
    9408             : 
    9409             : #if SK4_ENABLED
    9410             :     module procedure setSortedArrDefComQsorti_D1_PSSK4
    9411             :         use pm_kind, only: SKC => SK4
    9412             : #include "pm_arraySort@routines.inc.F90"
    9413             :     end procedure
    9414             : #endif
    9415             : 
    9416             : #if SK3_ENABLED
    9417             :     module procedure setSortedArrDefComQsorti_D1_PSSK3
    9418             :         use pm_kind, only: SKC => SK3
    9419             : #include "pm_arraySort@routines.inc.F90"
    9420             :     end procedure
    9421             : #endif
    9422             : 
    9423             : #if SK2_ENABLED
    9424             :     module procedure setSortedArrDefComQsorti_D1_PSSK2
    9425             :         use pm_kind, only: SKC => SK2
    9426             : #include "pm_arraySort@routines.inc.F90"
    9427             :     end procedure
    9428             : #endif
    9429             : 
    9430             : #if SK1_ENABLED
    9431             :     module procedure setSortedArrDefComQsorti_D1_PSSK1
    9432             :         use pm_kind, only: SKC => SK1
    9433             : #include "pm_arraySort@routines.inc.F90"
    9434             :     end procedure
    9435             : #endif
    9436             : 
    9437             : #undef PSSK_ENABLED
    9438             : 
    9439             : !#endif
    9440             : ! LCOV_EXCL_STOP
    9441             : 
    9442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9443             : 
    9444             : #define BSSK_ENABLED 1
    9445             : 
    9446           0 :     module procedure setSortedArrDefComQsorti_D1_BSSK
    9447             :         use pm_kind, only: SKC => SK
    9448             : #include "pm_arraySort@routines.inc.F90"
    9449           0 :     end procedure
    9450             : 
    9451             : #undef BSSK_ENABLED
    9452             : 
    9453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9454             : 
    9455             : #undef D1_ENABLED
    9456             : 
    9457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9460             : 
    9461             : #undef Qsorti_ENABLED
    9462             : 
    9463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9466             : 
    9467             : #undef DefCom_ENABLED
    9468             : 
    9469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9472             : 
    9473             : #undef Arr_ENABLED
    9474             : 
    9475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9476             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9477             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9478             : 
    9479             : #undef setSorted_ENABLED
    9480             : 
    9481             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9482             : 
    9483             : #define setSorted_ENABLED 1
    9484             : 
    9485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9486             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9488             : 
    9489             : #define Arr_ENABLED 1
    9490             : 
    9491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9493             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9494             : 
    9495             : #define DefCom_ENABLED 1
    9496             : 
    9497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9499             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9500             : 
    9501             : #define Qsortr_ENABLED 1
    9502             : 
    9503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9506             : 
    9507             : #define D0_ENABLED 1
    9508             : 
    9509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9510             : 
    9511             : #define SK_ENABLED 1
    9512             : 
    9513             : #if SK5_ENABLED
    9514             :     module procedure setSortedArrDefComQsortr_D0_SK5
    9515             :         use pm_kind, only: SKC => SK5
    9516             : #include "pm_arraySort@routines.inc.F90"
    9517             :     end procedure
    9518             : #endif
    9519             : 
    9520             : #if SK4_ENABLED
    9521             :     module procedure setSortedArrDefComQsortr_D0_SK4
    9522             :         use pm_kind, only: SKC => SK4
    9523             : #include "pm_arraySort@routines.inc.F90"
    9524             :     end procedure
    9525             : #endif
    9526             : 
    9527             : #if SK3_ENABLED
    9528             :     module procedure setSortedArrDefComQsortr_D0_SK3
    9529             :         use pm_kind, only: SKC => SK3
    9530             : #include "pm_arraySort@routines.inc.F90"
    9531             :     end procedure
    9532             : #endif
    9533             : 
    9534             : #if SK2_ENABLED
    9535             :     module procedure setSortedArrDefComQsortr_D0_SK2
    9536             :         use pm_kind, only: SKC => SK2
    9537             : #include "pm_arraySort@routines.inc.F90"
    9538             :     end procedure
    9539             : #endif
    9540             : 
    9541             : #if SK1_ENABLED
    9542        6127 :     module procedure setSortedArrDefComQsortr_D0_SK1
    9543             :         use pm_kind, only: SKC => SK1
    9544             : #include "pm_arraySort@routines.inc.F90"
    9545        6127 :     end procedure
    9546             : #endif
    9547             : 
    9548             : #undef SK_ENABLED
    9549             : 
    9550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9551             : 
    9552             : #undef D0_ENABLED
    9553             : 
    9554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9557             : 
    9558             : #define D1_ENABLED 1
    9559             : 
    9560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9561             : 
    9562             : #define SK_ENABLED 1
    9563             : 
    9564             : #if SK5_ENABLED
    9565             :     module procedure setSortedArrDefComQsortr_D1_SK5
    9566             :         use pm_kind, only: SKC => SK5
    9567             : #include "pm_arraySort@routines.inc.F90"
    9568             :     end procedure
    9569             : #endif
    9570             : 
    9571             : #if SK4_ENABLED
    9572             :     module procedure setSortedArrDefComQsortr_D1_SK4
    9573             :         use pm_kind, only: SKC => SK4
    9574             : #include "pm_arraySort@routines.inc.F90"
    9575             :     end procedure
    9576             : #endif
    9577             : 
    9578             : #if SK3_ENABLED
    9579             :     module procedure setSortedArrDefComQsortr_D1_SK3
    9580             :         use pm_kind, only: SKC => SK3
    9581             : #include "pm_arraySort@routines.inc.F90"
    9582             :     end procedure
    9583             : #endif
    9584             : 
    9585             : #if SK2_ENABLED
    9586             :     module procedure setSortedArrDefComQsortr_D1_SK2
    9587             :         use pm_kind, only: SKC => SK2
    9588             : #include "pm_arraySort@routines.inc.F90"
    9589             :     end procedure
    9590             : #endif
    9591             : 
    9592             : #if SK1_ENABLED
    9593        7498 :     module procedure setSortedArrDefComQsortr_D1_SK1
    9594             :         use pm_kind, only: SKC => SK1
    9595             : #include "pm_arraySort@routines.inc.F90"
    9596        7498 :     end procedure
    9597             : #endif
    9598             : 
    9599             : #undef SK_ENABLED
    9600             : 
    9601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9602             : 
    9603             : #define IK_ENABLED 1
    9604             : 
    9605             : #if IK5_ENABLED
    9606        6680 :     module procedure setSortedArrDefComQsortr_D1_IK5
    9607             :         use pm_kind, only: IKC => IK5
    9608             : #include "pm_arraySort@routines.inc.F90"
    9609        6680 :     end procedure
    9610             : #endif
    9611             : 
    9612             : #if IK4_ENABLED
    9613        6395 :     module procedure setSortedArrDefComQsortr_D1_IK4
    9614             :         use pm_kind, only: IKC => IK4
    9615             : #include "pm_arraySort@routines.inc.F90"
    9616        6395 :     end procedure
    9617             : #endif
    9618             : 
    9619             : #if IK3_ENABLED
    9620        6240 :     module procedure setSortedArrDefComQsortr_D1_IK3
    9621             :         use pm_kind, only: IKC => IK3
    9622             : #include "pm_arraySort@routines.inc.F90"
    9623        6240 :     end procedure
    9624             : #endif
    9625             : 
    9626             : #if IK2_ENABLED
    9627        7350 :     module procedure setSortedArrDefComQsortr_D1_IK2
    9628             :         use pm_kind, only: IKC => IK2
    9629             : #include "pm_arraySort@routines.inc.F90"
    9630        7350 :     end procedure
    9631             : #endif
    9632             : 
    9633             : #if IK1_ENABLED
    9634        6382 :     module procedure setSortedArrDefComQsortr_D1_IK1
    9635             :         use pm_kind, only: IKC => IK1
    9636             : #include "pm_arraySort@routines.inc.F90"
    9637        6382 :     end procedure
    9638             : #endif
    9639             : 
    9640             : #undef IK_ENABLED
    9641             : 
    9642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9643             : 
    9644             : #define LK_ENABLED 1
    9645             : 
    9646             : #if LK5_ENABLED
    9647        4573 :     module procedure setSortedArrDefComQsortr_D1_LK5
    9648             :         use pm_kind, only: LKC => LK5
    9649             : #include "pm_arraySort@routines.inc.F90"
    9650        4573 :     end procedure
    9651             : #endif
    9652             : 
    9653             : #if LK4_ENABLED
    9654        3996 :     module procedure setSortedArrDefComQsortr_D1_LK4
    9655             :         use pm_kind, only: LKC => LK4
    9656             : #include "pm_arraySort@routines.inc.F90"
    9657        3996 :     end procedure
    9658             : #endif
    9659             : 
    9660             : #if LK3_ENABLED
    9661        4622 :     module procedure setSortedArrDefComQsortr_D1_LK3
    9662             :         use pm_kind, only: LKC => LK3
    9663             : #include "pm_arraySort@routines.inc.F90"
    9664        4622 :     end procedure
    9665             : #endif
    9666             : 
    9667             : #if LK2_ENABLED
    9668        3765 :     module procedure setSortedArrDefComQsortr_D1_LK2
    9669             :         use pm_kind, only: LKC => LK2
    9670             : #include "pm_arraySort@routines.inc.F90"
    9671        3765 :     end procedure
    9672             : #endif
    9673             : 
    9674             : #if LK1_ENABLED
    9675        4390 :     module procedure setSortedArrDefComQsortr_D1_LK1
    9676             :         use pm_kind, only: LKC => LK1
    9677             : #include "pm_arraySort@routines.inc.F90"
    9678        4390 :     end procedure
    9679             : #endif
    9680             : 
    9681             : #undef LK_ENABLED
    9682             : 
    9683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9684             : 
    9685             : #define CK_ENABLED 1
    9686             : 
    9687             : #if CK5_ENABLED
    9688             :     module procedure setSortedArrDefComQsortr_D1_CK5
    9689             :         use pm_kind, only: CKC => CK5
    9690             : #include "pm_arraySort@routines.inc.F90"
    9691             :     end procedure
    9692             : #endif
    9693             : 
    9694             : #if CK4_ENABLED
    9695        6226 :     module procedure setSortedArrDefComQsortr_D1_CK4
    9696             :         use pm_kind, only: CKC => CK4
    9697             : #include "pm_arraySort@routines.inc.F90"
    9698        6226 :     end procedure
    9699             : #endif
    9700             : 
    9701             : #if CK3_ENABLED
    9702        6799 :     module procedure setSortedArrDefComQsortr_D1_CK3
    9703             :         use pm_kind, only: CKC => CK3
    9704             : #include "pm_arraySort@routines.inc.F90"
    9705        6799 :     end procedure
    9706             : #endif
    9707             : 
    9708             : #if CK2_ENABLED
    9709        7977 :     module procedure setSortedArrDefComQsortr_D1_CK2
    9710             :         use pm_kind, only: CKC => CK2
    9711             : #include "pm_arraySort@routines.inc.F90"
    9712        7977 :     end procedure
    9713             : #endif
    9714             : 
    9715             : #if CK1_ENABLED
    9716        6455 :     module procedure setSortedArrDefComQsortr_D1_CK1
    9717             :         use pm_kind, only: CKC => CK1
    9718             : #include "pm_arraySort@routines.inc.F90"
    9719        6455 :     end procedure
    9720             : #endif
    9721             : 
    9722             : #undef CK_ENABLED
    9723             : 
    9724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9725             : 
    9726             : #define RK_ENABLED 1
    9727             : 
    9728             : #if RK5_ENABLED
    9729             :     module procedure setSortedArrDefComQsortr_D1_RK5
    9730             :         use pm_kind, only: RKC => RK5
    9731             : #include "pm_arraySort@routines.inc.F90"
    9732             :     end procedure
    9733             : #endif
    9734             : 
    9735             : #if RK4_ENABLED
    9736        6210 :     module procedure setSortedArrDefComQsortr_D1_RK4
    9737             :         use pm_kind, only: RKC => RK4
    9738             : #include "pm_arraySort@routines.inc.F90"
    9739        6210 :     end procedure
    9740             : #endif
    9741             : 
    9742             : #if RK3_ENABLED
    9743        7302 :     module procedure setSortedArrDefComQsortr_D1_RK3
    9744             :         use pm_kind, only: RKC => RK3
    9745             : #include "pm_arraySort@routines.inc.F90"
    9746        7302 :     end procedure
    9747             : #endif
    9748             : 
    9749             : #if RK2_ENABLED
    9750        6558 :     module procedure setSortedArrDefComQsortr_D1_RK2
    9751             :         use pm_kind, only: RKC => RK2
    9752             : #include "pm_arraySort@routines.inc.F90"
    9753        6558 :     end procedure
    9754             : #endif
    9755             : 
    9756             : #if RK1_ENABLED
    9757        5985 :     module procedure setSortedArrDefComQsortr_D1_RK1
    9758             :         use pm_kind, only: RKC => RK1
    9759             : #include "pm_arraySort@routines.inc.F90"
    9760        5985 :     end procedure
    9761             : #endif
    9762             : 
    9763             : #undef RK_ENABLED
    9764             : 
    9765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9766             : 
    9767             : ! LCOV_EXCL_START
    9768             : !#if !__GFORTRAN__
    9769             : 
    9770             : #define PSSK_ENABLED 1
    9771             : 
    9772             : #if SK5_ENABLED
    9773             :     module procedure setSortedArrDefComQsortr_D1_PSSK5
    9774             :         use pm_kind, only: SKC => SK5
    9775             : #include "pm_arraySort@routines.inc.F90"
    9776             :     end procedure
    9777             : #endif
    9778             : 
    9779             : #if SK4_ENABLED
    9780             :     module procedure setSortedArrDefComQsortr_D1_PSSK4
    9781             :         use pm_kind, only: SKC => SK4
    9782             : #include "pm_arraySort@routines.inc.F90"
    9783             :     end procedure
    9784             : #endif
    9785             : 
    9786             : #if SK3_ENABLED
    9787             :     module procedure setSortedArrDefComQsortr_D1_PSSK3
    9788             :         use pm_kind, only: SKC => SK3
    9789             : #include "pm_arraySort@routines.inc.F90"
    9790             :     end procedure
    9791             : #endif
    9792             : 
    9793             : #if SK2_ENABLED
    9794             :     module procedure setSortedArrDefComQsortr_D1_PSSK2
    9795             :         use pm_kind, only: SKC => SK2
    9796             : #include "pm_arraySort@routines.inc.F90"
    9797             :     end procedure
    9798             : #endif
    9799             : 
    9800             : #if SK1_ENABLED
    9801             :     module procedure setSortedArrDefComQsortr_D1_PSSK1
    9802             :         use pm_kind, only: SKC => SK1
    9803             : #include "pm_arraySort@routines.inc.F90"
    9804             :     end procedure
    9805             : #endif
    9806             : 
    9807             : #undef PSSK_ENABLED
    9808             : 
    9809             : !#endif
    9810             : ! LCOV_EXCL_STOP
    9811             : 
    9812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9813             : 
    9814             : #define BSSK_ENABLED 1
    9815             : 
    9816           0 :     module procedure setSortedArrDefComQsortr_D1_BSSK
    9817             :         use pm_kind, only: SKC => SK
    9818             : #include "pm_arraySort@routines.inc.F90"
    9819           0 :     end procedure
    9820             : 
    9821             : #undef BSSK_ENABLED
    9822             : 
    9823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9824             : 
    9825             : #undef D1_ENABLED
    9826             : 
    9827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9830             : 
    9831             : #undef Qsortr_ENABLED
    9832             : 
    9833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9836             : 
    9837             : #undef DefCom_ENABLED
    9838             : 
    9839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9841             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9842             : 
    9843             : #undef Arr_ENABLED
    9844             : 
    9845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9847             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9848             : 
    9849             : #undef setSorted_ENABLED
    9850             : 
    9851             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9852             : 
    9853             : #define setSorted_ENABLED 1
    9854             : 
    9855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9856             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9857             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9858             : 
    9859             : #define Arr_ENABLED 1
    9860             : 
    9861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9862             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9863             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9864             : 
    9865             : #define DefCom_ENABLED 1
    9866             : 
    9867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9868             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9869             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9870             : 
    9871             : #define Qsortrdp_ENABLED 1
    9872             : 
    9873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9874             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9876             : 
    9877             : #define D0_ENABLED 1
    9878             : 
    9879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9880             : 
    9881             : #define SK_ENABLED 1
    9882             : 
    9883             : #if SK5_ENABLED
    9884             :     module procedure setSortedArrDefComQsortrdp_D0_SK5
    9885             :         use pm_kind, only: SKC => SK5
    9886             : #include "pm_arraySort@routines.inc.F90"
    9887             :     end procedure
    9888             : #endif
    9889             : 
    9890             : #if SK4_ENABLED
    9891             :     module procedure setSortedArrDefComQsortrdp_D0_SK4
    9892             :         use pm_kind, only: SKC => SK4
    9893             : #include "pm_arraySort@routines.inc.F90"
    9894             :     end procedure
    9895             : #endif
    9896             : 
    9897             : #if SK3_ENABLED
    9898             :     module procedure setSortedArrDefComQsortrdp_D0_SK3
    9899             :         use pm_kind, only: SKC => SK3
    9900             : #include "pm_arraySort@routines.inc.F90"
    9901             :     end procedure
    9902             : #endif
    9903             : 
    9904             : #if SK2_ENABLED
    9905             :     module procedure setSortedArrDefComQsortrdp_D0_SK2
    9906             :         use pm_kind, only: SKC => SK2
    9907             : #include "pm_arraySort@routines.inc.F90"
    9908             :     end procedure
    9909             : #endif
    9910             : 
    9911             : #if SK1_ENABLED
    9912        5283 :     module procedure setSortedArrDefComQsortrdp_D0_SK1
    9913             :         use pm_kind, only: SKC => SK1
    9914             : #include "pm_arraySort@routines.inc.F90"
    9915             :     end procedure
    9916             : #endif
    9917             : 
    9918             : #undef SK_ENABLED
    9919             : 
    9920             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9921             : 
    9922             : #undef D0_ENABLED
    9923             : 
    9924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9927             : 
    9928             : #define D1_ENABLED 1
    9929             : 
    9930             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9931             : 
    9932             : #define SK_ENABLED 1
    9933             : 
    9934             : #if SK5_ENABLED
    9935             :     module procedure setSortedArrDefComQsortrdp_D1_SK5
    9936             :         use pm_kind, only: SKC => SK5
    9937             : #include "pm_arraySort@routines.inc.F90"
    9938             :     end procedure
    9939             : #endif
    9940             : 
    9941             : #if SK4_ENABLED
    9942             :     module procedure setSortedArrDefComQsortrdp_D1_SK4
    9943             :         use pm_kind, only: SKC => SK4
    9944             : #include "pm_arraySort@routines.inc.F90"
    9945             :     end procedure
    9946             : #endif
    9947             : 
    9948             : #if SK3_ENABLED
    9949             :     module procedure setSortedArrDefComQsortrdp_D1_SK3
    9950             :         use pm_kind, only: SKC => SK3
    9951             : #include "pm_arraySort@routines.inc.F90"
    9952             :     end procedure
    9953             : #endif
    9954             : 
    9955             : #if SK2_ENABLED
    9956             :     module procedure setSortedArrDefComQsortrdp_D1_SK2
    9957             :         use pm_kind, only: SKC => SK2
    9958             : #include "pm_arraySort@routines.inc.F90"
    9959             :     end procedure
    9960             : #endif
    9961             : 
    9962             : #if SK1_ENABLED
    9963        5843 :     module procedure setSortedArrDefComQsortrdp_D1_SK1
    9964             :         use pm_kind, only: SKC => SK1
    9965             : #include "pm_arraySort@routines.inc.F90"
    9966             :     end procedure
    9967             : #endif
    9968             : 
    9969             : #undef SK_ENABLED
    9970             : 
    9971             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9972             : 
    9973             : #define IK_ENABLED 1
    9974             : 
    9975             : #if IK5_ENABLED
    9976        5464 :     module procedure setSortedArrDefComQsortrdp_D1_IK5
    9977             :         use pm_kind, only: IKC => IK5
    9978             : #include "pm_arraySort@routines.inc.F90"
    9979             :     end procedure
    9980             : #endif
    9981             : 
    9982             : #if IK4_ENABLED
    9983        5457 :     module procedure setSortedArrDefComQsortrdp_D1_IK4
    9984             :         use pm_kind, only: IKC => IK4
    9985             : #include "pm_arraySort@routines.inc.F90"
    9986             :     end procedure
    9987             : #endif
    9988             : 
    9989             : #if IK3_ENABLED
    9990        4705 :     module procedure setSortedArrDefComQsortrdp_D1_IK3
    9991             :         use pm_kind, only: IKC => IK3
    9992             : #include "pm_arraySort@routines.inc.F90"
    9993             :     end procedure
    9994             : #endif
    9995             : 
    9996             : #if IK2_ENABLED
    9997        5486 :     module procedure setSortedArrDefComQsortrdp_D1_IK2
    9998             :         use pm_kind, only: IKC => IK2
    9999             : #include "pm_arraySort@routines.inc.F90"
   10000             :     end procedure
   10001             : #endif
   10002             : 
   10003             : #if IK1_ENABLED
   10004        5709 :     module procedure setSortedArrDefComQsortrdp_D1_IK1
   10005             :         use pm_kind, only: IKC => IK1
   10006             : #include "pm_arraySort@routines.inc.F90"
   10007             :     end procedure
   10008             : #endif
   10009             : 
   10010             : #undef IK_ENABLED
   10011             : 
   10012             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10013             : 
   10014             : #define LK_ENABLED 1
   10015             : 
   10016             : #if LK5_ENABLED
   10017       10017 :     module procedure setSortedArrDefComQsortrdp_D1_LK5
   10018             :         use pm_kind, only: LKC => LK5
   10019             : #include "pm_arraySort@routines.inc.F90"
   10020             :     end procedure
   10021             : #endif
   10022             : 
   10023             : #if LK4_ENABLED
   10024       12856 :     module procedure setSortedArrDefComQsortrdp_D1_LK4
   10025             :         use pm_kind, only: LKC => LK4
   10026             : #include "pm_arraySort@routines.inc.F90"
   10027             :     end procedure
   10028             : #endif
   10029             : 
   10030             : #if LK3_ENABLED
   10031        9089 :     module procedure setSortedArrDefComQsortrdp_D1_LK3
   10032             :         use pm_kind, only: LKC => LK3
   10033             : #include "pm_arraySort@routines.inc.F90"
   10034             :     end procedure
   10035             : #endif
   10036             : 
   10037             : #if LK2_ENABLED
   10038       11456 :     module procedure setSortedArrDefComQsortrdp_D1_LK2
   10039             :         use pm_kind, only: LKC => LK2
   10040             : #include "pm_arraySort@routines.inc.F90"
   10041             :     end procedure
   10042             : #endif
   10043             : 
   10044             : #if LK1_ENABLED
   10045        9985 :     module procedure setSortedArrDefComQsortrdp_D1_LK1
   10046             :         use pm_kind, only: LKC => LK1
   10047             : #include "pm_arraySort@routines.inc.F90"
   10048             :     end procedure
   10049             : #endif
   10050             : 
   10051             : #undef LK_ENABLED
   10052             : 
   10053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10054             : 
   10055             : #define CK_ENABLED 1
   10056             : 
   10057             : #if CK5_ENABLED
   10058             :     module procedure setSortedArrDefComQsortrdp_D1_CK5
   10059             :         use pm_kind, only: CKC => CK5
   10060             : #include "pm_arraySort@routines.inc.F90"
   10061             :     end procedure
   10062             : #endif
   10063             : 
   10064             : #if CK4_ENABLED
   10065        5539 :     module procedure setSortedArrDefComQsortrdp_D1_CK4
   10066             :         use pm_kind, only: CKC => CK4
   10067             : #include "pm_arraySort@routines.inc.F90"
   10068             :     end procedure
   10069             : #endif
   10070             : 
   10071             : #if CK3_ENABLED
   10072        4976 :     module procedure setSortedArrDefComQsortrdp_D1_CK3
   10073             :         use pm_kind, only: CKC => CK3
   10074             : #include "pm_arraySort@routines.inc.F90"
   10075             :     end procedure
   10076             : #endif
   10077             : 
   10078             : #if CK2_ENABLED
   10079        5129 :     module procedure setSortedArrDefComQsortrdp_D1_CK2
   10080             :         use pm_kind, only: CKC => CK2
   10081             : #include "pm_arraySort@routines.inc.F90"
   10082             :     end procedure
   10083             : #endif
   10084             : 
   10085             : #if CK1_ENABLED
   10086        5550 :     module procedure setSortedArrDefComQsortrdp_D1_CK1
   10087             :         use pm_kind, only: CKC => CK1
   10088             : #include "pm_arraySort@routines.inc.F90"
   10089             :     end procedure
   10090             : #endif
   10091             : 
   10092             : #undef CK_ENABLED
   10093             : 
   10094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10095             : 
   10096             : #define RK_ENABLED 1
   10097             : 
   10098             : #if RK5_ENABLED
   10099             :     module procedure setSortedArrDefComQsortrdp_D1_RK5
   10100             :         use pm_kind, only: RKC => RK5
   10101             : #include "pm_arraySort@routines.inc.F90"
   10102             :     end procedure
   10103             : #endif
   10104             : 
   10105             : #if RK4_ENABLED
   10106        5358 :     module procedure setSortedArrDefComQsortrdp_D1_RK4
   10107             :         use pm_kind, only: RKC => RK4
   10108             : #include "pm_arraySort@routines.inc.F90"
   10109             :     end procedure
   10110             : #endif
   10111             : 
   10112             : #if RK3_ENABLED
   10113        6355 :     module procedure setSortedArrDefComQsortrdp_D1_RK3
   10114             :         use pm_kind, only: RKC => RK3
   10115             : #include "pm_arraySort@routines.inc.F90"
   10116             :     end procedure
   10117             : #endif
   10118             : 
   10119             : #if RK2_ENABLED
   10120        6097 :     module procedure setSortedArrDefComQsortrdp_D1_RK2
   10121             :         use pm_kind, only: RKC => RK2
   10122             : #include "pm_arraySort@routines.inc.F90"
   10123             :     end procedure
   10124             : #endif
   10125             : 
   10126             : #if RK1_ENABLED
   10127        5366 :     module procedure setSortedArrDefComQsortrdp_D1_RK1
   10128             :         use pm_kind, only: RKC => RK1
   10129             : #include "pm_arraySort@routines.inc.F90"
   10130             :     end procedure
   10131             : #endif
   10132             : 
   10133             : #undef RK_ENABLED
   10134             : 
   10135             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10136             : 
   10137             : ! LCOV_EXCL_START
   10138             : !#if !__GFORTRAN__
   10139             : 
   10140             : #define PSSK_ENABLED 1
   10141             : 
   10142             : #if SK5_ENABLED
   10143             :     module procedure setSortedArrDefComQsortrdp_D1_PSSK5
   10144             :         use pm_kind, only: SKC => SK5
   10145             : #include "pm_arraySort@routines.inc.F90"
   10146             :     end procedure
   10147             : #endif
   10148             : 
   10149             : #if SK4_ENABLED
   10150             :     module procedure setSortedArrDefComQsortrdp_D1_PSSK4
   10151             :         use pm_kind, only: SKC => SK4
   10152             : #include "pm_arraySort@routines.inc.F90"
   10153             :     end procedure
   10154             : #endif
   10155             : 
   10156             : #if SK3_ENABLED
   10157             :     module procedure setSortedArrDefComQsortrdp_D1_PSSK3
   10158             :         use pm_kind, only: SKC => SK3
   10159             : #include "pm_arraySort@routines.inc.F90"
   10160             :     end procedure
   10161             : #endif
   10162             : 
   10163             : #if SK2_ENABLED
   10164             :     module procedure setSortedArrDefComQsortrdp_D1_PSSK2
   10165             :         use pm_kind, only: SKC => SK2
   10166             : #include "pm_arraySort@routines.inc.F90"
   10167             :     end procedure
   10168             : #endif
   10169             : 
   10170             : #if SK1_ENABLED
   10171             :     module procedure setSortedArrDefComQsortrdp_D1_PSSK1
   10172             :         use pm_kind, only: SKC => SK1
   10173             : #include "pm_arraySort@routines.inc.F90"
   10174             :     end procedure
   10175             : #endif
   10176             : 
   10177             : #undef PSSK_ENABLED
   10178             : 
   10179             : !#endif
   10180             : ! LCOV_EXCL_STOP
   10181             : 
   10182             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10183             : 
   10184             : #define BSSK_ENABLED 1
   10185             : 
   10186           0 :     module procedure setSortedArrDefComQsortrdp_D1_BSSK
   10187             :         use pm_kind, only: SKC => SK
   10188             : #include "pm_arraySort@routines.inc.F90"
   10189           0 :     end procedure
   10190             : 
   10191             : #undef BSSK_ENABLED
   10192             : 
   10193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10194             : 
   10195             : #undef D1_ENABLED
   10196             : 
   10197             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10200             : 
   10201             : #undef Qsortrdp_ENABLED
   10202             : 
   10203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10206             : 
   10207             : #undef DefCom_ENABLED
   10208             : 
   10209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10212             : 
   10213             : #undef Arr_ENABLED
   10214             : 
   10215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10216             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10218             : 
   10219             : #undef setSorted_ENABLED
   10220             : 
   10221             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10222             : 
   10223             : #define setSorted_ENABLED 1
   10224             : 
   10225             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10228             : 
   10229             : #define Arr_ENABLED 1
   10230             : 
   10231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10232             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10233             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10234             : 
   10235             : #define DefCom_ENABLED 1
   10236             : 
   10237             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10238             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10240             : 
   10241             : #define Bubble_ENABLED 1
   10242             : 
   10243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10246             : 
   10247             : #define D0_ENABLED 1
   10248             : 
   10249             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10250             : 
   10251             : #define SK_ENABLED 1
   10252             : 
   10253             : #if SK5_ENABLED
   10254             :     module procedure setSortedArrDefComBubble_D0_SK5
   10255             :         use pm_kind, only: SKC => SK5
   10256             : #include "pm_arraySort@routines.inc.F90"
   10257             :     end procedure
   10258             : #endif
   10259             : 
   10260             : #if SK4_ENABLED
   10261             :     module procedure setSortedArrDefComBubble_D0_SK4
   10262             :         use pm_kind, only: SKC => SK4
   10263             : #include "pm_arraySort@routines.inc.F90"
   10264             :     end procedure
   10265             : #endif
   10266             : 
   10267             : #if SK3_ENABLED
   10268             :     module procedure setSortedArrDefComBubble_D0_SK3
   10269             :         use pm_kind, only: SKC => SK3
   10270             : #include "pm_arraySort@routines.inc.F90"
   10271             :     end procedure
   10272             : #endif
   10273             : 
   10274             : #if SK2_ENABLED
   10275             :     module procedure setSortedArrDefComBubble_D0_SK2
   10276             :         use pm_kind, only: SKC => SK2
   10277             : #include "pm_arraySort@routines.inc.F90"
   10278             :     end procedure
   10279             : #endif
   10280             : 
   10281             : #if SK1_ENABLED
   10282         101 :     module procedure setSortedArrDefComBubble_D0_SK1
   10283             :         use pm_kind, only: SKC => SK1
   10284             : #include "pm_arraySort@routines.inc.F90"
   10285         101 :     end procedure
   10286             : #endif
   10287             : 
   10288             : #undef SK_ENABLED
   10289             : 
   10290             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10291             : 
   10292             : #undef D0_ENABLED
   10293             : 
   10294             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10296             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10297             : 
   10298             : #define D1_ENABLED 1
   10299             : 
   10300             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10301             : 
   10302             : #define SK_ENABLED 1
   10303             : 
   10304             : #if SK5_ENABLED
   10305             :     module procedure setSortedArrDefComBubble_D1_SK5
   10306             :         use pm_kind, only: SKC => SK5
   10307             : #include "pm_arraySort@routines.inc.F90"
   10308             :     end procedure
   10309             : #endif
   10310             : 
   10311             : #if SK4_ENABLED
   10312             :     module procedure setSortedArrDefComBubble_D1_SK4
   10313             :         use pm_kind, only: SKC => SK4
   10314             : #include "pm_arraySort@routines.inc.F90"
   10315             :     end procedure
   10316             : #endif
   10317             : 
   10318             : #if SK3_ENABLED
   10319             :     module procedure setSortedArrDefComBubble_D1_SK3
   10320             :         use pm_kind, only: SKC => SK3
   10321             : #include "pm_arraySort@routines.inc.F90"
   10322             :     end procedure
   10323             : #endif
   10324             : 
   10325             : #if SK2_ENABLED
   10326             :     module procedure setSortedArrDefComBubble_D1_SK2
   10327             :         use pm_kind, only: SKC => SK2
   10328             : #include "pm_arraySort@routines.inc.F90"
   10329             :     end procedure
   10330             : #endif
   10331             : 
   10332             : #if SK1_ENABLED
   10333         109 :     module procedure setSortedArrDefComBubble_D1_SK1
   10334             :         use pm_kind, only: SKC => SK1
   10335             : #include "pm_arraySort@routines.inc.F90"
   10336         109 :     end procedure
   10337             : #endif
   10338             : 
   10339             : #undef SK_ENABLED
   10340             : 
   10341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10342             : 
   10343             : #define IK_ENABLED 1
   10344             : 
   10345             : #if IK5_ENABLED
   10346         108 :     module procedure setSortedArrDefComBubble_D1_IK5
   10347             :         use pm_kind, only: IKC => IK5
   10348             : #include "pm_arraySort@routines.inc.F90"
   10349         108 :     end procedure
   10350             : #endif
   10351             : 
   10352             : #if IK4_ENABLED
   10353         109 :     module procedure setSortedArrDefComBubble_D1_IK4
   10354             :         use pm_kind, only: IKC => IK4
   10355             : #include "pm_arraySort@routines.inc.F90"
   10356         109 :     end procedure
   10357             : #endif
   10358             : 
   10359             : #if IK3_ENABLED
   10360          83 :     module procedure setSortedArrDefComBubble_D1_IK3
   10361             :         use pm_kind, only: IKC => IK3
   10362             : #include "pm_arraySort@routines.inc.F90"
   10363          83 :     end procedure
   10364             : #endif
   10365             : 
   10366             : #if IK2_ENABLED
   10367         102 :     module procedure setSortedArrDefComBubble_D1_IK2
   10368             :         use pm_kind, only: IKC => IK2
   10369             : #include "pm_arraySort@routines.inc.F90"
   10370         102 :     end procedure
   10371             : #endif
   10372             : 
   10373             : #if IK1_ENABLED
   10374          91 :     module procedure setSortedArrDefComBubble_D1_IK1
   10375             :         use pm_kind, only: IKC => IK1
   10376             : #include "pm_arraySort@routines.inc.F90"
   10377          91 :     end procedure
   10378             : #endif
   10379             : 
   10380             : #undef IK_ENABLED
   10381             : 
   10382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10383             : 
   10384             : #define LK_ENABLED 1
   10385             : 
   10386             : #if LK5_ENABLED
   10387          88 :     module procedure setSortedArrDefComBubble_D1_LK5
   10388             :         use pm_kind, only: LKC => LK5
   10389             : #include "pm_arraySort@routines.inc.F90"
   10390          88 :     end procedure
   10391             : #endif
   10392             : 
   10393             : #if LK4_ENABLED
   10394         106 :     module procedure setSortedArrDefComBubble_D1_LK4
   10395             :         use pm_kind, only: LKC => LK4
   10396             : #include "pm_arraySort@routines.inc.F90"
   10397         106 :     end procedure
   10398             : #endif
   10399             : 
   10400             : #if LK3_ENABLED
   10401         106 :     module procedure setSortedArrDefComBubble_D1_LK3
   10402             :         use pm_kind, only: LKC => LK3
   10403             : #include "pm_arraySort@routines.inc.F90"
   10404         106 :     end procedure
   10405             : #endif
   10406             : 
   10407             : #if LK2_ENABLED
   10408         114 :     module procedure setSortedArrDefComBubble_D1_LK2
   10409             :         use pm_kind, only: LKC => LK2
   10410             : #include "pm_arraySort@routines.inc.F90"
   10411         114 :     end procedure
   10412             : #endif
   10413             : 
   10414             : #if LK1_ENABLED
   10415         100 :     module procedure setSortedArrDefComBubble_D1_LK1
   10416             :         use pm_kind, only: LKC => LK1
   10417             : #include "pm_arraySort@routines.inc.F90"
   10418         100 :     end procedure
   10419             : #endif
   10420             : 
   10421             : #undef LK_ENABLED
   10422             : 
   10423             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10424             : 
   10425             : #define CK_ENABLED 1
   10426             : 
   10427             : #if CK5_ENABLED
   10428             :     module procedure setSortedArrDefComBubble_D1_CK5
   10429             :         use pm_kind, only: CKC => CK5
   10430             : #include "pm_arraySort@routines.inc.F90"
   10431             :     end procedure
   10432             : #endif
   10433             : 
   10434             : #if CK4_ENABLED
   10435         107 :     module procedure setSortedArrDefComBubble_D1_CK4
   10436             :         use pm_kind, only: CKC => CK4
   10437             : #include "pm_arraySort@routines.inc.F90"
   10438         107 :     end procedure
   10439             : #endif
   10440             : 
   10441             : #if CK3_ENABLED
   10442         101 :     module procedure setSortedArrDefComBubble_D1_CK3
   10443             :         use pm_kind, only: CKC => CK3
   10444             : #include "pm_arraySort@routines.inc.F90"
   10445         101 :     end procedure
   10446             : #endif
   10447             : 
   10448             : #if CK2_ENABLED
   10449          99 :     module procedure setSortedArrDefComBubble_D1_CK2
   10450             :         use pm_kind, only: CKC => CK2
   10451             : #include "pm_arraySort@routines.inc.F90"
   10452          99 :     end procedure
   10453             : #endif
   10454             : 
   10455             : #if CK1_ENABLED
   10456         102 :     module procedure setSortedArrDefComBubble_D1_CK1
   10457             :         use pm_kind, only: CKC => CK1
   10458             : #include "pm_arraySort@routines.inc.F90"
   10459         102 :     end procedure
   10460             : #endif
   10461             : 
   10462             : #undef CK_ENABLED
   10463             : 
   10464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10465             : 
   10466             : #define RK_ENABLED 1
   10467             : 
   10468             : #if RK5_ENABLED
   10469             :     module procedure setSortedArrDefComBubble_D1_RK5
   10470             :         use pm_kind, only: RKC => RK5
   10471             : #include "pm_arraySort@routines.inc.F90"
   10472             :     end procedure
   10473             : #endif
   10474             : 
   10475             : #if RK4_ENABLED
   10476         103 :     module procedure setSortedArrDefComBubble_D1_RK4
   10477             :         use pm_kind, only: RKC => RK4
   10478             : #include "pm_arraySort@routines.inc.F90"
   10479         103 :     end procedure
   10480             : #endif
   10481             : 
   10482             : #if RK3_ENABLED
   10483         103 :     module procedure setSortedArrDefComBubble_D1_RK3
   10484             :         use pm_kind, only: RKC => RK3
   10485             : #include "pm_arraySort@routines.inc.F90"
   10486         103 :     end procedure
   10487             : #endif
   10488             : 
   10489             : #if RK2_ENABLED
   10490         109 :     module procedure setSortedArrDefComBubble_D1_RK2
   10491             :         use pm_kind, only: RKC => RK2
   10492             : #include "pm_arraySort@routines.inc.F90"
   10493         109 :     end procedure
   10494             : #endif
   10495             : 
   10496             : #if RK1_ENABLED
   10497         101 :     module procedure setSortedArrDefComBubble_D1_RK1
   10498             :         use pm_kind, only: RKC => RK1
   10499             : #include "pm_arraySort@routines.inc.F90"
   10500         101 :     end procedure
   10501             : #endif
   10502             : 
   10503             : #undef RK_ENABLED
   10504             : 
   10505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10506             : 
   10507             : ! LCOV_EXCL_START
   10508             : !#if !__GFORTRAN__
   10509             : 
   10510             : #define PSSK_ENABLED 1
   10511             : 
   10512             : #if SK5_ENABLED
   10513             :     module procedure setSortedArrDefComBubble_D1_PSSK5
   10514             :         use pm_kind, only: SKC => SK5
   10515             : #include "pm_arraySort@routines.inc.F90"
   10516             :     end procedure
   10517             : #endif
   10518             : 
   10519             : #if SK4_ENABLED
   10520             :     module procedure setSortedArrDefComBubble_D1_PSSK4
   10521             :         use pm_kind, only: SKC => SK4
   10522             : #include "pm_arraySort@routines.inc.F90"
   10523             :     end procedure
   10524             : #endif
   10525             : 
   10526             : #if SK3_ENABLED
   10527             :     module procedure setSortedArrDefComBubble_D1_PSSK3
   10528             :         use pm_kind, only: SKC => SK3
   10529             : #include "pm_arraySort@routines.inc.F90"
   10530             :     end procedure
   10531             : #endif
   10532             : 
   10533             : #if SK2_ENABLED
   10534             :     module procedure setSortedArrDefComBubble_D1_PSSK2
   10535             :         use pm_kind, only: SKC => SK2
   10536             : #include "pm_arraySort@routines.inc.F90"
   10537             :     end procedure
   10538             : #endif
   10539             : 
   10540             : #if SK1_ENABLED
   10541             :     module procedure setSortedArrDefComBubble_D1_PSSK1
   10542             :         use pm_kind, only: SKC => SK1
   10543             : #include "pm_arraySort@routines.inc.F90"
   10544             :     end procedure
   10545             : #endif
   10546             : 
   10547             : #undef PSSK_ENABLED
   10548             : 
   10549             : !#endif
   10550             : ! LCOV_EXCL_STOP
   10551             : 
   10552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10553             : 
   10554             : #define BSSK_ENABLED 1
   10555             : 
   10556           0 :     module procedure setSortedArrDefComBubble_D1_BSSK
   10557             :         use pm_kind, only: SKC => SK
   10558             : #include "pm_arraySort@routines.inc.F90"
   10559           0 :     end procedure
   10560             : 
   10561             : #undef BSSK_ENABLED
   10562             : 
   10563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10564             : 
   10565             : #undef D1_ENABLED
   10566             : 
   10567             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10570             : 
   10571             : #undef Bubble_ENABLED
   10572             : 
   10573             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10575             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10576             : 
   10577             : #undef DefCom_ENABLED
   10578             : 
   10579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10581             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10582             : 
   10583             : #undef Arr_ENABLED
   10584             : 
   10585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10587             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10588             : 
   10589             : #undef setSorted_ENABLED
   10590             : 
   10591             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10592             : 
   10593             : #define setSorted_ENABLED 1
   10594             : 
   10595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10596             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10598             : 
   10599             : #define Arr_ENABLED 1
   10600             : 
   10601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10603             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10604             : 
   10605             : #define DefCom_ENABLED 1
   10606             : 
   10607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10610             : 
   10611             : #define Heapi_ENABLED 1
   10612             : 
   10613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10616             : 
   10617             : #define D0_ENABLED 1
   10618             : 
   10619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10620             : 
   10621             : #define SK_ENABLED 1
   10622             : 
   10623             : #if SK5_ENABLED
   10624             :     module procedure setSortedArrDefComHeapi_D0_SK5
   10625             :         use pm_kind, only: SKC => SK5
   10626             : #include "pm_arraySort@routines.inc.F90"
   10627             :     end procedure
   10628             : #endif
   10629             : 
   10630             : #if SK4_ENABLED
   10631             :     module procedure setSortedArrDefComHeapi_D0_SK4
   10632             :         use pm_kind, only: SKC => SK4
   10633             : #include "pm_arraySort@routines.inc.F90"
   10634             :     end procedure
   10635             : #endif
   10636             : 
   10637             : #if SK3_ENABLED
   10638             :     module procedure setSortedArrDefComHeapi_D0_SK3
   10639             :         use pm_kind, only: SKC => SK3
   10640             : #include "pm_arraySort@routines.inc.F90"
   10641             :     end procedure
   10642             : #endif
   10643             : 
   10644             : #if SK2_ENABLED
   10645             :     module procedure setSortedArrDefComHeapi_D0_SK2
   10646             :         use pm_kind, only: SKC => SK2
   10647             : #include "pm_arraySort@routines.inc.F90"
   10648             :     end procedure
   10649             : #endif
   10650             : 
   10651             : #if SK1_ENABLED
   10652         101 :     module procedure setSortedArrDefComHeapi_D0_SK1
   10653             :         use pm_kind, only: SKC => SK1
   10654             : #include "pm_arraySort@routines.inc.F90"
   10655             :     end procedure
   10656             : #endif
   10657             : 
   10658             : #undef SK_ENABLED
   10659             : 
   10660             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10661             : 
   10662             : #undef D0_ENABLED
   10663             : 
   10664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10666             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10667             : 
   10668             : #define D1_ENABLED 1
   10669             : 
   10670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10671             : 
   10672             : #define SK_ENABLED 1
   10673             : 
   10674             : #if SK5_ENABLED
   10675             :     module procedure setSortedArrDefComHeapi_D1_SK5
   10676             :         use pm_kind, only: SKC => SK5
   10677             : #include "pm_arraySort@routines.inc.F90"
   10678             :     end procedure
   10679             : #endif
   10680             : 
   10681             : #if SK4_ENABLED
   10682             :     module procedure setSortedArrDefComHeapi_D1_SK4
   10683             :         use pm_kind, only: SKC => SK4
   10684             : #include "pm_arraySort@routines.inc.F90"
   10685             :     end procedure
   10686             : #endif
   10687             : 
   10688             : #if SK3_ENABLED
   10689             :     module procedure setSortedArrDefComHeapi_D1_SK3
   10690             :         use pm_kind, only: SKC => SK3
   10691             : #include "pm_arraySort@routines.inc.F90"
   10692             :     end procedure
   10693             : #endif
   10694             : 
   10695             : #if SK2_ENABLED
   10696             :     module procedure setSortedArrDefComHeapi_D1_SK2
   10697             :         use pm_kind, only: SKC => SK2
   10698             : #include "pm_arraySort@routines.inc.F90"
   10699             :     end procedure
   10700             : #endif
   10701             : 
   10702             : #if SK1_ENABLED
   10703         107 :     module procedure setSortedArrDefComHeapi_D1_SK1
   10704             :         use pm_kind, only: SKC => SK1
   10705             : #include "pm_arraySort@routines.inc.F90"
   10706             :     end procedure
   10707             : #endif
   10708             : 
   10709             : #undef SK_ENABLED
   10710             : 
   10711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10712             : 
   10713             : #define IK_ENABLED 1
   10714             : 
   10715             : #if IK5_ENABLED
   10716         116 :     module procedure setSortedArrDefComHeapi_D1_IK5
   10717             :         use pm_kind, only: IKC => IK5
   10718             : #include "pm_arraySort@routines.inc.F90"
   10719             :     end procedure
   10720             : #endif
   10721             : 
   10722             : #if IK4_ENABLED
   10723         104 :     module procedure setSortedArrDefComHeapi_D1_IK4
   10724             :         use pm_kind, only: IKC => IK4
   10725             : #include "pm_arraySort@routines.inc.F90"
   10726             :     end procedure
   10727             : #endif
   10728             : 
   10729             : #if IK3_ENABLED
   10730         109 :     module procedure setSortedArrDefComHeapi_D1_IK3
   10731             :         use pm_kind, only: IKC => IK3
   10732             : #include "pm_arraySort@routines.inc.F90"
   10733             :     end procedure
   10734             : #endif
   10735             : 
   10736             : #if IK2_ENABLED
   10737         101 :     module procedure setSortedArrDefComHeapi_D1_IK2
   10738             :         use pm_kind, only: IKC => IK2
   10739             : #include "pm_arraySort@routines.inc.F90"
   10740             :     end procedure
   10741             : #endif
   10742             : 
   10743             : #if IK1_ENABLED
   10744          95 :     module procedure setSortedArrDefComHeapi_D1_IK1
   10745             :         use pm_kind, only: IKC => IK1
   10746             : #include "pm_arraySort@routines.inc.F90"
   10747             :     end procedure
   10748             : #endif
   10749             : 
   10750             : #undef IK_ENABLED
   10751             : 
   10752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10753             : 
   10754             : #define LK_ENABLED 1
   10755             : 
   10756             : #if LK5_ENABLED
   10757         101 :     module procedure setSortedArrDefComHeapi_D1_LK5
   10758             :         use pm_kind, only: LKC => LK5
   10759             : #include "pm_arraySort@routines.inc.F90"
   10760             :     end procedure
   10761             : #endif
   10762             : 
   10763             : #if LK4_ENABLED
   10764         103 :     module procedure setSortedArrDefComHeapi_D1_LK4
   10765             :         use pm_kind, only: LKC => LK4
   10766             : #include "pm_arraySort@routines.inc.F90"
   10767             :     end procedure
   10768             : #endif
   10769             : 
   10770             : #if LK3_ENABLED
   10771          99 :     module procedure setSortedArrDefComHeapi_D1_LK3
   10772             :         use pm_kind, only: LKC => LK3
   10773             : #include "pm_arraySort@routines.inc.F90"
   10774             :     end procedure
   10775             : #endif
   10776             : 
   10777             : #if LK2_ENABLED
   10778         108 :     module procedure setSortedArrDefComHeapi_D1_LK2
   10779             :         use pm_kind, only: LKC => LK2
   10780             : #include "pm_arraySort@routines.inc.F90"
   10781             :     end procedure
   10782             : #endif
   10783             : 
   10784             : #if LK1_ENABLED
   10785          97 :     module procedure setSortedArrDefComHeapi_D1_LK1
   10786             :         use pm_kind, only: LKC => LK1
   10787             : #include "pm_arraySort@routines.inc.F90"
   10788             :     end procedure
   10789             : #endif
   10790             : 
   10791             : #undef LK_ENABLED
   10792             : 
   10793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10794             : 
   10795             : #define CK_ENABLED 1
   10796             : 
   10797             : #if CK5_ENABLED
   10798             :     module procedure setSortedArrDefComHeapi_D1_CK5
   10799             :         use pm_kind, only: CKC => CK5
   10800             : #include "pm_arraySort@routines.inc.F90"
   10801             :     end procedure
   10802             : #endif
   10803             : 
   10804             : #if CK4_ENABLED
   10805          97 :     module procedure setSortedArrDefComHeapi_D1_CK4
   10806             :         use pm_kind, only: CKC => CK4
   10807             : #include "pm_arraySort@routines.inc.F90"
   10808             :     end procedure
   10809             : #endif
   10810             : 
   10811             : #if CK3_ENABLED
   10812         104 :     module procedure setSortedArrDefComHeapi_D1_CK3
   10813             :         use pm_kind, only: CKC => CK3
   10814             : #include "pm_arraySort@routines.inc.F90"
   10815             :     end procedure
   10816             : #endif
   10817             : 
   10818             : #if CK2_ENABLED
   10819          86 :     module procedure setSortedArrDefComHeapi_D1_CK2
   10820             :         use pm_kind, only: CKC => CK2
   10821             : #include "pm_arraySort@routines.inc.F90"
   10822             :     end procedure
   10823             : #endif
   10824             : 
   10825             : #if CK1_ENABLED
   10826         104 :     module procedure setSortedArrDefComHeapi_D1_CK1
   10827             :         use pm_kind, only: CKC => CK1
   10828             : #include "pm_arraySort@routines.inc.F90"
   10829             :     end procedure
   10830             : #endif
   10831             : 
   10832             : #undef CK_ENABLED
   10833             : 
   10834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10835             : 
   10836             : #define RK_ENABLED 1
   10837             : 
   10838             : #if RK5_ENABLED
   10839             :     module procedure setSortedArrDefComHeapi_D1_RK5
   10840             :         use pm_kind, only: RKC => RK5
   10841             : #include "pm_arraySort@routines.inc.F90"
   10842             :     end procedure
   10843             : #endif
   10844             : 
   10845             : #if RK4_ENABLED
   10846          97 :     module procedure setSortedArrDefComHeapi_D1_RK4
   10847             :         use pm_kind, only: RKC => RK4
   10848             : #include "pm_arraySort@routines.inc.F90"
   10849             :     end procedure
   10850             : #endif
   10851             : 
   10852             : #if RK3_ENABLED
   10853          90 :     module procedure setSortedArrDefComHeapi_D1_RK3
   10854             :         use pm_kind, only: RKC => RK3
   10855             : #include "pm_arraySort@routines.inc.F90"
   10856             :     end procedure
   10857             : #endif
   10858             : 
   10859             : #if RK2_ENABLED
   10860         103 :     module procedure setSortedArrDefComHeapi_D1_RK2
   10861             :         use pm_kind, only: RKC => RK2
   10862             : #include "pm_arraySort@routines.inc.F90"
   10863             :     end procedure
   10864             : #endif
   10865             : 
   10866             : #if RK1_ENABLED
   10867         105 :     module procedure setSortedArrDefComHeapi_D1_RK1
   10868             :         use pm_kind, only: RKC => RK1
   10869             : #include "pm_arraySort@routines.inc.F90"
   10870             :     end procedure
   10871             : #endif
   10872             : 
   10873             : #undef RK_ENABLED
   10874             : 
   10875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10876             : 
   10877             : ! LCOV_EXCL_START
   10878             : !#if !__GFORTRAN__
   10879             : 
   10880             : #define PSSK_ENABLED 1
   10881             : 
   10882             : #if SK5_ENABLED
   10883             :     module procedure setSortedArrDefComHeapi_D1_PSSK5
   10884             :         use pm_kind, only: SKC => SK5
   10885             : #include "pm_arraySort@routines.inc.F90"
   10886             :     end procedure
   10887             : #endif
   10888             : 
   10889             : #if SK4_ENABLED
   10890             :     module procedure setSortedArrDefComHeapi_D1_PSSK4
   10891             :         use pm_kind, only: SKC => SK4
   10892             : #include "pm_arraySort@routines.inc.F90"
   10893             :     end procedure
   10894             : #endif
   10895             : 
   10896             : #if SK3_ENABLED
   10897             :     module procedure setSortedArrDefComHeapi_D1_PSSK3
   10898             :         use pm_kind, only: SKC => SK3
   10899             : #include "pm_arraySort@routines.inc.F90"
   10900             :     end procedure
   10901             : #endif
   10902             : 
   10903             : #if SK2_ENABLED
   10904             :     module procedure setSortedArrDefComHeapi_D1_PSSK2
   10905             :         use pm_kind, only: SKC => SK2
   10906             : #include "pm_arraySort@routines.inc.F90"
   10907             :     end procedure
   10908             : #endif
   10909             : 
   10910             : #if SK1_ENABLED
   10911             :     module procedure setSortedArrDefComHeapi_D1_PSSK1
   10912             :         use pm_kind, only: SKC => SK1
   10913             : #include "pm_arraySort@routines.inc.F90"
   10914             :     end procedure
   10915             : #endif
   10916             : 
   10917             : #undef PSSK_ENABLED
   10918             : 
   10919             : !#endif
   10920             : ! LCOV_EXCL_STOP
   10921             : 
   10922             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10923             : 
   10924             : #define BSSK_ENABLED 1
   10925             : 
   10926           0 :     module procedure setSortedArrDefComHeapi_D1_BSSK
   10927             :         use pm_kind, only: SKC => SK
   10928             : #include "pm_arraySort@routines.inc.F90"
   10929             :     end procedure
   10930             : 
   10931             : #undef BSSK_ENABLED
   10932             : 
   10933             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10934             : 
   10935             : #undef D1_ENABLED
   10936             : 
   10937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10938             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10939             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10940             : 
   10941             : #undef Heapi_ENABLED
   10942             : 
   10943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10945             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10946             : 
   10947             : #undef DefCom_ENABLED
   10948             : 
   10949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10950             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10951             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10952             : 
   10953             : #undef Arr_ENABLED
   10954             : 
   10955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10958             : 
   10959             : #undef setSorted_ENABLED
   10960             : 
   10961             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10962             : 
   10963             : #define setSorted_ENABLED 1
   10964             : 
   10965             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10967             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10968             : 
   10969             : #define Arr_ENABLED 1
   10970             : 
   10971             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10974             : 
   10975             : #define DefCom_ENABLED 1
   10976             : 
   10977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10979             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10980             : 
   10981             : #define Heapr_ENABLED 1
   10982             : 
   10983             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10986             : 
   10987             : #define D0_ENABLED 1
   10988             : 
   10989             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10990             : 
   10991             : #define SK_ENABLED 1
   10992             : 
   10993             : #if SK5_ENABLED
   10994             :     module procedure setSortedArrDefComHeapr_D0_SK5
   10995             :         use pm_kind, only: SKC => SK5
   10996             : #include "pm_arraySort@routines.inc.F90"
   10997             :     end procedure
   10998             : #endif
   10999             : 
   11000             : #if SK4_ENABLED
   11001             :     module procedure setSortedArrDefComHeapr_D0_SK4
   11002             :         use pm_kind, only: SKC => SK4
   11003             : #include "pm_arraySort@routines.inc.F90"
   11004             :     end procedure
   11005             : #endif
   11006             : 
   11007             : #if SK3_ENABLED
   11008             :     module procedure setSortedArrDefComHeapr_D0_SK3
   11009             :         use pm_kind, only: SKC => SK3
   11010             : #include "pm_arraySort@routines.inc.F90"
   11011             :     end procedure
   11012             : #endif
   11013             : 
   11014             : #if SK2_ENABLED
   11015             :     module procedure setSortedArrDefComHeapr_D0_SK2
   11016             :         use pm_kind, only: SKC => SK2
   11017             : #include "pm_arraySort@routines.inc.F90"
   11018             :     end procedure
   11019             : #endif
   11020             : 
   11021             : #if SK1_ENABLED
   11022         101 :     module procedure setSortedArrDefComHeapr_D0_SK1
   11023             :         use pm_kind, only: SKC => SK1
   11024             : #include "pm_arraySort@routines.inc.F90"
   11025             :     end procedure
   11026             : #endif
   11027             : 
   11028             : #undef SK_ENABLED
   11029             : 
   11030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11031             : 
   11032             : #undef D0_ENABLED
   11033             : 
   11034             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11037             : 
   11038             : #define D1_ENABLED 1
   11039             : 
   11040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11041             : 
   11042             : #define SK_ENABLED 1
   11043             : 
   11044             : #if SK5_ENABLED
   11045             :     module procedure setSortedArrDefComHeapr_D1_SK5
   11046             :         use pm_kind, only: SKC => SK5
   11047             : #include "pm_arraySort@routines.inc.F90"
   11048             :     end procedure
   11049             : #endif
   11050             : 
   11051             : #if SK4_ENABLED
   11052             :     module procedure setSortedArrDefComHeapr_D1_SK4
   11053             :         use pm_kind, only: SKC => SK4
   11054             : #include "pm_arraySort@routines.inc.F90"
   11055             :     end procedure
   11056             : #endif
   11057             : 
   11058             : #if SK3_ENABLED
   11059             :     module procedure setSortedArrDefComHeapr_D1_SK3
   11060             :         use pm_kind, only: SKC => SK3
   11061             : #include "pm_arraySort@routines.inc.F90"
   11062             :     end procedure
   11063             : #endif
   11064             : 
   11065             : #if SK2_ENABLED
   11066             :     module procedure setSortedArrDefComHeapr_D1_SK2
   11067             :         use pm_kind, only: SKC => SK2
   11068             : #include "pm_arraySort@routines.inc.F90"
   11069             :     end procedure
   11070             : #endif
   11071             : 
   11072             : #if SK1_ENABLED
   11073          94 :     module procedure setSortedArrDefComHeapr_D1_SK1
   11074             :         use pm_kind, only: SKC => SK1
   11075             : #include "pm_arraySort@routines.inc.F90"
   11076             :     end procedure
   11077             : #endif
   11078             : 
   11079             : #undef SK_ENABLED
   11080             : 
   11081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11082             : 
   11083             : #define IK_ENABLED 1
   11084             : 
   11085             : #if IK5_ENABLED
   11086         101 :     module procedure setSortedArrDefComHeapr_D1_IK5
   11087             :         use pm_kind, only: IKC => IK5
   11088             : #include "pm_arraySort@routines.inc.F90"
   11089             :     end procedure
   11090             : #endif
   11091             : 
   11092             : #if IK4_ENABLED
   11093          90 :     module procedure setSortedArrDefComHeapr_D1_IK4
   11094             :         use pm_kind, only: IKC => IK4
   11095             : #include "pm_arraySort@routines.inc.F90"
   11096             :     end procedure
   11097             : #endif
   11098             : 
   11099             : #if IK3_ENABLED
   11100         101 :     module procedure setSortedArrDefComHeapr_D1_IK3
   11101             :         use pm_kind, only: IKC => IK3
   11102             : #include "pm_arraySort@routines.inc.F90"
   11103             :     end procedure
   11104             : #endif
   11105             : 
   11106             : #if IK2_ENABLED
   11107         111 :     module procedure setSortedArrDefComHeapr_D1_IK2
   11108             :         use pm_kind, only: IKC => IK2
   11109             : #include "pm_arraySort@routines.inc.F90"
   11110             :     end procedure
   11111             : #endif
   11112             : 
   11113             : #if IK1_ENABLED
   11114          93 :     module procedure setSortedArrDefComHeapr_D1_IK1
   11115             :         use pm_kind, only: IKC => IK1
   11116             : #include "pm_arraySort@routines.inc.F90"
   11117             :     end procedure
   11118             : #endif
   11119             : 
   11120             : #undef IK_ENABLED
   11121             : 
   11122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11123             : 
   11124             : #define LK_ENABLED 1
   11125             : 
   11126             : #if LK5_ENABLED
   11127          95 :     module procedure setSortedArrDefComHeapr_D1_LK5
   11128             :         use pm_kind, only: LKC => LK5
   11129             : #include "pm_arraySort@routines.inc.F90"
   11130             :     end procedure
   11131             : #endif
   11132             : 
   11133             : #if LK4_ENABLED
   11134          83 :     module procedure setSortedArrDefComHeapr_D1_LK4
   11135             :         use pm_kind, only: LKC => LK4
   11136             : #include "pm_arraySort@routines.inc.F90"
   11137             :     end procedure
   11138             : #endif
   11139             : 
   11140             : #if LK3_ENABLED
   11141          99 :     module procedure setSortedArrDefComHeapr_D1_LK3
   11142             :         use pm_kind, only: LKC => LK3
   11143             : #include "pm_arraySort@routines.inc.F90"
   11144             :     end procedure
   11145             : #endif
   11146             : 
   11147             : #if LK2_ENABLED
   11148          96 :     module procedure setSortedArrDefComHeapr_D1_LK2
   11149             :         use pm_kind, only: LKC => LK2
   11150             : #include "pm_arraySort@routines.inc.F90"
   11151             :     end procedure
   11152             : #endif
   11153             : 
   11154             : #if LK1_ENABLED
   11155          99 :     module procedure setSortedArrDefComHeapr_D1_LK1
   11156             :         use pm_kind, only: LKC => LK1
   11157             : #include "pm_arraySort@routines.inc.F90"
   11158             :     end procedure
   11159             : #endif
   11160             : 
   11161             : #undef LK_ENABLED
   11162             : 
   11163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11164             : 
   11165             : #define CK_ENABLED 1
   11166             : 
   11167             : #if CK5_ENABLED
   11168             :     module procedure setSortedArrDefComHeapr_D1_CK5
   11169             :         use pm_kind, only: CKC => CK5
   11170             : #include "pm_arraySort@routines.inc.F90"
   11171             :     end procedure
   11172             : #endif
   11173             : 
   11174             : #if CK4_ENABLED
   11175         101 :     module procedure setSortedArrDefComHeapr_D1_CK4
   11176             :         use pm_kind, only: CKC => CK4
   11177             : #include "pm_arraySort@routines.inc.F90"
   11178             :     end procedure
   11179             : #endif
   11180             : 
   11181             : #if CK3_ENABLED
   11182         103 :     module procedure setSortedArrDefComHeapr_D1_CK3
   11183             :         use pm_kind, only: CKC => CK3
   11184             : #include "pm_arraySort@routines.inc.F90"
   11185             :     end procedure
   11186             : #endif
   11187             : 
   11188             : #if CK2_ENABLED
   11189         106 :     module procedure setSortedArrDefComHeapr_D1_CK2
   11190             :         use pm_kind, only: CKC => CK2
   11191             : #include "pm_arraySort@routines.inc.F90"
   11192             :     end procedure
   11193             : #endif
   11194             : 
   11195             : #if CK1_ENABLED
   11196         110 :     module procedure setSortedArrDefComHeapr_D1_CK1
   11197             :         use pm_kind, only: CKC => CK1
   11198             : #include "pm_arraySort@routines.inc.F90"
   11199             :     end procedure
   11200             : #endif
   11201             : 
   11202             : #undef CK_ENABLED
   11203             : 
   11204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11205             : 
   11206             : #define RK_ENABLED 1
   11207             : 
   11208             : #if RK5_ENABLED
   11209             :     module procedure setSortedArrDefComHeapr_D1_RK5
   11210             :         use pm_kind, only: RKC => RK5
   11211             : #include "pm_arraySort@routines.inc.F90"
   11212             :     end procedure
   11213             : #endif
   11214             : 
   11215             : #if RK4_ENABLED
   11216         101 :     module procedure setSortedArrDefComHeapr_D1_RK4
   11217             :         use pm_kind, only: RKC => RK4
   11218             : #include "pm_arraySort@routines.inc.F90"
   11219             :     end procedure
   11220             : #endif
   11221             : 
   11222             : #if RK3_ENABLED
   11223         104 :     module procedure setSortedArrDefComHeapr_D1_RK3
   11224             :         use pm_kind, only: RKC => RK3
   11225             : #include "pm_arraySort@routines.inc.F90"
   11226             :     end procedure
   11227             : #endif
   11228             : 
   11229             : #if RK2_ENABLED
   11230         101 :     module procedure setSortedArrDefComHeapr_D1_RK2
   11231             :         use pm_kind, only: RKC => RK2
   11232             : #include "pm_arraySort@routines.inc.F90"
   11233             :     end procedure
   11234             : #endif
   11235             : 
   11236             : #if RK1_ENABLED
   11237          90 :     module procedure setSortedArrDefComHeapr_D1_RK1
   11238             :         use pm_kind, only: RKC => RK1
   11239             : #include "pm_arraySort@routines.inc.F90"
   11240             :     end procedure
   11241             : #endif
   11242             : 
   11243             : #undef RK_ENABLED
   11244             : 
   11245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11246             : 
   11247             : ! LCOV_EXCL_START
   11248             : !#if !__GFORTRAN__
   11249             : 
   11250             : #define PSSK_ENABLED 1
   11251             : 
   11252             : #if SK5_ENABLED
   11253             :     module procedure setSortedArrDefComHeapr_D1_PSSK5
   11254             :         use pm_kind, only: SKC => SK5
   11255             : #include "pm_arraySort@routines.inc.F90"
   11256             :     end procedure
   11257             : #endif
   11258             : 
   11259             : #if SK4_ENABLED
   11260             :     module procedure setSortedArrDefComHeapr_D1_PSSK4
   11261             :         use pm_kind, only: SKC => SK4
   11262             : #include "pm_arraySort@routines.inc.F90"
   11263             :     end procedure
   11264             : #endif
   11265             : 
   11266             : #if SK3_ENABLED
   11267             :     module procedure setSortedArrDefComHeapr_D1_PSSK3
   11268             :         use pm_kind, only: SKC => SK3
   11269             : #include "pm_arraySort@routines.inc.F90"
   11270             :     end procedure
   11271             : #endif
   11272             : 
   11273             : #if SK2_ENABLED
   11274             :     module procedure setSortedArrDefComHeapr_D1_PSSK2
   11275             :         use pm_kind, only: SKC => SK2
   11276             : #include "pm_arraySort@routines.inc.F90"
   11277             :     end procedure
   11278             : #endif
   11279             : 
   11280             : #if SK1_ENABLED
   11281             :     module procedure setSortedArrDefComHeapr_D1_PSSK1
   11282             :         use pm_kind, only: SKC => SK1
   11283             : #include "pm_arraySort@routines.inc.F90"
   11284             :     end procedure
   11285             : #endif
   11286             : 
   11287             : #undef PSSK_ENABLED
   11288             : 
   11289             : !#endif
   11290             : ! LCOV_EXCL_STOP
   11291             : 
   11292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11293             : 
   11294             : #define BSSK_ENABLED 1
   11295             : 
   11296           0 :     module procedure setSortedArrDefComHeapr_D1_BSSK
   11297             :         use pm_kind, only: SKC => SK
   11298             : #include "pm_arraySort@routines.inc.F90"
   11299             :     end procedure
   11300             : 
   11301             : #undef BSSK_ENABLED
   11302             : 
   11303             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11304             : 
   11305             : #undef D1_ENABLED
   11306             : 
   11307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11308             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11310             : 
   11311             : #undef Heapr_ENABLED
   11312             : 
   11313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11316             : 
   11317             : #undef DefCom_ENABLED
   11318             : 
   11319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11322             : 
   11323             : #undef Arr_ENABLED
   11324             : 
   11325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11328             : 
   11329             : #undef setSorted_ENABLED
   11330             : 
   11331             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11332             : 
   11333             : #define setSorted_ENABLED 1
   11334             : 
   11335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11338             : 
   11339             : #define Arr_ENABLED 1
   11340             : 
   11341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11344             : 
   11345             : #define DefCom_ENABLED 1
   11346             : 
   11347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11349             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11350             : 
   11351             : #define Insertionl_ENABLED 1
   11352             : 
   11353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11355             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11356             : 
   11357             : #define D0_ENABLED 1
   11358             : 
   11359             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11360             : 
   11361             : #define SK_ENABLED 1
   11362             : 
   11363             : #if SK5_ENABLED
   11364             :     module procedure setSortedArrDefComInsertionl_D0_SK5
   11365             :         use pm_kind, only: SKC => SK5
   11366             : #include "pm_arraySort@routines.inc.F90"
   11367             :     end procedure
   11368             : #endif
   11369             : 
   11370             : #if SK4_ENABLED
   11371             :     module procedure setSortedArrDefComInsertionl_D0_SK4
   11372             :         use pm_kind, only: SKC => SK4
   11373             : #include "pm_arraySort@routines.inc.F90"
   11374             :     end procedure
   11375             : #endif
   11376             : 
   11377             : #if SK3_ENABLED
   11378             :     module procedure setSortedArrDefComInsertionl_D0_SK3
   11379             :         use pm_kind, only: SKC => SK3
   11380             : #include "pm_arraySort@routines.inc.F90"
   11381             :     end procedure
   11382             : #endif
   11383             : 
   11384             : #if SK2_ENABLED
   11385             :     module procedure setSortedArrDefComInsertionl_D0_SK2
   11386             :         use pm_kind, only: SKC => SK2
   11387             : #include "pm_arraySort@routines.inc.F90"
   11388             :     end procedure
   11389             : #endif
   11390             : 
   11391             : #if SK1_ENABLED
   11392       28559 :     module procedure setSortedArrDefComInsertionl_D0_SK1
   11393             :         use pm_kind, only: SKC => SK1
   11394             : #include "pm_arraySort@routines.inc.F90"
   11395       28559 :     end procedure
   11396             : #endif
   11397             : 
   11398             : #undef SK_ENABLED
   11399             : 
   11400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11401             : 
   11402             : #undef D0_ENABLED
   11403             : 
   11404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11406             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11407             : 
   11408             : #define D1_ENABLED 1
   11409             : 
   11410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11411             : 
   11412             : #define SK_ENABLED 1
   11413             : 
   11414             : #if SK5_ENABLED
   11415             :     module procedure setSortedArrDefComInsertionl_D1_SK5
   11416             :         use pm_kind, only: SKC => SK5
   11417             : #include "pm_arraySort@routines.inc.F90"
   11418             :     end procedure
   11419             : #endif
   11420             : 
   11421             : #if SK4_ENABLED
   11422             :     module procedure setSortedArrDefComInsertionl_D1_SK4
   11423             :         use pm_kind, only: SKC => SK4
   11424             : #include "pm_arraySort@routines.inc.F90"
   11425             :     end procedure
   11426             : #endif
   11427             : 
   11428             : #if SK3_ENABLED
   11429             :     module procedure setSortedArrDefComInsertionl_D1_SK3
   11430             :         use pm_kind, only: SKC => SK3
   11431             : #include "pm_arraySort@routines.inc.F90"
   11432             :     end procedure
   11433             : #endif
   11434             : 
   11435             : #if SK2_ENABLED
   11436             :     module procedure setSortedArrDefComInsertionl_D1_SK2
   11437             :         use pm_kind, only: SKC => SK2
   11438             : #include "pm_arraySort@routines.inc.F90"
   11439             :     end procedure
   11440             : #endif
   11441             : 
   11442             : #if SK1_ENABLED
   11443       27166 :     module procedure setSortedArrDefComInsertionl_D1_SK1
   11444             :         use pm_kind, only: SKC => SK1
   11445             : #include "pm_arraySort@routines.inc.F90"
   11446       27166 :     end procedure
   11447             : #endif
   11448             : 
   11449             : #undef SK_ENABLED
   11450             : 
   11451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11452             : 
   11453             : #define IK_ENABLED 1
   11454             : 
   11455             : #if IK5_ENABLED
   11456       26567 :     module procedure setSortedArrDefComInsertionl_D1_IK5
   11457             :         use pm_kind, only: IKC => IK5
   11458             : #include "pm_arraySort@routines.inc.F90"
   11459       26567 :     end procedure
   11460             : #endif
   11461             : 
   11462             : #if IK4_ENABLED
   11463       26752 :     module procedure setSortedArrDefComInsertionl_D1_IK4
   11464             :         use pm_kind, only: IKC => IK4
   11465             : #include "pm_arraySort@routines.inc.F90"
   11466       26752 :     end procedure
   11467             : #endif
   11468             : 
   11469             : #if IK3_ENABLED
   11470       28673 :     module procedure setSortedArrDefComInsertionl_D1_IK3
   11471             :         use pm_kind, only: IKC => IK3
   11472             : #include "pm_arraySort@routines.inc.F90"
   11473       28673 :     end procedure
   11474             : #endif
   11475             : 
   11476             : #if IK2_ENABLED
   11477       26789 :     module procedure setSortedArrDefComInsertionl_D1_IK2
   11478             :         use pm_kind, only: IKC => IK2
   11479             : #include "pm_arraySort@routines.inc.F90"
   11480       26789 :     end procedure
   11481             : #endif
   11482             : 
   11483             : #if IK1_ENABLED
   11484       29962 :     module procedure setSortedArrDefComInsertionl_D1_IK1
   11485             :         use pm_kind, only: IKC => IK1
   11486             : #include "pm_arraySort@routines.inc.F90"
   11487       29962 :     end procedure
   11488             : #endif
   11489             : 
   11490             : #undef IK_ENABLED
   11491             : 
   11492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11493             : 
   11494             : #define LK_ENABLED 1
   11495             : 
   11496             : #if LK5_ENABLED
   11497       22615 :     module procedure setSortedArrDefComInsertionl_D1_LK5
   11498             :         use pm_kind, only: LKC => LK5
   11499             : #include "pm_arraySort@routines.inc.F90"
   11500       22615 :     end procedure
   11501             : #endif
   11502             : 
   11503             : #if LK4_ENABLED
   11504       27568 :     module procedure setSortedArrDefComInsertionl_D1_LK4
   11505             :         use pm_kind, only: LKC => LK4
   11506             : #include "pm_arraySort@routines.inc.F90"
   11507       27568 :     end procedure
   11508             : #endif
   11509             : 
   11510             : #if LK3_ENABLED
   11511       27479 :     module procedure setSortedArrDefComInsertionl_D1_LK3
   11512             :         use pm_kind, only: LKC => LK3
   11513             : #include "pm_arraySort@routines.inc.F90"
   11514       27479 :     end procedure
   11515             : #endif
   11516             : 
   11517             : #if LK2_ENABLED
   11518       29776 :     module procedure setSortedArrDefComInsertionl_D1_LK2
   11519             :         use pm_kind, only: LKC => LK2
   11520             : #include "pm_arraySort@routines.inc.F90"
   11521       29776 :     end procedure
   11522             : #endif
   11523             : 
   11524             : #if LK1_ENABLED
   11525       24654 :     module procedure setSortedArrDefComInsertionl_D1_LK1
   11526             :         use pm_kind, only: LKC => LK1
   11527             : #include "pm_arraySort@routines.inc.F90"
   11528       24654 :     end procedure
   11529             : #endif
   11530             : 
   11531             : #undef LK_ENABLED
   11532             : 
   11533             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11534             : 
   11535             : #define CK_ENABLED 1
   11536             : 
   11537             : #if CK5_ENABLED
   11538             :     module procedure setSortedArrDefComInsertionl_D1_CK5
   11539             :         use pm_kind, only: CKC => CK5
   11540             : #include "pm_arraySort@routines.inc.F90"
   11541             :     end procedure
   11542             : #endif
   11543             : 
   11544             : #if CK4_ENABLED
   11545       28766 :     module procedure setSortedArrDefComInsertionl_D1_CK4
   11546             :         use pm_kind, only: CKC => CK4
   11547             : #include "pm_arraySort@routines.inc.F90"
   11548       28766 :     end procedure
   11549             : #endif
   11550             : 
   11551             : #if CK3_ENABLED
   11552       29309 :     module procedure setSortedArrDefComInsertionl_D1_CK3
   11553             :         use pm_kind, only: CKC => CK3
   11554             : #include "pm_arraySort@routines.inc.F90"
   11555       29309 :     end procedure
   11556             : #endif
   11557             : 
   11558             : #if CK2_ENABLED
   11559       27147 :     module procedure setSortedArrDefComInsertionl_D1_CK2
   11560             :         use pm_kind, only: CKC => CK2
   11561             : #include "pm_arraySort@routines.inc.F90"
   11562       27147 :     end procedure
   11563             : #endif
   11564             : 
   11565             : #if CK1_ENABLED
   11566       28585 :     module procedure setSortedArrDefComInsertionl_D1_CK1
   11567             :         use pm_kind, only: CKC => CK1
   11568             : #include "pm_arraySort@routines.inc.F90"
   11569       28585 :     end procedure
   11570             : #endif
   11571             : 
   11572             : #undef CK_ENABLED
   11573             : 
   11574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11575             : 
   11576             : #define RK_ENABLED 1
   11577             : 
   11578             : #if RK5_ENABLED
   11579             :     module procedure setSortedArrDefComInsertionl_D1_RK5
   11580             :         use pm_kind, only: RKC => RK5
   11581             : #include "pm_arraySort@routines.inc.F90"
   11582             :     end procedure
   11583             : #endif
   11584             : 
   11585             : #if RK4_ENABLED
   11586       25447 :     module procedure setSortedArrDefComInsertionl_D1_RK4
   11587             :         use pm_kind, only: RKC => RK4
   11588             : #include "pm_arraySort@routines.inc.F90"
   11589       25447 :     end procedure
   11590             : #endif
   11591             : 
   11592             : #if RK3_ENABLED
   11593       30093 :     module procedure setSortedArrDefComInsertionl_D1_RK3
   11594             :         use pm_kind, only: RKC => RK3
   11595             : #include "pm_arraySort@routines.inc.F90"
   11596       30093 :     end procedure
   11597             : #endif
   11598             : 
   11599             : #if RK2_ENABLED
   11600       22710 :     module procedure setSortedArrDefComInsertionl_D1_RK2
   11601             :         use pm_kind, only: RKC => RK2
   11602             : #include "pm_arraySort@routines.inc.F90"
   11603       22710 :     end procedure
   11604             : #endif
   11605             : 
   11606             : #if RK1_ENABLED
   11607       23527 :     module procedure setSortedArrDefComInsertionl_D1_RK1
   11608             :         use pm_kind, only: RKC => RK1
   11609             : #include "pm_arraySort@routines.inc.F90"
   11610       23527 :     end procedure
   11611             : #endif
   11612             : 
   11613             : #undef RK_ENABLED
   11614             : 
   11615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11616             : 
   11617             : ! LCOV_EXCL_START
   11618             : !#if !__GFORTRAN__
   11619             : 
   11620             : #define PSSK_ENABLED 1
   11621             : 
   11622             : #if SK5_ENABLED
   11623             :     module procedure setSortedArrDefComInsertionl_D1_PSSK5
   11624             :         use pm_kind, only: SKC => SK5
   11625             : #include "pm_arraySort@routines.inc.F90"
   11626             :     end procedure
   11627             : #endif
   11628             : 
   11629             : #if SK4_ENABLED
   11630             :     module procedure setSortedArrDefComInsertionl_D1_PSSK4
   11631             :         use pm_kind, only: SKC => SK4
   11632             : #include "pm_arraySort@routines.inc.F90"
   11633             :     end procedure
   11634             : #endif
   11635             : 
   11636             : #if SK3_ENABLED
   11637             :     module procedure setSortedArrDefComInsertionl_D1_PSSK3
   11638             :         use pm_kind, only: SKC => SK3
   11639             : #include "pm_arraySort@routines.inc.F90"
   11640             :     end procedure
   11641             : #endif
   11642             : 
   11643             : #if SK2_ENABLED
   11644             :     module procedure setSortedArrDefComInsertionl_D1_PSSK2
   11645             :         use pm_kind, only: SKC => SK2
   11646             : #include "pm_arraySort@routines.inc.F90"
   11647             :     end procedure
   11648             : #endif
   11649             : 
   11650             : #if SK1_ENABLED
   11651             :     module procedure setSortedArrDefComInsertionl_D1_PSSK1
   11652             :         use pm_kind, only: SKC => SK1
   11653             : #include "pm_arraySort@routines.inc.F90"
   11654             :     end procedure
   11655             : #endif
   11656             : 
   11657             : #undef PSSK_ENABLED
   11658             : 
   11659             : !#endif
   11660             : ! LCOV_EXCL_STOP
   11661             : 
   11662             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11663             : 
   11664             : #define BSSK_ENABLED 1
   11665             : 
   11666           0 :     module procedure setSortedArrDefComInsertionl_D1_BSSK
   11667             :         use pm_kind, only: SKC => SK
   11668             : #include "pm_arraySort@routines.inc.F90"
   11669           0 :     end procedure
   11670             : 
   11671             : #undef BSSK_ENABLED
   11672             : 
   11673             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11674             : 
   11675             : #undef D1_ENABLED
   11676             : 
   11677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11680             : 
   11681             : #undef Insertionl_ENABLED
   11682             : 
   11683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11686             : 
   11687             : #undef DefCom_ENABLED
   11688             : 
   11689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11692             : 
   11693             : #undef Arr_ENABLED
   11694             : 
   11695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11698             : 
   11699             : #undef setSorted_ENABLED
   11700             : 
   11701             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11702             : 
   11703             : #define setSorted_ENABLED 1
   11704             : 
   11705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11707             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11708             : 
   11709             : #define Arr_ENABLED 1
   11710             : 
   11711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11714             : 
   11715             : #define DefCom_ENABLED 1
   11716             : 
   11717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11720             : 
   11721             : #define Insertionb_ENABLED 1
   11722             : 
   11723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11726             : 
   11727             : #define D0_ENABLED 1
   11728             : 
   11729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11730             : 
   11731             : #define SK_ENABLED 1
   11732             : 
   11733             : #if SK5_ENABLED
   11734             :     module procedure setSortedArrDefComInsertionb_D0_SK5
   11735             :         use pm_kind, only: SKC => SK5
   11736             : #include "pm_arraySort@routines.inc.F90"
   11737             :     end procedure
   11738             : #endif
   11739             : 
   11740             : #if SK4_ENABLED
   11741             :     module procedure setSortedArrDefComInsertionb_D0_SK4
   11742             :         use pm_kind, only: SKC => SK4
   11743             : #include "pm_arraySort@routines.inc.F90"
   11744             :     end procedure
   11745             : #endif
   11746             : 
   11747             : #if SK3_ENABLED
   11748             :     module procedure setSortedArrDefComInsertionb_D0_SK3
   11749             :         use pm_kind, only: SKC => SK3
   11750             : #include "pm_arraySort@routines.inc.F90"
   11751             :     end procedure
   11752             : #endif
   11753             : 
   11754             : #if SK2_ENABLED
   11755             :     module procedure setSortedArrDefComInsertionb_D0_SK2
   11756             :         use pm_kind, only: SKC => SK2
   11757             : #include "pm_arraySort@routines.inc.F90"
   11758             :     end procedure
   11759             : #endif
   11760             : 
   11761             : #if SK1_ENABLED
   11762          95 :     module procedure setSortedArrDefComInsertionb_D0_SK1
   11763             :         use pm_kind, only: SKC => SK1
   11764             : #include "pm_arraySort@routines.inc.F90"
   11765          95 :     end procedure
   11766             : #endif
   11767             : 
   11768             : #undef SK_ENABLED
   11769             : 
   11770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11771             : 
   11772             : #undef D0_ENABLED
   11773             : 
   11774             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11777             : 
   11778             : #define D1_ENABLED 1
   11779             : 
   11780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11781             : 
   11782             : #define SK_ENABLED 1
   11783             : 
   11784             : #if SK5_ENABLED
   11785             :     module procedure setSortedArrDefComInsertionb_D1_SK5
   11786             :         use pm_kind, only: SKC => SK5
   11787             : #include "pm_arraySort@routines.inc.F90"
   11788             :     end procedure
   11789             : #endif
   11790             : 
   11791             : #if SK4_ENABLED
   11792             :     module procedure setSortedArrDefComInsertionb_D1_SK4
   11793             :         use pm_kind, only: SKC => SK4
   11794             : #include "pm_arraySort@routines.inc.F90"
   11795             :     end procedure
   11796             : #endif
   11797             : 
   11798             : #if SK3_ENABLED
   11799             :     module procedure setSortedArrDefComInsertionb_D1_SK3
   11800             :         use pm_kind, only: SKC => SK3
   11801             : #include "pm_arraySort@routines.inc.F90"
   11802             :     end procedure
   11803             : #endif
   11804             : 
   11805             : #if SK2_ENABLED
   11806             :     module procedure setSortedArrDefComInsertionb_D1_SK2
   11807             :         use pm_kind, only: SKC => SK2
   11808             : #include "pm_arraySort@routines.inc.F90"
   11809             :     end procedure
   11810             : #endif
   11811             : 
   11812             : #if SK1_ENABLED
   11813          96 :     module procedure setSortedArrDefComInsertionb_D1_SK1
   11814             :         use pm_kind, only: SKC => SK1
   11815             : #include "pm_arraySort@routines.inc.F90"
   11816          96 :     end procedure
   11817             : #endif
   11818             : 
   11819             : #undef SK_ENABLED
   11820             : 
   11821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11822             : 
   11823             : #define IK_ENABLED 1
   11824             : 
   11825             : #if IK5_ENABLED
   11826         100 :     module procedure setSortedArrDefComInsertionb_D1_IK5
   11827             :         use pm_kind, only: IKC => IK5
   11828             : #include "pm_arraySort@routines.inc.F90"
   11829         100 :     end procedure
   11830             : #endif
   11831             : 
   11832             : #if IK4_ENABLED
   11833         106 :     module procedure setSortedArrDefComInsertionb_D1_IK4
   11834             :         use pm_kind, only: IKC => IK4
   11835             : #include "pm_arraySort@routines.inc.F90"
   11836         106 :     end procedure
   11837             : #endif
   11838             : 
   11839             : #if IK3_ENABLED
   11840          93 :     module procedure setSortedArrDefComInsertionb_D1_IK3
   11841             :         use pm_kind, only: IKC => IK3
   11842             : #include "pm_arraySort@routines.inc.F90"
   11843          93 :     end procedure
   11844             : #endif
   11845             : 
   11846             : #if IK2_ENABLED
   11847         103 :     module procedure setSortedArrDefComInsertionb_D1_IK2
   11848             :         use pm_kind, only: IKC => IK2
   11849             : #include "pm_arraySort@routines.inc.F90"
   11850         103 :     end procedure
   11851             : #endif
   11852             : 
   11853             : #if IK1_ENABLED
   11854         107 :     module procedure setSortedArrDefComInsertionb_D1_IK1
   11855             :         use pm_kind, only: IKC => IK1
   11856             : #include "pm_arraySort@routines.inc.F90"
   11857         107 :     end procedure
   11858             : #endif
   11859             : 
   11860             : #undef IK_ENABLED
   11861             : 
   11862             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11863             : 
   11864             : #define LK_ENABLED 1
   11865             : 
   11866             : #if LK5_ENABLED
   11867          95 :     module procedure setSortedArrDefComInsertionb_D1_LK5
   11868             :         use pm_kind, only: LKC => LK5
   11869             : #include "pm_arraySort@routines.inc.F90"
   11870          95 :     end procedure
   11871             : #endif
   11872             : 
   11873             : #if LK4_ENABLED
   11874          95 :     module procedure setSortedArrDefComInsertionb_D1_LK4
   11875             :         use pm_kind, only: LKC => LK4
   11876             : #include "pm_arraySort@routines.inc.F90"
   11877          95 :     end procedure
   11878             : #endif
   11879             : 
   11880             : #if LK3_ENABLED
   11881          93 :     module procedure setSortedArrDefComInsertionb_D1_LK3
   11882             :         use pm_kind, only: LKC => LK3
   11883             : #include "pm_arraySort@routines.inc.F90"
   11884          93 :     end procedure
   11885             : #endif
   11886             : 
   11887             : #if LK2_ENABLED
   11888          97 :     module procedure setSortedArrDefComInsertionb_D1_LK2
   11889             :         use pm_kind, only: LKC => LK2
   11890             : #include "pm_arraySort@routines.inc.F90"
   11891          97 :     end procedure
   11892             : #endif
   11893             : 
   11894             : #if LK1_ENABLED
   11895         106 :     module procedure setSortedArrDefComInsertionb_D1_LK1
   11896             :         use pm_kind, only: LKC => LK1
   11897             : #include "pm_arraySort@routines.inc.F90"
   11898         106 :     end procedure
   11899             : #endif
   11900             : 
   11901             : #undef LK_ENABLED
   11902             : 
   11903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11904             : 
   11905             : #define CK_ENABLED 1
   11906             : 
   11907             : #if CK5_ENABLED
   11908             :     module procedure setSortedArrDefComInsertionb_D1_CK5
   11909             :         use pm_kind, only: CKC => CK5
   11910             : #include "pm_arraySort@routines.inc.F90"
   11911             :     end procedure
   11912             : #endif
   11913             : 
   11914             : #if CK4_ENABLED
   11915         110 :     module procedure setSortedArrDefComInsertionb_D1_CK4
   11916             :         use pm_kind, only: CKC => CK4
   11917             : #include "pm_arraySort@routines.inc.F90"
   11918         110 :     end procedure
   11919             : #endif
   11920             : 
   11921             : #if CK3_ENABLED
   11922          95 :     module procedure setSortedArrDefComInsertionb_D1_CK3
   11923             :         use pm_kind, only: CKC => CK3
   11924             : #include "pm_arraySort@routines.inc.F90"
   11925          95 :     end procedure
   11926             : #endif
   11927             : 
   11928             : #if CK2_ENABLED
   11929          98 :     module procedure setSortedArrDefComInsertionb_D1_CK2
   11930             :         use pm_kind, only: CKC => CK2
   11931             : #include "pm_arraySort@routines.inc.F90"
   11932          98 :     end procedure
   11933             : #endif
   11934             : 
   11935             : #if CK1_ENABLED
   11936          88 :     module procedure setSortedArrDefComInsertionb_D1_CK1
   11937             :         use pm_kind, only: CKC => CK1
   11938             : #include "pm_arraySort@routines.inc.F90"
   11939          88 :     end procedure
   11940             : #endif
   11941             : 
   11942             : #undef CK_ENABLED
   11943             : 
   11944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11945             : 
   11946             : #define RK_ENABLED 1
   11947             : 
   11948             : #if RK5_ENABLED
   11949             :     module procedure setSortedArrDefComInsertionb_D1_RK5
   11950             :         use pm_kind, only: RKC => RK5
   11951             : #include "pm_arraySort@routines.inc.F90"
   11952             :     end procedure
   11953             : #endif
   11954             : 
   11955             : #if RK4_ENABLED
   11956         104 :     module procedure setSortedArrDefComInsertionb_D1_RK4
   11957             :         use pm_kind, only: RKC => RK4
   11958             : #include "pm_arraySort@routines.inc.F90"
   11959         104 :     end procedure
   11960             : #endif
   11961             : 
   11962             : #if RK3_ENABLED
   11963         103 :     module procedure setSortedArrDefComInsertionb_D1_RK3
   11964             :         use pm_kind, only: RKC => RK3
   11965             : #include "pm_arraySort@routines.inc.F90"
   11966         103 :     end procedure
   11967             : #endif
   11968             : 
   11969             : #if RK2_ENABLED
   11970         101 :     module procedure setSortedArrDefComInsertionb_D1_RK2
   11971             :         use pm_kind, only: RKC => RK2
   11972             : #include "pm_arraySort@routines.inc.F90"
   11973         101 :     end procedure
   11974             : #endif
   11975             : 
   11976             : #if RK1_ENABLED
   11977         101 :     module procedure setSortedArrDefComInsertionb_D1_RK1
   11978             :         use pm_kind, only: RKC => RK1
   11979             : #include "pm_arraySort@routines.inc.F90"
   11980         101 :     end procedure
   11981             : #endif
   11982             : 
   11983             : #undef RK_ENABLED
   11984             : 
   11985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11986             : 
   11987             : ! LCOV_EXCL_START
   11988             : !#if !__GFORTRAN__
   11989             : 
   11990             : #define PSSK_ENABLED 1
   11991             : 
   11992             : #if SK5_ENABLED
   11993             :     module procedure setSortedArrDefComInsertionb_D1_PSSK5
   11994             :         use pm_kind, only: SKC => SK5
   11995             : #include "pm_arraySort@routines.inc.F90"
   11996             :     end procedure
   11997             : #endif
   11998             : 
   11999             : #if SK4_ENABLED
   12000             :     module procedure setSortedArrDefComInsertionb_D1_PSSK4
   12001             :         use pm_kind, only: SKC => SK4
   12002             : #include "pm_arraySort@routines.inc.F90"
   12003             :     end procedure
   12004             : #endif
   12005             : 
   12006             : #if SK3_ENABLED
   12007             :     module procedure setSortedArrDefComInsertionb_D1_PSSK3
   12008             :         use pm_kind, only: SKC => SK3
   12009             : #include "pm_arraySort@routines.inc.F90"
   12010             :     end procedure
   12011             : #endif
   12012             : 
   12013             : #if SK2_ENABLED
   12014             :     module procedure setSortedArrDefComInsertionb_D1_PSSK2
   12015             :         use pm_kind, only: SKC => SK2
   12016             : #include "pm_arraySort@routines.inc.F90"
   12017             :     end procedure
   12018             : #endif
   12019             : 
   12020             : #if SK1_ENABLED
   12021             :     module procedure setSortedArrDefComInsertionb_D1_PSSK1
   12022             :         use pm_kind, only: SKC => SK1
   12023             : #include "pm_arraySort@routines.inc.F90"
   12024             :     end procedure
   12025             : #endif
   12026             : 
   12027             : #undef PSSK_ENABLED
   12028             : 
   12029             : !#endif
   12030             : ! LCOV_EXCL_STOP
   12031             : 
   12032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12033             : 
   12034             : #define BSSK_ENABLED 1
   12035             : 
   12036           0 :     module procedure setSortedArrDefComInsertionb_D1_BSSK
   12037             :         use pm_kind, only: SKC => SK
   12038             : #include "pm_arraySort@routines.inc.F90"
   12039           0 :     end procedure
   12040             : 
   12041             : #undef BSSK_ENABLED
   12042             : 
   12043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12044             : 
   12045             : #undef D1_ENABLED
   12046             : 
   12047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12050             : 
   12051             : #undef Insertionb_ENABLED
   12052             : 
   12053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12056             : 
   12057             : #undef DefCom_ENABLED
   12058             : 
   12059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12062             : 
   12063             : #undef Arr_ENABLED
   12064             : 
   12065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12068             : 
   12069             : #undef setSorted_ENABLED
   12070             : 
   12071             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12072             : 
   12073             : #define setSorted_ENABLED 1
   12074             : 
   12075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12078             : 
   12079             : #define Arr_ENABLED 1
   12080             : 
   12081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12084             : 
   12085             : #define DefCom_ENABLED 1
   12086             : 
   12087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12090             : 
   12091             : #define Merger_ENABLED 1
   12092             : 
   12093             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12096             : 
   12097             : #define D0_ENABLED 1
   12098             : 
   12099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12100             : 
   12101             : #define SK_ENABLED 1
   12102             : 
   12103             : #if SK5_ENABLED
   12104             :     module procedure setSortedArrDefComMerger_D0_SK5
   12105             :         use pm_kind, only: SKC => SK5
   12106             : #include "pm_arraySort@routines.inc.F90"
   12107             :     end procedure
   12108             : #endif
   12109             : 
   12110             : #if SK4_ENABLED
   12111             :     module procedure setSortedArrDefComMerger_D0_SK4
   12112             :         use pm_kind, only: SKC => SK4
   12113             : #include "pm_arraySort@routines.inc.F90"
   12114             :     end procedure
   12115             : #endif
   12116             : 
   12117             : #if SK3_ENABLED
   12118             :     module procedure setSortedArrDefComMerger_D0_SK3
   12119             :         use pm_kind, only: SKC => SK3
   12120             : #include "pm_arraySort@routines.inc.F90"
   12121             :     end procedure
   12122             : #endif
   12123             : 
   12124             : #if SK2_ENABLED
   12125             :     module procedure setSortedArrDefComMerger_D0_SK2
   12126             :         use pm_kind, only: SKC => SK2
   12127             : #include "pm_arraySort@routines.inc.F90"
   12128             :     end procedure
   12129             : #endif
   12130             : 
   12131             : #if SK1_ENABLED
   12132        5116 :     module procedure setSortedArrDefComMerger_D0_SK1
   12133             :         use pm_kind, only: SKC => SK1
   12134             : #include "pm_arraySort@routines.inc.F90"
   12135        5116 :     end procedure
   12136             : #endif
   12137             : 
   12138             : #undef SK_ENABLED
   12139             : 
   12140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12141             : 
   12142             : #undef D0_ENABLED
   12143             : 
   12144             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12145             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12147             : 
   12148             : #define D1_ENABLED 1
   12149             : 
   12150             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12151             : 
   12152             : #define SK_ENABLED 1
   12153             : 
   12154             : #if SK5_ENABLED
   12155             :     module procedure setSortedArrDefComMerger_D1_SK5
   12156             :         use pm_kind, only: SKC => SK5
   12157             : #include "pm_arraySort@routines.inc.F90"
   12158             :     end procedure
   12159             : #endif
   12160             : 
   12161             : #if SK4_ENABLED
   12162             :     module procedure setSortedArrDefComMerger_D1_SK4
   12163             :         use pm_kind, only: SKC => SK4
   12164             : #include "pm_arraySort@routines.inc.F90"
   12165             :     end procedure
   12166             : #endif
   12167             : 
   12168             : #if SK3_ENABLED
   12169             :     module procedure setSortedArrDefComMerger_D1_SK3
   12170             :         use pm_kind, only: SKC => SK3
   12171             : #include "pm_arraySort@routines.inc.F90"
   12172             :     end procedure
   12173             : #endif
   12174             : 
   12175             : #if SK2_ENABLED
   12176             :     module procedure setSortedArrDefComMerger_D1_SK2
   12177             :         use pm_kind, only: SKC => SK2
   12178             : #include "pm_arraySort@routines.inc.F90"
   12179             :     end procedure
   12180             : #endif
   12181             : 
   12182             : #if SK1_ENABLED
   12183        5065 :     module procedure setSortedArrDefComMerger_D1_SK1
   12184             :         use pm_kind, only: SKC => SK1
   12185             : #include "pm_arraySort@routines.inc.F90"
   12186             :     end procedure
   12187             : #endif
   12188             : 
   12189             : #undef SK_ENABLED
   12190             : 
   12191             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12192             : 
   12193             : #define IK_ENABLED 1
   12194             : 
   12195             : #if IK5_ENABLED
   12196        4093 :     module procedure setSortedArrDefComMerger_D1_IK5
   12197             :         use pm_kind, only: IKC => IK5
   12198             : #include "pm_arraySort@routines.inc.F90"
   12199             :     end procedure
   12200             : #endif
   12201             : 
   12202             : #if IK4_ENABLED
   12203        4358 :     module procedure setSortedArrDefComMerger_D1_IK4
   12204             :         use pm_kind, only: IKC => IK4
   12205             : #include "pm_arraySort@routines.inc.F90"
   12206             :     end procedure
   12207             : #endif
   12208             : 
   12209             : #if IK3_ENABLED
   12210        5549 :     module procedure setSortedArrDefComMerger_D1_IK3
   12211             :         use pm_kind, only: IKC => IK3
   12212             : #include "pm_arraySort@routines.inc.F90"
   12213             :     end procedure
   12214             : #endif
   12215             : 
   12216             : #if IK2_ENABLED
   12217        4928 :     module procedure setSortedArrDefComMerger_D1_IK2
   12218             :         use pm_kind, only: IKC => IK2
   12219             : #include "pm_arraySort@routines.inc.F90"
   12220             :     end procedure
   12221             : #endif
   12222             : 
   12223             : #if IK1_ENABLED
   12224        5231 :     module procedure setSortedArrDefComMerger_D1_IK1
   12225             :         use pm_kind, only: IKC => IK1
   12226             : #include "pm_arraySort@routines.inc.F90"
   12227             :     end procedure
   12228             : #endif
   12229             : 
   12230             : #undef IK_ENABLED
   12231             : 
   12232             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12233             : 
   12234             : #define LK_ENABLED 1
   12235             : 
   12236             : #if LK5_ENABLED
   12237        4418 :     module procedure setSortedArrDefComMerger_D1_LK5
   12238             :         use pm_kind, only: LKC => LK5
   12239             : #include "pm_arraySort@routines.inc.F90"
   12240             :     end procedure
   12241             : #endif
   12242             : 
   12243             : #if LK4_ENABLED
   12244        4565 :     module procedure setSortedArrDefComMerger_D1_LK4
   12245             :         use pm_kind, only: LKC => LK4
   12246             : #include "pm_arraySort@routines.inc.F90"
   12247             :     end procedure
   12248             : #endif
   12249             : 
   12250             : #if LK3_ENABLED
   12251        5043 :     module procedure setSortedArrDefComMerger_D1_LK3
   12252             :         use pm_kind, only: LKC => LK3
   12253             : #include "pm_arraySort@routines.inc.F90"
   12254             :     end procedure
   12255             : #endif
   12256             : 
   12257             : #if LK2_ENABLED
   12258        4527 :     module procedure setSortedArrDefComMerger_D1_LK2
   12259             :         use pm_kind, only: LKC => LK2
   12260             : #include "pm_arraySort@routines.inc.F90"
   12261             :     end procedure
   12262             : #endif
   12263             : 
   12264             : #if LK1_ENABLED
   12265        4640 :     module procedure setSortedArrDefComMerger_D1_LK1
   12266             :         use pm_kind, only: LKC => LK1
   12267             : #include "pm_arraySort@routines.inc.F90"
   12268             :     end procedure
   12269             : #endif
   12270             : 
   12271             : #undef LK_ENABLED
   12272             : 
   12273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12274             : 
   12275             : #define CK_ENABLED 1
   12276             : 
   12277             : #if CK5_ENABLED
   12278             :     module procedure setSortedArrDefComMerger_D1_CK5
   12279             :         use pm_kind, only: CKC => CK5
   12280             : #include "pm_arraySort@routines.inc.F90"
   12281             :     end procedure
   12282             : #endif
   12283             : 
   12284             : #if CK4_ENABLED
   12285        5260 :     module procedure setSortedArrDefComMerger_D1_CK4
   12286             :         use pm_kind, only: CKC => CK4
   12287             : #include "pm_arraySort@routines.inc.F90"
   12288             :     end procedure
   12289             : #endif
   12290             : 
   12291             : #if CK3_ENABLED
   12292        4464 :     module procedure setSortedArrDefComMerger_D1_CK3
   12293             :         use pm_kind, only: CKC => CK3
   12294             : #include "pm_arraySort@routines.inc.F90"
   12295             :     end procedure
   12296             : #endif
   12297             : 
   12298             : #if CK2_ENABLED
   12299        4377 :     module procedure setSortedArrDefComMerger_D1_CK2
   12300             :         use pm_kind, only: CKC => CK2
   12301             : #include "pm_arraySort@routines.inc.F90"
   12302             :     end procedure
   12303             : #endif
   12304             : 
   12305             : #if CK1_ENABLED
   12306        4527 :     module procedure setSortedArrDefComMerger_D1_CK1
   12307             :         use pm_kind, only: CKC => CK1
   12308             : #include "pm_arraySort@routines.inc.F90"
   12309             :     end procedure
   12310             : #endif
   12311             : 
   12312             : #undef CK_ENABLED
   12313             : 
   12314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12315             : 
   12316             : #define RK_ENABLED 1
   12317             : 
   12318             : #if RK5_ENABLED
   12319             :     module procedure setSortedArrDefComMerger_D1_RK5
   12320             :         use pm_kind, only: RKC => RK5
   12321             : #include "pm_arraySort@routines.inc.F90"
   12322             :     end procedure
   12323             : #endif
   12324             : 
   12325             : #if RK4_ENABLED
   12326        5368 :     module procedure setSortedArrDefComMerger_D1_RK4
   12327             :         use pm_kind, only: RKC => RK4
   12328             : #include "pm_arraySort@routines.inc.F90"
   12329             :     end procedure
   12330             : #endif
   12331             : 
   12332             : #if RK3_ENABLED
   12333        5044 :     module procedure setSortedArrDefComMerger_D1_RK3
   12334             :         use pm_kind, only: RKC => RK3
   12335             : #include "pm_arraySort@routines.inc.F90"
   12336             :     end procedure
   12337             : #endif
   12338             : 
   12339             : #if RK2_ENABLED
   12340        4078 :     module procedure setSortedArrDefComMerger_D1_RK2
   12341             :         use pm_kind, only: RKC => RK2
   12342             : #include "pm_arraySort@routines.inc.F90"
   12343             :     end procedure
   12344             : #endif
   12345             : 
   12346             : #if RK1_ENABLED
   12347        5071 :     module procedure setSortedArrDefComMerger_D1_RK1
   12348             :         use pm_kind, only: RKC => RK1
   12349             : #include "pm_arraySort@routines.inc.F90"
   12350             :     end procedure
   12351             : #endif
   12352             : 
   12353             : #undef RK_ENABLED
   12354             : 
   12355             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12356             : 
   12357             : ! LCOV_EXCL_START
   12358             : !#if !__GFORTRAN__
   12359             : 
   12360             : #define PSSK_ENABLED 1
   12361             : 
   12362             : #if SK5_ENABLED
   12363             :     module procedure setSortedArrDefComMerger_D1_PSSK5
   12364             :         use pm_kind, only: SKC => SK5
   12365             : #include "pm_arraySort@routines.inc.F90"
   12366             :     end procedure
   12367             : #endif
   12368             : 
   12369             : #if SK4_ENABLED
   12370             :     module procedure setSortedArrDefComMerger_D1_PSSK4
   12371             :         use pm_kind, only: SKC => SK4
   12372             : #include "pm_arraySort@routines.inc.F90"
   12373             :     end procedure
   12374             : #endif
   12375             : 
   12376             : #if SK3_ENABLED
   12377             :     module procedure setSortedArrDefComMerger_D1_PSSK3
   12378             :         use pm_kind, only: SKC => SK3
   12379             : #include "pm_arraySort@routines.inc.F90"
   12380             :     end procedure
   12381             : #endif
   12382             : 
   12383             : #if SK2_ENABLED
   12384             :     module procedure setSortedArrDefComMerger_D1_PSSK2
   12385             :         use pm_kind, only: SKC => SK2
   12386             : #include "pm_arraySort@routines.inc.F90"
   12387             :     end procedure
   12388             : #endif
   12389             : 
   12390             : #if SK1_ENABLED
   12391             :     module procedure setSortedArrDefComMerger_D1_PSSK1
   12392             :         use pm_kind, only: SKC => SK1
   12393             : #include "pm_arraySort@routines.inc.F90"
   12394             :     end procedure
   12395             : #endif
   12396             : 
   12397             : #undef PSSK_ENABLED
   12398             : 
   12399             : !#endif
   12400             : ! LCOV_EXCL_STOP
   12401             : 
   12402             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12403             : 
   12404             : #define BSSK_ENABLED 1
   12405             : 
   12406           0 :     module procedure setSortedArrDefComMerger_D1_BSSK
   12407             :         use pm_kind, only: SKC => SK
   12408             : #include "pm_arraySort@routines.inc.F90"
   12409           0 :     end procedure
   12410             : 
   12411             : #undef BSSK_ENABLED
   12412             : 
   12413             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12414             : 
   12415             : #undef D1_ENABLED
   12416             : 
   12417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12418             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12419             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12420             : 
   12421             : #undef Merger_ENABLED
   12422             : 
   12423             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12426             : 
   12427             : #undef DefCom_ENABLED
   12428             : 
   12429             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12430             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12432             : 
   12433             : #undef Arr_ENABLED
   12434             : 
   12435             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12436             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12438             : 
   12439             : #undef setSorted_ENABLED
   12440             : 
   12441             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12442             : 
   12443             : #define setSorted_ENABLED 1
   12444             : 
   12445             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12448             : 
   12449             : #define Arr_ENABLED 1
   12450             : 
   12451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12452             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12454             : 
   12455             : #define DefCom_ENABLED 1
   12456             : 
   12457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12460             : 
   12461             : #define Selection_ENABLED 1
   12462             : 
   12463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12466             : 
   12467             : #define D0_ENABLED 1
   12468             : 
   12469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12470             : 
   12471             : #define SK_ENABLED 1
   12472             : 
   12473             : #if SK5_ENABLED
   12474             :     module procedure setSortedArrDefComSelection_D0_SK5
   12475             :         use pm_kind, only: SKC => SK5
   12476             : #include "pm_arraySort@routines.inc.F90"
   12477             :     end procedure
   12478             : #endif
   12479             : 
   12480             : #if SK4_ENABLED
   12481             :     module procedure setSortedArrDefComSelection_D0_SK4
   12482             :         use pm_kind, only: SKC => SK4
   12483             : #include "pm_arraySort@routines.inc.F90"
   12484             :     end procedure
   12485             : #endif
   12486             : 
   12487             : #if SK3_ENABLED
   12488             :     module procedure setSortedArrDefComSelection_D0_SK3
   12489             :         use pm_kind, only: SKC => SK3
   12490             : #include "pm_arraySort@routines.inc.F90"
   12491             :     end procedure
   12492             : #endif
   12493             : 
   12494             : #if SK2_ENABLED
   12495             :     module procedure setSortedArrDefComSelection_D0_SK2
   12496             :         use pm_kind, only: SKC => SK2
   12497             : #include "pm_arraySort@routines.inc.F90"
   12498             :     end procedure
   12499             : #endif
   12500             : 
   12501             : #if SK1_ENABLED
   12502          90 :     module procedure setSortedArrDefComSelection_D0_SK1
   12503             :         use pm_kind, only: SKC => SK1
   12504             : #include "pm_arraySort@routines.inc.F90"
   12505          90 :     end procedure
   12506             : #endif
   12507             : 
   12508             : #undef SK_ENABLED
   12509             : 
   12510             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12511             : 
   12512             : #undef D0_ENABLED
   12513             : 
   12514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12516             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12517             : 
   12518             : #define D1_ENABLED 1
   12519             : 
   12520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12521             : 
   12522             : #define SK_ENABLED 1
   12523             : 
   12524             : #if SK5_ENABLED
   12525             :     module procedure setSortedArrDefComSelection_D1_SK5
   12526             :         use pm_kind, only: SKC => SK5
   12527             : #include "pm_arraySort@routines.inc.F90"
   12528             :     end procedure
   12529             : #endif
   12530             : 
   12531             : #if SK4_ENABLED
   12532             :     module procedure setSortedArrDefComSelection_D1_SK4
   12533             :         use pm_kind, only: SKC => SK4
   12534             : #include "pm_arraySort@routines.inc.F90"
   12535             :     end procedure
   12536             : #endif
   12537             : 
   12538             : #if SK3_ENABLED
   12539             :     module procedure setSortedArrDefComSelection_D1_SK3
   12540             :         use pm_kind, only: SKC => SK3
   12541             : #include "pm_arraySort@routines.inc.F90"
   12542             :     end procedure
   12543             : #endif
   12544             : 
   12545             : #if SK2_ENABLED
   12546             :     module procedure setSortedArrDefComSelection_D1_SK2
   12547             :         use pm_kind, only: SKC => SK2
   12548             : #include "pm_arraySort@routines.inc.F90"
   12549             :     end procedure
   12550             : #endif
   12551             : 
   12552             : #if SK1_ENABLED
   12553          96 :     module procedure setSortedArrDefComSelection_D1_SK1
   12554             :         use pm_kind, only: SKC => SK1
   12555             : #include "pm_arraySort@routines.inc.F90"
   12556          96 :     end procedure
   12557             : #endif
   12558             : 
   12559             : #undef SK_ENABLED
   12560             : 
   12561             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12562             : 
   12563             : #define IK_ENABLED 1
   12564             : 
   12565             : #if IK5_ENABLED
   12566         113 :     module procedure setSortedArrDefComSelection_D1_IK5
   12567             :         use pm_kind, only: IKC => IK5
   12568             : #include "pm_arraySort@routines.inc.F90"
   12569         113 :     end procedure
   12570             : #endif
   12571             : 
   12572             : #if IK4_ENABLED
   12573         107 :     module procedure setSortedArrDefComSelection_D1_IK4
   12574             :         use pm_kind, only: IKC => IK4
   12575             : #include "pm_arraySort@routines.inc.F90"
   12576         107 :     end procedure
   12577             : #endif
   12578             : 
   12579             : #if IK3_ENABLED
   12580         104 :     module procedure setSortedArrDefComSelection_D1_IK3
   12581             :         use pm_kind, only: IKC => IK3
   12582             : #include "pm_arraySort@routines.inc.F90"
   12583         104 :     end procedure
   12584             : #endif
   12585             : 
   12586             : #if IK2_ENABLED
   12587          93 :     module procedure setSortedArrDefComSelection_D1_IK2
   12588             :         use pm_kind, only: IKC => IK2
   12589             : #include "pm_arraySort@routines.inc.F90"
   12590          93 :     end procedure
   12591             : #endif
   12592             : 
   12593             : #if IK1_ENABLED
   12594         103 :     module procedure setSortedArrDefComSelection_D1_IK1
   12595             :         use pm_kind, only: IKC => IK1
   12596             : #include "pm_arraySort@routines.inc.F90"
   12597         103 :     end procedure
   12598             : #endif
   12599             : 
   12600             : #undef IK_ENABLED
   12601             : 
   12602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12603             : 
   12604             : #define LK_ENABLED 1
   12605             : 
   12606             : #if LK5_ENABLED
   12607          99 :     module procedure setSortedArrDefComSelection_D1_LK5
   12608             :         use pm_kind, only: LKC => LK5
   12609             : #include "pm_arraySort@routines.inc.F90"
   12610          99 :     end procedure
   12611             : #endif
   12612             : 
   12613             : #if LK4_ENABLED
   12614         114 :     module procedure setSortedArrDefComSelection_D1_LK4
   12615             :         use pm_kind, only: LKC => LK4
   12616             : #include "pm_arraySort@routines.inc.F90"
   12617         114 :     end procedure
   12618             : #endif
   12619             : 
   12620             : #if LK3_ENABLED
   12621          91 :     module procedure setSortedArrDefComSelection_D1_LK3
   12622             :         use pm_kind, only: LKC => LK3
   12623             : #include "pm_arraySort@routines.inc.F90"
   12624          91 :     end procedure
   12625             : #endif
   12626             : 
   12627             : #if LK2_ENABLED
   12628         109 :     module procedure setSortedArrDefComSelection_D1_LK2
   12629             :         use pm_kind, only: LKC => LK2
   12630             : #include "pm_arraySort@routines.inc.F90"
   12631         109 :     end procedure
   12632             : #endif
   12633             : 
   12634             : #if LK1_ENABLED
   12635         101 :     module procedure setSortedArrDefComSelection_D1_LK1
   12636             :         use pm_kind, only: LKC => LK1
   12637             : #include "pm_arraySort@routines.inc.F90"
   12638         101 :     end procedure
   12639             : #endif
   12640             : 
   12641             : #undef LK_ENABLED
   12642             : 
   12643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12644             : 
   12645             : #define CK_ENABLED 1
   12646             : 
   12647             : #if CK5_ENABLED
   12648             :     module procedure setSortedArrDefComSelection_D1_CK5
   12649             :         use pm_kind, only: CKC => CK5
   12650             : #include "pm_arraySort@routines.inc.F90"
   12651             :     end procedure
   12652             : #endif
   12653             : 
   12654             : #if CK4_ENABLED
   12655         100 :     module procedure setSortedArrDefComSelection_D1_CK4
   12656             :         use pm_kind, only: CKC => CK4
   12657             : #include "pm_arraySort@routines.inc.F90"
   12658         100 :     end procedure
   12659             : #endif
   12660             : 
   12661             : #if CK3_ENABLED
   12662         102 :     module procedure setSortedArrDefComSelection_D1_CK3
   12663             :         use pm_kind, only: CKC => CK3
   12664             : #include "pm_arraySort@routines.inc.F90"
   12665         102 :     end procedure
   12666             : #endif
   12667             : 
   12668             : #if CK2_ENABLED
   12669         110 :     module procedure setSortedArrDefComSelection_D1_CK2
   12670             :         use pm_kind, only: CKC => CK2
   12671             : #include "pm_arraySort@routines.inc.F90"
   12672         110 :     end procedure
   12673             : #endif
   12674             : 
   12675             : #if CK1_ENABLED
   12676         106 :     module procedure setSortedArrDefComSelection_D1_CK1
   12677             :         use pm_kind, only: CKC => CK1
   12678             : #include "pm_arraySort@routines.inc.F90"
   12679         106 :     end procedure
   12680             : #endif
   12681             : 
   12682             : #undef CK_ENABLED
   12683             : 
   12684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12685             : 
   12686             : #define RK_ENABLED 1
   12687             : 
   12688             : #if RK5_ENABLED
   12689             :     module procedure setSortedArrDefComSelection_D1_RK5
   12690             :         use pm_kind, only: RKC => RK5
   12691             : #include "pm_arraySort@routines.inc.F90"
   12692             :     end procedure
   12693             : #endif
   12694             : 
   12695             : #if RK4_ENABLED
   12696          93 :     module procedure setSortedArrDefComSelection_D1_RK4
   12697             :         use pm_kind, only: RKC => RK4
   12698             : #include "pm_arraySort@routines.inc.F90"
   12699          93 :     end procedure
   12700             : #endif
   12701             : 
   12702             : #if RK3_ENABLED
   12703         101 :     module procedure setSortedArrDefComSelection_D1_RK3
   12704             :         use pm_kind, only: RKC => RK3
   12705             : #include "pm_arraySort@routines.inc.F90"
   12706         101 :     end procedure
   12707             : #endif
   12708             : 
   12709             : #if RK2_ENABLED
   12710         109 :     module procedure setSortedArrDefComSelection_D1_RK2
   12711             :         use pm_kind, only: RKC => RK2
   12712             : #include "pm_arraySort@routines.inc.F90"
   12713         109 :     end procedure
   12714             : #endif
   12715             : 
   12716             : #if RK1_ENABLED
   12717         107 :     module procedure setSortedArrDefComSelection_D1_RK1
   12718             :         use pm_kind, only: RKC => RK1
   12719             : #include "pm_arraySort@routines.inc.F90"
   12720         107 :     end procedure
   12721             : #endif
   12722             : 
   12723             : #undef RK_ENABLED
   12724             : 
   12725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12726             : 
   12727             : ! LCOV_EXCL_START
   12728             : !#if !__GFORTRAN__
   12729             : 
   12730             : #define PSSK_ENABLED 1
   12731             : 
   12732             : #if SK5_ENABLED
   12733             :     module procedure setSortedArrDefComSelection_D1_PSSK5
   12734             :         use pm_kind, only: SKC => SK5
   12735             : #include "pm_arraySort@routines.inc.F90"
   12736             :     end procedure
   12737             : #endif
   12738             : 
   12739             : #if SK4_ENABLED
   12740             :     module procedure setSortedArrDefComSelection_D1_PSSK4
   12741             :         use pm_kind, only: SKC => SK4
   12742             : #include "pm_arraySort@routines.inc.F90"
   12743             :     end procedure
   12744             : #endif
   12745             : 
   12746             : #if SK3_ENABLED
   12747             :     module procedure setSortedArrDefComSelection_D1_PSSK3
   12748             :         use pm_kind, only: SKC => SK3
   12749             : #include "pm_arraySort@routines.inc.F90"
   12750             :     end procedure
   12751             : #endif
   12752             : 
   12753             : #if SK2_ENABLED
   12754             :     module procedure setSortedArrDefComSelection_D1_PSSK2
   12755             :         use pm_kind, only: SKC => SK2
   12756             : #include "pm_arraySort@routines.inc.F90"
   12757             :     end procedure
   12758             : #endif
   12759             : 
   12760             : #if SK1_ENABLED
   12761             :     module procedure setSortedArrDefComSelection_D1_PSSK1
   12762             :         use pm_kind, only: SKC => SK1
   12763             : #include "pm_arraySort@routines.inc.F90"
   12764             :     end procedure
   12765             : #endif
   12766             : 
   12767             : #undef PSSK_ENABLED
   12768             : 
   12769             : !#endif
   12770             : ! LCOV_EXCL_STOP
   12771             : 
   12772             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12773             : 
   12774             : #define BSSK_ENABLED 1
   12775             : 
   12776           0 :     module procedure setSortedArrDefComSelection_D1_BSSK
   12777             :         use pm_kind, only: SKC => SK
   12778             : #include "pm_arraySort@routines.inc.F90"
   12779           0 :     end procedure
   12780             : 
   12781             : #undef BSSK_ENABLED
   12782             : 
   12783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12784             : 
   12785             : #undef D1_ENABLED
   12786             : 
   12787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12788             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12790             : 
   12791             : #undef Selection_ENABLED
   12792             : 
   12793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12796             : 
   12797             : #undef DefCom_ENABLED
   12798             : 
   12799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12800             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12802             : 
   12803             : #undef Arr_ENABLED
   12804             : 
   12805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12807             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12808             : 
   12809             : #undef setSorted_ENABLED
   12810             : 
   12811             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12812             : 
   12813             : #define setSorted_ENABLED 1
   12814             : 
   12815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12818             : 
   12819             : #define Arr_ENABLED 1
   12820             : 
   12821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12824             : 
   12825             : #define DefCom_ENABLED 1
   12826             : 
   12827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12830             : 
   12831             : #define Shell_ENABLED 1
   12832             : 
   12833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12836             : 
   12837             : #define D0_ENABLED 1
   12838             : 
   12839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12840             : 
   12841             : #define SK_ENABLED 1
   12842             : 
   12843             : #if SK5_ENABLED
   12844             :     module procedure setSortedArrDefComShell_D0_SK5
   12845             :         use pm_kind, only: SKC => SK5
   12846             : #include "pm_arraySort@routines.inc.F90"
   12847             :     end procedure
   12848             : #endif
   12849             : 
   12850             : #if SK4_ENABLED
   12851             :     module procedure setSortedArrDefComShell_D0_SK4
   12852             :         use pm_kind, only: SKC => SK4
   12853             : #include "pm_arraySort@routines.inc.F90"
   12854             :     end procedure
   12855             : #endif
   12856             : 
   12857             : #if SK3_ENABLED
   12858             :     module procedure setSortedArrDefComShell_D0_SK3
   12859             :         use pm_kind, only: SKC => SK3
   12860             : #include "pm_arraySort@routines.inc.F90"
   12861             :     end procedure
   12862             : #endif
   12863             : 
   12864             : #if SK2_ENABLED
   12865             :     module procedure setSortedArrDefComShell_D0_SK2
   12866             :         use pm_kind, only: SKC => SK2
   12867             : #include "pm_arraySort@routines.inc.F90"
   12868             :     end procedure
   12869             : #endif
   12870             : 
   12871             : #if SK1_ENABLED
   12872         105 :     module procedure setSortedArrDefComShell_D0_SK1
   12873             :         use pm_kind, only: SKC => SK1
   12874             : #include "pm_arraySort@routines.inc.F90"
   12875         105 :     end procedure
   12876             : #endif
   12877             : 
   12878             : #undef SK_ENABLED
   12879             : 
   12880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12881             : 
   12882             : #undef D0_ENABLED
   12883             : 
   12884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12887             : 
   12888             : #define D1_ENABLED 1
   12889             : 
   12890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12891             : 
   12892             : #define SK_ENABLED 1
   12893             : 
   12894             : #if SK5_ENABLED
   12895             :     module procedure setSortedArrDefComShell_D1_SK5
   12896             :         use pm_kind, only: SKC => SK5
   12897             : #include "pm_arraySort@routines.inc.F90"
   12898             :     end procedure
   12899             : #endif
   12900             : 
   12901             : #if SK4_ENABLED
   12902             :     module procedure setSortedArrDefComShell_D1_SK4
   12903             :         use pm_kind, only: SKC => SK4
   12904             : #include "pm_arraySort@routines.inc.F90"
   12905             :     end procedure
   12906             : #endif
   12907             : 
   12908             : #if SK3_ENABLED
   12909             :     module procedure setSortedArrDefComShell_D1_SK3
   12910             :         use pm_kind, only: SKC => SK3
   12911             : #include "pm_arraySort@routines.inc.F90"
   12912             :     end procedure
   12913             : #endif
   12914             : 
   12915             : #if SK2_ENABLED
   12916             :     module procedure setSortedArrDefComShell_D1_SK2
   12917             :         use pm_kind, only: SKC => SK2
   12918             : #include "pm_arraySort@routines.inc.F90"
   12919             :     end procedure
   12920             : #endif
   12921             : 
   12922             : #if SK1_ENABLED
   12923         101 :     module procedure setSortedArrDefComShell_D1_SK1
   12924             :         use pm_kind, only: SKC => SK1
   12925             : #include "pm_arraySort@routines.inc.F90"
   12926         101 :     end procedure
   12927             : #endif
   12928             : 
   12929             : #undef SK_ENABLED
   12930             : 
   12931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12932             : 
   12933             : #define IK_ENABLED 1
   12934             : 
   12935             : #if IK5_ENABLED
   12936          96 :     module procedure setSortedArrDefComShell_D1_IK5
   12937             :         use pm_kind, only: IKC => IK5
   12938             : #include "pm_arraySort@routines.inc.F90"
   12939          96 :     end procedure
   12940             : #endif
   12941             : 
   12942             : #if IK4_ENABLED
   12943         104 :     module procedure setSortedArrDefComShell_D1_IK4
   12944             :         use pm_kind, only: IKC => IK4
   12945             : #include "pm_arraySort@routines.inc.F90"
   12946         104 :     end procedure
   12947             : #endif
   12948             : 
   12949             : #if IK3_ENABLED
   12950         105 :     module procedure setSortedArrDefComShell_D1_IK3
   12951             :         use pm_kind, only: IKC => IK3
   12952             : #include "pm_arraySort@routines.inc.F90"
   12953         105 :     end procedure
   12954             : #endif
   12955             : 
   12956             : #if IK2_ENABLED
   12957          96 :     module procedure setSortedArrDefComShell_D1_IK2
   12958             :         use pm_kind, only: IKC => IK2
   12959             : #include "pm_arraySort@routines.inc.F90"
   12960          96 :     end procedure
   12961             : #endif
   12962             : 
   12963             : #if IK1_ENABLED
   12964          99 :     module procedure setSortedArrDefComShell_D1_IK1
   12965             :         use pm_kind, only: IKC => IK1
   12966             : #include "pm_arraySort@routines.inc.F90"
   12967          99 :     end procedure
   12968             : #endif
   12969             : 
   12970             : #undef IK_ENABLED
   12971             : 
   12972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12973             : 
   12974             : #define LK_ENABLED 1
   12975             : 
   12976             : #if LK5_ENABLED
   12977          87 :     module procedure setSortedArrDefComShell_D1_LK5
   12978             :         use pm_kind, only: LKC => LK5
   12979             : #include "pm_arraySort@routines.inc.F90"
   12980          87 :     end procedure
   12981             : #endif
   12982             : 
   12983             : #if LK4_ENABLED
   12984         104 :     module procedure setSortedArrDefComShell_D1_LK4
   12985             :         use pm_kind, only: LKC => LK4
   12986             : #include "pm_arraySort@routines.inc.F90"
   12987         104 :     end procedure
   12988             : #endif
   12989             : 
   12990             : #if LK3_ENABLED
   12991         101 :     module procedure setSortedArrDefComShell_D1_LK3
   12992             :         use pm_kind, only: LKC => LK3
   12993             : #include "pm_arraySort@routines.inc.F90"
   12994         101 :     end procedure
   12995             : #endif
   12996             : 
   12997             : #if LK2_ENABLED
   12998         115 :     module procedure setSortedArrDefComShell_D1_LK2
   12999             :         use pm_kind, only: LKC => LK2
   13000             : #include "pm_arraySort@routines.inc.F90"
   13001         115 :     end procedure
   13002             : #endif
   13003             : 
   13004             : #if LK1_ENABLED
   13005          99 :     module procedure setSortedArrDefComShell_D1_LK1
   13006             :         use pm_kind, only: LKC => LK1
   13007             : #include "pm_arraySort@routines.inc.F90"
   13008          99 :     end procedure
   13009             : #endif
   13010             : 
   13011             : #undef LK_ENABLED
   13012             : 
   13013             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13014             : 
   13015             : #define CK_ENABLED 1
   13016             : 
   13017             : #if CK5_ENABLED
   13018             :     module procedure setSortedArrDefComShell_D1_CK5
   13019             :         use pm_kind, only: CKC => CK5
   13020             : #include "pm_arraySort@routines.inc.F90"
   13021             :     end procedure
   13022             : #endif
   13023             : 
   13024             : #if CK4_ENABLED
   13025          91 :     module procedure setSortedArrDefComShell_D1_CK4
   13026             :         use pm_kind, only: CKC => CK4
   13027             : #include "pm_arraySort@routines.inc.F90"
   13028          91 :     end procedure
   13029             : #endif
   13030             : 
   13031             : #if CK3_ENABLED
   13032         103 :     module procedure setSortedArrDefComShell_D1_CK3
   13033             :         use pm_kind, only: CKC => CK3
   13034             : #include "pm_arraySort@routines.inc.F90"
   13035         103 :     end procedure
   13036             : #endif
   13037             : 
   13038             : #if CK2_ENABLED
   13039         103 :     module procedure setSortedArrDefComShell_D1_CK2
   13040             :         use pm_kind, only: CKC => CK2
   13041             : #include "pm_arraySort@routines.inc.F90"
   13042         103 :     end procedure
   13043             : #endif
   13044             : 
   13045             : #if CK1_ENABLED
   13046         105 :     module procedure setSortedArrDefComShell_D1_CK1
   13047             :         use pm_kind, only: CKC => CK1
   13048             : #include "pm_arraySort@routines.inc.F90"
   13049         105 :     end procedure
   13050             : #endif
   13051             : 
   13052             : #undef CK_ENABLED
   13053             : 
   13054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13055             : 
   13056             : #define RK_ENABLED 1
   13057             : 
   13058             : #if RK5_ENABLED
   13059             :     module procedure setSortedArrDefComShell_D1_RK5
   13060             :         use pm_kind, only: RKC => RK5
   13061             : #include "pm_arraySort@routines.inc.F90"
   13062             :     end procedure
   13063             : #endif
   13064             : 
   13065             : #if RK4_ENABLED
   13066         103 :     module procedure setSortedArrDefComShell_D1_RK4
   13067             :         use pm_kind, only: RKC => RK4
   13068             : #include "pm_arraySort@routines.inc.F90"
   13069         103 :     end procedure
   13070             : #endif
   13071             : 
   13072             : #if RK3_ENABLED
   13073         109 :     module procedure setSortedArrDefComShell_D1_RK3
   13074             :         use pm_kind, only: RKC => RK3
   13075             : #include "pm_arraySort@routines.inc.F90"
   13076         109 :     end procedure
   13077             : #endif
   13078             : 
   13079             : #if RK2_ENABLED
   13080         102 :     module procedure setSortedArrDefComShell_D1_RK2
   13081             :         use pm_kind, only: RKC => RK2
   13082             : #include "pm_arraySort@routines.inc.F90"
   13083         102 :     end procedure
   13084             : #endif
   13085             : 
   13086             : #if RK1_ENABLED
   13087          88 :     module procedure setSortedArrDefComShell_D1_RK1
   13088             :         use pm_kind, only: RKC => RK1
   13089             : #include "pm_arraySort@routines.inc.F90"
   13090          88 :     end procedure
   13091             : #endif
   13092             : 
   13093             : #undef RK_ENABLED
   13094             : 
   13095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13096             : 
   13097             : ! LCOV_EXCL_START
   13098             : !#if !__GFORTRAN__
   13099             : 
   13100             : #define PSSK_ENABLED 1
   13101             : 
   13102             : #if SK5_ENABLED
   13103             :     module procedure setSortedArrDefComShell_D1_PSSK5
   13104             :         use pm_kind, only: SKC => SK5
   13105             : #include "pm_arraySort@routines.inc.F90"
   13106             :     end procedure
   13107             : #endif
   13108             : 
   13109             : #if SK4_ENABLED
   13110             :     module procedure setSortedArrDefComShell_D1_PSSK4
   13111             :         use pm_kind, only: SKC => SK4
   13112             : #include "pm_arraySort@routines.inc.F90"
   13113             :     end procedure
   13114             : #endif
   13115             : 
   13116             : #if SK3_ENABLED
   13117             :     module procedure setSortedArrDefComShell_D1_PSSK3
   13118             :         use pm_kind, only: SKC => SK3
   13119             : #include "pm_arraySort@routines.inc.F90"
   13120             :     end procedure
   13121             : #endif
   13122             : 
   13123             : #if SK2_ENABLED
   13124             :     module procedure setSortedArrDefComShell_D1_PSSK2
   13125             :         use pm_kind, only: SKC => SK2
   13126             : #include "pm_arraySort@routines.inc.F90"
   13127             :     end procedure
   13128             : #endif
   13129             : 
   13130             : #if SK1_ENABLED
   13131             :     module procedure setSortedArrDefComShell_D1_PSSK1
   13132             :         use pm_kind, only: SKC => SK1
   13133             : #include "pm_arraySort@routines.inc.F90"
   13134             :     end procedure
   13135             : #endif
   13136             : 
   13137             : #undef PSSK_ENABLED
   13138             : 
   13139             : !#endif
   13140             : ! LCOV_EXCL_STOP
   13141             : 
   13142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13143             : 
   13144             : #define BSSK_ENABLED 1
   13145             : 
   13146           0 :     module procedure setSortedArrDefComShell_D1_BSSK
   13147             :         use pm_kind, only: SKC => SK
   13148             : #include "pm_arraySort@routines.inc.F90"
   13149           0 :     end procedure
   13150             : 
   13151             : #undef BSSK_ENABLED
   13152             : 
   13153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13154             : 
   13155             : #undef D1_ENABLED
   13156             : 
   13157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13160             : 
   13161             : #undef Shell_ENABLED
   13162             : 
   13163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13166             : 
   13167             : #undef DefCom_ENABLED
   13168             : 
   13169             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13172             : 
   13173             : #undef Arr_ENABLED
   13174             : 
   13175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13178             : 
   13179             : #undef setSorted_ENABLED
   13180             : 
   13181             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13182             : 
   13183             : #undef CHECK_ASSERTION
   13184             : 
   13185           0 : end submodule routines

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