https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_container@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 18 386 4.7 %
Date: 2024-04-08 03:18:57 Functions: 9 193 4.7 %
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_container](@ref pm_container).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Monday 2:21 AM, August 30, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_container) 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_logicalCompare, only: operator(<), operator(>), operator(<=), operator(>=), operator(==), operator(/=)
      40             :     use pm_complexCompareLex, only: operator(<), operator(>), operator(<=), operator(>=)
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define constructCon_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define D0_ENABLED 1
      56             : 
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             : 
      61             : #define BS_ENABLED 1
      62             : 
      63             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      64             : 
      65             : #define SK_ENABLED 1
      66       11092 :     module procedure constructCon_D0_BSSK
      67             :         use pm_kind, only: SKC => SK
      68             : #include "pm_container@routines.inc.F90"
      69       22178 :     end procedure
      70             : #undef  SK_ENABLED
      71             : 
      72             : #define IK_ENABLED 1
      73           0 :     module procedure constructCon_D0_BSIK
      74             :         use pm_kind, only: IKC => IK
      75             : #include "pm_container@routines.inc.F90"
      76           0 :     end procedure
      77             : #undef  IK_ENABLED
      78             : 
      79             : #define LK_ENABLED 1
      80           0 :     module procedure constructCon_D0_BSLK
      81             :         use pm_kind, only: LKC => LK
      82             : #include "pm_container@routines.inc.F90"
      83           0 :     end procedure
      84             : #undef  LK_ENABLED
      85             : 
      86             : #define CK_ENABLED 1
      87           0 :     module procedure constructCon_D0_BSCK
      88             :         use pm_kind, only: CKC => CK
      89             : #include "pm_container@routines.inc.F90"
      90           0 :     end procedure
      91             : #undef  CK_ENABLED
      92             : 
      93             : #define RK_ENABLED 1
      94           0 :     module procedure constructCon_D0_BSRK
      95             :         use pm_kind, only: RKC => RK
      96             : #include "pm_container@routines.inc.F90"
      97           0 :     end procedure
      98             : #undef  RK_ENABLED
      99             : 
     100             : #define PK_ENABLED 1
     101         336 :     module procedure constructCon_D0_BSPK
     102             : #include "pm_container@routines.inc.F90"
     103         336 :     end procedure
     104             : #undef  PK_ENABLED
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #undef BS_ENABLED
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define PS_ENABLED 1
     115             : 
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define SK_ENABLED 1
     119             : 
     120             : #if SK5_ENABLED
     121             :     module procedure constructCon_D0_PSSK5
     122             :         use pm_kind, only: SKC => SK5
     123             : #include "pm_container@routines.inc.F90"
     124             :     end procedure
     125             : #endif
     126             : 
     127             : #if SK4_ENABLED
     128             :     module procedure constructCon_D0_PSSK4
     129             :         use pm_kind, only: SKC => SK4
     130             : #include "pm_container@routines.inc.F90"
     131             :     end procedure
     132             : #endif
     133             : 
     134             : #if SK3_ENABLED
     135             :     module procedure constructCon_D0_PSSK3
     136             :         use pm_kind, only: SKC => SK3
     137             : #include "pm_container@routines.inc.F90"
     138             :     end procedure
     139             : #endif
     140             : 
     141             : #if SK2_ENABLED
     142             :     module procedure constructCon_D0_PSSK2
     143             :         use pm_kind, only: SKC => SK2
     144             : #include "pm_container@routines.inc.F90"
     145             :     end procedure
     146             : #endif
     147             : 
     148             : #if SK1_ENABLED
     149           0 :     module procedure constructCon_D0_PSSK1
     150             :         use pm_kind, only: SKC => SK1
     151             : #include "pm_container@routines.inc.F90"
     152           0 :     end procedure
     153             : #endif
     154             : 
     155             : #undef SK_ENABLED
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #define IK_ENABLED 1
     160             : 
     161             : #if IK5_ENABLED
     162           0 :     module procedure constructCon_D0_PSIK5
     163             :         use pm_kind, only: IKC => IK5
     164             : #include "pm_container@routines.inc.F90"
     165           0 :     end procedure
     166             : #endif
     167             : 
     168             : #if IK4_ENABLED
     169           0 :     module procedure constructCon_D0_PSIK4
     170             :         use pm_kind, only: IKC => IK4
     171             : #include "pm_container@routines.inc.F90"
     172           0 :     end procedure
     173             : #endif
     174             : 
     175             : #if IK3_ENABLED
     176           0 :     module procedure constructCon_D0_PSIK3
     177             :         use pm_kind, only: IKC => IK3
     178             : #include "pm_container@routines.inc.F90"
     179           0 :     end procedure
     180             : #endif
     181             : 
     182             : #if IK2_ENABLED
     183           0 :     module procedure constructCon_D0_PSIK2
     184             :         use pm_kind, only: IKC => IK2
     185             : #include "pm_container@routines.inc.F90"
     186           0 :     end procedure
     187             : #endif
     188             : 
     189             : #if IK1_ENABLED
     190           0 :     module procedure constructCon_D0_PSIK1
     191             :         use pm_kind, only: IKC => IK1
     192             : #include "pm_container@routines.inc.F90"
     193           0 :     end procedure
     194             : #endif
     195             : 
     196             : #undef IK_ENABLED
     197             : 
     198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     199             : 
     200             : #define LK_ENABLED 1
     201             : 
     202             : #if LK5_ENABLED
     203           0 :     module procedure constructCon_D0_PSLK5
     204             :         use pm_kind, only: LKC => LK5
     205             : #include "pm_container@routines.inc.F90"
     206           0 :     end procedure
     207             : #endif
     208             : 
     209             : #if LK4_ENABLED
     210           0 :     module procedure constructCon_D0_PSLK4
     211             :         use pm_kind, only: LKC => LK4
     212             : #include "pm_container@routines.inc.F90"
     213           0 :     end procedure
     214             : #endif
     215             : 
     216             : #if LK3_ENABLED
     217           0 :     module procedure constructCon_D0_PSLK3
     218             :         use pm_kind, only: LKC => LK3
     219             : #include "pm_container@routines.inc.F90"
     220           0 :     end procedure
     221             : #endif
     222             : 
     223             : #if LK2_ENABLED
     224           0 :     module procedure constructCon_D0_PSLK2
     225             :         use pm_kind, only: LKC => LK2
     226             : #include "pm_container@routines.inc.F90"
     227           0 :     end procedure
     228             : #endif
     229             : 
     230             : #if LK1_ENABLED
     231           0 :     module procedure constructCon_D0_PSLK1
     232             :         use pm_kind, only: LKC => LK1
     233             : #include "pm_container@routines.inc.F90"
     234           0 :     end procedure
     235             : #endif
     236             : 
     237             : #undef LK_ENABLED
     238             : 
     239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     240             : 
     241             : #define CK_ENABLED 1
     242             : 
     243             : #if CK5_ENABLED
     244             :     module procedure constructCon_D0_PSCK5
     245             :         use pm_kind, only: CKC => CK5
     246             : #include "pm_container@routines.inc.F90"
     247             :     end procedure
     248             : #endif
     249             : 
     250             : #if CK4_ENABLED
     251           0 :     module procedure constructCon_D0_PSCK4
     252             :         use pm_kind, only: CKC => CK4
     253             : #include "pm_container@routines.inc.F90"
     254           0 :     end procedure
     255             : #endif
     256             : 
     257             : #if CK3_ENABLED
     258           0 :     module procedure constructCon_D0_PSCK3
     259             :         use pm_kind, only: CKC => CK3
     260             : #include "pm_container@routines.inc.F90"
     261           0 :     end procedure
     262             : #endif
     263             : 
     264             : #if CK2_ENABLED
     265           0 :     module procedure constructCon_D0_PSCK2
     266             :         use pm_kind, only: CKC => CK2
     267             : #include "pm_container@routines.inc.F90"
     268           0 :     end procedure
     269             : #endif
     270             : 
     271             : #if CK1_ENABLED
     272           0 :     module procedure constructCon_D0_PSCK1
     273             :         use pm_kind, only: CKC => CK1
     274             : #include "pm_container@routines.inc.F90"
     275           0 :     end procedure
     276             : #endif
     277             : 
     278             : #undef CK_ENABLED
     279             : 
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             : 
     282             : #define RK_ENABLED 1
     283             : 
     284             : #if RK5_ENABLED
     285             :     module procedure constructCon_D0_PSRK5
     286             :         use pm_kind, only: RKC => RK5
     287             : #include "pm_container@routines.inc.F90"
     288             :     end procedure
     289             : #endif
     290             : 
     291             : #if RK4_ENABLED
     292           0 :     module procedure constructCon_D0_PSRK4
     293             :         use pm_kind, only: RKC => RK4
     294             : #include "pm_container@routines.inc.F90"
     295           0 :     end procedure
     296             : #endif
     297             : 
     298             : #if RK3_ENABLED
     299           0 :     module procedure constructCon_D0_PSRK3
     300             :         use pm_kind, only: RKC => RK3
     301             : #include "pm_container@routines.inc.F90"
     302           0 :     end procedure
     303             : #endif
     304             : 
     305             : #if RK2_ENABLED
     306           0 :     module procedure constructCon_D0_PSRK2
     307             :         use pm_kind, only: RKC => RK2
     308             : #include "pm_container@routines.inc.F90"
     309           0 :     end procedure
     310             : #endif
     311             : 
     312             : #if RK1_ENABLED
     313           0 :     module procedure constructCon_D0_PSRK1
     314             :         use pm_kind, only: RKC => RK1
     315             : #include "pm_container@routines.inc.F90"
     316           0 :     end procedure
     317             : #endif
     318             : 
     319             : #undef RK_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             : 
     323             : #undef PS_ENABLED
     324             : 
     325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #undef D0_ENABLED
     330             : 
     331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     332             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     334             : 
     335             : #undef constructCon_ENABLED
     336             : 
     337             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     338             : 
     339             : #define isless_ENABLED 1
     340             : 
     341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     344             : 
     345             : #define D0_D0_ENABLED 1
     346             : 
     347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     349             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     350             : 
     351             : #define BS_ENABLED 1
     352             : 
     353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     354             : 
     355             : #define SK_ENABLED 1
     356           9 :     module procedure isless_D0_D0_BSSK
     357             :         use pm_kind, only: SKC => SK
     358             : #include "pm_container@routines.inc.F90"
     359           9 :     end procedure
     360             : #undef  SK_ENABLED
     361             : 
     362             : #define IK_ENABLED 1
     363           0 :     module procedure isless_D0_D0_BSIK
     364             :         use pm_kind, only: IKC => IK
     365             : #include "pm_container@routines.inc.F90"
     366           0 :     end procedure
     367             : #undef  IK_ENABLED
     368             : 
     369             : #define LK_ENABLED 1
     370           0 :     module procedure isless_D0_D0_BSLK
     371             :         use pm_kind, only: LKC => LK
     372             : #include "pm_container@routines.inc.F90"
     373           0 :     end procedure
     374             : #undef  LK_ENABLED
     375             : 
     376             : #define CK_ENABLED 1
     377           0 :     module procedure isless_D0_D0_BSCK
     378             :         use pm_kind, only: CKC => CK
     379             : #include "pm_container@routines.inc.F90"
     380           0 :     end procedure
     381             : #undef  CK_ENABLED
     382             : 
     383             : #define RK_ENABLED 1
     384           0 :     module procedure isless_D0_D0_BSRK
     385             :         use pm_kind, only: RKC => RK
     386             : #include "pm_container@routines.inc.F90"
     387           0 :     end procedure
     388             : #undef  RK_ENABLED
     389             : 
     390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             : 
     392             : #undef BS_ENABLED
     393             : 
     394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     397             : 
     398             : #define PS_ENABLED 1
     399             : 
     400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     401             : 
     402             : #define SK_ENABLED 1
     403             : 
     404             : #if SK5_ENABLED
     405             :     module procedure isless_D0_D0_PSSK5
     406             :         use pm_kind, only: SKC => SK5
     407             : #include "pm_container@routines.inc.F90"
     408             :     end procedure
     409             : #endif
     410             : 
     411             : #if SK4_ENABLED
     412             :     module procedure isless_D0_D0_PSSK4
     413             :         use pm_kind, only: SKC => SK4
     414             : #include "pm_container@routines.inc.F90"
     415             :     end procedure
     416             : #endif
     417             : 
     418             : #if SK3_ENABLED
     419             :     module procedure isless_D0_D0_PSSK3
     420             :         use pm_kind, only: SKC => SK3
     421             : #include "pm_container@routines.inc.F90"
     422             :     end procedure
     423             : #endif
     424             : 
     425             : #if SK2_ENABLED
     426             :     module procedure isless_D0_D0_PSSK2
     427             :         use pm_kind, only: SKC => SK2
     428             : #include "pm_container@routines.inc.F90"
     429             :     end procedure
     430             : #endif
     431             : 
     432             : #if SK1_ENABLED
     433           0 :     module procedure isless_D0_D0_PSSK1
     434             :         use pm_kind, only: SKC => SK1
     435             : #include "pm_container@routines.inc.F90"
     436           0 :     end procedure
     437             : #endif
     438             : 
     439             : #undef SK_ENABLED
     440             : 
     441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     442             : 
     443             : #define IK_ENABLED 1
     444             : 
     445             : #if IK5_ENABLED
     446           0 :     module procedure isless_D0_D0_PSIK5
     447             :         use pm_kind, only: IKC => IK5
     448             : #include "pm_container@routines.inc.F90"
     449           0 :     end procedure
     450             : #endif
     451             : 
     452             : #if IK4_ENABLED
     453           0 :     module procedure isless_D0_D0_PSIK4
     454             :         use pm_kind, only: IKC => IK4
     455             : #include "pm_container@routines.inc.F90"
     456           0 :     end procedure
     457             : #endif
     458             : 
     459             : #if IK3_ENABLED
     460           0 :     module procedure isless_D0_D0_PSIK3
     461             :         use pm_kind, only: IKC => IK3
     462             : #include "pm_container@routines.inc.F90"
     463           0 :     end procedure
     464             : #endif
     465             : 
     466             : #if IK2_ENABLED
     467           0 :     module procedure isless_D0_D0_PSIK2
     468             :         use pm_kind, only: IKC => IK2
     469             : #include "pm_container@routines.inc.F90"
     470           0 :     end procedure
     471             : #endif
     472             : 
     473             : #if IK1_ENABLED
     474           0 :     module procedure isless_D0_D0_PSIK1
     475             :         use pm_kind, only: IKC => IK1
     476             : #include "pm_container@routines.inc.F90"
     477           0 :     end procedure
     478             : #endif
     479             : 
     480             : #undef IK_ENABLED
     481             : 
     482             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     483             : 
     484             : #define LK_ENABLED 1
     485             : 
     486             : #if LK5_ENABLED
     487           0 :     module procedure isless_D0_D0_PSLK5
     488             :         use pm_kind, only: LKC => LK5
     489             : #include "pm_container@routines.inc.F90"
     490           0 :     end procedure
     491             : #endif
     492             : 
     493             : #if LK4_ENABLED
     494           0 :     module procedure isless_D0_D0_PSLK4
     495             :         use pm_kind, only: LKC => LK4
     496             : #include "pm_container@routines.inc.F90"
     497           0 :     end procedure
     498             : #endif
     499             : 
     500             : #if LK3_ENABLED
     501           0 :     module procedure isless_D0_D0_PSLK3
     502             :         use pm_kind, only: LKC => LK3
     503             : #include "pm_container@routines.inc.F90"
     504           0 :     end procedure
     505             : #endif
     506             : 
     507             : #if LK2_ENABLED
     508           0 :     module procedure isless_D0_D0_PSLK2
     509             :         use pm_kind, only: LKC => LK2
     510             : #include "pm_container@routines.inc.F90"
     511           0 :     end procedure
     512             : #endif
     513             : 
     514             : #if LK1_ENABLED
     515           0 :     module procedure isless_D0_D0_PSLK1
     516             :         use pm_kind, only: LKC => LK1
     517             : #include "pm_container@routines.inc.F90"
     518           0 :     end procedure
     519             : #endif
     520             : 
     521             : #undef LK_ENABLED
     522             : 
     523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     524             : 
     525             : #define CK_ENABLED 1
     526             : 
     527             : #if CK5_ENABLED
     528             :     module procedure isless_D0_D0_PSCK5
     529             :         use pm_kind, only: CKC => CK5
     530             : #include "pm_container@routines.inc.F90"
     531             :     end procedure
     532             : #endif
     533             : 
     534             : #if CK4_ENABLED
     535           0 :     module procedure isless_D0_D0_PSCK4
     536             :         use pm_kind, only: CKC => CK4
     537             : #include "pm_container@routines.inc.F90"
     538           0 :     end procedure
     539             : #endif
     540             : 
     541             : #if CK3_ENABLED
     542           0 :     module procedure isless_D0_D0_PSCK3
     543             :         use pm_kind, only: CKC => CK3
     544             : #include "pm_container@routines.inc.F90"
     545           0 :     end procedure
     546             : #endif
     547             : 
     548             : #if CK2_ENABLED
     549           0 :     module procedure isless_D0_D0_PSCK2
     550             :         use pm_kind, only: CKC => CK2
     551             : #include "pm_container@routines.inc.F90"
     552           0 :     end procedure
     553             : #endif
     554             : 
     555             : #if CK1_ENABLED
     556           0 :     module procedure isless_D0_D0_PSCK1
     557             :         use pm_kind, only: CKC => CK1
     558             : #include "pm_container@routines.inc.F90"
     559           0 :     end procedure
     560             : #endif
     561             : 
     562             : #undef CK_ENABLED
     563             : 
     564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     565             : 
     566             : #define RK_ENABLED 1
     567             : 
     568             : #if RK5_ENABLED
     569             :     module procedure isless_D0_D0_PSRK5
     570             :         use pm_kind, only: RKC => RK5
     571             : #include "pm_container@routines.inc.F90"
     572             :     end procedure
     573             : #endif
     574             : 
     575             : #if RK4_ENABLED
     576           0 :     module procedure isless_D0_D0_PSRK4
     577             :         use pm_kind, only: RKC => RK4
     578             : #include "pm_container@routines.inc.F90"
     579           0 :     end procedure
     580             : #endif
     581             : 
     582             : #if RK3_ENABLED
     583           0 :     module procedure isless_D0_D0_PSRK3
     584             :         use pm_kind, only: RKC => RK3
     585             : #include "pm_container@routines.inc.F90"
     586           0 :     end procedure
     587             : #endif
     588             : 
     589             : #if RK2_ENABLED
     590           0 :     module procedure isless_D0_D0_PSRK2
     591             :         use pm_kind, only: RKC => RK2
     592             : #include "pm_container@routines.inc.F90"
     593           0 :     end procedure
     594             : #endif
     595             : 
     596             : #if RK1_ENABLED
     597           0 :     module procedure isless_D0_D0_PSRK1
     598             :         use pm_kind, only: RKC => RK1
     599             : #include "pm_container@routines.inc.F90"
     600           0 :     end procedure
     601             : #endif
     602             : 
     603             : #undef RK_ENABLED
     604             : 
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             : 
     607             : #undef PS_ENABLED
     608             : 
     609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             : 
     613             : #undef D0_D0_ENABLED
     614             : 
     615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     618             : 
     619             : #undef isless_ENABLED
     620             : 
     621             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     622             : 
     623             : #define ismore_ENABLED 1
     624             : 
     625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     628             : 
     629             : #define D0_D0_ENABLED 1
     630             : 
     631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635             : #define BS_ENABLED 1
     636             : 
     637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     638             : 
     639             : #define SK_ENABLED 1
     640           9 :     module procedure ismore_D0_D0_BSSK
     641             :         use pm_kind, only: SKC => SK
     642             : #include "pm_container@routines.inc.F90"
     643           9 :     end procedure
     644             : #undef  SK_ENABLED
     645             : 
     646             : #define IK_ENABLED 1
     647           0 :     module procedure ismore_D0_D0_BSIK
     648             :         use pm_kind, only: IKC => IK
     649             : #include "pm_container@routines.inc.F90"
     650           0 :     end procedure
     651             : #undef  IK_ENABLED
     652             : 
     653             : #define LK_ENABLED 1
     654           0 :     module procedure ismore_D0_D0_BSLK
     655             :         use pm_kind, only: LKC => LK
     656             : #include "pm_container@routines.inc.F90"
     657           0 :     end procedure
     658             : #undef  LK_ENABLED
     659             : 
     660             : #define CK_ENABLED 1
     661           0 :     module procedure ismore_D0_D0_BSCK
     662             :         use pm_kind, only: CKC => CK
     663             : #include "pm_container@routines.inc.F90"
     664           0 :     end procedure
     665             : #undef  CK_ENABLED
     666             : 
     667             : #define RK_ENABLED 1
     668           0 :     module procedure ismore_D0_D0_BSRK
     669             :         use pm_kind, only: RKC => RK
     670             : #include "pm_container@routines.inc.F90"
     671           0 :     end procedure
     672             : #undef  RK_ENABLED
     673             : 
     674             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     675             : 
     676             : #undef BS_ENABLED
     677             : 
     678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     681             : 
     682             : #define PS_ENABLED 1
     683             : 
     684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     685             : 
     686             : #define SK_ENABLED 1
     687             : 
     688             : #if SK5_ENABLED
     689             :     module procedure ismore_D0_D0_PSSK5
     690             :         use pm_kind, only: SKC => SK5
     691             : #include "pm_container@routines.inc.F90"
     692             :     end procedure
     693             : #endif
     694             : 
     695             : #if SK4_ENABLED
     696             :     module procedure ismore_D0_D0_PSSK4
     697             :         use pm_kind, only: SKC => SK4
     698             : #include "pm_container@routines.inc.F90"
     699             :     end procedure
     700             : #endif
     701             : 
     702             : #if SK3_ENABLED
     703             :     module procedure ismore_D0_D0_PSSK3
     704             :         use pm_kind, only: SKC => SK3
     705             : #include "pm_container@routines.inc.F90"
     706             :     end procedure
     707             : #endif
     708             : 
     709             : #if SK2_ENABLED
     710             :     module procedure ismore_D0_D0_PSSK2
     711             :         use pm_kind, only: SKC => SK2
     712             : #include "pm_container@routines.inc.F90"
     713             :     end procedure
     714             : #endif
     715             : 
     716             : #if SK1_ENABLED
     717           0 :     module procedure ismore_D0_D0_PSSK1
     718             :         use pm_kind, only: SKC => SK1
     719             : #include "pm_container@routines.inc.F90"
     720           0 :     end procedure
     721             : #endif
     722             : 
     723             : #undef SK_ENABLED
     724             : 
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #define IK_ENABLED 1
     728             : 
     729             : #if IK5_ENABLED
     730           0 :     module procedure ismore_D0_D0_PSIK5
     731             :         use pm_kind, only: IKC => IK5
     732             : #include "pm_container@routines.inc.F90"
     733           0 :     end procedure
     734             : #endif
     735             : 
     736             : #if IK4_ENABLED
     737           0 :     module procedure ismore_D0_D0_PSIK4
     738             :         use pm_kind, only: IKC => IK4
     739             : #include "pm_container@routines.inc.F90"
     740           0 :     end procedure
     741             : #endif
     742             : 
     743             : #if IK3_ENABLED
     744           0 :     module procedure ismore_D0_D0_PSIK3
     745             :         use pm_kind, only: IKC => IK3
     746             : #include "pm_container@routines.inc.F90"
     747           0 :     end procedure
     748             : #endif
     749             : 
     750             : #if IK2_ENABLED
     751           0 :     module procedure ismore_D0_D0_PSIK2
     752             :         use pm_kind, only: IKC => IK2
     753             : #include "pm_container@routines.inc.F90"
     754           0 :     end procedure
     755             : #endif
     756             : 
     757             : #if IK1_ENABLED
     758           0 :     module procedure ismore_D0_D0_PSIK1
     759             :         use pm_kind, only: IKC => IK1
     760             : #include "pm_container@routines.inc.F90"
     761           0 :     end procedure
     762             : #endif
     763             : 
     764             : #undef IK_ENABLED
     765             : 
     766             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     767             : 
     768             : #define LK_ENABLED 1
     769             : 
     770             : #if LK5_ENABLED
     771           0 :     module procedure ismore_D0_D0_PSLK5
     772             :         use pm_kind, only: LKC => LK5
     773             : #include "pm_container@routines.inc.F90"
     774           0 :     end procedure
     775             : #endif
     776             : 
     777             : #if LK4_ENABLED
     778           0 :     module procedure ismore_D0_D0_PSLK4
     779             :         use pm_kind, only: LKC => LK4
     780             : #include "pm_container@routines.inc.F90"
     781           0 :     end procedure
     782             : #endif
     783             : 
     784             : #if LK3_ENABLED
     785           0 :     module procedure ismore_D0_D0_PSLK3
     786             :         use pm_kind, only: LKC => LK3
     787             : #include "pm_container@routines.inc.F90"
     788           0 :     end procedure
     789             : #endif
     790             : 
     791             : #if LK2_ENABLED
     792           0 :     module procedure ismore_D0_D0_PSLK2
     793             :         use pm_kind, only: LKC => LK2
     794             : #include "pm_container@routines.inc.F90"
     795           0 :     end procedure
     796             : #endif
     797             : 
     798             : #if LK1_ENABLED
     799           0 :     module procedure ismore_D0_D0_PSLK1
     800             :         use pm_kind, only: LKC => LK1
     801             : #include "pm_container@routines.inc.F90"
     802           0 :     end procedure
     803             : #endif
     804             : 
     805             : #undef LK_ENABLED
     806             : 
     807             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     808             : 
     809             : #define CK_ENABLED 1
     810             : 
     811             : #if CK5_ENABLED
     812             :     module procedure ismore_D0_D0_PSCK5
     813             :         use pm_kind, only: CKC => CK5
     814             : #include "pm_container@routines.inc.F90"
     815             :     end procedure
     816             : #endif
     817             : 
     818             : #if CK4_ENABLED
     819           0 :     module procedure ismore_D0_D0_PSCK4
     820             :         use pm_kind, only: CKC => CK4
     821             : #include "pm_container@routines.inc.F90"
     822           0 :     end procedure
     823             : #endif
     824             : 
     825             : #if CK3_ENABLED
     826           0 :     module procedure ismore_D0_D0_PSCK3
     827             :         use pm_kind, only: CKC => CK3
     828             : #include "pm_container@routines.inc.F90"
     829           0 :     end procedure
     830             : #endif
     831             : 
     832             : #if CK2_ENABLED
     833           0 :     module procedure ismore_D0_D0_PSCK2
     834             :         use pm_kind, only: CKC => CK2
     835             : #include "pm_container@routines.inc.F90"
     836           0 :     end procedure
     837             : #endif
     838             : 
     839             : #if CK1_ENABLED
     840           0 :     module procedure ismore_D0_D0_PSCK1
     841             :         use pm_kind, only: CKC => CK1
     842             : #include "pm_container@routines.inc.F90"
     843           0 :     end procedure
     844             : #endif
     845             : 
     846             : #undef CK_ENABLED
     847             : 
     848             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     849             : 
     850             : #define RK_ENABLED 1
     851             : 
     852             : #if RK5_ENABLED
     853             :     module procedure ismore_D0_D0_PSRK5
     854             :         use pm_kind, only: RKC => RK5
     855             : #include "pm_container@routines.inc.F90"
     856             :     end procedure
     857             : #endif
     858             : 
     859             : #if RK4_ENABLED
     860           0 :     module procedure ismore_D0_D0_PSRK4
     861             :         use pm_kind, only: RKC => RK4
     862             : #include "pm_container@routines.inc.F90"
     863           0 :     end procedure
     864             : #endif
     865             : 
     866             : #if RK3_ENABLED
     867           0 :     module procedure ismore_D0_D0_PSRK3
     868             :         use pm_kind, only: RKC => RK3
     869             : #include "pm_container@routines.inc.F90"
     870           0 :     end procedure
     871             : #endif
     872             : 
     873             : #if RK2_ENABLED
     874           0 :     module procedure ismore_D0_D0_PSRK2
     875             :         use pm_kind, only: RKC => RK2
     876             : #include "pm_container@routines.inc.F90"
     877           0 :     end procedure
     878             : #endif
     879             : 
     880             : #if RK1_ENABLED
     881           0 :     module procedure ismore_D0_D0_PSRK1
     882             :         use pm_kind, only: RKC => RK1
     883             : #include "pm_container@routines.inc.F90"
     884           0 :     end procedure
     885             : #endif
     886             : 
     887             : #undef RK_ENABLED
     888             : 
     889             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     890             : 
     891             : #undef PS_ENABLED
     892             : 
     893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     894             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     895             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     896             : 
     897             : #undef D0_D0_ENABLED
     898             : 
     899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     900             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     902             : 
     903             : #undef ismore_ENABLED
     904             : 
     905             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     906             : 
     907             : #define isleq_ENABLED 1
     908             : 
     909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     910             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     912             : 
     913             : #define D0_D0_ENABLED 1
     914             : 
     915             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     916             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     918             : 
     919             : #define BS_ENABLED 1
     920             : 
     921             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     922             : 
     923             : #define SK_ENABLED 1
     924           9 :     module procedure isleq_D0_D0_BSSK
     925             :         use pm_kind, only: SKC => SK
     926             : #include "pm_container@routines.inc.F90"
     927           9 :     end procedure
     928             : #undef  SK_ENABLED
     929             : 
     930             : #define IK_ENABLED 1
     931           0 :     module procedure isleq_D0_D0_BSIK
     932             :         use pm_kind, only: IKC => IK
     933             : #include "pm_container@routines.inc.F90"
     934           0 :     end procedure
     935             : #undef  IK_ENABLED
     936             : 
     937             : #define LK_ENABLED 1
     938           0 :     module procedure isleq_D0_D0_BSLK
     939             :         use pm_kind, only: LKC => LK
     940             : #include "pm_container@routines.inc.F90"
     941           0 :     end procedure
     942             : #undef  LK_ENABLED
     943             : 
     944             : #define CK_ENABLED 1
     945           0 :     module procedure isleq_D0_D0_BSCK
     946             :         use pm_kind, only: CKC => CK
     947             : #include "pm_container@routines.inc.F90"
     948           0 :     end procedure
     949             : #undef  CK_ENABLED
     950             : 
     951             : #define RK_ENABLED 1
     952           0 :     module procedure isleq_D0_D0_BSRK
     953             :         use pm_kind, only: RKC => RK
     954             : #include "pm_container@routines.inc.F90"
     955           0 :     end procedure
     956             : #undef  RK_ENABLED
     957             : 
     958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     959             : 
     960             : #undef BS_ENABLED
     961             : 
     962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     965             : 
     966             : #define PS_ENABLED 1
     967             : 
     968             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     969             : 
     970             : #define SK_ENABLED 1
     971             : 
     972             : #if SK5_ENABLED
     973             :     module procedure isleq_D0_D0_PSSK5
     974             :         use pm_kind, only: SKC => SK5
     975             : #include "pm_container@routines.inc.F90"
     976             :     end procedure
     977             : #endif
     978             : 
     979             : #if SK4_ENABLED
     980             :     module procedure isleq_D0_D0_PSSK4
     981             :         use pm_kind, only: SKC => SK4
     982             : #include "pm_container@routines.inc.F90"
     983             :     end procedure
     984             : #endif
     985             : 
     986             : #if SK3_ENABLED
     987             :     module procedure isleq_D0_D0_PSSK3
     988             :         use pm_kind, only: SKC => SK3
     989             : #include "pm_container@routines.inc.F90"
     990             :     end procedure
     991             : #endif
     992             : 
     993             : #if SK2_ENABLED
     994             :     module procedure isleq_D0_D0_PSSK2
     995             :         use pm_kind, only: SKC => SK2
     996             : #include "pm_container@routines.inc.F90"
     997             :     end procedure
     998             : #endif
     999             : 
    1000             : #if SK1_ENABLED
    1001           0 :     module procedure isleq_D0_D0_PSSK1
    1002             :         use pm_kind, only: SKC => SK1
    1003             : #include "pm_container@routines.inc.F90"
    1004           0 :     end procedure
    1005             : #endif
    1006             : 
    1007             : #undef SK_ENABLED
    1008             : 
    1009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1010             : 
    1011             : #define IK_ENABLED 1
    1012             : 
    1013             : #if IK5_ENABLED
    1014           0 :     module procedure isleq_D0_D0_PSIK5
    1015             :         use pm_kind, only: IKC => IK5
    1016             : #include "pm_container@routines.inc.F90"
    1017           0 :     end procedure
    1018             : #endif
    1019             : 
    1020             : #if IK4_ENABLED
    1021           0 :     module procedure isleq_D0_D0_PSIK4
    1022             :         use pm_kind, only: IKC => IK4
    1023             : #include "pm_container@routines.inc.F90"
    1024           0 :     end procedure
    1025             : #endif
    1026             : 
    1027             : #if IK3_ENABLED
    1028           0 :     module procedure isleq_D0_D0_PSIK3
    1029             :         use pm_kind, only: IKC => IK3
    1030             : #include "pm_container@routines.inc.F90"
    1031           0 :     end procedure
    1032             : #endif
    1033             : 
    1034             : #if IK2_ENABLED
    1035           0 :     module procedure isleq_D0_D0_PSIK2
    1036             :         use pm_kind, only: IKC => IK2
    1037             : #include "pm_container@routines.inc.F90"
    1038           0 :     end procedure
    1039             : #endif
    1040             : 
    1041             : #if IK1_ENABLED
    1042           0 :     module procedure isleq_D0_D0_PSIK1
    1043             :         use pm_kind, only: IKC => IK1
    1044             : #include "pm_container@routines.inc.F90"
    1045           0 :     end procedure
    1046             : #endif
    1047             : 
    1048             : #undef IK_ENABLED
    1049             : 
    1050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1051             : 
    1052             : #define LK_ENABLED 1
    1053             : 
    1054             : #if LK5_ENABLED
    1055           0 :     module procedure isleq_D0_D0_PSLK5
    1056             :         use pm_kind, only: LKC => LK5
    1057             : #include "pm_container@routines.inc.F90"
    1058           0 :     end procedure
    1059             : #endif
    1060             : 
    1061             : #if LK4_ENABLED
    1062           0 :     module procedure isleq_D0_D0_PSLK4
    1063             :         use pm_kind, only: LKC => LK4
    1064             : #include "pm_container@routines.inc.F90"
    1065           0 :     end procedure
    1066             : #endif
    1067             : 
    1068             : #if LK3_ENABLED
    1069           0 :     module procedure isleq_D0_D0_PSLK3
    1070             :         use pm_kind, only: LKC => LK3
    1071             : #include "pm_container@routines.inc.F90"
    1072           0 :     end procedure
    1073             : #endif
    1074             : 
    1075             : #if LK2_ENABLED
    1076           0 :     module procedure isleq_D0_D0_PSLK2
    1077             :         use pm_kind, only: LKC => LK2
    1078             : #include "pm_container@routines.inc.F90"
    1079           0 :     end procedure
    1080             : #endif
    1081             : 
    1082             : #if LK1_ENABLED
    1083           0 :     module procedure isleq_D0_D0_PSLK1
    1084             :         use pm_kind, only: LKC => LK1
    1085             : #include "pm_container@routines.inc.F90"
    1086           0 :     end procedure
    1087             : #endif
    1088             : 
    1089             : #undef LK_ENABLED
    1090             : 
    1091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1092             : 
    1093             : #define CK_ENABLED 1
    1094             : 
    1095             : #if CK5_ENABLED
    1096             :     module procedure isleq_D0_D0_PSCK5
    1097             :         use pm_kind, only: CKC => CK5
    1098             : #include "pm_container@routines.inc.F90"
    1099             :     end procedure
    1100             : #endif
    1101             : 
    1102             : #if CK4_ENABLED
    1103           0 :     module procedure isleq_D0_D0_PSCK4
    1104             :         use pm_kind, only: CKC => CK4
    1105             : #include "pm_container@routines.inc.F90"
    1106           0 :     end procedure
    1107             : #endif
    1108             : 
    1109             : #if CK3_ENABLED
    1110           0 :     module procedure isleq_D0_D0_PSCK3
    1111             :         use pm_kind, only: CKC => CK3
    1112             : #include "pm_container@routines.inc.F90"
    1113           0 :     end procedure
    1114             : #endif
    1115             : 
    1116             : #if CK2_ENABLED
    1117           0 :     module procedure isleq_D0_D0_PSCK2
    1118             :         use pm_kind, only: CKC => CK2
    1119             : #include "pm_container@routines.inc.F90"
    1120           0 :     end procedure
    1121             : #endif
    1122             : 
    1123             : #if CK1_ENABLED
    1124           0 :     module procedure isleq_D0_D0_PSCK1
    1125             :         use pm_kind, only: CKC => CK1
    1126             : #include "pm_container@routines.inc.F90"
    1127           0 :     end procedure
    1128             : #endif
    1129             : 
    1130             : #undef CK_ENABLED
    1131             : 
    1132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1133             : 
    1134             : #define RK_ENABLED 1
    1135             : 
    1136             : #if RK5_ENABLED
    1137             :     module procedure isleq_D0_D0_PSRK5
    1138             :         use pm_kind, only: RKC => RK5
    1139             : #include "pm_container@routines.inc.F90"
    1140             :     end procedure
    1141             : #endif
    1142             : 
    1143             : #if RK4_ENABLED
    1144           0 :     module procedure isleq_D0_D0_PSRK4
    1145             :         use pm_kind, only: RKC => RK4
    1146             : #include "pm_container@routines.inc.F90"
    1147           0 :     end procedure
    1148             : #endif
    1149             : 
    1150             : #if RK3_ENABLED
    1151           0 :     module procedure isleq_D0_D0_PSRK3
    1152             :         use pm_kind, only: RKC => RK3
    1153             : #include "pm_container@routines.inc.F90"
    1154           0 :     end procedure
    1155             : #endif
    1156             : 
    1157             : #if RK2_ENABLED
    1158           0 :     module procedure isleq_D0_D0_PSRK2
    1159             :         use pm_kind, only: RKC => RK2
    1160             : #include "pm_container@routines.inc.F90"
    1161           0 :     end procedure
    1162             : #endif
    1163             : 
    1164             : #if RK1_ENABLED
    1165           0 :     module procedure isleq_D0_D0_PSRK1
    1166             :         use pm_kind, only: RKC => RK1
    1167             : #include "pm_container@routines.inc.F90"
    1168           0 :     end procedure
    1169             : #endif
    1170             : 
    1171             : #undef RK_ENABLED
    1172             : 
    1173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1174             : 
    1175             : #undef PS_ENABLED
    1176             : 
    1177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1180             : 
    1181             : #undef D0_D0_ENABLED
    1182             : 
    1183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1186             : 
    1187             : #undef isleq_ENABLED
    1188             : 
    1189             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1190             : 
    1191             : #define ismeq_ENABLED 1
    1192             : 
    1193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1196             : 
    1197             : #define D0_D0_ENABLED 1
    1198             : 
    1199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1200             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             : 
    1203             : #define BS_ENABLED 1
    1204             : 
    1205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1206             : 
    1207             : #define SK_ENABLED 1
    1208           9 :     module procedure ismeq_D0_D0_BSSK
    1209             :         use pm_kind, only: SKC => SK
    1210             : #include "pm_container@routines.inc.F90"
    1211           9 :     end procedure
    1212             : #undef  SK_ENABLED
    1213             : 
    1214             : #define IK_ENABLED 1
    1215           0 :     module procedure ismeq_D0_D0_BSIK
    1216             :         use pm_kind, only: IKC => IK
    1217             : #include "pm_container@routines.inc.F90"
    1218           0 :     end procedure
    1219             : #undef  IK_ENABLED
    1220             : 
    1221             : #define LK_ENABLED 1
    1222           0 :     module procedure ismeq_D0_D0_BSLK
    1223             :         use pm_kind, only: LKC => LK
    1224             : #include "pm_container@routines.inc.F90"
    1225           0 :     end procedure
    1226             : #undef  LK_ENABLED
    1227             : 
    1228             : #define CK_ENABLED 1
    1229           0 :     module procedure ismeq_D0_D0_BSCK
    1230             :         use pm_kind, only: CKC => CK
    1231             : #include "pm_container@routines.inc.F90"
    1232           0 :     end procedure
    1233             : #undef  CK_ENABLED
    1234             : 
    1235             : #define RK_ENABLED 1
    1236           0 :     module procedure ismeq_D0_D0_BSRK
    1237             :         use pm_kind, only: RKC => RK
    1238             : #include "pm_container@routines.inc.F90"
    1239           0 :     end procedure
    1240             : #undef  RK_ENABLED
    1241             : 
    1242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1243             : 
    1244             : #undef BS_ENABLED
    1245             : 
    1246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1249             : 
    1250             : #define PS_ENABLED 1
    1251             : 
    1252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1253             : 
    1254             : #define SK_ENABLED 1
    1255             : 
    1256             : #if SK5_ENABLED
    1257             :     module procedure ismeq_D0_D0_PSSK5
    1258             :         use pm_kind, only: SKC => SK5
    1259             : #include "pm_container@routines.inc.F90"
    1260             :     end procedure
    1261             : #endif
    1262             : 
    1263             : #if SK4_ENABLED
    1264             :     module procedure ismeq_D0_D0_PSSK4
    1265             :         use pm_kind, only: SKC => SK4
    1266             : #include "pm_container@routines.inc.F90"
    1267             :     end procedure
    1268             : #endif
    1269             : 
    1270             : #if SK3_ENABLED
    1271             :     module procedure ismeq_D0_D0_PSSK3
    1272             :         use pm_kind, only: SKC => SK3
    1273             : #include "pm_container@routines.inc.F90"
    1274             :     end procedure
    1275             : #endif
    1276             : 
    1277             : #if SK2_ENABLED
    1278             :     module procedure ismeq_D0_D0_PSSK2
    1279             :         use pm_kind, only: SKC => SK2
    1280             : #include "pm_container@routines.inc.F90"
    1281             :     end procedure
    1282             : #endif
    1283             : 
    1284             : #if SK1_ENABLED
    1285           0 :     module procedure ismeq_D0_D0_PSSK1
    1286             :         use pm_kind, only: SKC => SK1
    1287             : #include "pm_container@routines.inc.F90"
    1288           0 :     end procedure
    1289             : #endif
    1290             : 
    1291             : #undef SK_ENABLED
    1292             : 
    1293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1294             : 
    1295             : #define IK_ENABLED 1
    1296             : 
    1297             : #if IK5_ENABLED
    1298           0 :     module procedure ismeq_D0_D0_PSIK5
    1299             :         use pm_kind, only: IKC => IK5
    1300             : #include "pm_container@routines.inc.F90"
    1301           0 :     end procedure
    1302             : #endif
    1303             : 
    1304             : #if IK4_ENABLED
    1305           0 :     module procedure ismeq_D0_D0_PSIK4
    1306             :         use pm_kind, only: IKC => IK4
    1307             : #include "pm_container@routines.inc.F90"
    1308           0 :     end procedure
    1309             : #endif
    1310             : 
    1311             : #if IK3_ENABLED
    1312           0 :     module procedure ismeq_D0_D0_PSIK3
    1313             :         use pm_kind, only: IKC => IK3
    1314             : #include "pm_container@routines.inc.F90"
    1315           0 :     end procedure
    1316             : #endif
    1317             : 
    1318             : #if IK2_ENABLED
    1319           0 :     module procedure ismeq_D0_D0_PSIK2
    1320             :         use pm_kind, only: IKC => IK2
    1321             : #include "pm_container@routines.inc.F90"
    1322           0 :     end procedure
    1323             : #endif
    1324             : 
    1325             : #if IK1_ENABLED
    1326           0 :     module procedure ismeq_D0_D0_PSIK1
    1327             :         use pm_kind, only: IKC => IK1
    1328             : #include "pm_container@routines.inc.F90"
    1329           0 :     end procedure
    1330             : #endif
    1331             : 
    1332             : #undef IK_ENABLED
    1333             : 
    1334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1335             : 
    1336             : #define LK_ENABLED 1
    1337             : 
    1338             : #if LK5_ENABLED
    1339           0 :     module procedure ismeq_D0_D0_PSLK5
    1340             :         use pm_kind, only: LKC => LK5
    1341             : #include "pm_container@routines.inc.F90"
    1342           0 :     end procedure
    1343             : #endif
    1344             : 
    1345             : #if LK4_ENABLED
    1346           0 :     module procedure ismeq_D0_D0_PSLK4
    1347             :         use pm_kind, only: LKC => LK4
    1348             : #include "pm_container@routines.inc.F90"
    1349           0 :     end procedure
    1350             : #endif
    1351             : 
    1352             : #if LK3_ENABLED
    1353           0 :     module procedure ismeq_D0_D0_PSLK3
    1354             :         use pm_kind, only: LKC => LK3
    1355             : #include "pm_container@routines.inc.F90"
    1356           0 :     end procedure
    1357             : #endif
    1358             : 
    1359             : #if LK2_ENABLED
    1360           0 :     module procedure ismeq_D0_D0_PSLK2
    1361             :         use pm_kind, only: LKC => LK2
    1362             : #include "pm_container@routines.inc.F90"
    1363           0 :     end procedure
    1364             : #endif
    1365             : 
    1366             : #if LK1_ENABLED
    1367           0 :     module procedure ismeq_D0_D0_PSLK1
    1368             :         use pm_kind, only: LKC => LK1
    1369             : #include "pm_container@routines.inc.F90"
    1370           0 :     end procedure
    1371             : #endif
    1372             : 
    1373             : #undef LK_ENABLED
    1374             : 
    1375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1376             : 
    1377             : #define CK_ENABLED 1
    1378             : 
    1379             : #if CK5_ENABLED
    1380             :     module procedure ismeq_D0_D0_PSCK5
    1381             :         use pm_kind, only: CKC => CK5
    1382             : #include "pm_container@routines.inc.F90"
    1383             :     end procedure
    1384             : #endif
    1385             : 
    1386             : #if CK4_ENABLED
    1387           0 :     module procedure ismeq_D0_D0_PSCK4
    1388             :         use pm_kind, only: CKC => CK4
    1389             : #include "pm_container@routines.inc.F90"
    1390           0 :     end procedure
    1391             : #endif
    1392             : 
    1393             : #if CK3_ENABLED
    1394           0 :     module procedure ismeq_D0_D0_PSCK3
    1395             :         use pm_kind, only: CKC => CK3
    1396             : #include "pm_container@routines.inc.F90"
    1397           0 :     end procedure
    1398             : #endif
    1399             : 
    1400             : #if CK2_ENABLED
    1401           0 :     module procedure ismeq_D0_D0_PSCK2
    1402             :         use pm_kind, only: CKC => CK2
    1403             : #include "pm_container@routines.inc.F90"
    1404           0 :     end procedure
    1405             : #endif
    1406             : 
    1407             : #if CK1_ENABLED
    1408           0 :     module procedure ismeq_D0_D0_PSCK1
    1409             :         use pm_kind, only: CKC => CK1
    1410             : #include "pm_container@routines.inc.F90"
    1411           0 :     end procedure
    1412             : #endif
    1413             : 
    1414             : #undef CK_ENABLED
    1415             : 
    1416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             : 
    1418             : #define RK_ENABLED 1
    1419             : 
    1420             : #if RK5_ENABLED
    1421             :     module procedure ismeq_D0_D0_PSRK5
    1422             :         use pm_kind, only: RKC => RK5
    1423             : #include "pm_container@routines.inc.F90"
    1424             :     end procedure
    1425             : #endif
    1426             : 
    1427             : #if RK4_ENABLED
    1428           0 :     module procedure ismeq_D0_D0_PSRK4
    1429             :         use pm_kind, only: RKC => RK4
    1430             : #include "pm_container@routines.inc.F90"
    1431           0 :     end procedure
    1432             : #endif
    1433             : 
    1434             : #if RK3_ENABLED
    1435           0 :     module procedure ismeq_D0_D0_PSRK3
    1436             :         use pm_kind, only: RKC => RK3
    1437             : #include "pm_container@routines.inc.F90"
    1438           0 :     end procedure
    1439             : #endif
    1440             : 
    1441             : #if RK2_ENABLED
    1442           0 :     module procedure ismeq_D0_D0_PSRK2
    1443             :         use pm_kind, only: RKC => RK2
    1444             : #include "pm_container@routines.inc.F90"
    1445           0 :     end procedure
    1446             : #endif
    1447             : 
    1448             : #if RK1_ENABLED
    1449           0 :     module procedure ismeq_D0_D0_PSRK1
    1450             :         use pm_kind, only: RKC => RK1
    1451             : #include "pm_container@routines.inc.F90"
    1452           0 :     end procedure
    1453             : #endif
    1454             : 
    1455             : #undef RK_ENABLED
    1456             : 
    1457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1458             : 
    1459             : #undef PS_ENABLED
    1460             : 
    1461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1464             : 
    1465             : #undef D0_D0_ENABLED
    1466             : 
    1467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1470             : 
    1471             : #undef ismeq_ENABLED
    1472             : 
    1473             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1474             : 
    1475             : #define isneq_ENABLED 1
    1476             : 
    1477             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1479             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1480             : 
    1481             : #define D0_D0_ENABLED 1
    1482             : 
    1483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1486             : 
    1487             : #define BS_ENABLED 1
    1488             : 
    1489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1490             : 
    1491             : #define SK_ENABLED 1
    1492           9 :     module procedure isneq_D0_D0_BSSK
    1493             :         use pm_kind, only: SKC => SK
    1494             : #include "pm_container@routines.inc.F90"
    1495           9 :     end procedure
    1496             : #undef  SK_ENABLED
    1497             : 
    1498             : #define IK_ENABLED 1
    1499           0 :     module procedure isneq_D0_D0_BSIK
    1500             :         use pm_kind, only: IKC => IK
    1501             : #include "pm_container@routines.inc.F90"
    1502           0 :     end procedure
    1503             : #undef  IK_ENABLED
    1504             : 
    1505             : #define LK_ENABLED 1
    1506           0 :     module procedure isneq_D0_D0_BSLK
    1507             :         use pm_kind, only: LKC => LK
    1508             : #include "pm_container@routines.inc.F90"
    1509           0 :     end procedure
    1510             : #undef  LK_ENABLED
    1511             : 
    1512             : #define CK_ENABLED 1
    1513           0 :     module procedure isneq_D0_D0_BSCK
    1514             :         use pm_kind, only: CKC => CK
    1515             : #include "pm_container@routines.inc.F90"
    1516           0 :     end procedure
    1517             : #undef  CK_ENABLED
    1518             : 
    1519             : #define RK_ENABLED 1
    1520           0 :     module procedure isneq_D0_D0_BSRK
    1521             :         use pm_kind, only: RKC => RK
    1522             : #include "pm_container@routines.inc.F90"
    1523           0 :     end procedure
    1524             : #undef  RK_ENABLED
    1525             : 
    1526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1527             : 
    1528             : #undef BS_ENABLED
    1529             : 
    1530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1533             : 
    1534             : #define PS_ENABLED 1
    1535             : 
    1536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1537             : 
    1538             : #define SK_ENABLED 1
    1539             : 
    1540             : #if SK5_ENABLED
    1541             :     module procedure isneq_D0_D0_PSSK5
    1542             :         use pm_kind, only: SKC => SK5
    1543             : #include "pm_container@routines.inc.F90"
    1544             :     end procedure
    1545             : #endif
    1546             : 
    1547             : #if SK4_ENABLED
    1548             :     module procedure isneq_D0_D0_PSSK4
    1549             :         use pm_kind, only: SKC => SK4
    1550             : #include "pm_container@routines.inc.F90"
    1551             :     end procedure
    1552             : #endif
    1553             : 
    1554             : #if SK3_ENABLED
    1555             :     module procedure isneq_D0_D0_PSSK3
    1556             :         use pm_kind, only: SKC => SK3
    1557             : #include "pm_container@routines.inc.F90"
    1558             :     end procedure
    1559             : #endif
    1560             : 
    1561             : #if SK2_ENABLED
    1562             :     module procedure isneq_D0_D0_PSSK2
    1563             :         use pm_kind, only: SKC => SK2
    1564             : #include "pm_container@routines.inc.F90"
    1565             :     end procedure
    1566             : #endif
    1567             : 
    1568             : #if SK1_ENABLED
    1569           0 :     module procedure isneq_D0_D0_PSSK1
    1570             :         use pm_kind, only: SKC => SK1
    1571             : #include "pm_container@routines.inc.F90"
    1572           0 :     end procedure
    1573             : #endif
    1574             : 
    1575             : #undef SK_ENABLED
    1576             : 
    1577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1578             : 
    1579             : #define IK_ENABLED 1
    1580             : 
    1581             : #if IK5_ENABLED
    1582           0 :     module procedure isneq_D0_D0_PSIK5
    1583             :         use pm_kind, only: IKC => IK5
    1584             : #include "pm_container@routines.inc.F90"
    1585           0 :     end procedure
    1586             : #endif
    1587             : 
    1588             : #if IK4_ENABLED
    1589           0 :     module procedure isneq_D0_D0_PSIK4
    1590             :         use pm_kind, only: IKC => IK4
    1591             : #include "pm_container@routines.inc.F90"
    1592           0 :     end procedure
    1593             : #endif
    1594             : 
    1595             : #if IK3_ENABLED
    1596           0 :     module procedure isneq_D0_D0_PSIK3
    1597             :         use pm_kind, only: IKC => IK3
    1598             : #include "pm_container@routines.inc.F90"
    1599           0 :     end procedure
    1600             : #endif
    1601             : 
    1602             : #if IK2_ENABLED
    1603           0 :     module procedure isneq_D0_D0_PSIK2
    1604             :         use pm_kind, only: IKC => IK2
    1605             : #include "pm_container@routines.inc.F90"
    1606           0 :     end procedure
    1607             : #endif
    1608             : 
    1609             : #if IK1_ENABLED
    1610           0 :     module procedure isneq_D0_D0_PSIK1
    1611             :         use pm_kind, only: IKC => IK1
    1612             : #include "pm_container@routines.inc.F90"
    1613           0 :     end procedure
    1614             : #endif
    1615             : 
    1616             : #undef IK_ENABLED
    1617             : 
    1618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1619             : 
    1620             : #define LK_ENABLED 1
    1621             : 
    1622             : #if LK5_ENABLED
    1623           0 :     module procedure isneq_D0_D0_PSLK5
    1624             :         use pm_kind, only: LKC => LK5
    1625             : #include "pm_container@routines.inc.F90"
    1626           0 :     end procedure
    1627             : #endif
    1628             : 
    1629             : #if LK4_ENABLED
    1630           0 :     module procedure isneq_D0_D0_PSLK4
    1631             :         use pm_kind, only: LKC => LK4
    1632             : #include "pm_container@routines.inc.F90"
    1633           0 :     end procedure
    1634             : #endif
    1635             : 
    1636             : #if LK3_ENABLED
    1637           0 :     module procedure isneq_D0_D0_PSLK3
    1638             :         use pm_kind, only: LKC => LK3
    1639             : #include "pm_container@routines.inc.F90"
    1640           0 :     end procedure
    1641             : #endif
    1642             : 
    1643             : #if LK2_ENABLED
    1644           0 :     module procedure isneq_D0_D0_PSLK2
    1645             :         use pm_kind, only: LKC => LK2
    1646             : #include "pm_container@routines.inc.F90"
    1647           0 :     end procedure
    1648             : #endif
    1649             : 
    1650             : #if LK1_ENABLED
    1651           0 :     module procedure isneq_D0_D0_PSLK1
    1652             :         use pm_kind, only: LKC => LK1
    1653             : #include "pm_container@routines.inc.F90"
    1654           0 :     end procedure
    1655             : #endif
    1656             : 
    1657             : #undef LK_ENABLED
    1658             : 
    1659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1660             : 
    1661             : #define CK_ENABLED 1
    1662             : 
    1663             : #if CK5_ENABLED
    1664             :     module procedure isneq_D0_D0_PSCK5
    1665             :         use pm_kind, only: CKC => CK5
    1666             : #include "pm_container@routines.inc.F90"
    1667             :     end procedure
    1668             : #endif
    1669             : 
    1670             : #if CK4_ENABLED
    1671           0 :     module procedure isneq_D0_D0_PSCK4
    1672             :         use pm_kind, only: CKC => CK4
    1673             : #include "pm_container@routines.inc.F90"
    1674           0 :     end procedure
    1675             : #endif
    1676             : 
    1677             : #if CK3_ENABLED
    1678           0 :     module procedure isneq_D0_D0_PSCK3
    1679             :         use pm_kind, only: CKC => CK3
    1680             : #include "pm_container@routines.inc.F90"
    1681           0 :     end procedure
    1682             : #endif
    1683             : 
    1684             : #if CK2_ENABLED
    1685           0 :     module procedure isneq_D0_D0_PSCK2
    1686             :         use pm_kind, only: CKC => CK2
    1687             : #include "pm_container@routines.inc.F90"
    1688           0 :     end procedure
    1689             : #endif
    1690             : 
    1691             : #if CK1_ENABLED
    1692           0 :     module procedure isneq_D0_D0_PSCK1
    1693             :         use pm_kind, only: CKC => CK1
    1694             : #include "pm_container@routines.inc.F90"
    1695           0 :     end procedure
    1696             : #endif
    1697             : 
    1698             : #undef CK_ENABLED
    1699             : 
    1700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1701             : 
    1702             : #define RK_ENABLED 1
    1703             : 
    1704             : #if RK5_ENABLED
    1705             :     module procedure isneq_D0_D0_PSRK5
    1706             :         use pm_kind, only: RKC => RK5
    1707             : #include "pm_container@routines.inc.F90"
    1708             :     end procedure
    1709             : #endif
    1710             : 
    1711             : #if RK4_ENABLED
    1712           0 :     module procedure isneq_D0_D0_PSRK4
    1713             :         use pm_kind, only: RKC => RK4
    1714             : #include "pm_container@routines.inc.F90"
    1715           0 :     end procedure
    1716             : #endif
    1717             : 
    1718             : #if RK3_ENABLED
    1719           0 :     module procedure isneq_D0_D0_PSRK3
    1720             :         use pm_kind, only: RKC => RK3
    1721             : #include "pm_container@routines.inc.F90"
    1722           0 :     end procedure
    1723             : #endif
    1724             : 
    1725             : #if RK2_ENABLED
    1726           0 :     module procedure isneq_D0_D0_PSRK2
    1727             :         use pm_kind, only: RKC => RK2
    1728             : #include "pm_container@routines.inc.F90"
    1729           0 :     end procedure
    1730             : #endif
    1731             : 
    1732             : #if RK1_ENABLED
    1733           0 :     module procedure isneq_D0_D0_PSRK1
    1734             :         use pm_kind, only: RKC => RK1
    1735             : #include "pm_container@routines.inc.F90"
    1736           0 :     end procedure
    1737             : #endif
    1738             : 
    1739             : #undef RK_ENABLED
    1740             : 
    1741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1742             : 
    1743             : #undef PS_ENABLED
    1744             : 
    1745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1748             : 
    1749             : #undef D0_D0_ENABLED
    1750             : 
    1751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1754             : 
    1755             : #undef isneq_ENABLED
    1756             : 
    1757             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1758             : 
    1759             : #define iseq_ENABLED 1
    1760             : 
    1761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1764             : 
    1765             : #define D0_D0_ENABLED 1
    1766             : 
    1767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1770             : 
    1771             : #define BS_ENABLED 1
    1772             : 
    1773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1774             : 
    1775             : #define SK_ENABLED 1
    1776           9 :     module procedure iseq_D0_D0_BSSK
    1777             :         use pm_kind, only: SKC => SK
    1778             : #include "pm_container@routines.inc.F90"
    1779           9 :     end procedure
    1780             : #undef  SK_ENABLED
    1781             : 
    1782             : #define IK_ENABLED 1
    1783           0 :     module procedure iseq_D0_D0_BSIK
    1784             :         use pm_kind, only: IKC => IK
    1785             : #include "pm_container@routines.inc.F90"
    1786           0 :     end procedure
    1787             : #undef  IK_ENABLED
    1788             : 
    1789             : #define LK_ENABLED 1
    1790           0 :     module procedure iseq_D0_D0_BSLK
    1791             :         use pm_kind, only: LKC => LK
    1792             : #include "pm_container@routines.inc.F90"
    1793           0 :     end procedure
    1794             : #undef  LK_ENABLED
    1795             : 
    1796             : #define CK_ENABLED 1
    1797           0 :     module procedure iseq_D0_D0_BSCK
    1798             :         use pm_kind, only: CKC => CK
    1799             : #include "pm_container@routines.inc.F90"
    1800           0 :     end procedure
    1801             : #undef  CK_ENABLED
    1802             : 
    1803             : #define RK_ENABLED 1
    1804           0 :     module procedure iseq_D0_D0_BSRK
    1805             :         use pm_kind, only: RKC => RK
    1806             : #include "pm_container@routines.inc.F90"
    1807           0 :     end procedure
    1808             : #undef  RK_ENABLED
    1809             : 
    1810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1811             : 
    1812             : #undef BS_ENABLED
    1813             : 
    1814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1817             : 
    1818             : #define PS_ENABLED 1
    1819             : 
    1820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1821             : 
    1822             : #define SK_ENABLED 1
    1823             : 
    1824             : #if SK5_ENABLED
    1825             :     module procedure iseq_D0_D0_PSSK5
    1826             :         use pm_kind, only: SKC => SK5
    1827             : #include "pm_container@routines.inc.F90"
    1828             :     end procedure
    1829             : #endif
    1830             : 
    1831             : #if SK4_ENABLED
    1832             :     module procedure iseq_D0_D0_PSSK4
    1833             :         use pm_kind, only: SKC => SK4
    1834             : #include "pm_container@routines.inc.F90"
    1835             :     end procedure
    1836             : #endif
    1837             : 
    1838             : #if SK3_ENABLED
    1839             :     module procedure iseq_D0_D0_PSSK3
    1840             :         use pm_kind, only: SKC => SK3
    1841             : #include "pm_container@routines.inc.F90"
    1842             :     end procedure
    1843             : #endif
    1844             : 
    1845             : #if SK2_ENABLED
    1846             :     module procedure iseq_D0_D0_PSSK2
    1847             :         use pm_kind, only: SKC => SK2
    1848             : #include "pm_container@routines.inc.F90"
    1849             :     end procedure
    1850             : #endif
    1851             : 
    1852             : #if SK1_ENABLED
    1853           0 :     module procedure iseq_D0_D0_PSSK1
    1854             :         use pm_kind, only: SKC => SK1
    1855             : #include "pm_container@routines.inc.F90"
    1856           0 :     end procedure
    1857             : #endif
    1858             : 
    1859             : #undef SK_ENABLED
    1860             : 
    1861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1862             : 
    1863             : #define IK_ENABLED 1
    1864             : 
    1865             : #if IK5_ENABLED
    1866           0 :     module procedure iseq_D0_D0_PSIK5
    1867             :         use pm_kind, only: IKC => IK5
    1868             : #include "pm_container@routines.inc.F90"
    1869           0 :     end procedure
    1870             : #endif
    1871             : 
    1872             : #if IK4_ENABLED
    1873           0 :     module procedure iseq_D0_D0_PSIK4
    1874             :         use pm_kind, only: IKC => IK4
    1875             : #include "pm_container@routines.inc.F90"
    1876           0 :     end procedure
    1877             : #endif
    1878             : 
    1879             : #if IK3_ENABLED
    1880           0 :     module procedure iseq_D0_D0_PSIK3
    1881             :         use pm_kind, only: IKC => IK3
    1882             : #include "pm_container@routines.inc.F90"
    1883           0 :     end procedure
    1884             : #endif
    1885             : 
    1886             : #if IK2_ENABLED
    1887           0 :     module procedure iseq_D0_D0_PSIK2
    1888             :         use pm_kind, only: IKC => IK2
    1889             : #include "pm_container@routines.inc.F90"
    1890           0 :     end procedure
    1891             : #endif
    1892             : 
    1893             : #if IK1_ENABLED
    1894           0 :     module procedure iseq_D0_D0_PSIK1
    1895             :         use pm_kind, only: IKC => IK1
    1896             : #include "pm_container@routines.inc.F90"
    1897           0 :     end procedure
    1898             : #endif
    1899             : 
    1900             : #undef IK_ENABLED
    1901             : 
    1902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1903             : 
    1904             : #define LK_ENABLED 1
    1905             : 
    1906             : #if LK5_ENABLED
    1907           0 :     module procedure iseq_D0_D0_PSLK5
    1908             :         use pm_kind, only: LKC => LK5
    1909             : #include "pm_container@routines.inc.F90"
    1910           0 :     end procedure
    1911             : #endif
    1912             : 
    1913             : #if LK4_ENABLED
    1914           0 :     module procedure iseq_D0_D0_PSLK4
    1915             :         use pm_kind, only: LKC => LK4
    1916             : #include "pm_container@routines.inc.F90"
    1917           0 :     end procedure
    1918             : #endif
    1919             : 
    1920             : #if LK3_ENABLED
    1921           0 :     module procedure iseq_D0_D0_PSLK3
    1922             :         use pm_kind, only: LKC => LK3
    1923             : #include "pm_container@routines.inc.F90"
    1924           0 :     end procedure
    1925             : #endif
    1926             : 
    1927             : #if LK2_ENABLED
    1928           0 :     module procedure iseq_D0_D0_PSLK2
    1929             :         use pm_kind, only: LKC => LK2
    1930             : #include "pm_container@routines.inc.F90"
    1931           0 :     end procedure
    1932             : #endif
    1933             : 
    1934             : #if LK1_ENABLED
    1935           0 :     module procedure iseq_D0_D0_PSLK1
    1936             :         use pm_kind, only: LKC => LK1
    1937             : #include "pm_container@routines.inc.F90"
    1938           0 :     end procedure
    1939             : #endif
    1940             : 
    1941             : #undef LK_ENABLED
    1942             : 
    1943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1944             : 
    1945             : #define CK_ENABLED 1
    1946             : 
    1947             : #if CK5_ENABLED
    1948             :     module procedure iseq_D0_D0_PSCK5
    1949             :         use pm_kind, only: CKC => CK5
    1950             : #include "pm_container@routines.inc.F90"
    1951             :     end procedure
    1952             : #endif
    1953             : 
    1954             : #if CK4_ENABLED
    1955           0 :     module procedure iseq_D0_D0_PSCK4
    1956             :         use pm_kind, only: CKC => CK4
    1957             : #include "pm_container@routines.inc.F90"
    1958           0 :     end procedure
    1959             : #endif
    1960             : 
    1961             : #if CK3_ENABLED
    1962           0 :     module procedure iseq_D0_D0_PSCK3
    1963             :         use pm_kind, only: CKC => CK3
    1964             : #include "pm_container@routines.inc.F90"
    1965           0 :     end procedure
    1966             : #endif
    1967             : 
    1968             : #if CK2_ENABLED
    1969           0 :     module procedure iseq_D0_D0_PSCK2
    1970             :         use pm_kind, only: CKC => CK2
    1971             : #include "pm_container@routines.inc.F90"
    1972           0 :     end procedure
    1973             : #endif
    1974             : 
    1975             : #if CK1_ENABLED
    1976           0 :     module procedure iseq_D0_D0_PSCK1
    1977             :         use pm_kind, only: CKC => CK1
    1978             : #include "pm_container@routines.inc.F90"
    1979           0 :     end procedure
    1980             : #endif
    1981             : 
    1982             : #undef CK_ENABLED
    1983             : 
    1984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1985             : 
    1986             : #define RK_ENABLED 1
    1987             : 
    1988             : #if RK5_ENABLED
    1989             :     module procedure iseq_D0_D0_PSRK5
    1990             :         use pm_kind, only: RKC => RK5
    1991             : #include "pm_container@routines.inc.F90"
    1992             :     end procedure
    1993             : #endif
    1994             : 
    1995             : #if RK4_ENABLED
    1996           0 :     module procedure iseq_D0_D0_PSRK4
    1997             :         use pm_kind, only: RKC => RK4
    1998             : #include "pm_container@routines.inc.F90"
    1999           0 :     end procedure
    2000             : #endif
    2001             : 
    2002             : #if RK3_ENABLED
    2003           0 :     module procedure iseq_D0_D0_PSRK3
    2004             :         use pm_kind, only: RKC => RK3
    2005             : #include "pm_container@routines.inc.F90"
    2006           0 :     end procedure
    2007             : #endif
    2008             : 
    2009             : #if RK2_ENABLED
    2010           0 :     module procedure iseq_D0_D0_PSRK2
    2011             :         use pm_kind, only: RKC => RK2
    2012             : #include "pm_container@routines.inc.F90"
    2013           0 :     end procedure
    2014             : #endif
    2015             : 
    2016             : #if RK1_ENABLED
    2017           0 :     module procedure iseq_D0_D0_PSRK1
    2018             :         use pm_kind, only: RKC => RK1
    2019             : #include "pm_container@routines.inc.F90"
    2020           0 :     end procedure
    2021             : #endif
    2022             : 
    2023             : #undef RK_ENABLED
    2024             : 
    2025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2026             : 
    2027             : #undef PS_ENABLED
    2028             : 
    2029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2032             : 
    2033             : #undef D0_D0_ENABLED
    2034             : 
    2035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2038             : 
    2039             : #undef iseq_ENABLED
    2040             : 
    2041             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2042             : 
    2043             : #define assign_ENABLED 1
    2044             : 
    2045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2046             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2048             : 
    2049             : #define D0_D0_ENABLED 1
    2050             : 
    2051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2052             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2054             : 
    2055             : #define BS_ENABLED 1
    2056             : 
    2057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2058             : 
    2059             : #define SK_ENABLED 1
    2060           7 :     module procedure assign_D0_D0_BSSK
    2061             :         use pm_kind, only: SKC => SK
    2062             : #include "pm_container@routines.inc.F90"
    2063           7 :     end procedure
    2064             : #undef  SK_ENABLED
    2065             : 
    2066             : #define IK_ENABLED 1
    2067           0 :     module procedure assign_D0_D0_BSIK
    2068             :         use pm_kind, only: IKC => IK
    2069             : #include "pm_container@routines.inc.F90"
    2070           0 :     end procedure
    2071             : #undef  IK_ENABLED
    2072             : 
    2073             : #define LK_ENABLED 1
    2074           0 :     module procedure assign_D0_D0_BSLK
    2075             :         use pm_kind, only: LKC => LK
    2076             : #include "pm_container@routines.inc.F90"
    2077           0 :     end procedure
    2078             : #undef  LK_ENABLED
    2079             : 
    2080             : #define CK_ENABLED 1
    2081           0 :     module procedure assign_D0_D0_BSCK
    2082             :         use pm_kind, only: CKC => CK
    2083             : #include "pm_container@routines.inc.F90"
    2084           0 :     end procedure
    2085             : #undef  CK_ENABLED
    2086             : 
    2087             : #define RK_ENABLED 1
    2088           0 :     module procedure assign_D0_D0_BSRK
    2089             :         use pm_kind, only: RKC => RK
    2090             : #include "pm_container@routines.inc.F90"
    2091           0 :     end procedure
    2092             : #undef  RK_ENABLED
    2093             : 
    2094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2095             : 
    2096             : #undef BS_ENABLED
    2097             : 
    2098             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2101             : 
    2102             : #define PS_ENABLED 1
    2103             : 
    2104             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2105             : 
    2106             : #define SK_ENABLED 1
    2107             : 
    2108             : #if SK5_ENABLED
    2109             :     module procedure assign_D0_D0_PSSK5
    2110             :         use pm_kind, only: SKC => SK5
    2111             : #include "pm_container@routines.inc.F90"
    2112             :     end procedure
    2113             : #endif
    2114             : 
    2115             : #if SK4_ENABLED
    2116             :     module procedure assign_D0_D0_PSSK4
    2117             :         use pm_kind, only: SKC => SK4
    2118             : #include "pm_container@routines.inc.F90"
    2119             :     end procedure
    2120             : #endif
    2121             : 
    2122             : #if SK3_ENABLED
    2123             :     module procedure assign_D0_D0_PSSK3
    2124             :         use pm_kind, only: SKC => SK3
    2125             : #include "pm_container@routines.inc.F90"
    2126             :     end procedure
    2127             : #endif
    2128             : 
    2129             : #if SK2_ENABLED
    2130             :     module procedure assign_D0_D0_PSSK2
    2131             :         use pm_kind, only: SKC => SK2
    2132             : #include "pm_container@routines.inc.F90"
    2133             :     end procedure
    2134             : #endif
    2135             : 
    2136             : #if SK1_ENABLED
    2137           0 :     module procedure assign_D0_D0_PSSK1
    2138             :         use pm_kind, only: SKC => SK1
    2139             : #include "pm_container@routines.inc.F90"
    2140           0 :     end procedure
    2141             : #endif
    2142             : 
    2143             : #undef SK_ENABLED
    2144             : 
    2145             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2146             : 
    2147             : #define IK_ENABLED 1
    2148             : 
    2149             : #if IK5_ENABLED
    2150           0 :     module procedure assign_D0_D0_PSIK5
    2151             :         use pm_kind, only: IKC => IK5
    2152             : #include "pm_container@routines.inc.F90"
    2153           0 :     end procedure
    2154             : #endif
    2155             : 
    2156             : #if IK4_ENABLED
    2157           0 :     module procedure assign_D0_D0_PSIK4
    2158             :         use pm_kind, only: IKC => IK4
    2159             : #include "pm_container@routines.inc.F90"
    2160           0 :     end procedure
    2161             : #endif
    2162             : 
    2163             : #if IK3_ENABLED
    2164           0 :     module procedure assign_D0_D0_PSIK3
    2165             :         use pm_kind, only: IKC => IK3
    2166             : #include "pm_container@routines.inc.F90"
    2167           0 :     end procedure
    2168             : #endif
    2169             : 
    2170             : #if IK2_ENABLED
    2171           0 :     module procedure assign_D0_D0_PSIK2
    2172             :         use pm_kind, only: IKC => IK2
    2173             : #include "pm_container@routines.inc.F90"
    2174           0 :     end procedure
    2175             : #endif
    2176             : 
    2177             : #if IK1_ENABLED
    2178           0 :     module procedure assign_D0_D0_PSIK1
    2179             :         use pm_kind, only: IKC => IK1
    2180             : #include "pm_container@routines.inc.F90"
    2181           0 :     end procedure
    2182             : #endif
    2183             : 
    2184             : #undef IK_ENABLED
    2185             : 
    2186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2187             : 
    2188             : #define LK_ENABLED 1
    2189             : 
    2190             : #if LK5_ENABLED
    2191           0 :     module procedure assign_D0_D0_PSLK5
    2192             :         use pm_kind, only: LKC => LK5
    2193             : #include "pm_container@routines.inc.F90"
    2194           0 :     end procedure
    2195             : #endif
    2196             : 
    2197             : #if LK4_ENABLED
    2198           0 :     module procedure assign_D0_D0_PSLK4
    2199             :         use pm_kind, only: LKC => LK4
    2200             : #include "pm_container@routines.inc.F90"
    2201           0 :     end procedure
    2202             : #endif
    2203             : 
    2204             : #if LK3_ENABLED
    2205           0 :     module procedure assign_D0_D0_PSLK3
    2206             :         use pm_kind, only: LKC => LK3
    2207             : #include "pm_container@routines.inc.F90"
    2208           0 :     end procedure
    2209             : #endif
    2210             : 
    2211             : #if LK2_ENABLED
    2212           0 :     module procedure assign_D0_D0_PSLK2
    2213             :         use pm_kind, only: LKC => LK2
    2214             : #include "pm_container@routines.inc.F90"
    2215           0 :     end procedure
    2216             : #endif
    2217             : 
    2218             : #if LK1_ENABLED
    2219           0 :     module procedure assign_D0_D0_PSLK1
    2220             :         use pm_kind, only: LKC => LK1
    2221             : #include "pm_container@routines.inc.F90"
    2222           0 :     end procedure
    2223             : #endif
    2224             : 
    2225             : #undef LK_ENABLED
    2226             : 
    2227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2228             : 
    2229             : #define CK_ENABLED 1
    2230             : 
    2231             : #if CK5_ENABLED
    2232             :     module procedure assign_D0_D0_PSCK5
    2233             :         use pm_kind, only: CKC => CK5
    2234             : #include "pm_container@routines.inc.F90"
    2235             :     end procedure
    2236             : #endif
    2237             : 
    2238             : #if CK4_ENABLED
    2239           0 :     module procedure assign_D0_D0_PSCK4
    2240             :         use pm_kind, only: CKC => CK4
    2241             : #include "pm_container@routines.inc.F90"
    2242           0 :     end procedure
    2243             : #endif
    2244             : 
    2245             : #if CK3_ENABLED
    2246           0 :     module procedure assign_D0_D0_PSCK3
    2247             :         use pm_kind, only: CKC => CK3
    2248             : #include "pm_container@routines.inc.F90"
    2249           0 :     end procedure
    2250             : #endif
    2251             : 
    2252             : #if CK2_ENABLED
    2253           0 :     module procedure assign_D0_D0_PSCK2
    2254             :         use pm_kind, only: CKC => CK2
    2255             : #include "pm_container@routines.inc.F90"
    2256           0 :     end procedure
    2257             : #endif
    2258             : 
    2259             : #if CK1_ENABLED
    2260           0 :     module procedure assign_D0_D0_PSCK1
    2261             :         use pm_kind, only: CKC => CK1
    2262             : #include "pm_container@routines.inc.F90"
    2263           0 :     end procedure
    2264             : #endif
    2265             : 
    2266             : #undef CK_ENABLED
    2267             : 
    2268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2269             : 
    2270             : #define RK_ENABLED 1
    2271             : 
    2272             : #if RK5_ENABLED
    2273             :     module procedure assign_D0_D0_PSRK5
    2274             :         use pm_kind, only: RKC => RK5
    2275             : #include "pm_container@routines.inc.F90"
    2276             :     end procedure
    2277             : #endif
    2278             : 
    2279             : #if RK4_ENABLED
    2280           0 :     module procedure assign_D0_D0_PSRK4
    2281             :         use pm_kind, only: RKC => RK4
    2282             : #include "pm_container@routines.inc.F90"
    2283           0 :     end procedure
    2284             : #endif
    2285             : 
    2286             : #if RK3_ENABLED
    2287           0 :     module procedure assign_D0_D0_PSRK3
    2288             :         use pm_kind, only: RKC => RK3
    2289             : #include "pm_container@routines.inc.F90"
    2290           0 :     end procedure
    2291             : #endif
    2292             : 
    2293             : #if RK2_ENABLED
    2294           0 :     module procedure assign_D0_D0_PSRK2
    2295             :         use pm_kind, only: RKC => RK2
    2296             : #include "pm_container@routines.inc.F90"
    2297           0 :     end procedure
    2298             : #endif
    2299             : 
    2300             : #if RK1_ENABLED
    2301           0 :     module procedure assign_D0_D0_PSRK1
    2302             :         use pm_kind, only: RKC => RK1
    2303             : #include "pm_container@routines.inc.F90"
    2304           0 :     end procedure
    2305             : #endif
    2306             : 
    2307             : #undef RK_ENABLED
    2308             : 
    2309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2310             : 
    2311             : #undef PS_ENABLED
    2312             : 
    2313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2316             : 
    2317             : #undef D0_D0_ENABLED
    2318             : 
    2319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2322             : 
    2323             : #undef assign_ENABLED
    2324             : 
    2325             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2326             : !
    2327             : !#define getVal_ENABLED 1
    2328             : !
    2329             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2330             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2331             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2332             : !
    2333             : !#define  D0_ENABLED 1
    2334             : !
    2335             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2336             : !
    2337             : !#define SK_ENABLED 1
    2338             : !    module procedure getVal_D0_BSSK
    2339             : !        use pm_kind, only: SKC => SK
    2340             : !#include "pm_container@routines.inc.F90"
    2341             : !    end procedure
    2342             : !#undef  SK_ENABLED
    2343             : !
    2344             : !#define IK_ENABLED 1
    2345             : !    module procedure getVal_D0_BSIK
    2346             : !        use pm_kind, only: IKC => IK
    2347             : !#include "pm_container@routines.inc.F90"
    2348             : !    end procedure
    2349             : !#undef  IK_ENABLED
    2350             : !
    2351             : !#define LK_ENABLED 1
    2352             : !    module procedure getVal_D0_BSLK
    2353             : !        use pm_kind, only: LKC => LK
    2354             : !#include "pm_container@routines.inc.F90"
    2355             : !    end procedure
    2356             : !#undef  LK_ENABLED
    2357             : !
    2358             : !#define CK_ENABLED 1
    2359             : !    module procedure getVal_D0_BSCK
    2360             : !        use pm_kind, only: CKC => CK
    2361             : !#include "pm_container@routines.inc.F90"
    2362             : !    end procedure
    2363             : !#undef  CK_ENABLED
    2364             : !
    2365             : !#define RK_ENABLED 1
    2366             : !    module procedure getVal_D0_BSRK
    2367             : !        use pm_kind, only: RKC => RK
    2368             : !#include "pm_container@routines.inc.F90"
    2369             : !    end procedure
    2370             : !#undef  RK_ENABLED
    2371             : !
    2372             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2373             : !
    2374             : !#undef D0_ENABLED
    2375             : !
    2376             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2377             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2378             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2379             : !
    2380             : !#undef getVal_ENABLED
    2381             : !
    2382             : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2383             : 
    2384             : #undef CHECK_ASSERTION
    2385             : 
    2386             : end submodule routines

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