https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_mathCumSum@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 266 286 93.0 %
Date: 2024-04-08 03:18:57 Functions: 133 143 93.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_mathCumSum](@ref pm_mathCumSum).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_mathCumSum) 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_arrayReverse, only: setReversed
      40             :     implicit none
      41             : 
      42             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : contains
      45             : 
      46             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      47             : 
      48             : #define getCumSum_ENABLED 1
      49             : 
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             : 
      52             : #define IK_ENABLED 1
      53             : 
      54             : #if IK5_ENABLED
      55         527 :     module procedure getCumSum_IK5
      56             :         use pm_kind, only: IKC => IK5
      57             : #include "pm_mathCumSum@routines.inc.F90"
      58         527 :     end procedure
      59             : #endif
      60             : 
      61             : #if IK4_ENABLED
      62         530 :     module procedure getCumSum_IK4
      63             :         use pm_kind, only: IKC => IK4
      64             : #include "pm_mathCumSum@routines.inc.F90"
      65         530 :     end procedure
      66             : #endif
      67             : 
      68             : #if IK3_ENABLED
      69         532 :     module procedure getCumSum_IK3
      70             :         use pm_kind, only: IKC => IK3
      71             : #include "pm_mathCumSum@routines.inc.F90"
      72         532 :     end procedure
      73             : #endif
      74             : 
      75             : #if IK2_ENABLED
      76         518 :     module procedure getCumSum_IK2
      77             :         use pm_kind, only: IKC => IK2
      78             : #include "pm_mathCumSum@routines.inc.F90"
      79         518 :     end procedure
      80             : #endif
      81             : 
      82             : #if IK1_ENABLED
      83         520 :     module procedure getCumSum_IK1
      84             :         use pm_kind, only: IKC => IK1
      85             : #include "pm_mathCumSum@routines.inc.F90"
      86         520 :     end procedure
      87             : #endif
      88             : 
      89             : #undef IK_ENABLED
      90             : 
      91             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      92             : 
      93             : #define CK_ENABLED 1
      94             : 
      95             : #if CK5_ENABLED
      96             :     module procedure getCumSum_CK5
      97             :         use pm_kind, only: CKC => CK5
      98             : #include "pm_mathCumSum@routines.inc.F90"
      99             :     end procedure
     100             : #endif
     101             : 
     102             : #if CK4_ENABLED
     103         531 :     module procedure getCumSum_CK4
     104             :         use pm_kind, only: CKC => CK4
     105             : #include "pm_mathCumSum@routines.inc.F90"
     106         531 :     end procedure
     107             : #endif
     108             : 
     109             : #if CK3_ENABLED
     110         528 :     module procedure getCumSum_CK3
     111             :         use pm_kind, only: CKC => CK3
     112             : #include "pm_mathCumSum@routines.inc.F90"
     113         528 :     end procedure
     114             : #endif
     115             : 
     116             : #if CK2_ENABLED
     117         516 :     module procedure getCumSum_CK2
     118             :         use pm_kind, only: CKC => CK2
     119             : #include "pm_mathCumSum@routines.inc.F90"
     120         516 :     end procedure
     121             : #endif
     122             : 
     123             : #if CK1_ENABLED
     124         533 :     module procedure getCumSum_CK1
     125             :         use pm_kind, only: CKC => CK1
     126             : #include "pm_mathCumSum@routines.inc.F90"
     127         533 :     end procedure
     128             : #endif
     129             : 
     130             : #undef CK_ENABLED
     131             : 
     132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     133             : 
     134             : #define RK_ENABLED 1
     135             : 
     136             : #if RK5_ENABLED
     137             :     module procedure getCumSum_RK5
     138             :         use pm_kind, only: RKC => RK5
     139             : #include "pm_mathCumSum@routines.inc.F90"
     140             :     end procedure
     141             : #endif
     142             : 
     143             : #if RK4_ENABLED
     144        1717 :     module procedure getCumSum_RK4
     145             :         use pm_kind, only: RKC => RK4
     146             : #include "pm_mathCumSum@routines.inc.F90"
     147        1717 :     end procedure
     148             : #endif
     149             : 
     150             : #if RK3_ENABLED
     151        1728 :     module procedure getCumSum_RK3
     152             :         use pm_kind, only: RKC => RK3
     153             : #include "pm_mathCumSum@routines.inc.F90"
     154        1728 :     end procedure
     155             : #endif
     156             : 
     157             : #if RK2_ENABLED
     158        1923 :     module procedure getCumSum_RK2
     159             :         use pm_kind, only: RKC => RK2
     160             : #include "pm_mathCumSum@routines.inc.F90"
     161        1923 :     end procedure
     162             : #endif
     163             : 
     164             : #if RK1_ENABLED
     165        1727 :     module procedure getCumSum_RK1
     166             :         use pm_kind, only: RKC => RK1
     167             : #include "pm_mathCumSum@routines.inc.F90"
     168        1727 :     end procedure
     169             : #endif
     170             : 
     171             : #undef RK_ENABLED
     172             : 
     173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     174             : 
     175             : #undef getCumSum_ENABLED
     176             : 
     177             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     178             : 
     179             : #define setCumSum_ENABLED 1
     180             : 
     181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     182             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     184             : 
     185             : #define Old_ENABLED 1
     186             : 
     187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     190             : 
     191             : #define For_ENABLED 1
     192             : 
     193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     196             : 
     197             : #define Non_ENABLED 1
     198             : 
     199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     200             : 
     201             : #define IK_ENABLED 1
     202             : 
     203             : #if IK5_ENABLED
     204          79 :     module procedure setCumSumOldDefDef_IK5
     205             :         use pm_kind, only: IKC => IK5
     206             : #include "pm_mathCumSum@routines.inc.F90"
     207          79 :     end procedure
     208             : #endif
     209             : 
     210             : #if IK4_ENABLED
     211          74 :     module procedure setCumSumOldDefDef_IK4
     212             :         use pm_kind, only: IKC => IK4
     213             : #include "pm_mathCumSum@routines.inc.F90"
     214          74 :     end procedure
     215             : #endif
     216             : 
     217             : #if IK3_ENABLED
     218          92 :     module procedure setCumSumOldDefDef_IK3
     219             :         use pm_kind, only: IKC => IK3
     220             : #include "pm_mathCumSum@routines.inc.F90"
     221          92 :     end procedure
     222             : #endif
     223             : 
     224             : #if IK2_ENABLED
     225          69 :     module procedure setCumSumOldDefDef_IK2
     226             :         use pm_kind, only: IKC => IK2
     227             : #include "pm_mathCumSum@routines.inc.F90"
     228          69 :     end procedure
     229             : #endif
     230             : 
     231             : #if IK1_ENABLED
     232          89 :     module procedure setCumSumOldDefDef_IK1
     233             :         use pm_kind, only: IKC => IK1
     234             : #include "pm_mathCumSum@routines.inc.F90"
     235          89 :     end procedure
     236             : #endif
     237             : 
     238             : #undef IK_ENABLED
     239             : 
     240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     241             : 
     242             : #define CK_ENABLED 1
     243             : 
     244             : #if CK5_ENABLED
     245             :     module procedure setCumSumOldDefDef_CK5
     246             :         use pm_kind, only: CKC => CK5
     247             : #include "pm_mathCumSum@routines.inc.F90"
     248             :     end procedure
     249             : #endif
     250             : 
     251             : #if CK4_ENABLED
     252          58 :     module procedure setCumSumOldDefDef_CK4
     253             :         use pm_kind, only: CKC => CK4
     254             : #include "pm_mathCumSum@routines.inc.F90"
     255          58 :     end procedure
     256             : #endif
     257             : 
     258             : #if CK3_ENABLED
     259          64 :     module procedure setCumSumOldDefDef_CK3
     260             :         use pm_kind, only: CKC => CK3
     261             : #include "pm_mathCumSum@routines.inc.F90"
     262          64 :     end procedure
     263             : #endif
     264             : 
     265             : #if CK2_ENABLED
     266          78 :     module procedure setCumSumOldDefDef_CK2
     267             :         use pm_kind, only: CKC => CK2
     268             : #include "pm_mathCumSum@routines.inc.F90"
     269          78 :     end procedure
     270             : #endif
     271             : 
     272             : #if CK1_ENABLED
     273          72 :     module procedure setCumSumOldDefDef_CK1
     274             :         use pm_kind, only: CKC => CK1
     275             : #include "pm_mathCumSum@routines.inc.F90"
     276          72 :     end procedure
     277             : #endif
     278             : 
     279             : #undef CK_ENABLED
     280             : 
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #define RK_ENABLED 1
     284             : 
     285             : #if RK5_ENABLED
     286             :     module procedure setCumSumOldDefDef_RK5
     287             :         use pm_kind, only: RKC => RK5
     288             : #include "pm_mathCumSum@routines.inc.F90"
     289             :     end procedure
     290             : #endif
     291             : 
     292             : #if RK4_ENABLED
     293        2163 :     module procedure setCumSumOldDefDef_RK4
     294             :         use pm_kind, only: RKC => RK4
     295             : #include "pm_mathCumSum@routines.inc.F90"
     296        2163 :     end procedure
     297             : #endif
     298             : 
     299             : #if RK3_ENABLED
     300        2161 :     module procedure setCumSumOldDefDef_RK3
     301             :         use pm_kind, only: RKC => RK3
     302             : #include "pm_mathCumSum@routines.inc.F90"
     303        2161 :     end procedure
     304             : #endif
     305             : 
     306             : #if RK2_ENABLED
     307        2152 :     module procedure setCumSumOldDefDef_RK2
     308             :         use pm_kind, only: RKC => RK2
     309             : #include "pm_mathCumSum@routines.inc.F90"
     310        2152 :     end procedure
     311             : #endif
     312             : 
     313             : #if RK1_ENABLED
     314       11765 :     module procedure setCumSumOldDefDef_RK1
     315             :         use pm_kind, only: RKC => RK1
     316             : #include "pm_mathCumSum@routines.inc.F90"
     317       11765 :     end procedure
     318             : #endif
     319             : 
     320             : #undef RK_ENABLED
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             : 
     324             : #undef Non_ENABLED
     325             : 
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             : 
     330             : #undef For_ENABLED
     331             : 
     332             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     335             : 
     336             : #undef Old_ENABLED
     337             : 
     338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     341             : 
     342             : #define New_ENABLED 1
     343             : 
     344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     347             : 
     348             : #define For_ENABLED 1
     349             : 
     350             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     353             : 
     354             : #define Non_ENABLED 1
     355             : 
     356             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     357             : 
     358             : #define IK_ENABLED 1
     359             : 
     360             : #if IK5_ENABLED
     361          84 :     module procedure setCumSumNewDefDef_IK5
     362             :         use pm_kind, only: IKC => IK5
     363             : #include "pm_mathCumSum@routines.inc.F90"
     364          84 :     end procedure
     365             : #endif
     366             : 
     367             : #if IK4_ENABLED
     368          68 :     module procedure setCumSumNewDefDef_IK4
     369             :         use pm_kind, only: IKC => IK4
     370             : #include "pm_mathCumSum@routines.inc.F90"
     371          68 :     end procedure
     372             : #endif
     373             : 
     374             : #if IK3_ENABLED
     375         137 :     module procedure setCumSumNewDefDef_IK3
     376             :         use pm_kind, only: IKC => IK3
     377             : #include "pm_mathCumSum@routines.inc.F90"
     378         137 :     end procedure
     379             : #endif
     380             : 
     381             : #if IK2_ENABLED
     382          77 :     module procedure setCumSumNewDefDef_IK2
     383             :         use pm_kind, only: IKC => IK2
     384             : #include "pm_mathCumSum@routines.inc.F90"
     385          77 :     end procedure
     386             : #endif
     387             : 
     388             : #if IK1_ENABLED
     389          91 :     module procedure setCumSumNewDefDef_IK1
     390             :         use pm_kind, only: IKC => IK1
     391             : #include "pm_mathCumSum@routines.inc.F90"
     392          91 :     end procedure
     393             : #endif
     394             : 
     395             : #undef IK_ENABLED
     396             : 
     397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     398             : 
     399             : #define CK_ENABLED 1
     400             : 
     401             : #if CK5_ENABLED
     402             :     module procedure setCumSumNewDefDef_CK5
     403             :         use pm_kind, only: CKC => CK5
     404             : #include "pm_mathCumSum@routines.inc.F90"
     405             :     end procedure
     406             : #endif
     407             : 
     408             : #if CK4_ENABLED
     409          85 :     module procedure setCumSumNewDefDef_CK4
     410             :         use pm_kind, only: CKC => CK4
     411             : #include "pm_mathCumSum@routines.inc.F90"
     412          85 :     end procedure
     413             : #endif
     414             : 
     415             : #if CK3_ENABLED
     416          77 :     module procedure setCumSumNewDefDef_CK3
     417             :         use pm_kind, only: CKC => CK3
     418             : #include "pm_mathCumSum@routines.inc.F90"
     419          77 :     end procedure
     420             : #endif
     421             : 
     422             : #if CK2_ENABLED
     423          66 :     module procedure setCumSumNewDefDef_CK2
     424             :         use pm_kind, only: CKC => CK2
     425             : #include "pm_mathCumSum@routines.inc.F90"
     426          66 :     end procedure
     427             : #endif
     428             : 
     429             : #if CK1_ENABLED
     430          67 :     module procedure setCumSumNewDefDef_CK1
     431             :         use pm_kind, only: CKC => CK1
     432             : #include "pm_mathCumSum@routines.inc.F90"
     433          67 :     end procedure
     434             : #endif
     435             : 
     436             : #undef CK_ENABLED
     437             : 
     438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     439             : 
     440             : #define RK_ENABLED 1
     441             : 
     442             : #if RK5_ENABLED
     443             :     module procedure setCumSumNewDefDef_RK5
     444             :         use pm_kind, only: RKC => RK5
     445             : #include "pm_mathCumSum@routines.inc.F90"
     446             :     end procedure
     447             : #endif
     448             : 
     449             : #if RK4_ENABLED
     450          86 :     module procedure setCumSumNewDefDef_RK4
     451             :         use pm_kind, only: RKC => RK4
     452             : #include "pm_mathCumSum@routines.inc.F90"
     453          86 :     end procedure
     454             : #endif
     455             : 
     456             : #if RK3_ENABLED
     457          68 :     module procedure setCumSumNewDefDef_RK3
     458             :         use pm_kind, only: RKC => RK3
     459             : #include "pm_mathCumSum@routines.inc.F90"
     460          68 :     end procedure
     461             : #endif
     462             : 
     463             : #if RK2_ENABLED
     464         271 :     module procedure setCumSumNewDefDef_RK2
     465             :         use pm_kind, only: RKC => RK2
     466             : #include "pm_mathCumSum@routines.inc.F90"
     467         271 :     end procedure
     468             : #endif
     469             : 
     470             : #if RK1_ENABLED
     471          76 :     module procedure setCumSumNewDefDef_RK1
     472             :         use pm_kind, only: RKC => RK1
     473             : #include "pm_mathCumSum@routines.inc.F90"
     474          76 :     end procedure
     475             : #endif
     476             : 
     477             : #undef RK_ENABLED
     478             : 
     479             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     480             : 
     481             : #undef Non_ENABLED
     482             : 
     483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     486             : 
     487             : #undef For_ENABLED
     488             : 
     489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     492             : 
     493             : #undef New_ENABLED
     494             : 
     495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     498             : 
     499             : #undef setCumSum_ENABLED
     500             : 
     501             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     502             : 
     503             : #define setCumSum_ENABLED 1
     504             : 
     505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     506             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     508             : 
     509             : #define Old_ENABLED 1
     510             : 
     511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             : 
     515             : #define For_ENABLED 1
     516             : 
     517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             : 
     521             : #define Non_ENABLED 1
     522             : 
     523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     524             : 
     525             : #define IK_ENABLED 1
     526             : 
     527             : #if IK5_ENABLED
     528          42 :     module procedure setCumSumOldForNon_IK5
     529             :         use pm_kind, only: IKC => IK5
     530             : #include "pm_mathCumSum@routines.inc.F90"
     531          42 :     end procedure
     532             : #endif
     533             : 
     534             : #if IK4_ENABLED
     535          33 :     module procedure setCumSumOldForNon_IK4
     536             :         use pm_kind, only: IKC => IK4
     537             : #include "pm_mathCumSum@routines.inc.F90"
     538          33 :     end procedure
     539             : #endif
     540             : 
     541             : #if IK3_ENABLED
     542          32 :     module procedure setCumSumOldForNon_IK3
     543             :         use pm_kind, only: IKC => IK3
     544             : #include "pm_mathCumSum@routines.inc.F90"
     545          32 :     end procedure
     546             : #endif
     547             : 
     548             : #if IK2_ENABLED
     549          28 :     module procedure setCumSumOldForNon_IK2
     550             :         use pm_kind, only: IKC => IK2
     551             : #include "pm_mathCumSum@routines.inc.F90"
     552          28 :     end procedure
     553             : #endif
     554             : 
     555             : #if IK1_ENABLED
     556          41 :     module procedure setCumSumOldForNon_IK1
     557             :         use pm_kind, only: IKC => IK1
     558             : #include "pm_mathCumSum@routines.inc.F90"
     559          41 :     end procedure
     560             : #endif
     561             : 
     562             : #undef IK_ENABLED
     563             : 
     564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     565             : 
     566             : #define CK_ENABLED 1
     567             : 
     568             : #if CK5_ENABLED
     569             :     module procedure setCumSumOldForNon_CK5
     570             :         use pm_kind, only: CKC => CK5
     571             : #include "pm_mathCumSum@routines.inc.F90"
     572             :     end procedure
     573             : #endif
     574             : 
     575             : #if CK4_ENABLED
     576          34 :     module procedure setCumSumOldForNon_CK4
     577             :         use pm_kind, only: CKC => CK4
     578             : #include "pm_mathCumSum@routines.inc.F90"
     579          34 :     end procedure
     580             : #endif
     581             : 
     582             : #if CK3_ENABLED
     583          32 :     module procedure setCumSumOldForNon_CK3
     584             :         use pm_kind, only: CKC => CK3
     585             : #include "pm_mathCumSum@routines.inc.F90"
     586          32 :     end procedure
     587             : #endif
     588             : 
     589             : #if CK2_ENABLED
     590          35 :     module procedure setCumSumOldForNon_CK2
     591             :         use pm_kind, only: CKC => CK2
     592             : #include "pm_mathCumSum@routines.inc.F90"
     593          35 :     end procedure
     594             : #endif
     595             : 
     596             : #if CK1_ENABLED
     597          41 :     module procedure setCumSumOldForNon_CK1
     598             :         use pm_kind, only: CKC => CK1
     599             : #include "pm_mathCumSum@routines.inc.F90"
     600          41 :     end procedure
     601             : #endif
     602             : 
     603             : #undef CK_ENABLED
     604             : 
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             : 
     607             : #define RK_ENABLED 1
     608             : 
     609             : #if RK5_ENABLED
     610             :     module procedure setCumSumOldForNon_RK5
     611             :         use pm_kind, only: RKC => RK5
     612             : #include "pm_mathCumSum@routines.inc.F90"
     613             :     end procedure
     614             : #endif
     615             : 
     616             : #if RK4_ENABLED
     617          42 :     module procedure setCumSumOldForNon_RK4
     618             :         use pm_kind, only: RKC => RK4
     619             : #include "pm_mathCumSum@routines.inc.F90"
     620          42 :     end procedure
     621             : #endif
     622             : 
     623             : #if RK3_ENABLED
     624          37 :     module procedure setCumSumOldForNon_RK3
     625             :         use pm_kind, only: RKC => RK3
     626             : #include "pm_mathCumSum@routines.inc.F90"
     627          37 :     end procedure
     628             : #endif
     629             : 
     630             : #if RK2_ENABLED
     631          22 :     module procedure setCumSumOldForNon_RK2
     632             :         use pm_kind, only: RKC => RK2
     633             : #include "pm_mathCumSum@routines.inc.F90"
     634          22 :     end procedure
     635             : #endif
     636             : 
     637             : #if RK1_ENABLED
     638          46 :     module procedure setCumSumOldForNon_RK1
     639             :         use pm_kind, only: RKC => RK1
     640             : #include "pm_mathCumSum@routines.inc.F90"
     641          46 :     end procedure
     642             : #endif
     643             : 
     644             : #undef RK_ENABLED
     645             : 
     646             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     647             : 
     648             : #undef Non_ENABLED
     649             : 
     650             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     653             : 
     654             : #define Rev_ENABLED 1
     655             : 
     656             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     657             : 
     658             : #define IK_ENABLED 1
     659             : 
     660             : #if IK5_ENABLED
     661          37 :     module procedure setCumSumOldForRev_IK5
     662             :         use pm_kind, only: IKC => IK5
     663             : #include "pm_mathCumSum@routines.inc.F90"
     664          37 :     end procedure
     665             : #endif
     666             : 
     667             : #if IK4_ENABLED
     668          34 :     module procedure setCumSumOldForRev_IK4
     669             :         use pm_kind, only: IKC => IK4
     670             : #include "pm_mathCumSum@routines.inc.F90"
     671          34 :     end procedure
     672             : #endif
     673             : 
     674             : #if IK3_ENABLED
     675          51 :     module procedure setCumSumOldForRev_IK3
     676             :         use pm_kind, only: IKC => IK3
     677             : #include "pm_mathCumSum@routines.inc.F90"
     678          51 :     end procedure
     679             : #endif
     680             : 
     681             : #if IK2_ENABLED
     682          33 :     module procedure setCumSumOldForRev_IK2
     683             :         use pm_kind, only: IKC => IK2
     684             : #include "pm_mathCumSum@routines.inc.F90"
     685          33 :     end procedure
     686             : #endif
     687             : 
     688             : #if IK1_ENABLED
     689          43 :     module procedure setCumSumOldForRev_IK1
     690             :         use pm_kind, only: IKC => IK1
     691             : #include "pm_mathCumSum@routines.inc.F90"
     692          43 :     end procedure
     693             : #endif
     694             : 
     695             : #undef IK_ENABLED
     696             : 
     697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     698             : 
     699             : #define CK_ENABLED 1
     700             : 
     701             : #if CK5_ENABLED
     702             :     module procedure setCumSumOldForRev_CK5
     703             :         use pm_kind, only: CKC => CK5
     704             : #include "pm_mathCumSum@routines.inc.F90"
     705             :     end procedure
     706             : #endif
     707             : 
     708             : #if CK4_ENABLED
     709          27 :     module procedure setCumSumOldForRev_CK4
     710             :         use pm_kind, only: CKC => CK4
     711             : #include "pm_mathCumSum@routines.inc.F90"
     712          27 :     end procedure
     713             : #endif
     714             : 
     715             : #if CK3_ENABLED
     716          32 :     module procedure setCumSumOldForRev_CK3
     717             :         use pm_kind, only: CKC => CK3
     718             : #include "pm_mathCumSum@routines.inc.F90"
     719          32 :     end procedure
     720             : #endif
     721             : 
     722             : #if CK2_ENABLED
     723          45 :     module procedure setCumSumOldForRev_CK2
     724             :         use pm_kind, only: CKC => CK2
     725             : #include "pm_mathCumSum@routines.inc.F90"
     726          45 :     end procedure
     727             : #endif
     728             : 
     729             : #if CK1_ENABLED
     730          41 :     module procedure setCumSumOldForRev_CK1
     731             :         use pm_kind, only: CKC => CK1
     732             : #include "pm_mathCumSum@routines.inc.F90"
     733          41 :     end procedure
     734             : #endif
     735             : 
     736             : #undef CK_ENABLED
     737             : 
     738             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     739             : 
     740             : #define RK_ENABLED 1
     741             : 
     742             : #if RK5_ENABLED
     743             :     module procedure setCumSumOldForRev_RK5
     744             :         use pm_kind, only: RKC => RK5
     745             : #include "pm_mathCumSum@routines.inc.F90"
     746             :     end procedure
     747             : #endif
     748             : 
     749             : #if RK4_ENABLED
     750          34 :     module procedure setCumSumOldForRev_RK4
     751             :         use pm_kind, only: RKC => RK4
     752             : #include "pm_mathCumSum@routines.inc.F90"
     753          34 :     end procedure
     754             : #endif
     755             : 
     756             : #if RK3_ENABLED
     757          33 :     module procedure setCumSumOldForRev_RK3
     758             :         use pm_kind, only: RKC => RK3
     759             : #include "pm_mathCumSum@routines.inc.F90"
     760          33 :     end procedure
     761             : #endif
     762             : 
     763             : #if RK2_ENABLED
     764          38 :     module procedure setCumSumOldForRev_RK2
     765             :         use pm_kind, only: RKC => RK2
     766             : #include "pm_mathCumSum@routines.inc.F90"
     767          38 :     end procedure
     768             : #endif
     769             : 
     770             : #if RK1_ENABLED
     771          30 :     module procedure setCumSumOldForRev_RK1
     772             :         use pm_kind, only: RKC => RK1
     773             : #include "pm_mathCumSum@routines.inc.F90"
     774          30 :     end procedure
     775             : #endif
     776             : 
     777             : #undef RK_ENABLED
     778             : 
     779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     780             : 
     781             : #undef Rev_ENABLED
     782             : 
     783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     784             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     785             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     786             : 
     787             : #undef For_ENABLED
     788             : 
     789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     790             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     792             : 
     793             : #define Bac_ENABLED 1
     794             : 
     795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     798             : 
     799             : #define Non_ENABLED 1
     800             : 
     801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     802             : 
     803             : #define IK_ENABLED 1
     804             : 
     805             : #if IK5_ENABLED
     806          42 :     module procedure setCumSumOldBacNon_IK5
     807             :         use pm_kind, only: IKC => IK5
     808             : #include "pm_mathCumSum@routines.inc.F90"
     809          42 :     end procedure
     810             : #endif
     811             : 
     812             : #if IK4_ENABLED
     813          40 :     module procedure setCumSumOldBacNon_IK4
     814             :         use pm_kind, only: IKC => IK4
     815             : #include "pm_mathCumSum@routines.inc.F90"
     816          40 :     end procedure
     817             : #endif
     818             : 
     819             : #if IK3_ENABLED
     820          40 :     module procedure setCumSumOldBacNon_IK3
     821             :         use pm_kind, only: IKC => IK3
     822             : #include "pm_mathCumSum@routines.inc.F90"
     823          40 :     end procedure
     824             : #endif
     825             : 
     826             : #if IK2_ENABLED
     827          36 :     module procedure setCumSumOldBacNon_IK2
     828             :         use pm_kind, only: IKC => IK2
     829             : #include "pm_mathCumSum@routines.inc.F90"
     830          36 :     end procedure
     831             : #endif
     832             : 
     833             : #if IK1_ENABLED
     834          46 :     module procedure setCumSumOldBacNon_IK1
     835             :         use pm_kind, only: IKC => IK1
     836             : #include "pm_mathCumSum@routines.inc.F90"
     837          46 :     end procedure
     838             : #endif
     839             : 
     840             : #undef IK_ENABLED
     841             : 
     842             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     843             : 
     844             : #define CK_ENABLED 1
     845             : 
     846             : #if CK5_ENABLED
     847             :     module procedure setCumSumOldBacNon_CK5
     848             :         use pm_kind, only: CKC => CK5
     849             : #include "pm_mathCumSum@routines.inc.F90"
     850             :     end procedure
     851             : #endif
     852             : 
     853             : #if CK4_ENABLED
     854          31 :     module procedure setCumSumOldBacNon_CK4
     855             :         use pm_kind, only: CKC => CK4
     856             : #include "pm_mathCumSum@routines.inc.F90"
     857          31 :     end procedure
     858             : #endif
     859             : 
     860             : #if CK3_ENABLED
     861          32 :     module procedure setCumSumOldBacNon_CK3
     862             :         use pm_kind, only: CKC => CK3
     863             : #include "pm_mathCumSum@routines.inc.F90"
     864          32 :     end procedure
     865             : #endif
     866             : 
     867             : #if CK2_ENABLED
     868          33 :     module procedure setCumSumOldBacNon_CK2
     869             :         use pm_kind, only: CKC => CK2
     870             : #include "pm_mathCumSum@routines.inc.F90"
     871          33 :     end procedure
     872             : #endif
     873             : 
     874             : #if CK1_ENABLED
     875          30 :     module procedure setCumSumOldBacNon_CK1
     876             :         use pm_kind, only: CKC => CK1
     877             : #include "pm_mathCumSum@routines.inc.F90"
     878          30 :     end procedure
     879             : #endif
     880             : 
     881             : #undef CK_ENABLED
     882             : 
     883             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     884             : 
     885             : #define RK_ENABLED 1
     886             : 
     887             : #if RK5_ENABLED
     888             :     module procedure setCumSumOldBacNon_RK5
     889             :         use pm_kind, only: RKC => RK5
     890             : #include "pm_mathCumSum@routines.inc.F90"
     891             :     end procedure
     892             : #endif
     893             : 
     894             : #if RK4_ENABLED
     895          38 :     module procedure setCumSumOldBacNon_RK4
     896             :         use pm_kind, only: RKC => RK4
     897             : #include "pm_mathCumSum@routines.inc.F90"
     898          38 :     end procedure
     899             : #endif
     900             : 
     901             : #if RK3_ENABLED
     902          44 :     module procedure setCumSumOldBacNon_RK3
     903             :         use pm_kind, only: RKC => RK3
     904             : #include "pm_mathCumSum@routines.inc.F90"
     905          44 :     end procedure
     906             : #endif
     907             : 
     908             : #if RK2_ENABLED
     909          34 :     module procedure setCumSumOldBacNon_RK2
     910             :         use pm_kind, only: RKC => RK2
     911             : #include "pm_mathCumSum@routines.inc.F90"
     912          34 :     end procedure
     913             : #endif
     914             : 
     915             : #if RK1_ENABLED
     916          32 :     module procedure setCumSumOldBacNon_RK1
     917             :         use pm_kind, only: RKC => RK1
     918             : #include "pm_mathCumSum@routines.inc.F90"
     919          32 :     end procedure
     920             : #endif
     921             : 
     922             : #undef RK_ENABLED
     923             : 
     924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     925             : 
     926             : #undef Non_ENABLED
     927             : 
     928             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     929             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     930             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     931             : 
     932             : #define Rev_ENABLED 1
     933             : 
     934             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     935             : 
     936             : #define IK_ENABLED 1
     937             : 
     938             : #if IK5_ENABLED
     939           0 :     module procedure setCumSumOldBacRev_IK5
     940             :         use pm_kind, only: IKC => IK5
     941             : #include "pm_mathCumSum@routines.inc.F90"
     942           0 :     end procedure
     943             : #endif
     944             : 
     945             : #if IK4_ENABLED
     946           0 :     module procedure setCumSumOldBacRev_IK4
     947             :         use pm_kind, only: IKC => IK4
     948             : #include "pm_mathCumSum@routines.inc.F90"
     949           0 :     end procedure
     950             : #endif
     951             : 
     952             : #if IK3_ENABLED
     953           1 :     module procedure setCumSumOldBacRev_IK3
     954             :         use pm_kind, only: IKC => IK3
     955             : #include "pm_mathCumSum@routines.inc.F90"
     956           1 :     end procedure
     957             : #endif
     958             : 
     959             : #if IK2_ENABLED
     960           0 :     module procedure setCumSumOldBacRev_IK2
     961             :         use pm_kind, only: IKC => IK2
     962             : #include "pm_mathCumSum@routines.inc.F90"
     963           0 :     end procedure
     964             : #endif
     965             : 
     966             : #if IK1_ENABLED
     967           0 :     module procedure setCumSumOldBacRev_IK1
     968             :         use pm_kind, only: IKC => IK1
     969             : #include "pm_mathCumSum@routines.inc.F90"
     970           0 :     end procedure
     971             : #endif
     972             : 
     973             : #undef IK_ENABLED
     974             : 
     975             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     976             : 
     977             : #define CK_ENABLED 1
     978             : 
     979             : #if CK5_ENABLED
     980             :     module procedure setCumSumOldBacRev_CK5
     981             :         use pm_kind, only: CKC => CK5
     982             : #include "pm_mathCumSum@routines.inc.F90"
     983             :     end procedure
     984             : #endif
     985             : 
     986             : #if CK4_ENABLED
     987           0 :     module procedure setCumSumOldBacRev_CK4
     988             :         use pm_kind, only: CKC => CK4
     989             : #include "pm_mathCumSum@routines.inc.F90"
     990           0 :     end procedure
     991             : #endif
     992             : 
     993             : #if CK3_ENABLED
     994           0 :     module procedure setCumSumOldBacRev_CK3
     995             :         use pm_kind, only: CKC => CK3
     996             : #include "pm_mathCumSum@routines.inc.F90"
     997           0 :     end procedure
     998             : #endif
     999             : 
    1000             : #if CK2_ENABLED
    1001           0 :     module procedure setCumSumOldBacRev_CK2
    1002             :         use pm_kind, only: CKC => CK2
    1003             : #include "pm_mathCumSum@routines.inc.F90"
    1004           0 :     end procedure
    1005             : #endif
    1006             : 
    1007             : #if CK1_ENABLED
    1008           1 :     module procedure setCumSumOldBacRev_CK1
    1009             :         use pm_kind, only: CKC => CK1
    1010             : #include "pm_mathCumSum@routines.inc.F90"
    1011           1 :     end procedure
    1012             : #endif
    1013             : 
    1014             : #undef CK_ENABLED
    1015             : 
    1016             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1017             : 
    1018             : #define RK_ENABLED 1
    1019             : 
    1020             : #if RK5_ENABLED
    1021             :     module procedure setCumSumOldBacRev_RK5
    1022             :         use pm_kind, only: RKC => RK5
    1023             : #include "pm_mathCumSum@routines.inc.F90"
    1024             :     end procedure
    1025             : #endif
    1026             : 
    1027             : #if RK4_ENABLED
    1028           1 :     module procedure setCumSumOldBacRev_RK4
    1029             :         use pm_kind, only: RKC => RK4
    1030             : #include "pm_mathCumSum@routines.inc.F90"
    1031           1 :     end procedure
    1032             : #endif
    1033             : 
    1034             : #if RK3_ENABLED
    1035           0 :     module procedure setCumSumOldBacRev_RK3
    1036             :         use pm_kind, only: RKC => RK3
    1037             : #include "pm_mathCumSum@routines.inc.F90"
    1038           0 :     end procedure
    1039             : #endif
    1040             : 
    1041             : #if RK2_ENABLED
    1042           0 :     module procedure setCumSumOldBacRev_RK2
    1043             :         use pm_kind, only: RKC => RK2
    1044             : #include "pm_mathCumSum@routines.inc.F90"
    1045           0 :     end procedure
    1046             : #endif
    1047             : 
    1048             : #if RK1_ENABLED
    1049           0 :     module procedure setCumSumOldBacRev_RK1
    1050             :         use pm_kind, only: RKC => RK1
    1051             : #include "pm_mathCumSum@routines.inc.F90"
    1052           0 :     end procedure
    1053             : #endif
    1054             : 
    1055             : #undef RK_ENABLED
    1056             : 
    1057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1058             : 
    1059             : #undef Rev_ENABLED
    1060             : 
    1061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             : 
    1065             : #undef Bac_ENABLED
    1066             : 
    1067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1070             : 
    1071             : #undef Old_ENABLED
    1072             : 
    1073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1076             : 
    1077             : #define New_ENABLED 1
    1078             : 
    1079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1080             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1082             : 
    1083             : #define For_ENABLED 1
    1084             : 
    1085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1086             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1088             : 
    1089             : #define Non_ENABLED 1
    1090             : 
    1091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1092             : 
    1093             : #define IK_ENABLED 1
    1094             : 
    1095             : #if IK5_ENABLED
    1096         127 :     module procedure setCumSumNewForNon_IK5
    1097             :         use pm_kind, only: IKC => IK5
    1098             : #include "pm_mathCumSum@routines.inc.F90"
    1099         127 :     end procedure
    1100             : #endif
    1101             : 
    1102             : #if IK4_ENABLED
    1103          97 :     module procedure setCumSumNewForNon_IK4
    1104             :         use pm_kind, only: IKC => IK4
    1105             : #include "pm_mathCumSum@routines.inc.F90"
    1106          97 :     end procedure
    1107             : #endif
    1108             : 
    1109             : #if IK3_ENABLED
    1110         113 :     module procedure setCumSumNewForNon_IK3
    1111             :         use pm_kind, only: IKC => IK3
    1112             : #include "pm_mathCumSum@routines.inc.F90"
    1113         113 :     end procedure
    1114             : #endif
    1115             : 
    1116             : #if IK2_ENABLED
    1117         116 :     module procedure setCumSumNewForNon_IK2
    1118             :         use pm_kind, only: IKC => IK2
    1119             : #include "pm_mathCumSum@routines.inc.F90"
    1120         116 :     end procedure
    1121             : #endif
    1122             : 
    1123             : #if IK1_ENABLED
    1124         129 :     module procedure setCumSumNewForNon_IK1
    1125             :         use pm_kind, only: IKC => IK1
    1126             : #include "pm_mathCumSum@routines.inc.F90"
    1127         129 :     end procedure
    1128             : #endif
    1129             : 
    1130             : #undef IK_ENABLED
    1131             : 
    1132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1133             : 
    1134             : #define CK_ENABLED 1
    1135             : 
    1136             : #if CK5_ENABLED
    1137             :     module procedure setCumSumNewForNon_CK5
    1138             :         use pm_kind, only: CKC => CK5
    1139             : #include "pm_mathCumSum@routines.inc.F90"
    1140             :     end procedure
    1141             : #endif
    1142             : 
    1143             : #if CK4_ENABLED
    1144         130 :     module procedure setCumSumNewForNon_CK4
    1145             :         use pm_kind, only: CKC => CK4
    1146             : #include "pm_mathCumSum@routines.inc.F90"
    1147         130 :     end procedure
    1148             : #endif
    1149             : 
    1150             : #if CK3_ENABLED
    1151         124 :     module procedure setCumSumNewForNon_CK3
    1152             :         use pm_kind, only: CKC => CK3
    1153             : #include "pm_mathCumSum@routines.inc.F90"
    1154         124 :     end procedure
    1155             : #endif
    1156             : 
    1157             : #if CK2_ENABLED
    1158         111 :     module procedure setCumSumNewForNon_CK2
    1159             :         use pm_kind, only: CKC => CK2
    1160             : #include "pm_mathCumSum@routines.inc.F90"
    1161         111 :     end procedure
    1162             : #endif
    1163             : 
    1164             : #if CK1_ENABLED
    1165          98 :     module procedure setCumSumNewForNon_CK1
    1166             :         use pm_kind, only: CKC => CK1
    1167             : #include "pm_mathCumSum@routines.inc.F90"
    1168          98 :     end procedure
    1169             : #endif
    1170             : 
    1171             : #undef CK_ENABLED
    1172             : 
    1173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1174             : 
    1175             : #define RK_ENABLED 1
    1176             : 
    1177             : #if RK5_ENABLED
    1178             :     module procedure setCumSumNewForNon_RK5
    1179             :         use pm_kind, only: RKC => RK5
    1180             : #include "pm_mathCumSum@routines.inc.F90"
    1181             :     end procedure
    1182             : #endif
    1183             : 
    1184             : #if RK4_ENABLED
    1185         389 :     module procedure setCumSumNewForNon_RK4
    1186             :         use pm_kind, only: RKC => RK4
    1187             : #include "pm_mathCumSum@routines.inc.F90"
    1188         389 :     end procedure
    1189             : #endif
    1190             : 
    1191             : #if RK3_ENABLED
    1192         397 :     module procedure setCumSumNewForNon_RK3
    1193             :         use pm_kind, only: RKC => RK3
    1194             : #include "pm_mathCumSum@routines.inc.F90"
    1195         397 :     end procedure
    1196             : #endif
    1197             : 
    1198             : #if RK2_ENABLED
    1199         414 :     module procedure setCumSumNewForNon_RK2
    1200             :         use pm_kind, only: RKC => RK2
    1201             : #include "pm_mathCumSum@routines.inc.F90"
    1202         414 :     end procedure
    1203             : #endif
    1204             : 
    1205             : #if RK1_ENABLED
    1206         434 :     module procedure setCumSumNewForNon_RK1
    1207             :         use pm_kind, only: RKC => RK1
    1208             : #include "pm_mathCumSum@routines.inc.F90"
    1209         434 :     end procedure
    1210             : #endif
    1211             : 
    1212             : #undef RK_ENABLED
    1213             : 
    1214             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1215             : 
    1216             : #undef Non_ENABLED
    1217             : 
    1218             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1219             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1220             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1221             : 
    1222             : #define Rev_ENABLED 1
    1223             : 
    1224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1225             : 
    1226             : #define IK_ENABLED 1
    1227             : 
    1228             : #if IK5_ENABLED
    1229         180 :     module procedure setCumSumNewForRev_IK5
    1230             :         use pm_kind, only: IKC => IK5
    1231             : #include "pm_mathCumSum@routines.inc.F90"
    1232         180 :     end procedure
    1233             : #endif
    1234             : 
    1235             : #if IK4_ENABLED
    1236         213 :     module procedure setCumSumNewForRev_IK4
    1237             :         use pm_kind, only: IKC => IK4
    1238             : #include "pm_mathCumSum@routines.inc.F90"
    1239         213 :     end procedure
    1240             : #endif
    1241             : 
    1242             : #if IK3_ENABLED
    1243         193 :     module procedure setCumSumNewForRev_IK3
    1244             :         use pm_kind, only: IKC => IK3
    1245             : #include "pm_mathCumSum@routines.inc.F90"
    1246         193 :     end procedure
    1247             : #endif
    1248             : 
    1249             : #if IK2_ENABLED
    1250         183 :     module procedure setCumSumNewForRev_IK2
    1251             :         use pm_kind, only: IKC => IK2
    1252             : #include "pm_mathCumSum@routines.inc.F90"
    1253         183 :     end procedure
    1254             : #endif
    1255             : 
    1256             : #if IK1_ENABLED
    1257         168 :     module procedure setCumSumNewForRev_IK1
    1258             :         use pm_kind, only: IKC => IK1
    1259             : #include "pm_mathCumSum@routines.inc.F90"
    1260         168 :     end procedure
    1261             : #endif
    1262             : 
    1263             : #undef IK_ENABLED
    1264             : 
    1265             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1266             : 
    1267             : #define CK_ENABLED 1
    1268             : 
    1269             : #if CK5_ENABLED
    1270             :     module procedure setCumSumNewForRev_CK5
    1271             :         use pm_kind, only: CKC => CK5
    1272             : #include "pm_mathCumSum@routines.inc.F90"
    1273             :     end procedure
    1274             : #endif
    1275             : 
    1276             : #if CK4_ENABLED
    1277         177 :     module procedure setCumSumNewForRev_CK4
    1278             :         use pm_kind, only: CKC => CK4
    1279             : #include "pm_mathCumSum@routines.inc.F90"
    1280         177 :     end procedure
    1281             : #endif
    1282             : 
    1283             : #if CK3_ENABLED
    1284         182 :     module procedure setCumSumNewForRev_CK3
    1285             :         use pm_kind, only: CKC => CK3
    1286             : #include "pm_mathCumSum@routines.inc.F90"
    1287         182 :     end procedure
    1288             : #endif
    1289             : 
    1290             : #if CK2_ENABLED
    1291         206 :     module procedure setCumSumNewForRev_CK2
    1292             :         use pm_kind, only: CKC => CK2
    1293             : #include "pm_mathCumSum@routines.inc.F90"
    1294         206 :     end procedure
    1295             : #endif
    1296             : 
    1297             : #if CK1_ENABLED
    1298         231 :     module procedure setCumSumNewForRev_CK1
    1299             :         use pm_kind, only: CKC => CK1
    1300             : #include "pm_mathCumSum@routines.inc.F90"
    1301         231 :     end procedure
    1302             : #endif
    1303             : 
    1304             : #undef CK_ENABLED
    1305             : 
    1306             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1307             : 
    1308             : #define RK_ENABLED 1
    1309             : 
    1310             : #if RK5_ENABLED
    1311             :     module procedure setCumSumNewForRev_RK5
    1312             :         use pm_kind, only: RKC => RK5
    1313             : #include "pm_mathCumSum@routines.inc.F90"
    1314             :     end procedure
    1315             : #endif
    1316             : 
    1317             : #if RK4_ENABLED
    1318         468 :     module procedure setCumSumNewForRev_RK4
    1319             :         use pm_kind, only: RKC => RK4
    1320             : #include "pm_mathCumSum@routines.inc.F90"
    1321         468 :     end procedure
    1322             : #endif
    1323             : 
    1324             : #if RK3_ENABLED
    1325         476 :     module procedure setCumSumNewForRev_RK3
    1326             :         use pm_kind, only: RKC => RK3
    1327             : #include "pm_mathCumSum@routines.inc.F90"
    1328         476 :     end procedure
    1329             : #endif
    1330             : 
    1331             : #if RK2_ENABLED
    1332         482 :     module procedure setCumSumNewForRev_RK2
    1333             :         use pm_kind, only: RKC => RK2
    1334             : #include "pm_mathCumSum@routines.inc.F90"
    1335         482 :     end procedure
    1336             : #endif
    1337             : 
    1338             : #if RK1_ENABLED
    1339         456 :     module procedure setCumSumNewForRev_RK1
    1340             :         use pm_kind, only: RKC => RK1
    1341             : #include "pm_mathCumSum@routines.inc.F90"
    1342         456 :     end procedure
    1343             : #endif
    1344             : 
    1345             : #undef RK_ENABLED
    1346             : 
    1347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1348             : 
    1349             : #undef Rev_ENABLED
    1350             : 
    1351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1354             : 
    1355             : #undef For_ENABLED
    1356             : 
    1357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1359             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1360             : 
    1361             : #define Bac_ENABLED 1
    1362             : 
    1363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1366             : 
    1367             : #define Non_ENABLED 1
    1368             : 
    1369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1370             : 
    1371             : #define IK_ENABLED 1
    1372             : 
    1373             : #if IK5_ENABLED
    1374         171 :     module procedure setCumSumNewBacNon_IK5
    1375             :         use pm_kind, only: IKC => IK5
    1376             : #include "pm_mathCumSum@routines.inc.F90"
    1377         171 :     end procedure
    1378             : #endif
    1379             : 
    1380             : #if IK4_ENABLED
    1381         185 :     module procedure setCumSumNewBacNon_IK4
    1382             :         use pm_kind, only: IKC => IK4
    1383             : #include "pm_mathCumSum@routines.inc.F90"
    1384         185 :     end procedure
    1385             : #endif
    1386             : 
    1387             : #if IK3_ENABLED
    1388         187 :     module procedure setCumSumNewBacNon_IK3
    1389             :         use pm_kind, only: IKC => IK3
    1390             : #include "pm_mathCumSum@routines.inc.F90"
    1391         187 :     end procedure
    1392             : #endif
    1393             : 
    1394             : #if IK2_ENABLED
    1395         180 :     module procedure setCumSumNewBacNon_IK2
    1396             :         use pm_kind, only: IKC => IK2
    1397             : #include "pm_mathCumSum@routines.inc.F90"
    1398         180 :     end procedure
    1399             : #endif
    1400             : 
    1401             : #if IK1_ENABLED
    1402         161 :     module procedure setCumSumNewBacNon_IK1
    1403             :         use pm_kind, only: IKC => IK1
    1404             : #include "pm_mathCumSum@routines.inc.F90"
    1405         161 :     end procedure
    1406             : #endif
    1407             : 
    1408             : #undef IK_ENABLED
    1409             : 
    1410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1411             : 
    1412             : #define CK_ENABLED 1
    1413             : 
    1414             : #if CK5_ENABLED
    1415             :     module procedure setCumSumNewBacNon_CK5
    1416             :         use pm_kind, only: CKC => CK5
    1417             : #include "pm_mathCumSum@routines.inc.F90"
    1418             :     end procedure
    1419             : #endif
    1420             : 
    1421             : #if CK4_ENABLED
    1422         192 :     module procedure setCumSumNewBacNon_CK4
    1423             :         use pm_kind, only: CKC => CK4
    1424             : #include "pm_mathCumSum@routines.inc.F90"
    1425         192 :     end procedure
    1426             : #endif
    1427             : 
    1428             : #if CK3_ENABLED
    1429         194 :     module procedure setCumSumNewBacNon_CK3
    1430             :         use pm_kind, only: CKC => CK3
    1431             : #include "pm_mathCumSum@routines.inc.F90"
    1432         194 :     end procedure
    1433             : #endif
    1434             : 
    1435             : #if CK2_ENABLED
    1436         172 :     module procedure setCumSumNewBacNon_CK2
    1437             :         use pm_kind, only: CKC => CK2
    1438             : #include "pm_mathCumSum@routines.inc.F90"
    1439         172 :     end procedure
    1440             : #endif
    1441             : 
    1442             : #if CK1_ENABLED
    1443         186 :     module procedure setCumSumNewBacNon_CK1
    1444             :         use pm_kind, only: CKC => CK1
    1445             : #include "pm_mathCumSum@routines.inc.F90"
    1446         186 :     end procedure
    1447             : #endif
    1448             : 
    1449             : #undef CK_ENABLED
    1450             : 
    1451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1452             : 
    1453             : #define RK_ENABLED 1
    1454             : 
    1455             : #if RK5_ENABLED
    1456             :     module procedure setCumSumNewBacNon_RK5
    1457             :         use pm_kind, only: RKC => RK5
    1458             : #include "pm_mathCumSum@routines.inc.F90"
    1459             :     end procedure
    1460             : #endif
    1461             : 
    1462             : #if RK4_ENABLED
    1463         464 :     module procedure setCumSumNewBacNon_RK4
    1464             :         use pm_kind, only: RKC => RK4
    1465             : #include "pm_mathCumSum@routines.inc.F90"
    1466         464 :     end procedure
    1467             : #endif
    1468             : 
    1469             : #if RK3_ENABLED
    1470         510 :     module procedure setCumSumNewBacNon_RK3
    1471             :         use pm_kind, only: RKC => RK3
    1472             : #include "pm_mathCumSum@routines.inc.F90"
    1473         510 :     end procedure
    1474             : #endif
    1475             : 
    1476             : #if RK2_ENABLED
    1477         497 :     module procedure setCumSumNewBacNon_RK2
    1478             :         use pm_kind, only: RKC => RK2
    1479             : #include "pm_mathCumSum@routines.inc.F90"
    1480         497 :     end procedure
    1481             : #endif
    1482             : 
    1483             : #if RK1_ENABLED
    1484         489 :     module procedure setCumSumNewBacNon_RK1
    1485             :         use pm_kind, only: RKC => RK1
    1486             : #include "pm_mathCumSum@routines.inc.F90"
    1487         489 :     end procedure
    1488             : #endif
    1489             : 
    1490             : #undef RK_ENABLED
    1491             : 
    1492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1493             : 
    1494             : #undef Non_ENABLED
    1495             : 
    1496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1499             : 
    1500             : #define Rev_ENABLED 1
    1501             : 
    1502             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1503             : 
    1504             : #define IK_ENABLED 1
    1505             : 
    1506             : #if IK5_ENABLED
    1507         144 :     module procedure setCumSumNewBacRev_IK5
    1508             :         use pm_kind, only: IKC => IK5
    1509             : #include "pm_mathCumSum@routines.inc.F90"
    1510         144 :     end procedure
    1511             : #endif
    1512             : 
    1513             : #if IK4_ENABLED
    1514         160 :     module procedure setCumSumNewBacRev_IK4
    1515             :         use pm_kind, only: IKC => IK4
    1516             : #include "pm_mathCumSum@routines.inc.F90"
    1517         160 :     end procedure
    1518             : #endif
    1519             : 
    1520             : #if IK3_ENABLED
    1521         146 :     module procedure setCumSumNewBacRev_IK3
    1522             :         use pm_kind, only: IKC => IK3
    1523             : #include "pm_mathCumSum@routines.inc.F90"
    1524         146 :     end procedure
    1525             : #endif
    1526             : 
    1527             : #if IK2_ENABLED
    1528         165 :     module procedure setCumSumNewBacRev_IK2
    1529             :         use pm_kind, only: IKC => IK2
    1530             : #include "pm_mathCumSum@routines.inc.F90"
    1531         165 :     end procedure
    1532             : #endif
    1533             : 
    1534             : #if IK1_ENABLED
    1535         141 :     module procedure setCumSumNewBacRev_IK1
    1536             :         use pm_kind, only: IKC => IK1
    1537             : #include "pm_mathCumSum@routines.inc.F90"
    1538         141 :     end procedure
    1539             : #endif
    1540             : 
    1541             : #undef IK_ENABLED
    1542             : 
    1543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1544             : 
    1545             : #define CK_ENABLED 1
    1546             : 
    1547             : #if CK5_ENABLED
    1548             :     module procedure setCumSumNewBacRev_CK5
    1549             :         use pm_kind, only: CKC => CK5
    1550             : #include "pm_mathCumSum@routines.inc.F90"
    1551             :     end procedure
    1552             : #endif
    1553             : 
    1554             : #if CK4_ENABLED
    1555         155 :     module procedure setCumSumNewBacRev_CK4
    1556             :         use pm_kind, only: CKC => CK4
    1557             : #include "pm_mathCumSum@routines.inc.F90"
    1558         155 :     end procedure
    1559             : #endif
    1560             : 
    1561             : #if CK3_ENABLED
    1562         155 :     module procedure setCumSumNewBacRev_CK3
    1563             :         use pm_kind, only: CKC => CK3
    1564             : #include "pm_mathCumSum@routines.inc.F90"
    1565         155 :     end procedure
    1566             : #endif
    1567             : 
    1568             : #if CK2_ENABLED
    1569         148 :     module procedure setCumSumNewBacRev_CK2
    1570             :         use pm_kind, only: CKC => CK2
    1571             : #include "pm_mathCumSum@routines.inc.F90"
    1572         148 :     end procedure
    1573             : #endif
    1574             : 
    1575             : #if CK1_ENABLED
    1576         147 :     module procedure setCumSumNewBacRev_CK1
    1577             :         use pm_kind, only: CKC => CK1
    1578             : #include "pm_mathCumSum@routines.inc.F90"
    1579         147 :     end procedure
    1580             : #endif
    1581             : 
    1582             : #undef CK_ENABLED
    1583             : 
    1584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1585             : 
    1586             : #define RK_ENABLED 1
    1587             : 
    1588             : #if RK5_ENABLED
    1589             :     module procedure setCumSumNewBacRev_RK5
    1590             :         use pm_kind, only: RKC => RK5
    1591             : #include "pm_mathCumSum@routines.inc.F90"
    1592             :     end procedure
    1593             : #endif
    1594             : 
    1595             : #if RK4_ENABLED
    1596         504 :     module procedure setCumSumNewBacRev_RK4
    1597             :         use pm_kind, only: RKC => RK4
    1598             : #include "pm_mathCumSum@routines.inc.F90"
    1599         504 :     end procedure
    1600             : #endif
    1601             : 
    1602             : #if RK3_ENABLED
    1603         463 :     module procedure setCumSumNewBacRev_RK3
    1604             :         use pm_kind, only: RKC => RK3
    1605             : #include "pm_mathCumSum@routines.inc.F90"
    1606         463 :     end procedure
    1607             : #endif
    1608             : 
    1609             : #if RK2_ENABLED
    1610         465 :     module procedure setCumSumNewBacRev_RK2
    1611             :         use pm_kind, only: RKC => RK2
    1612             : #include "pm_mathCumSum@routines.inc.F90"
    1613         465 :     end procedure
    1614             : #endif
    1615             : 
    1616             : #if RK1_ENABLED
    1617         464 :     module procedure setCumSumNewBacRev_RK1
    1618             :         use pm_kind, only: RKC => RK1
    1619             : #include "pm_mathCumSum@routines.inc.F90"
    1620         464 :     end procedure
    1621             : #endif
    1622             : 
    1623             : #undef RK_ENABLED
    1624             : 
    1625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1626             : 
    1627             : #undef Rev_ENABLED
    1628             : 
    1629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1632             : 
    1633             : #undef Bac_ENABLED
    1634             : 
    1635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1638             : 
    1639             : #undef New_ENABLED
    1640             : 
    1641             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1644             : 
    1645             : #undef setCumSum_ENABLED
    1646             : 
    1647             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1648             : 
    1649             : #undef CHECK_ASSERTION
    1650             : 
    1651             : end submodule routines

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