https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayRange@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 68 68 100.0 %
Date: 2024-04-08 03:18:57 Functions: 40 40 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_arrayRange](@ref pm_arrayRange).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayRange) 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_arrayResize, only: setResized
      40             :     implicit none
      41             : 
      42             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : contains
      45             : 
      46             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      47             : 
      48             : #define getRange_ENABLED 1
      49             : 
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define D0_ENABLED 1
      55             : 
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             : 
      60             : #define Unit_ENABLED 1
      61             : 
      62             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      63             : 
      64             : #define SK_ENABLED 1
      65             : 
      66             : #if SK5_ENABLED
      67             :     module procedure getRangeUnit_D0_SK5
      68             :         use pm_kind, only: SKC => SK5
      69             : #include "pm_arrayRange@routines.inc.F90"
      70             :     end procedure
      71             : #endif
      72             : 
      73             : #if SK4_ENABLED
      74             :     module procedure getRangeUnit_D0_SK4
      75             :         use pm_kind, only: SKC => SK4
      76             : #include "pm_arrayRange@routines.inc.F90"
      77             :     end procedure
      78             : #endif
      79             : 
      80             : #if SK3_ENABLED
      81             :     module procedure getRangeUnit_D0_SK3
      82             :         use pm_kind, only: SKC => SK3
      83             : #include "pm_arrayRange@routines.inc.F90"
      84             :     end procedure
      85             : #endif
      86             : 
      87             : #if SK2_ENABLED
      88             :     module procedure getRangeUnit_D0_SK2
      89             :         use pm_kind, only: SKC => SK2
      90             : #include "pm_arrayRange@routines.inc.F90"
      91             :     end procedure
      92             : #endif
      93             : 
      94             : #if SK1_ENABLED
      95           6 :     module procedure getRangeUnit_D0_SK1
      96             :         use pm_kind, only: SKC => SK1
      97             : #include "pm_arrayRange@routines.inc.F90"
      98           6 :     end procedure
      99             : #endif
     100             : 
     101             : #undef SK_ENABLED
     102             : 
     103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     104             : 
     105             : #undef Unit_ENABLED
     106             : 
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     110             : 
     111             : #define Step_ENABLED 1
     112             : 
     113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     114             : 
     115             : #define SK_ENABLED 1
     116             : 
     117             : #if SK5_ENABLED
     118             :     module procedure getRangeStep_D0_SK5
     119             :         use pm_kind, only: SKC => SK5
     120             : #include "pm_arrayRange@routines.inc.F90"
     121             :     end procedure
     122             : #endif
     123             : 
     124             : #if SK4_ENABLED
     125             :     module procedure getRangeStep_D0_SK4
     126             :         use pm_kind, only: SKC => SK4
     127             : #include "pm_arrayRange@routines.inc.F90"
     128             :     end procedure
     129             : #endif
     130             : 
     131             : #if SK3_ENABLED
     132             :     module procedure getRangeStep_D0_SK3
     133             :         use pm_kind, only: SKC => SK3
     134             : #include "pm_arrayRange@routines.inc.F90"
     135             :     end procedure
     136             : #endif
     137             : 
     138             : #if SK2_ENABLED
     139             :     module procedure getRangeStep_D0_SK2
     140             :         use pm_kind, only: SKC => SK2
     141             : #include "pm_arrayRange@routines.inc.F90"
     142             :     end procedure
     143             : #endif
     144             : 
     145             : #if SK1_ENABLED
     146         876 :     module procedure getRangeStep_D0_SK1
     147             :         use pm_kind, only: SKC => SK1
     148             : #include "pm_arrayRange@routines.inc.F90"
     149         876 :     end procedure
     150             : #endif
     151             : 
     152             : #undef SK_ENABLED
     153             : 
     154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     155             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     156             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     157             : 
     158             : #undef Step_ENABLED
     159             : 
     160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     163             : 
     164             : #undef D0_ENABLED
     165             : 
     166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     169             : 
     170             : #define D1_ENABLED 1
     171             : 
     172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     174             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     175             : 
     176             : #define Unit_ENABLED 1
     177             : 
     178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     179             : 
     180             : #define IK_ENABLED 1
     181             : 
     182             : #if IK5_ENABLED
     183           4 :     module procedure getRangeUnit_D1_IK5
     184             :         use pm_kind, only: IKC => IK5
     185             : #include "pm_arrayRange@routines.inc.F90"
     186           4 :     end procedure
     187             : #endif
     188             : 
     189             : #if IK4_ENABLED
     190           4 :     module procedure getRangeUnit_D1_IK4
     191             :         use pm_kind, only: IKC => IK4
     192             : #include "pm_arrayRange@routines.inc.F90"
     193           4 :     end procedure
     194             : #endif
     195             : 
     196             : #if IK3_ENABLED
     197      129803 :     module procedure getRangeUnit_D1_IK3
     198             :         use pm_kind, only: IKC => IK3
     199             : #include "pm_arrayRange@routines.inc.F90"
     200      129803 :     end procedure
     201             : #endif
     202             : 
     203             : #if IK2_ENABLED
     204           3 :     module procedure getRangeUnit_D1_IK2
     205             :         use pm_kind, only: IKC => IK2
     206             : #include "pm_arrayRange@routines.inc.F90"
     207           3 :     end procedure
     208             : #endif
     209             : 
     210             : #if IK1_ENABLED
     211           4 :     module procedure getRangeUnit_D1_IK1
     212             :         use pm_kind, only: IKC => IK1
     213             : #include "pm_arrayRange@routines.inc.F90"
     214           4 :     end procedure
     215             : #endif
     216             : 
     217             : #undef IK_ENABLED
     218             : 
     219             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     220             : 
     221             : #define RK_ENABLED 1
     222             : 
     223             : #if RK5_ENABLED
     224             :     module procedure getRangeUnit_D1_RK5
     225             :         use pm_kind, only: RKC => RK5
     226             : #include "pm_arrayRange@routines.inc.F90"
     227             :     end procedure
     228             : #endif
     229             : 
     230             : #if RK4_ENABLED
     231           3 :     module procedure getRangeUnit_D1_RK4
     232             :         use pm_kind, only: RKC => RK4
     233             : #include "pm_arrayRange@routines.inc.F90"
     234           3 :     end procedure
     235             : #endif
     236             : 
     237             : #if RK3_ENABLED
     238           3 :     module procedure getRangeUnit_D1_RK3
     239             :         use pm_kind, only: RKC => RK3
     240             : #include "pm_arrayRange@routines.inc.F90"
     241           3 :     end procedure
     242             : #endif
     243             : 
     244             : #if RK2_ENABLED
     245           3 :     module procedure getRangeUnit_D1_RK2
     246             :         use pm_kind, only: RKC => RK2
     247             : #include "pm_arrayRange@routines.inc.F90"
     248           3 :     end procedure
     249             : #endif
     250             : 
     251             : #if RK1_ENABLED
     252           6 :     module procedure getRangeUnit_D1_RK1
     253             :         use pm_kind, only: RKC => RK1
     254             : #include "pm_arrayRange@routines.inc.F90"
     255           6 :     end procedure
     256             : #endif
     257             : 
     258             : #undef RK_ENABLED
     259             : 
     260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     261             : 
     262             : #undef Unit_ENABLED
     263             : 
     264             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     265             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     267             : 
     268             : #define Step_ENABLED 1
     269             : 
     270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     271             : 
     272             : #define IK_ENABLED 1
     273             : 
     274             : #if IK5_ENABLED
     275        1088 :     module procedure getRangeStep_D1_IK5
     276             :         use pm_kind, only: IKC => IK5
     277             : #include "pm_arrayRange@routines.inc.F90"
     278        1088 :     end procedure
     279             : #endif
     280             : 
     281             : #if IK4_ENABLED
     282        1088 :     module procedure getRangeStep_D1_IK4
     283             :         use pm_kind, only: IKC => IK4
     284             : #include "pm_arrayRange@routines.inc.F90"
     285        1088 :     end procedure
     286             : #endif
     287             : 
     288             : #if IK3_ENABLED
     289        1178 :     module procedure getRangeStep_D1_IK3
     290             :         use pm_kind, only: IKC => IK3
     291             : #include "pm_arrayRange@routines.inc.F90"
     292        1178 :     end procedure
     293             : #endif
     294             : 
     295             : #if IK2_ENABLED
     296        1094 :     module procedure getRangeStep_D1_IK2
     297             :         use pm_kind, only: IKC => IK2
     298             : #include "pm_arrayRange@routines.inc.F90"
     299        1094 :     end procedure
     300             : #endif
     301             : 
     302             : #if IK1_ENABLED
     303        1098 :     module procedure getRangeStep_D1_IK1
     304             :         use pm_kind, only: IKC => IK1
     305             : #include "pm_arrayRange@routines.inc.F90"
     306        1098 :     end procedure
     307             : #endif
     308             : 
     309             : #undef IK_ENABLED
     310             : 
     311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #define RK_ENABLED 1
     314             : 
     315             : #if RK5_ENABLED
     316             :     module procedure getRangeStep_D1_RK5
     317             :         use pm_kind, only: RKC => RK5
     318             : #include "pm_arrayRange@routines.inc.F90"
     319             :     end procedure
     320             : #endif
     321             : 
     322             : #if RK4_ENABLED
     323         808 :     module procedure getRangeStep_D1_RK4
     324             :         use pm_kind, only: RKC => RK4
     325             : #include "pm_arrayRange@routines.inc.F90"
     326             :     end procedure
     327             : #endif
     328             : 
     329             : #if RK3_ENABLED
     330         808 :     module procedure getRangeStep_D1_RK3
     331             :         use pm_kind, only: RKC => RK3
     332             : #include "pm_arrayRange@routines.inc.F90"
     333             :     end procedure
     334             : #endif
     335             : 
     336             : #if RK2_ENABLED
     337         808 :     module procedure getRangeStep_D1_RK2
     338             :         use pm_kind, only: RKC => RK2
     339             : #include "pm_arrayRange@routines.inc.F90"
     340             :     end procedure
     341             : #endif
     342             : 
     343             : #if RK1_ENABLED
     344         810 :     module procedure getRangeStep_D1_RK1
     345             :         use pm_kind, only: RKC => RK1
     346             : #include "pm_arrayRange@routines.inc.F90"
     347             :     end procedure
     348             : #endif
     349             : 
     350             : #undef RK_ENABLED
     351             : 
     352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     353             : 
     354             : #undef Step_ENABLED
     355             : 
     356             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     359             : 
     360             : #undef D1_ENABLED
     361             : 
     362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : !#define D2_ENABLED 1
     367             : !
     368             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     369             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     370             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     371             : !
     372             : !#define Unit_ENABLED 1
     373             : !
     374             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     375             : !
     376             : !#define IK_ENABLED 1
     377             : !
     378             : !#if IK5_ENABLED
     379             : !    module procedure getRangeUnit_D2_IK5
     380             : !        use pm_kind, only: IKC => IK5
     381             : !#include "pm_arrayRange@routines.inc.F90"
     382             : !    end procedure
     383             : !#endif
     384             : !
     385             : !#if IK4_ENABLED
     386             : !    module procedure getRangeUnit_D2_IK4
     387             : !        use pm_kind, only: IKC => IK4
     388             : !#include "pm_arrayRange@routines.inc.F90"
     389             : !    end procedure
     390             : !#endif
     391             : !
     392             : !#if IK3_ENABLED
     393             : !    module procedure getRangeUnit_D2_IK3
     394             : !        use pm_kind, only: IKC => IK3
     395             : !#include "pm_arrayRange@routines.inc.F90"
     396             : !    end procedure
     397             : !#endif
     398             : !
     399             : !#if IK2_ENABLED
     400             : !    module procedure getRangeUnit_D2_IK2
     401             : !        use pm_kind, only: IKC => IK2
     402             : !#include "pm_arrayRange@routines.inc.F90"
     403             : !    end procedure
     404             : !#endif
     405             : !
     406             : !#if IK1_ENABLED
     407             : !    module procedure getRangeUnit_D2_IK1
     408             : !        use pm_kind, only: IKC => IK1
     409             : !#include "pm_arrayRange@routines.inc.F90"
     410             : !    end procedure
     411             : !#endif
     412             : !
     413             : !#undef IK_ENABLED
     414             : !
     415             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     416             : !
     417             : !#undef Unit_ENABLED
     418             : !
     419             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     420             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     421             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             : !
     423             : !#define Step_ENABLED 1
     424             : !
     425             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     426             : !
     427             : !#define IK_ENABLED 1
     428             : !
     429             : !#if IK5_ENABLED
     430             : !    module procedure getRangeStep_D2_IK5
     431             : !        use pm_kind, only: IKC => IK5
     432             : !#include "pm_arrayRange@routines.inc.F90"
     433             : !    end procedure
     434             : !#endif
     435             : !
     436             : !#if IK4_ENABLED
     437             : !    module procedure getRangeStep_D2_IK4
     438             : !        use pm_kind, only: IKC => IK4
     439             : !#include "pm_arrayRange@routines.inc.F90"
     440             : !    end procedure
     441             : !#endif
     442             : !
     443             : !#if IK3_ENABLED
     444             : !    module procedure getRangeStep_D2_IK3
     445             : !        use pm_kind, only: IKC => IK3
     446             : !#include "pm_arrayRange@routines.inc.F90"
     447             : !    end procedure
     448             : !#endif
     449             : !
     450             : !#if IK2_ENABLED
     451             : !    module procedure getRangeStep_D2_IK2
     452             : !        use pm_kind, only: IKC => IK2
     453             : !#include "pm_arrayRange@routines.inc.F90"
     454             : !    end procedure
     455             : !#endif
     456             : !
     457             : !#if IK1_ENABLED
     458             : !    module procedure getRangeStep_D2_IK1
     459             : !        use pm_kind, only: IKC => IK1
     460             : !#include "pm_arrayRange@routines.inc.F90"
     461             : !    end procedure
     462             : !#endif
     463             : !
     464             : !#undef IK_ENABLED
     465             : !
     466             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     467             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     469             : !
     470             : !#undef Step_ENABLED
     471             : !
     472             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     473             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     474             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     475             : !
     476             : !#undef D2_ENABLED
     477             : !
     478             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     479             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     480             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     481             : 
     482             : #undef getRange_ENABLED
     483             : 
     484             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             : 
     486             : #define setRange_ENABLED 1
     487             : 
     488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     491             : 
     492             : #define D0_ENABLED 1
     493             : 
     494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     497             : 
     498             : #define Unit_ENABLED 1
     499             : 
     500             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     501             : 
     502             : #define SK_ENABLED 1
     503             : 
     504             : #if SK5_ENABLED
     505             :     module procedure setRangeUnit_D0_SK5
     506             :         use pm_kind, only: SKC => SK5
     507             : #include "pm_arrayRange@routines.inc.F90"
     508             :     end procedure
     509             : #endif
     510             : 
     511             : #if SK4_ENABLED
     512             :     module procedure setRangeUnit_D0_SK4
     513             :         use pm_kind, only: SKC => SK4
     514             : #include "pm_arrayRange@routines.inc.F90"
     515             :     end procedure
     516             : #endif
     517             : 
     518             : #if SK3_ENABLED
     519             :     module procedure setRangeUnit_D0_SK3
     520             :         use pm_kind, only: SKC => SK3
     521             : #include "pm_arrayRange@routines.inc.F90"
     522             :     end procedure
     523             : #endif
     524             : 
     525             : #if SK2_ENABLED
     526             :     module procedure setRangeUnit_D0_SK2
     527             :         use pm_kind, only: SKC => SK2
     528             : #include "pm_arrayRange@routines.inc.F90"
     529             :     end procedure
     530             : #endif
     531             : 
     532             : #if SK1_ENABLED
     533           2 :     module procedure setRangeUnit_D0_SK1
     534             :         use pm_kind, only: SKC => SK1
     535             : #include "pm_arrayRange@routines.inc.F90"
     536           2 :     end procedure
     537             : #endif
     538             : 
     539             : #undef SK_ENABLED
     540             : 
     541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     542             : 
     543             : #undef Unit_ENABLED
     544             : 
     545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     546             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     548             : 
     549             : #define Step_ENABLED 1
     550             : 
     551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     552             : 
     553             : #define SK_ENABLED 1
     554             : 
     555             : #if SK5_ENABLED
     556             :     module procedure setRangeStep_D0_SK5
     557             :         use pm_kind, only: SKC => SK5
     558             : #include "pm_arrayRange@routines.inc.F90"
     559             :     end procedure
     560             : #endif
     561             : 
     562             : #if SK4_ENABLED
     563             :     module procedure setRangeStep_D0_SK4
     564             :         use pm_kind, only: SKC => SK4
     565             : #include "pm_arrayRange@routines.inc.F90"
     566             :     end procedure
     567             : #endif
     568             : 
     569             : #if SK3_ENABLED
     570             :     module procedure setRangeStep_D0_SK3
     571             :         use pm_kind, only: SKC => SK3
     572             : #include "pm_arrayRange@routines.inc.F90"
     573             :     end procedure
     574             : #endif
     575             : 
     576             : #if SK2_ENABLED
     577             :     module procedure setRangeStep_D0_SK2
     578             :         use pm_kind, only: SKC => SK2
     579             : #include "pm_arrayRange@routines.inc.F90"
     580             :     end procedure
     581             : #endif
     582             : 
     583             : #if SK1_ENABLED
     584           6 :     module procedure setRangeStep_D0_SK1
     585             :         use pm_kind, only: SKC => SK1
     586             : #include "pm_arrayRange@routines.inc.F90"
     587           6 :     end procedure
     588             : #endif
     589             : 
     590             : #undef SK_ENABLED
     591             : 
     592             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     595             : 
     596             : #undef Step_ENABLED
     597             : 
     598             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     601             : 
     602             : #undef D0_ENABLED
     603             : 
     604             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             : 
     608             : #define D1_ENABLED 1
     609             : 
     610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     613             : 
     614             : #define Unit_ENABLED 1
     615             : 
     616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     617             : 
     618             : #define IK_ENABLED 1
     619             : 
     620             : #if IK5_ENABLED
     621           1 :     module procedure setRangeUnit_D1_IK5
     622             :         use pm_kind, only: IKC => IK5
     623             : #include "pm_arrayRange@routines.inc.F90"
     624           1 :     end procedure
     625             : #endif
     626             : 
     627             : #if IK4_ENABLED
     628           1 :     module procedure setRangeUnit_D1_IK4
     629             :         use pm_kind, only: IKC => IK4
     630             : #include "pm_arrayRange@routines.inc.F90"
     631           1 :     end procedure
     632             : #endif
     633             : 
     634             : #if IK3_ENABLED
     635       11304 :     module procedure setRangeUnit_D1_IK3
     636             :         use pm_kind, only: IKC => IK3
     637             : #include "pm_arrayRange@routines.inc.F90"
     638       11304 :     end procedure
     639             : #endif
     640             : 
     641             : #if IK2_ENABLED
     642           1 :     module procedure setRangeUnit_D1_IK2
     643             :         use pm_kind, only: IKC => IK2
     644             : #include "pm_arrayRange@routines.inc.F90"
     645           1 :     end procedure
     646             : #endif
     647             : 
     648             : #if IK1_ENABLED
     649           1 :     module procedure setRangeUnit_D1_IK1
     650             :         use pm_kind, only: IKC => IK1
     651             : #include "pm_arrayRange@routines.inc.F90"
     652           1 :     end procedure
     653             : #endif
     654             : 
     655             : #undef IK_ENABLED
     656             : 
     657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     658             : 
     659             : #define RK_ENABLED 1
     660             : 
     661             : #if RK5_ENABLED
     662             :     module procedure setRangeUnit_D1_RK5
     663             :         use pm_kind, only: RKC => RK5
     664             : #include "pm_arrayRange@routines.inc.F90"
     665             :     end procedure
     666             : #endif
     667             : 
     668             : #if RK4_ENABLED
     669           1 :     module procedure setRangeUnit_D1_RK4
     670             :         use pm_kind, only: RKC => RK4
     671             : #include "pm_arrayRange@routines.inc.F90"
     672             :     end procedure
     673             : #endif
     674             : 
     675             : #if RK3_ENABLED
     676           1 :     module procedure setRangeUnit_D1_RK3
     677             :         use pm_kind, only: RKC => RK3
     678             : #include "pm_arrayRange@routines.inc.F90"
     679             :     end procedure
     680             : #endif
     681             : 
     682             : #if RK2_ENABLED
     683           1 :     module procedure setRangeUnit_D1_RK2
     684             :         use pm_kind, only: RKC => RK2
     685             : #include "pm_arrayRange@routines.inc.F90"
     686             :     end procedure
     687             : #endif
     688             : 
     689             : #if RK1_ENABLED
     690           4 :     module procedure setRangeUnit_D1_RK1
     691             :         use pm_kind, only: RKC => RK1
     692             : #include "pm_arrayRange@routines.inc.F90"
     693             :     end procedure
     694             : #endif
     695             : 
     696             : #undef RK_ENABLED
     697             : 
     698             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     699             : 
     700             : #undef Unit_ENABLED
     701             : 
     702             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     705             : 
     706             : #define Step_ENABLED 1
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             : 
     710             : #define IK_ENABLED 1
     711             : 
     712             : #if IK5_ENABLED
     713           2 :     module procedure setRangeStep_D1_IK5
     714             :         use pm_kind, only: IKC => IK5
     715             : #include "pm_arrayRange@routines.inc.F90"
     716           2 :     end procedure
     717             : #endif
     718             : 
     719             : #if IK4_ENABLED
     720           2 :     module procedure setRangeStep_D1_IK4
     721             :         use pm_kind, only: IKC => IK4
     722             : #include "pm_arrayRange@routines.inc.F90"
     723           2 :     end procedure
     724             : #endif
     725             : 
     726             : #if IK3_ENABLED
     727           6 :     module procedure setRangeStep_D1_IK3
     728             :         use pm_kind, only: IKC => IK3
     729             : #include "pm_arrayRange@routines.inc.F90"
     730           6 :     end procedure
     731             : #endif
     732             : 
     733             : #if IK2_ENABLED
     734           2 :     module procedure setRangeStep_D1_IK2
     735             :         use pm_kind, only: IKC => IK2
     736             : #include "pm_arrayRange@routines.inc.F90"
     737           2 :     end procedure
     738             : #endif
     739             : 
     740             : #if IK1_ENABLED
     741           2 :     module procedure setRangeStep_D1_IK1
     742             :         use pm_kind, only: IKC => IK1
     743             : #include "pm_arrayRange@routines.inc.F90"
     744           2 :     end procedure
     745             : #endif
     746             : 
     747             : #undef IK_ENABLED
     748             : 
     749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     750             : 
     751             : #define RK_ENABLED 1
     752             : 
     753             : #if RK5_ENABLED
     754             :     module procedure setRangeStep_D1_RK5
     755             :         use pm_kind, only: RKC => RK5
     756             : #include "pm_arrayRange@routines.inc.F90"
     757             :     end procedure
     758             : #endif
     759             : 
     760             : #if RK4_ENABLED
     761           2 :     module procedure setRangeStep_D1_RK4
     762             :         use pm_kind, only: RKC => RK4
     763             : #include "pm_arrayRange@routines.inc.F90"
     764             :     end procedure
     765             : #endif
     766             : 
     767             : #if RK3_ENABLED
     768           2 :     module procedure setRangeStep_D1_RK3
     769             :         use pm_kind, only: RKC => RK3
     770             : #include "pm_arrayRange@routines.inc.F90"
     771             :     end procedure
     772             : #endif
     773             : 
     774             : #if RK2_ENABLED
     775           2 :     module procedure setRangeStep_D1_RK2
     776             :         use pm_kind, only: RKC => RK2
     777             : #include "pm_arrayRange@routines.inc.F90"
     778             :     end procedure
     779             : #endif
     780             : 
     781             : #if RK1_ENABLED
     782           4 :     module procedure setRangeStep_D1_RK1
     783             :         use pm_kind, only: RKC => RK1
     784             : #include "pm_arrayRange@routines.inc.F90"
     785             :     end procedure
     786             : #endif
     787             : 
     788             : #undef RK_ENABLED
     789             : 
     790             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     791             : 
     792             : #undef Step_ENABLED
     793             : 
     794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     796             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     797             : 
     798             : #undef D1_ENABLED
     799             : 
     800             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     803             : 
     804             : #undef setRange_ENABLED
     805             : 
     806             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     807             : 
     808             : end submodule routines

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