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

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_arrayCenter](@ref pm_arrayCenter).
      19             : !>
      20             : !>  \author
      21             : !>  \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
      22             : 
      23             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      24             : 
      25             : submodule (pm_arrayCenter) routines ! LCOV_EXCL_LINE
      26             : 
      27             : #if CHECK_ENABLED
      28             :     use pm_err, only: getFine
      29             :     use pm_val2str, only: getStr
      30             :     use pm_err, only: setAsserted
      31             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      32             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      33             : #else
      34             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      35             : #endif
      36             : 
      37             :     implicit none
      38             : 
      39             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      40             : 
      41             : contains
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : #define getCentered_ENABLED 1
      46             : 
      47             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             : 
      51             : #define Asis_ENABLED 1
      52             : 
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define D0_ENABLED 1
      58             : 
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             : 
      61             : #define SK_ENABLED 1
      62             : 
      63             : #if SK5_ENABLED
      64             :     module procedure getCenteredAsis_D0_SK5
      65             :         use pm_kind, only: SKC => SK5
      66             : #include "pm_arrayCenter@routines.inc.F90"
      67             :     end procedure
      68             : #endif
      69             : 
      70             : #if SK4_ENABLED
      71             :     module procedure getCenteredAsis_D0_SK4
      72             :         use pm_kind, only: SKC => SK4
      73             : #include "pm_arrayCenter@routines.inc.F90"
      74             :     end procedure
      75             : #endif
      76             : 
      77             : #if SK3_ENABLED
      78             :     module procedure getCenteredAsis_D0_SK3
      79             :         use pm_kind, only: SKC => SK3
      80             : #include "pm_arrayCenter@routines.inc.F90"
      81             :     end procedure
      82             : #endif
      83             : 
      84             : #if SK2_ENABLED
      85             :     module procedure getCenteredAsis_D0_SK2
      86             :         use pm_kind, only: SKC => SK2
      87             : #include "pm_arrayCenter@routines.inc.F90"
      88             :     end procedure
      89             : #endif
      90             : 
      91             : #if SK1_ENABLED
      92          34 :     module procedure getCenteredAsis_D0_SK1
      93             :         use pm_kind, only: SKC => SK1
      94             : #include "pm_arrayCenter@routines.inc.F90"
      95          34 :     end procedure
      96             : #endif
      97             : 
      98             : #undef SK_ENABLED
      99             : 
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             : 
     102             : #undef D0_ENABLED
     103             : 
     104             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #define D1_ENABLED 1
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             : 
     112             : #define SK_ENABLED 1
     113             : 
     114             : #if SK5_ENABLED
     115             :     module procedure getCenteredAsis_D1_SK5
     116             :         use pm_kind, only: SKC => SK5
     117             : #include "pm_arrayCenter@routines.inc.F90"
     118             :     end procedure
     119             : #endif
     120             : 
     121             : #if SK4_ENABLED
     122             :     module procedure getCenteredAsis_D1_SK4
     123             :         use pm_kind, only: SKC => SK4
     124             : #include "pm_arrayCenter@routines.inc.F90"
     125             :     end procedure
     126             : #endif
     127             : 
     128             : #if SK3_ENABLED
     129             :     module procedure getCenteredAsis_D1_SK3
     130             :         use pm_kind, only: SKC => SK3
     131             : #include "pm_arrayCenter@routines.inc.F90"
     132             :     end procedure
     133             : #endif
     134             : 
     135             : #if SK2_ENABLED
     136             :     module procedure getCenteredAsis_D1_SK2
     137             :         use pm_kind, only: SKC => SK2
     138             : #include "pm_arrayCenter@routines.inc.F90"
     139             :     end procedure
     140             : #endif
     141             : 
     142             : #if SK1_ENABLED
     143          12 :     module procedure getCenteredAsis_D1_SK1
     144             :         use pm_kind, only: SKC => SK1
     145             : #include "pm_arrayCenter@routines.inc.F90"
     146          12 :     end procedure
     147             : #endif
     148             : 
     149             : #undef SK_ENABLED
     150             : 
     151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     152             : 
     153             : #define IK_ENABLED 1
     154             : 
     155             : #if IK5_ENABLED
     156           8 :     module procedure getCenteredAsis_D1_IK5
     157             :         use pm_kind, only: IKC => IK5
     158             : #include "pm_arrayCenter@routines.inc.F90"
     159           8 :     end procedure
     160             : #endif
     161             : 
     162             : #if IK4_ENABLED
     163           8 :     module procedure getCenteredAsis_D1_IK4
     164             :         use pm_kind, only: IKC => IK4
     165             : #include "pm_arrayCenter@routines.inc.F90"
     166           8 :     end procedure
     167             : #endif
     168             : 
     169             : #if IK3_ENABLED
     170          12 :     module procedure getCenteredAsis_D1_IK3
     171             :         use pm_kind, only: IKC => IK3
     172             : #include "pm_arrayCenter@routines.inc.F90"
     173          12 :     end procedure
     174             : #endif
     175             : 
     176             : #if IK2_ENABLED
     177           8 :     module procedure getCenteredAsis_D1_IK2
     178             :         use pm_kind, only: IKC => IK2
     179             : #include "pm_arrayCenter@routines.inc.F90"
     180           8 :     end procedure
     181             : #endif
     182             : 
     183             : #if IK1_ENABLED
     184           8 :     module procedure getCenteredAsis_D1_IK1
     185             :         use pm_kind, only: IKC => IK1
     186             : #include "pm_arrayCenter@routines.inc.F90"
     187           8 :     end procedure
     188             : #endif
     189             : 
     190             : #undef IK_ENABLED
     191             : 
     192             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     193             : 
     194             : #define LK_ENABLED 1
     195             : 
     196             : #define getCenteredAsis_D1_LK_ENABLED 1
     197             : 
     198             : #if LK5_ENABLED
     199           8 :     module procedure getCenteredAsis_D1_LK5
     200             :         use pm_kind, only: LKC => LK5
     201             : #include "pm_arrayCenter@routines.inc.F90"
     202           8 :     end procedure
     203             : #endif
     204             : 
     205             : #if LK4_ENABLED
     206           8 :     module procedure getCenteredAsis_D1_LK4
     207             :         use pm_kind, only: LKC => LK4
     208             : #include "pm_arrayCenter@routines.inc.F90"
     209           8 :     end procedure
     210             : #endif
     211             : 
     212             : #if LK3_ENABLED
     213          12 :     module procedure getCenteredAsis_D1_LK3
     214             :         use pm_kind, only: LKC => LK3
     215             : #include "pm_arrayCenter@routines.inc.F90"
     216          12 :     end procedure
     217             : #endif
     218             : 
     219             : #if LK2_ENABLED
     220           8 :     module procedure getCenteredAsis_D1_LK2
     221             :         use pm_kind, only: LKC => LK2
     222             : #include "pm_arrayCenter@routines.inc.F90"
     223           8 :     end procedure
     224             : #endif
     225             : 
     226             : #if LK1_ENABLED
     227           8 :     module procedure getCenteredAsis_D1_LK1
     228             :         use pm_kind, only: LKC => LK1
     229             : #include "pm_arrayCenter@routines.inc.F90"
     230           8 :     end procedure
     231             : #endif
     232             : 
     233             : #undef LK_ENABLED
     234             : 
     235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     236             : 
     237             : #define CK_ENABLED 1
     238             : 
     239             : #if CK3_ENABLED
     240           8 :     module procedure getCenteredAsis_D1_CK3
     241             :         use pm_kind, only: CKC => CK3
     242             : #include "pm_arrayCenter@routines.inc.F90"
     243           8 :     end procedure
     244             : #endif
     245             : 
     246             : #if CK2_ENABLED
     247          12 :     module procedure getCenteredAsis_D1_CK2
     248             :         use pm_kind, only: CKC => CK2
     249             : #include "pm_arrayCenter@routines.inc.F90"
     250          12 :     end procedure
     251             : #endif
     252             : 
     253             : #if CK1_ENABLED
     254           8 :     module procedure getCenteredAsis_D1_CK1
     255             :         use pm_kind, only: CKC => CK1
     256             : #include "pm_arrayCenter@routines.inc.F90"
     257           8 :     end procedure
     258             : #endif
     259             : 
     260             : #if CK5_ENABLED
     261             :     module procedure getCenteredAsis_D1_CK5
     262             :         use pm_kind, only: CKC => CK5
     263             : #include "pm_arrayCenter@routines.inc.F90"
     264             :     end procedure
     265             : #endif
     266             : 
     267             : #if CK4_ENABLED
     268           8 :     module procedure getCenteredAsis_D1_CK4
     269             :         use pm_kind, only: CKC => CK4
     270             : #include "pm_arrayCenter@routines.inc.F90"
     271           8 :     end procedure
     272             : #endif
     273             : 
     274             : #undef CK_ENABLED
     275             : 
     276             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     277             : 
     278             : #define RK_ENABLED 1
     279             : 
     280             : #if RK5_ENABLED
     281             :     module procedure getCenteredAsis_D1_RK5
     282             :         use pm_kind, only: RKC => RK5
     283             : #include "pm_arrayCenter@routines.inc.F90"
     284             :     end procedure
     285             : #endif
     286             : 
     287             : #if RK4_ENABLED
     288           8 :     module procedure getCenteredAsis_D1_RK4
     289             :         use pm_kind, only: RKC => RK4
     290             : #include "pm_arrayCenter@routines.inc.F90"
     291           8 :     end procedure
     292             : #endif
     293             : 
     294             : #if RK3_ENABLED
     295           8 :     module procedure getCenteredAsis_D1_RK3
     296             :         use pm_kind, only: RKC => RK3
     297             : #include "pm_arrayCenter@routines.inc.F90"
     298           8 :     end procedure
     299             : #endif
     300             : 
     301             : #if RK2_ENABLED
     302          12 :     module procedure getCenteredAsis_D1_RK2
     303             :         use pm_kind, only: RKC => RK2
     304             : #include "pm_arrayCenter@routines.inc.F90"
     305          12 :     end procedure
     306             : #endif
     307             : 
     308             : #if RK1_ENABLED
     309           8 :     module procedure getCenteredAsis_D1_RK1
     310             :         use pm_kind, only: RKC => RK1
     311             : #include "pm_arrayCenter@routines.inc.F90"
     312           8 :     end procedure
     313             : #endif
     314             : 
     315             : #undef RK_ENABLED
     316             : 
     317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     318             : 
     319             : #undef D1_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             : 
     325             : #undef Asis_ENABLED
     326             : 
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     330             : 
     331             : #define Marg_ENABLED 1
     332             : 
     333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     336             : 
     337             : #define D0_ENABLED 1
     338             : 
     339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     340             : 
     341             : #define SK_ENABLED 1
     342             : 
     343             : #if SK5_ENABLED
     344             :     module procedure getCenteredMarg_D0_SK5
     345             :         use pm_kind, only: SKC => SK5
     346             : #include "pm_arrayCenter@routines.inc.F90"
     347             :     end procedure
     348             : #endif
     349             : 
     350             : #if SK4_ENABLED
     351             :     module procedure getCenteredMarg_D0_SK4
     352             :         use pm_kind, only: SKC => SK4
     353             : #include "pm_arrayCenter@routines.inc.F90"
     354             :     end procedure
     355             : #endif
     356             : 
     357             : #if SK3_ENABLED
     358             :     module procedure getCenteredMarg_D0_SK3
     359             :         use pm_kind, only: SKC => SK3
     360             : #include "pm_arrayCenter@routines.inc.F90"
     361             :     end procedure
     362             : #endif
     363             : 
     364             : #if SK2_ENABLED
     365             :     module procedure getCenteredMarg_D0_SK2
     366             :         use pm_kind, only: SKC => SK2
     367             : #include "pm_arrayCenter@routines.inc.F90"
     368             :     end procedure
     369             : #endif
     370             : 
     371             : #if SK1_ENABLED
     372          38 :     module procedure getCenteredMarg_D0_SK1
     373             :         use pm_kind, only: SKC => SK1
     374             : #include "pm_arrayCenter@routines.inc.F90"
     375          38 :     end procedure
     376             : #endif
     377             : 
     378             : #undef SK_ENABLED
     379             : 
     380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     381             : 
     382             : #undef D0_ENABLED
     383             : 
     384             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     385             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             : 
     388             : #define D1_ENABLED 1
     389             : 
     390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             : 
     392             : #define SK_ENABLED 1
     393             : 
     394             : #if SK5_ENABLED
     395             :     module procedure getCenteredMarg_D1_SK5
     396             :         use pm_kind, only: SKC => SK5
     397             : #include "pm_arrayCenter@routines.inc.F90"
     398             :     end procedure
     399             : #endif
     400             : 
     401             : #if SK4_ENABLED
     402             :     module procedure getCenteredMarg_D1_SK4
     403             :         use pm_kind, only: SKC => SK4
     404             : #include "pm_arrayCenter@routines.inc.F90"
     405             :     end procedure
     406             : #endif
     407             : 
     408             : #if SK3_ENABLED
     409             :     module procedure getCenteredMarg_D1_SK3
     410             :         use pm_kind, only: SKC => SK3
     411             : #include "pm_arrayCenter@routines.inc.F90"
     412             :     end procedure
     413             : #endif
     414             : 
     415             : #if SK2_ENABLED
     416             :     module procedure getCenteredMarg_D1_SK2
     417             :         use pm_kind, only: SKC => SK2
     418             : #include "pm_arrayCenter@routines.inc.F90"
     419             :     end procedure
     420             : #endif
     421             : 
     422             : #if SK1_ENABLED
     423          32 :     module procedure getCenteredMarg_D1_SK1
     424             :         use pm_kind, only: SKC => SK1
     425             : #include "pm_arrayCenter@routines.inc.F90"
     426          32 :     end procedure
     427             : #endif
     428             : 
     429             : #undef SK_ENABLED
     430             : 
     431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     432             : 
     433             : #define IK_ENABLED 1
     434             : 
     435             : #if IK5_ENABLED
     436          32 :     module procedure getCenteredMarg_D1_IK5
     437             :         use pm_kind, only: IKC => IK5
     438             : #include "pm_arrayCenter@routines.inc.F90"
     439          32 :     end procedure
     440             : #endif
     441             : 
     442             : #if IK4_ENABLED
     443          32 :     module procedure getCenteredMarg_D1_IK4
     444             :         use pm_kind, only: IKC => IK4
     445             : #include "pm_arrayCenter@routines.inc.F90"
     446          32 :     end procedure
     447             : #endif
     448             : 
     449             : #if IK3_ENABLED
     450          32 :     module procedure getCenteredMarg_D1_IK3
     451             :         use pm_kind, only: IKC => IK3
     452             : #include "pm_arrayCenter@routines.inc.F90"
     453          32 :     end procedure
     454             : #endif
     455             : 
     456             : #if IK2_ENABLED
     457          32 :     module procedure getCenteredMarg_D1_IK2
     458             :         use pm_kind, only: IKC => IK2
     459             : #include "pm_arrayCenter@routines.inc.F90"
     460          32 :     end procedure
     461             : #endif
     462             : 
     463             : #if IK1_ENABLED
     464          32 :     module procedure getCenteredMarg_D1_IK1
     465             :         use pm_kind, only: IKC => IK1
     466             : #include "pm_arrayCenter@routines.inc.F90"
     467          32 :     end procedure
     468             : #endif
     469             : 
     470             : #undef IK_ENABLED
     471             : 
     472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     473             : 
     474             : #define LK_ENABLED 1
     475             : 
     476             : #define getCenteredMarg_D1_LK_ENABLED 1
     477             : 
     478             : #if LK5_ENABLED
     479          32 :     module procedure getCenteredMarg_D1_LK5
     480             :         use pm_kind, only: LKC => LK5
     481             : #include "pm_arrayCenter@routines.inc.F90"
     482          32 :     end procedure
     483             : #endif
     484             : 
     485             : #if LK4_ENABLED
     486          32 :     module procedure getCenteredMarg_D1_LK4
     487             :         use pm_kind, only: LKC => LK4
     488             : #include "pm_arrayCenter@routines.inc.F90"
     489          32 :     end procedure
     490             : #endif
     491             : 
     492             : #if LK3_ENABLED
     493          32 :     module procedure getCenteredMarg_D1_LK3
     494             :         use pm_kind, only: LKC => LK3
     495             : #include "pm_arrayCenter@routines.inc.F90"
     496          32 :     end procedure
     497             : #endif
     498             : 
     499             : #if LK2_ENABLED
     500          32 :     module procedure getCenteredMarg_D1_LK2
     501             :         use pm_kind, only: LKC => LK2
     502             : #include "pm_arrayCenter@routines.inc.F90"
     503          32 :     end procedure
     504             : #endif
     505             : 
     506             : #if LK1_ENABLED
     507          32 :     module procedure getCenteredMarg_D1_LK1
     508             :         use pm_kind, only: LKC => LK1
     509             : #include "pm_arrayCenter@routines.inc.F90"
     510          32 :     end procedure
     511             : #endif
     512             : 
     513             : #undef LK_ENABLED
     514             : 
     515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     516             : 
     517             : #define CK_ENABLED 1
     518             : 
     519             : #if CK5_ENABLED
     520             :     module procedure getCenteredMarg_D1_CK5
     521             :         use pm_kind, only: CKC => CK5
     522             : #include "pm_arrayCenter@routines.inc.F90"
     523             :     end procedure
     524             : #endif
     525             : 
     526             : #if CK4_ENABLED
     527          32 :     module procedure getCenteredMarg_D1_CK4
     528             :         use pm_kind, only: CKC => CK4
     529             : #include "pm_arrayCenter@routines.inc.F90"
     530          32 :     end procedure
     531             : #endif
     532             : 
     533             : #if CK3_ENABLED
     534          32 :     module procedure getCenteredMarg_D1_CK3
     535             :         use pm_kind, only: CKC => CK3
     536             : #include "pm_arrayCenter@routines.inc.F90"
     537          32 :     end procedure
     538             : #endif
     539             : 
     540             : #if CK2_ENABLED
     541          32 :     module procedure getCenteredMarg_D1_CK2
     542             :         use pm_kind, only: CKC => CK2
     543             : #include "pm_arrayCenter@routines.inc.F90"
     544          32 :     end procedure
     545             : #endif
     546             : 
     547             : #if CK1_ENABLED
     548          32 :     module procedure getCenteredMarg_D1_CK1
     549             :         use pm_kind, only: CKC => CK1
     550             : #include "pm_arrayCenter@routines.inc.F90"
     551          32 :     end procedure
     552             : #endif
     553             : 
     554             : #undef CK_ENABLED
     555             : 
     556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     557             : 
     558             : #define RK_ENABLED 1
     559             : 
     560             : #if RK5_ENABLED
     561             :     module procedure getCenteredMarg_D1_RK5
     562             :         use pm_kind, only: RKC => RK5
     563             : #include "pm_arrayCenter@routines.inc.F90"
     564             :     end procedure
     565             : #endif
     566             : 
     567             : #if RK4_ENABLED
     568          32 :     module procedure getCenteredMarg_D1_RK4
     569             :         use pm_kind, only: RKC => RK4
     570             : #include "pm_arrayCenter@routines.inc.F90"
     571          32 :     end procedure
     572             : #endif
     573             : 
     574             : #if RK3_ENABLED
     575          32 :     module procedure getCenteredMarg_D1_RK3
     576             :         use pm_kind, only: RKC => RK3
     577             : #include "pm_arrayCenter@routines.inc.F90"
     578          32 :     end procedure
     579             : #endif
     580             : 
     581             : #if RK2_ENABLED
     582          32 :     module procedure getCenteredMarg_D1_RK2
     583             :         use pm_kind, only: RKC => RK2
     584             : #include "pm_arrayCenter@routines.inc.F90"
     585          32 :     end procedure
     586             : #endif
     587             : 
     588             : #if RK1_ENABLED
     589          32 :     module procedure getCenteredMarg_D1_RK1
     590             :         use pm_kind, only: RKC => RK1
     591             : #include "pm_arrayCenter@routines.inc.F90"
     592          32 :     end procedure
     593             : #endif
     594             : 
     595             : #undef RK_ENABLED
     596             : 
     597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     598             : 
     599             : #undef D1_ENABLED
     600             : 
     601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     603             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     604             : 
     605             : #undef Marg_ENABLED
     606             : 
     607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     608             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     610             : 
     611             : #undef getCentered_ENABLED
     612             : 
     613             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     614             : 
     615             : #define setCentered_ENABLED 1
     616             : 
     617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     620             : 
     621             : #define Asis_ENABLED 1
     622             : 
     623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     626             : 
     627             : #define D0_ENABLED 1
     628             : 
     629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     630             : 
     631             : #define SK_ENABLED 1
     632             : 
     633             : #if SK5_ENABLED
     634             :     module procedure setCenteredAsis_D0_SK5
     635             :         use pm_kind, only: SKC => SK5
     636             : #include "pm_arrayCenter@routines.inc.F90"
     637             :     end procedure
     638             : #endif
     639             : 
     640             : #if SK4_ENABLED
     641             :     module procedure setCenteredAsis_D0_SK4
     642             :         use pm_kind, only: SKC => SK4
     643             : #include "pm_arrayCenter@routines.inc.F90"
     644             :     end procedure
     645             : #endif
     646             : 
     647             : #if SK3_ENABLED
     648             :     module procedure setCenteredAsis_D0_SK3
     649             :         use pm_kind, only: SKC => SK3
     650             : #include "pm_arrayCenter@routines.inc.F90"
     651             :     end procedure
     652             : #endif
     653             : 
     654             : #if SK2_ENABLED
     655             :     module procedure setCenteredAsis_D0_SK2
     656             :         use pm_kind, only: SKC => SK2
     657             : #include "pm_arrayCenter@routines.inc.F90"
     658             :     end procedure
     659             : #endif
     660             : 
     661             : #if SK1_ENABLED
     662          26 :     module procedure setCenteredAsis_D0_SK1
     663             :         use pm_kind, only: SKC => SK1
     664             : #include "pm_arrayCenter@routines.inc.F90"
     665          26 :     end procedure
     666             : #endif
     667             : 
     668             : #undef SK_ENABLED
     669             : 
     670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     671             : 
     672             : #undef D0_ENABLED
     673             : 
     674             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     675             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     677             : 
     678             : #define D1_ENABLED 1
     679             : 
     680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     681             : 
     682             : #define SK_ENABLED 1
     683             : 
     684             : #if SK5_ENABLED
     685             :     module procedure setCenteredAsis_D1_SK5
     686             :         use pm_kind, only: SKC => SK5
     687             : #include "pm_arrayCenter@routines.inc.F90"
     688             :     end procedure
     689             : #endif
     690             : 
     691             : #if SK4_ENABLED
     692             :     module procedure setCenteredAsis_D1_SK4
     693             :         use pm_kind, only: SKC => SK4
     694             : #include "pm_arrayCenter@routines.inc.F90"
     695             :     end procedure
     696             : #endif
     697             : 
     698             : #if SK3_ENABLED
     699             :     module procedure setCenteredAsis_D1_SK3
     700             :         use pm_kind, only: SKC => SK3
     701             : #include "pm_arrayCenter@routines.inc.F90"
     702             :     end procedure
     703             : #endif
     704             : 
     705             : #if SK2_ENABLED
     706             :     module procedure setCenteredAsis_D1_SK2
     707             :         use pm_kind, only: SKC => SK2
     708             : #include "pm_arrayCenter@routines.inc.F90"
     709             :     end procedure
     710             : #endif
     711             : 
     712             : #if SK1_ENABLED
     713          12 :     module procedure setCenteredAsis_D1_SK1
     714             :         use pm_kind, only: SKC => SK1
     715             : #include "pm_arrayCenter@routines.inc.F90"
     716          12 :     end procedure
     717             : #endif
     718             : 
     719             : #undef SK_ENABLED
     720             : 
     721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     722             : 
     723             : #define IK_ENABLED 1
     724             : 
     725             : #if IK5_ENABLED
     726           8 :     module procedure setCenteredAsis_D1_IK5
     727             :         use pm_kind, only: IKC => IK5
     728             : #include "pm_arrayCenter@routines.inc.F90"
     729           8 :     end procedure
     730             : #endif
     731             : 
     732             : #if IK4_ENABLED
     733           8 :     module procedure setCenteredAsis_D1_IK4
     734             :         use pm_kind, only: IKC => IK4
     735             : #include "pm_arrayCenter@routines.inc.F90"
     736           8 :     end procedure
     737             : #endif
     738             : 
     739             : #if IK3_ENABLED
     740          12 :     module procedure setCenteredAsis_D1_IK3
     741             :         use pm_kind, only: IKC => IK3
     742             : #include "pm_arrayCenter@routines.inc.F90"
     743          12 :     end procedure
     744             : #endif
     745             : 
     746             : #if IK2_ENABLED
     747           8 :     module procedure setCenteredAsis_D1_IK2
     748             :         use pm_kind, only: IKC => IK2
     749             : #include "pm_arrayCenter@routines.inc.F90"
     750           8 :     end procedure
     751             : #endif
     752             : 
     753             : #if IK1_ENABLED
     754           8 :     module procedure setCenteredAsis_D1_IK1
     755             :         use pm_kind, only: IKC => IK1
     756             : #include "pm_arrayCenter@routines.inc.F90"
     757           8 :     end procedure
     758             : #endif
     759             : 
     760             : #undef IK_ENABLED
     761             : 
     762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     763             : 
     764             : #define LK_ENABLED 1
     765             : 
     766             : #define setCenteredAsis_D1_LK_ENABLED 1
     767             : 
     768             : #if LK5_ENABLED
     769           8 :     module procedure setCenteredAsis_D1_LK5
     770             :         use pm_kind, only: LKC => LK5
     771             : #include "pm_arrayCenter@routines.inc.F90"
     772           8 :     end procedure
     773             : #endif
     774             : 
     775             : #if LK4_ENABLED
     776           8 :     module procedure setCenteredAsis_D1_LK4
     777             :         use pm_kind, only: LKC => LK4
     778             : #include "pm_arrayCenter@routines.inc.F90"
     779           8 :     end procedure
     780             : #endif
     781             : 
     782             : #if LK3_ENABLED
     783          12 :     module procedure setCenteredAsis_D1_LK3
     784             :         use pm_kind, only: LKC => LK3
     785             : #include "pm_arrayCenter@routines.inc.F90"
     786          12 :     end procedure
     787             : #endif
     788             : 
     789             : #if LK2_ENABLED
     790           8 :     module procedure setCenteredAsis_D1_LK2
     791             :         use pm_kind, only: LKC => LK2
     792             : #include "pm_arrayCenter@routines.inc.F90"
     793           8 :     end procedure
     794             : #endif
     795             : 
     796             : #if LK1_ENABLED
     797           8 :     module procedure setCenteredAsis_D1_LK1
     798             :         use pm_kind, only: LKC => LK1
     799             : #include "pm_arrayCenter@routines.inc.F90"
     800           8 :     end procedure
     801             : #endif
     802             : 
     803             : #undef LK_ENABLED
     804             : 
     805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     806             : 
     807             : #define CK_ENABLED 1
     808             : 
     809             : #if CK3_ENABLED
     810           8 :     module procedure setCenteredAsis_D1_CK3
     811             :         use pm_kind, only: CKC => CK3
     812             : #include "pm_arrayCenter@routines.inc.F90"
     813           8 :     end procedure
     814             : #endif
     815             : 
     816             : #if CK2_ENABLED
     817          12 :     module procedure setCenteredAsis_D1_CK2
     818             :         use pm_kind, only: CKC => CK2
     819             : #include "pm_arrayCenter@routines.inc.F90"
     820          12 :     end procedure
     821             : #endif
     822             : 
     823             : #if CK1_ENABLED
     824           8 :     module procedure setCenteredAsis_D1_CK1
     825             :         use pm_kind, only: CKC => CK1
     826             : #include "pm_arrayCenter@routines.inc.F90"
     827           8 :     end procedure
     828             : #endif
     829             : 
     830             : #if CK5_ENABLED
     831             :     module procedure setCenteredAsis_D1_CK5
     832             :         use pm_kind, only: CKC => CK5
     833             : #include "pm_arrayCenter@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if CK4_ENABLED
     838           8 :     module procedure setCenteredAsis_D1_CK4
     839             :         use pm_kind, only: CKC => CK4
     840             : #include "pm_arrayCenter@routines.inc.F90"
     841           8 :     end procedure
     842             : #endif
     843             : 
     844             : #undef CK_ENABLED
     845             : 
     846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     847             : 
     848             : #define RK_ENABLED 1
     849             : 
     850             : #if RK5_ENABLED
     851             :     module procedure setCenteredAsis_D1_RK5
     852             :         use pm_kind, only: RKC => RK5
     853             : #include "pm_arrayCenter@routines.inc.F90"
     854             :     end procedure
     855             : #endif
     856             : 
     857             : #if RK4_ENABLED
     858           8 :     module procedure setCenteredAsis_D1_RK4
     859             :         use pm_kind, only: RKC => RK4
     860             : #include "pm_arrayCenter@routines.inc.F90"
     861           8 :     end procedure
     862             : #endif
     863             : 
     864             : #if RK3_ENABLED
     865           8 :     module procedure setCenteredAsis_D1_RK3
     866             :         use pm_kind, only: RKC => RK3
     867             : #include "pm_arrayCenter@routines.inc.F90"
     868           8 :     end procedure
     869             : #endif
     870             : 
     871             : #if RK2_ENABLED
     872          12 :     module procedure setCenteredAsis_D1_RK2
     873             :         use pm_kind, only: RKC => RK2
     874             : #include "pm_arrayCenter@routines.inc.F90"
     875          12 :     end procedure
     876             : #endif
     877             : 
     878             : #if RK1_ENABLED
     879           8 :     module procedure setCenteredAsis_D1_RK1
     880             :         use pm_kind, only: RKC => RK1
     881             : #include "pm_arrayCenter@routines.inc.F90"
     882           8 :     end procedure
     883             : #endif
     884             : 
     885             : #undef RK_ENABLED
     886             : 
     887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     888             : 
     889             : #undef D1_ENABLED
     890             : 
     891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     894             : 
     895             : #undef Asis_ENABLED
     896             : 
     897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     898             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     900             : 
     901             : #define Marg_ENABLED 1
     902             : 
     903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     906             : 
     907             : #define D0_ENABLED 1
     908             : 
     909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     910             : 
     911             : #define SK_ENABLED 1
     912             : 
     913             : #if SK5_ENABLED
     914             :     module procedure setCenteredMarg_D0_SK5
     915             :         use pm_kind, only: SKC => SK5
     916             : #include "pm_arrayCenter@routines.inc.F90"
     917             :     end procedure
     918             : #endif
     919             : 
     920             : #if SK4_ENABLED
     921             :     module procedure setCenteredMarg_D0_SK4
     922             :         use pm_kind, only: SKC => SK4
     923             : #include "pm_arrayCenter@routines.inc.F90"
     924             :     end procedure
     925             : #endif
     926             : 
     927             : #if SK3_ENABLED
     928             :     module procedure setCenteredMarg_D0_SK3
     929             :         use pm_kind, only: SKC => SK3
     930             : #include "pm_arrayCenter@routines.inc.F90"
     931             :     end procedure
     932             : #endif
     933             : 
     934             : #if SK2_ENABLED
     935             :     module procedure setCenteredMarg_D0_SK2
     936             :         use pm_kind, only: SKC => SK2
     937             : #include "pm_arrayCenter@routines.inc.F90"
     938             :     end procedure
     939             : #endif
     940             : 
     941             : #if SK1_ENABLED
     942        1590 :     module procedure setCenteredMarg_D0_SK1
     943             :         use pm_kind, only: SKC => SK1
     944             : #include "pm_arrayCenter@routines.inc.F90"
     945        1590 :     end procedure
     946             : #endif
     947             : 
     948             : #undef SK_ENABLED
     949             : 
     950             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     951             : 
     952             : #undef D0_ENABLED
     953             : 
     954             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     957             : 
     958             : #define D1_ENABLED 1
     959             : 
     960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     961             : 
     962             : #define SK_ENABLED 1
     963             : 
     964             : #if SK5_ENABLED
     965             :     module procedure setCenteredMarg_D1_SK5
     966             :         use pm_kind, only: SKC => SK5
     967             : #include "pm_arrayCenter@routines.inc.F90"
     968             :     end procedure
     969             : #endif
     970             : 
     971             : #if SK4_ENABLED
     972             :     module procedure setCenteredMarg_D1_SK4
     973             :         use pm_kind, only: SKC => SK4
     974             : #include "pm_arrayCenter@routines.inc.F90"
     975             :     end procedure
     976             : #endif
     977             : 
     978             : #if SK3_ENABLED
     979             :     module procedure setCenteredMarg_D1_SK3
     980             :         use pm_kind, only: SKC => SK3
     981             : #include "pm_arrayCenter@routines.inc.F90"
     982             :     end procedure
     983             : #endif
     984             : 
     985             : #if SK2_ENABLED
     986             :     module procedure setCenteredMarg_D1_SK2
     987             :         use pm_kind, only: SKC => SK2
     988             : #include "pm_arrayCenter@routines.inc.F90"
     989             :     end procedure
     990             : #endif
     991             : 
     992             : #if SK1_ENABLED
     993          32 :     module procedure setCenteredMarg_D1_SK1
     994             :         use pm_kind, only: SKC => SK1
     995             : #include "pm_arrayCenter@routines.inc.F90"
     996          32 :     end procedure
     997             : #endif
     998             : 
     999             : #undef SK_ENABLED
    1000             : 
    1001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1002             : 
    1003             : #define IK_ENABLED 1
    1004             : 
    1005             : #if IK5_ENABLED
    1006          32 :     module procedure setCenteredMarg_D1_IK5
    1007             :         use pm_kind, only: IKC => IK5
    1008             : #include "pm_arrayCenter@routines.inc.F90"
    1009          32 :     end procedure
    1010             : #endif
    1011             : 
    1012             : #if IK4_ENABLED
    1013          32 :     module procedure setCenteredMarg_D1_IK4
    1014             :         use pm_kind, only: IKC => IK4
    1015             : #include "pm_arrayCenter@routines.inc.F90"
    1016          32 :     end procedure
    1017             : #endif
    1018             : 
    1019             : #if IK3_ENABLED
    1020          34 :     module procedure setCenteredMarg_D1_IK3
    1021             :         use pm_kind, only: IKC => IK3
    1022             : #include "pm_arrayCenter@routines.inc.F90"
    1023          34 :     end procedure
    1024             : #endif
    1025             : 
    1026             : #if IK2_ENABLED
    1027          32 :     module procedure setCenteredMarg_D1_IK2
    1028             :         use pm_kind, only: IKC => IK2
    1029             : #include "pm_arrayCenter@routines.inc.F90"
    1030          32 :     end procedure
    1031             : #endif
    1032             : 
    1033             : #if IK1_ENABLED
    1034          32 :     module procedure setCenteredMarg_D1_IK1
    1035             :         use pm_kind, only: IKC => IK1
    1036             : #include "pm_arrayCenter@routines.inc.F90"
    1037          32 :     end procedure
    1038             : #endif
    1039             : 
    1040             : #undef IK_ENABLED
    1041             : 
    1042             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1043             : 
    1044             : #define LK_ENABLED 1
    1045             : 
    1046             : #define setCenteredMarg_D1_LK_ENABLED 1
    1047             : 
    1048             : #if LK5_ENABLED
    1049          32 :     module procedure setCenteredMarg_D1_LK5
    1050             :         use pm_kind, only: LKC => LK5
    1051             : #include "pm_arrayCenter@routines.inc.F90"
    1052          32 :     end procedure
    1053             : #endif
    1054             : 
    1055             : #if LK4_ENABLED
    1056          32 :     module procedure setCenteredMarg_D1_LK4
    1057             :         use pm_kind, only: LKC => LK4
    1058             : #include "pm_arrayCenter@routines.inc.F90"
    1059          32 :     end procedure
    1060             : #endif
    1061             : 
    1062             : #if LK3_ENABLED
    1063          32 :     module procedure setCenteredMarg_D1_LK3
    1064             :         use pm_kind, only: LKC => LK3
    1065             : #include "pm_arrayCenter@routines.inc.F90"
    1066          32 :     end procedure
    1067             : #endif
    1068             : 
    1069             : #if LK2_ENABLED
    1070          32 :     module procedure setCenteredMarg_D1_LK2
    1071             :         use pm_kind, only: LKC => LK2
    1072             : #include "pm_arrayCenter@routines.inc.F90"
    1073          32 :     end procedure
    1074             : #endif
    1075             : 
    1076             : #if LK1_ENABLED
    1077          32 :     module procedure setCenteredMarg_D1_LK1
    1078             :         use pm_kind, only: LKC => LK1
    1079             : #include "pm_arrayCenter@routines.inc.F90"
    1080          32 :     end procedure
    1081             : #endif
    1082             : 
    1083             : #undef LK_ENABLED
    1084             : 
    1085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1086             : 
    1087             : #define CK_ENABLED 1
    1088             : 
    1089             : #if CK5_ENABLED
    1090             :     module procedure setCenteredMarg_D1_CK5
    1091             :         use pm_kind, only: CKC => CK5
    1092             : #include "pm_arrayCenter@routines.inc.F90"
    1093             :     end procedure
    1094             : #endif
    1095             : 
    1096             : #if CK4_ENABLED
    1097          32 :     module procedure setCenteredMarg_D1_CK4
    1098             :         use pm_kind, only: CKC => CK4
    1099             : #include "pm_arrayCenter@routines.inc.F90"
    1100          32 :     end procedure
    1101             : #endif
    1102             : 
    1103             : #if CK3_ENABLED
    1104          32 :     module procedure setCenteredMarg_D1_CK3
    1105             :         use pm_kind, only: CKC => CK3
    1106             : #include "pm_arrayCenter@routines.inc.F90"
    1107          32 :     end procedure
    1108             : #endif
    1109             : 
    1110             : #if CK2_ENABLED
    1111          32 :     module procedure setCenteredMarg_D1_CK2
    1112             :         use pm_kind, only: CKC => CK2
    1113             : #include "pm_arrayCenter@routines.inc.F90"
    1114          32 :     end procedure
    1115             : #endif
    1116             : 
    1117             : #if CK1_ENABLED
    1118          32 :     module procedure setCenteredMarg_D1_CK1
    1119             :         use pm_kind, only: CKC => CK1
    1120             : #include "pm_arrayCenter@routines.inc.F90"
    1121          32 :     end procedure
    1122             : #endif
    1123             : 
    1124             : #undef CK_ENABLED
    1125             : 
    1126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1127             : 
    1128             : #define RK_ENABLED 1
    1129             : 
    1130             : #if RK5_ENABLED
    1131             :     module procedure setCenteredMarg_D1_RK5
    1132             :         use pm_kind, only: RKC => RK5
    1133             : #include "pm_arrayCenter@routines.inc.F90"
    1134             :     end procedure
    1135             : #endif
    1136             : 
    1137             : #if RK4_ENABLED
    1138          32 :     module procedure setCenteredMarg_D1_RK4
    1139             :         use pm_kind, only: RKC => RK4
    1140             : #include "pm_arrayCenter@routines.inc.F90"
    1141          32 :     end procedure
    1142             : #endif
    1143             : 
    1144             : #if RK3_ENABLED
    1145          32 :     module procedure setCenteredMarg_D1_RK3
    1146             :         use pm_kind, only: RKC => RK3
    1147             : #include "pm_arrayCenter@routines.inc.F90"
    1148          32 :     end procedure
    1149             : #endif
    1150             : 
    1151             : #if RK2_ENABLED
    1152          32 :     module procedure setCenteredMarg_D1_RK2
    1153             :         use pm_kind, only: RKC => RK2
    1154             : #include "pm_arrayCenter@routines.inc.F90"
    1155          32 :     end procedure
    1156             : #endif
    1157             : 
    1158             : #if RK1_ENABLED
    1159          32 :     module procedure setCenteredMarg_D1_RK1
    1160             :         use pm_kind, only: RKC => RK1
    1161             : #include "pm_arrayCenter@routines.inc.F90"
    1162          32 :     end procedure
    1163             : #endif
    1164             : 
    1165             : #undef RK_ENABLED
    1166             : 
    1167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1168             : 
    1169             : #undef D1_ENABLED
    1170             : 
    1171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1174             : 
    1175             : #undef Marg_ENABLED
    1176             : 
    1177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1180             : 
    1181             : #undef setCentered_ENABLED
    1182             : 
    1183             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1184             : 
    1185             : #undef CHECK_ASSERTION
    1186             : 
    1187             : end submodule routines

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