https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayInsert@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 82 82 100.0 %
Date: 2024-04-08 03:18:57 Functions: 78 78 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_arrayInsert](@ref pm_arrayInsert).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayInsert) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_arraySort, only: setSorted
      30             : 
      31             : #if CHECK_ENABLED
      32             :     use pm_err, only: getFine
      33             :     use pm_val2str, only: getStr
      34             :     use pm_err, only: setAsserted
      35             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      36             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      37             : #else
      38             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      39             : #endif
      40             : 
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define getInserted_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define D0_D0_ENABLED 1
      56             : 
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : #define SK_ENABLED 1
      60             : 
      61             : #if SK5_ENABLED
      62             :     module procedure getInserted_D0_D0_SK5
      63             :         use pm_kind, only: SKC => SK5
      64             : #include "pm_arrayInsert@routines.inc.F90"
      65             :     end procedure
      66             : #endif
      67             : 
      68             : #if SK4_ENABLED
      69             :     module procedure getInserted_D0_D0_SK4
      70             :         use pm_kind, only: SKC => SK4
      71             : #include "pm_arrayInsert@routines.inc.F90"
      72             :     end procedure
      73             : #endif
      74             : 
      75             : #if SK3_ENABLED
      76             :     module procedure getInserted_D0_D0_SK3
      77             :         use pm_kind, only: SKC => SK3
      78             : #include "pm_arrayInsert@routines.inc.F90"
      79             :     end procedure
      80             : #endif
      81             : 
      82             : #if SK2_ENABLED
      83             :     module procedure getInserted_D0_D0_SK2
      84             :         use pm_kind, only: SKC => SK2
      85             : #include "pm_arrayInsert@routines.inc.F90"
      86             :     end procedure
      87             : #endif
      88             : 
      89             : #if SK1_ENABLED
      90         127 :     module procedure getInserted_D0_D0_SK1
      91             :         use pm_kind, only: SKC => SK1
      92             : #include "pm_arrayInsert@routines.inc.F90"
      93         127 :     end procedure
      94             : #endif
      95             : 
      96             : #undef SK_ENABLED
      97             : 
      98             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      99             : 
     100             : #undef D0_D0_ENABLED
     101             : 
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     104             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     105             : 
     106             : #define D1_D0_ENABLED 1
     107             : 
     108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     109             : 
     110             : #define SK_ENABLED 1
     111             : 
     112             : #if SK5_ENABLED
     113             :     module procedure getInserted_D1_D0_SK5
     114             :         use pm_kind, only: SKC => SK5
     115             : #include "pm_arrayInsert@routines.inc.F90"
     116             :     end procedure
     117             : #endif
     118             : 
     119             : #if SK4_ENABLED
     120             :     module procedure getInserted_D1_D0_SK4
     121             :         use pm_kind, only: SKC => SK4
     122             : #include "pm_arrayInsert@routines.inc.F90"
     123             :     end procedure
     124             : #endif
     125             : 
     126             : #if SK3_ENABLED
     127             :     module procedure getInserted_D1_D0_SK3
     128             :         use pm_kind, only: SKC => SK3
     129             : #include "pm_arrayInsert@routines.inc.F90"
     130             :     end procedure
     131             : #endif
     132             : 
     133             : #if SK2_ENABLED
     134             :     module procedure getInserted_D1_D0_SK2
     135             :         use pm_kind, only: SKC => SK2
     136             : #include "pm_arrayInsert@routines.inc.F90"
     137             :     end procedure
     138             : #endif
     139             : 
     140             : #if SK1_ENABLED
     141          59 :     module procedure getInserted_D1_D0_SK1
     142             :         use pm_kind, only: SKC => SK1
     143             : #include "pm_arrayInsert@routines.inc.F90"
     144          59 :     end procedure
     145             : #endif
     146             : 
     147             : #undef SK_ENABLED
     148             : 
     149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     150             : 
     151             : #define IK_ENABLED 1
     152             : 
     153             : #if IK5_ENABLED
     154          58 :     module procedure getInserted_D1_D0_IK5
     155             :         use pm_kind, only: IKC => IK5
     156             : #include "pm_arrayInsert@routines.inc.F90"
     157             :     end procedure
     158             : #endif
     159             : 
     160             : #if IK4_ENABLED
     161          58 :     module procedure getInserted_D1_D0_IK4
     162             :         use pm_kind, only: IKC => IK4
     163             : #include "pm_arrayInsert@routines.inc.F90"
     164             :     end procedure
     165             : #endif
     166             : 
     167             : #if IK3_ENABLED
     168          59 :     module procedure getInserted_D1_D0_IK3
     169             :         use pm_kind, only: IKC => IK3
     170             : #include "pm_arrayInsert@routines.inc.F90"
     171             :     end procedure
     172             : #endif
     173             : 
     174             : #if IK2_ENABLED
     175          58 :     module procedure getInserted_D1_D0_IK2
     176             :         use pm_kind, only: IKC => IK2
     177             : #include "pm_arrayInsert@routines.inc.F90"
     178             :     end procedure
     179             : #endif
     180             : 
     181             : #if IK1_ENABLED
     182          58 :     module procedure getInserted_D1_D0_IK1
     183             :         use pm_kind, only: IKC => IK1
     184             : #include "pm_arrayInsert@routines.inc.F90"
     185             :     end procedure
     186             : #endif
     187             : 
     188             : #undef IK_ENABLED
     189             : 
     190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     191             : 
     192             : #define LK_ENABLED 1
     193             : 
     194             : #if LK5_ENABLED
     195          58 :     module procedure getInserted_D1_D0_LK5
     196             :         use pm_kind, only: LKC => LK5
     197             : #include "pm_arrayInsert@routines.inc.F90"
     198             :     end procedure
     199             : #endif
     200             : 
     201             : #if LK4_ENABLED
     202          58 :     module procedure getInserted_D1_D0_LK4
     203             :         use pm_kind, only: LKC => LK4
     204             : #include "pm_arrayInsert@routines.inc.F90"
     205             :     end procedure
     206             : #endif
     207             : 
     208             : #if LK3_ENABLED
     209          59 :     module procedure getInserted_D1_D0_LK3
     210             :         use pm_kind, only: LKC => LK3
     211             : #include "pm_arrayInsert@routines.inc.F90"
     212             :     end procedure
     213             : #endif
     214             : 
     215             : #if LK2_ENABLED
     216          58 :     module procedure getInserted_D1_D0_LK2
     217             :         use pm_kind, only: LKC => LK2
     218             : #include "pm_arrayInsert@routines.inc.F90"
     219             :     end procedure
     220             : #endif
     221             : 
     222             : #if LK1_ENABLED
     223          58 :     module procedure getInserted_D1_D0_LK1
     224             :         use pm_kind, only: LKC => LK1
     225             : #include "pm_arrayInsert@routines.inc.F90"
     226             :     end procedure
     227             : #endif
     228             : 
     229             : #undef LK_ENABLED
     230             : 
     231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     232             : 
     233             : #define CK_ENABLED 1
     234             : 
     235             : #if CK5_ENABLED
     236             :     module procedure getInserted_D1_D0_CK5
     237             :         use pm_kind, only: CKC => CK5
     238             : #include "pm_arrayInsert@routines.inc.F90"
     239             :     end procedure
     240             : #endif
     241             : 
     242             : #if CK4_ENABLED
     243          58 :     module procedure getInserted_D1_D0_CK4
     244             :         use pm_kind, only: CKC => CK4
     245             : #include "pm_arrayInsert@routines.inc.F90"
     246             :     end procedure
     247             : #endif
     248             : 
     249             : #if CK3_ENABLED
     250          58 :     module procedure getInserted_D1_D0_CK3
     251             :         use pm_kind, only: CKC => CK3
     252             : #include "pm_arrayInsert@routines.inc.F90"
     253             :     end procedure
     254             : #endif
     255             : 
     256             : #if CK2_ENABLED
     257          59 :     module procedure getInserted_D1_D0_CK2
     258             :         use pm_kind, only: CKC => CK2
     259             : #include "pm_arrayInsert@routines.inc.F90"
     260             :     end procedure
     261             : #endif
     262             : 
     263             : #if CK1_ENABLED
     264          58 :     module procedure getInserted_D1_D0_CK1
     265             :         use pm_kind, only: CKC => CK1
     266             : #include "pm_arrayInsert@routines.inc.F90"
     267             :     end procedure
     268             : #endif
     269             : 
     270             : #undef CK_ENABLED
     271             : 
     272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     273             : 
     274             : #define RK_ENABLED 1
     275             : 
     276             : #if RK5_ENABLED
     277             :     module procedure getInserted_D1_D0_RK5
     278             :         use pm_kind, only: RKC => RK5
     279             : #include "pm_arrayInsert@routines.inc.F90"
     280             :     end procedure
     281             : #endif
     282             : 
     283             : #if RK4_ENABLED
     284          58 :     module procedure getInserted_D1_D0_RK4
     285             :         use pm_kind, only: RKC => RK4
     286             : #include "pm_arrayInsert@routines.inc.F90"
     287             :     end procedure
     288             : #endif
     289             : 
     290             : #if RK3_ENABLED
     291          58 :     module procedure getInserted_D1_D0_RK3
     292             :         use pm_kind, only: RKC => RK3
     293             : #include "pm_arrayInsert@routines.inc.F90"
     294             :     end procedure
     295             : #endif
     296             : 
     297             : #if RK2_ENABLED
     298          59 :     module procedure getInserted_D1_D0_RK2
     299             :         use pm_kind, only: RKC => RK2
     300             : #include "pm_arrayInsert@routines.inc.F90"
     301             :     end procedure
     302             : #endif
     303             : 
     304             : #if RK1_ENABLED
     305          58 :     module procedure getInserted_D1_D0_RK1
     306             :         use pm_kind, only: RKC => RK1
     307             : #include "pm_arrayInsert@routines.inc.F90"
     308             :     end procedure
     309             : #endif
     310             : 
     311             : #undef RK_ENABLED
     312             : 
     313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     314             : 
     315             : #undef D1_D0_ENABLED
     316             : 
     317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     318             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     320             : 
     321             : #define D1_D1_ENABLED 1
     322             : 
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             : 
     325             : #define SK_ENABLED 1
     326             : 
     327             : #if SK5_ENABLED
     328             :     module procedure getInserted_D1_D1_SK5
     329             :         use pm_kind, only: SKC => SK5
     330             : #include "pm_arrayInsert@routines.inc.F90"
     331             :     end procedure
     332             : #endif
     333             : 
     334             : #if SK4_ENABLED
     335             :     module procedure getInserted_D1_D1_SK4
     336             :         use pm_kind, only: SKC => SK4
     337             : #include "pm_arrayInsert@routines.inc.F90"
     338             :     end procedure
     339             : #endif
     340             : 
     341             : #if SK3_ENABLED
     342             :     module procedure getInserted_D1_D1_SK3
     343             :         use pm_kind, only: SKC => SK3
     344             : #include "pm_arrayInsert@routines.inc.F90"
     345             :     end procedure
     346             : #endif
     347             : 
     348             : #if SK2_ENABLED
     349             :     module procedure getInserted_D1_D1_SK2
     350             :         use pm_kind, only: SKC => SK2
     351             : #include "pm_arrayInsert@routines.inc.F90"
     352             :     end procedure
     353             : #endif
     354             : 
     355             : #if SK1_ENABLED
     356          68 :     module procedure getInserted_D1_D1_SK1
     357             :         use pm_kind, only: SKC => SK1
     358             : #include "pm_arrayInsert@routines.inc.F90"
     359             :     end procedure
     360             : #endif
     361             : 
     362             : #undef SK_ENABLED
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : #define IK_ENABLED 1
     367             : 
     368             : #if IK5_ENABLED
     369          67 :     module procedure getInserted_D1_D1_IK5
     370             :         use pm_kind, only: IKC => IK5
     371             : #include "pm_arrayInsert@routines.inc.F90"
     372             :     end procedure
     373             : #endif
     374             : 
     375             : #if IK4_ENABLED
     376          67 :     module procedure getInserted_D1_D1_IK4
     377             :         use pm_kind, only: IKC => IK4
     378             : #include "pm_arrayInsert@routines.inc.F90"
     379             :     end procedure
     380             : #endif
     381             : 
     382             : #if IK3_ENABLED
     383          68 :     module procedure getInserted_D1_D1_IK3
     384             :         use pm_kind, only: IKC => IK3
     385             : #include "pm_arrayInsert@routines.inc.F90"
     386             :     end procedure
     387             : #endif
     388             : 
     389             : #if IK2_ENABLED
     390          67 :     module procedure getInserted_D1_D1_IK2
     391             :         use pm_kind, only: IKC => IK2
     392             : #include "pm_arrayInsert@routines.inc.F90"
     393             :     end procedure
     394             : #endif
     395             : 
     396             : #if IK1_ENABLED
     397          67 :     module procedure getInserted_D1_D1_IK1
     398             :         use pm_kind, only: IKC => IK1
     399             : #include "pm_arrayInsert@routines.inc.F90"
     400             :     end procedure
     401             : #endif
     402             : 
     403             : #undef IK_ENABLED
     404             : 
     405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     406             : 
     407             : #define LK_ENABLED 1
     408             : 
     409             : #if LK5_ENABLED
     410          67 :     module procedure getInserted_D1_D1_LK5
     411             :         use pm_kind, only: LKC => LK5
     412             : #include "pm_arrayInsert@routines.inc.F90"
     413             :     end procedure
     414             : #endif
     415             : 
     416             : #if LK4_ENABLED
     417          67 :     module procedure getInserted_D1_D1_LK4
     418             :         use pm_kind, only: LKC => LK4
     419             : #include "pm_arrayInsert@routines.inc.F90"
     420             :     end procedure
     421             : #endif
     422             : 
     423             : #if LK3_ENABLED
     424          68 :     module procedure getInserted_D1_D1_LK3
     425             :         use pm_kind, only: LKC => LK3
     426             : #include "pm_arrayInsert@routines.inc.F90"
     427             :     end procedure
     428             : #endif
     429             : 
     430             : #if LK2_ENABLED
     431          67 :     module procedure getInserted_D1_D1_LK2
     432             :         use pm_kind, only: LKC => LK2
     433             : #include "pm_arrayInsert@routines.inc.F90"
     434             :     end procedure
     435             : #endif
     436             : 
     437             : #if LK1_ENABLED
     438          67 :     module procedure getInserted_D1_D1_LK1
     439             :         use pm_kind, only: LKC => LK1
     440             : #include "pm_arrayInsert@routines.inc.F90"
     441             :     end procedure
     442             : #endif
     443             : 
     444             : #undef LK_ENABLED
     445             : 
     446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     447             : 
     448             : #define CK_ENABLED 1
     449             : 
     450             : #if CK5_ENABLED
     451             :     module procedure getInserted_D1_D1_CK5
     452             :         use pm_kind, only: CKC => CK5
     453             : #include "pm_arrayInsert@routines.inc.F90"
     454             :     end procedure
     455             : #endif
     456             : 
     457             : #if CK4_ENABLED
     458          67 :     module procedure getInserted_D1_D1_CK4
     459             :         use pm_kind, only: CKC => CK4
     460             : #include "pm_arrayInsert@routines.inc.F90"
     461             :     end procedure
     462             : #endif
     463             : 
     464             : #if CK3_ENABLED
     465          67 :     module procedure getInserted_D1_D1_CK3
     466             :         use pm_kind, only: CKC => CK3
     467             : #include "pm_arrayInsert@routines.inc.F90"
     468             :     end procedure
     469             : #endif
     470             : 
     471             : #if CK2_ENABLED
     472          68 :     module procedure getInserted_D1_D1_CK2
     473             :         use pm_kind, only: CKC => CK2
     474             : #include "pm_arrayInsert@routines.inc.F90"
     475             :     end procedure
     476             : #endif
     477             : 
     478             : #if CK1_ENABLED
     479          67 :     module procedure getInserted_D1_D1_CK1
     480             :         use pm_kind, only: CKC => CK1
     481             : #include "pm_arrayInsert@routines.inc.F90"
     482             :     end procedure
     483             : #endif
     484             : 
     485             : #undef CK_ENABLED
     486             : 
     487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     488             : 
     489             : #define RK_ENABLED 1
     490             : 
     491             : #if RK5_ENABLED
     492             :     module procedure getInserted_D1_D1_RK5
     493             :         use pm_kind, only: RKC => RK5
     494             : #include "pm_arrayInsert@routines.inc.F90"
     495             :     end procedure
     496             : #endif
     497             : 
     498             : #if RK4_ENABLED
     499          67 :     module procedure getInserted_D1_D1_RK4
     500             :         use pm_kind, only: RKC => RK4
     501             : #include "pm_arrayInsert@routines.inc.F90"
     502             :     end procedure
     503             : #endif
     504             : 
     505             : #if RK3_ENABLED
     506          67 :     module procedure getInserted_D1_D1_RK3
     507             :         use pm_kind, only: RKC => RK3
     508             : #include "pm_arrayInsert@routines.inc.F90"
     509             :     end procedure
     510             : #endif
     511             : 
     512             : #if RK2_ENABLED
     513          68 :     module procedure getInserted_D1_D1_RK2
     514             :         use pm_kind, only: RKC => RK2
     515             : #include "pm_arrayInsert@routines.inc.F90"
     516             :     end procedure
     517             : #endif
     518             : 
     519             : #if RK1_ENABLED
     520          67 :     module procedure getInserted_D1_D1_RK1
     521             :         use pm_kind, only: RKC => RK1
     522             : #include "pm_arrayInsert@routines.inc.F90"
     523             :     end procedure
     524             : #endif
     525             : 
     526             : #undef RK_ENABLED
     527             : 
     528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     529             : 
     530             : #undef D1_D1_ENABLED
     531             : 
     532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     533             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     534             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     535             : 
     536             : #undef getInserted_ENABLED
     537             : 
     538             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     539             : 
     540             : #define setInserted_ENABLED 1
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     545             : 
     546             : #define D0_D0_ENABLED 1
     547             : 
     548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     549             : 
     550             : #define SK_ENABLED 1
     551             : 
     552             : #if SK5_ENABLED
     553             :     module procedure setInserted_D0_D0_SK5
     554             :         use pm_kind, only: SKC => SK5
     555             : #include "pm_arrayInsert@routines.inc.F90"
     556             :     end procedure
     557             : #endif
     558             : 
     559             : #if SK4_ENABLED
     560             :     module procedure setInserted_D0_D0_SK4
     561             :         use pm_kind, only: SKC => SK4
     562             : #include "pm_arrayInsert@routines.inc.F90"
     563             :     end procedure
     564             : #endif
     565             : 
     566             : #if SK3_ENABLED
     567             :     module procedure setInserted_D0_D0_SK3
     568             :         use pm_kind, only: SKC => SK3
     569             : #include "pm_arrayInsert@routines.inc.F90"
     570             :     end procedure
     571             : #endif
     572             : 
     573             : #if SK2_ENABLED
     574             :     module procedure setInserted_D0_D0_SK2
     575             :         use pm_kind, only: SKC => SK2
     576             : #include "pm_arrayInsert@routines.inc.F90"
     577             :     end procedure
     578             : #endif
     579             : 
     580             : #if SK1_ENABLED
     581         175 :     module procedure setInserted_D0_D0_SK1
     582             :         use pm_kind, only: SKC => SK1
     583             : #include "pm_arrayInsert@routines.inc.F90"
     584         175 :     end procedure
     585             : #endif
     586             : 
     587             : #undef SK_ENABLED
     588             : 
     589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591             : #undef D0_D0_ENABLED
     592             : 
     593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     596             : 
     597             : #define D1_D0_ENABLED 1
     598             : 
     599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     600             : 
     601             : #define SK_ENABLED 1
     602             : 
     603             : #if SK5_ENABLED
     604             :     module procedure setInserted_D1_D0_SK5
     605             :         use pm_kind, only: SKC => SK5
     606             : #include "pm_arrayInsert@routines.inc.F90"
     607             :     end procedure
     608             : #endif
     609             : 
     610             : #if SK4_ENABLED
     611             :     module procedure setInserted_D1_D0_SK4
     612             :         use pm_kind, only: SKC => SK4
     613             : #include "pm_arrayInsert@routines.inc.F90"
     614             :     end procedure
     615             : #endif
     616             : 
     617             : #if SK3_ENABLED
     618             :     module procedure setInserted_D1_D0_SK3
     619             :         use pm_kind, only: SKC => SK3
     620             : #include "pm_arrayInsert@routines.inc.F90"
     621             :     end procedure
     622             : #endif
     623             : 
     624             : #if SK2_ENABLED
     625             :     module procedure setInserted_D1_D0_SK2
     626             :         use pm_kind, only: SKC => SK2
     627             : #include "pm_arrayInsert@routines.inc.F90"
     628             :     end procedure
     629             : #endif
     630             : 
     631             : #if SK1_ENABLED
     632          59 :     module procedure setInserted_D1_D0_SK1
     633             :         use pm_kind, only: SKC => SK1
     634             : #include "pm_arrayInsert@routines.inc.F90"
     635          59 :     end procedure
     636             : #endif
     637             : 
     638             : #undef SK_ENABLED
     639             : 
     640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     641             : 
     642             : #define IK_ENABLED 1
     643             : 
     644             : #if IK5_ENABLED
     645          58 :     module procedure setInserted_D1_D0_IK5
     646             :         use pm_kind, only: IKC => IK5
     647             : #include "pm_arrayInsert@routines.inc.F90"
     648             :     end procedure
     649             : #endif
     650             : 
     651             : #if IK4_ENABLED
     652          58 :     module procedure setInserted_D1_D0_IK4
     653             :         use pm_kind, only: IKC => IK4
     654             : #include "pm_arrayInsert@routines.inc.F90"
     655             :     end procedure
     656             : #endif
     657             : 
     658             : #if IK3_ENABLED
     659          59 :     module procedure setInserted_D1_D0_IK3
     660             :         use pm_kind, only: IKC => IK3
     661             : #include "pm_arrayInsert@routines.inc.F90"
     662             :     end procedure
     663             : #endif
     664             : 
     665             : #if IK2_ENABLED
     666          58 :     module procedure setInserted_D1_D0_IK2
     667             :         use pm_kind, only: IKC => IK2
     668             : #include "pm_arrayInsert@routines.inc.F90"
     669             :     end procedure
     670             : #endif
     671             : 
     672             : #if IK1_ENABLED
     673          58 :     module procedure setInserted_D1_D0_IK1
     674             :         use pm_kind, only: IKC => IK1
     675             : #include "pm_arrayInsert@routines.inc.F90"
     676             :     end procedure
     677             : #endif
     678             : 
     679             : #undef IK_ENABLED
     680             : 
     681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     682             : 
     683             : #define LK_ENABLED 1
     684             : 
     685             : #if LK5_ENABLED
     686          58 :     module procedure setInserted_D1_D0_LK5
     687             :         use pm_kind, only: LKC => LK5
     688             : #include "pm_arrayInsert@routines.inc.F90"
     689             :     end procedure
     690             : #endif
     691             : 
     692             : #if LK4_ENABLED
     693          58 :     module procedure setInserted_D1_D0_LK4
     694             :         use pm_kind, only: LKC => LK4
     695             : #include "pm_arrayInsert@routines.inc.F90"
     696             :     end procedure
     697             : #endif
     698             : 
     699             : #if LK3_ENABLED
     700          59 :     module procedure setInserted_D1_D0_LK3
     701             :         use pm_kind, only: LKC => LK3
     702             : #include "pm_arrayInsert@routines.inc.F90"
     703             :     end procedure
     704             : #endif
     705             : 
     706             : #if LK2_ENABLED
     707          58 :     module procedure setInserted_D1_D0_LK2
     708             :         use pm_kind, only: LKC => LK2
     709             : #include "pm_arrayInsert@routines.inc.F90"
     710             :     end procedure
     711             : #endif
     712             : 
     713             : #if LK1_ENABLED
     714          58 :     module procedure setInserted_D1_D0_LK1
     715             :         use pm_kind, only: LKC => LK1
     716             : #include "pm_arrayInsert@routines.inc.F90"
     717             :     end procedure
     718             : #endif
     719             : 
     720             : #undef LK_ENABLED
     721             : 
     722             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     723             : 
     724             : #define CK_ENABLED 1
     725             : 
     726             : #if CK5_ENABLED
     727             :     module procedure setInserted_D1_D0_CK5
     728             :         use pm_kind, only: CKC => CK5
     729             : #include "pm_arrayInsert@routines.inc.F90"
     730             :     end procedure
     731             : #endif
     732             : 
     733             : #if CK4_ENABLED
     734          58 :     module procedure setInserted_D1_D0_CK4
     735             :         use pm_kind, only: CKC => CK4
     736             : #include "pm_arrayInsert@routines.inc.F90"
     737             :     end procedure
     738             : #endif
     739             : 
     740             : #if CK3_ENABLED
     741          58 :     module procedure setInserted_D1_D0_CK3
     742             :         use pm_kind, only: CKC => CK3
     743             : #include "pm_arrayInsert@routines.inc.F90"
     744             :     end procedure
     745             : #endif
     746             : 
     747             : #if CK2_ENABLED
     748          59 :     module procedure setInserted_D1_D0_CK2
     749             :         use pm_kind, only: CKC => CK2
     750             : #include "pm_arrayInsert@routines.inc.F90"
     751             :     end procedure
     752             : #endif
     753             : 
     754             : #if CK1_ENABLED
     755          58 :     module procedure setInserted_D1_D0_CK1
     756             :         use pm_kind, only: CKC => CK1
     757             : #include "pm_arrayInsert@routines.inc.F90"
     758             :     end procedure
     759             : #endif
     760             : 
     761             : #undef CK_ENABLED
     762             : 
     763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     764             : 
     765             : #define RK_ENABLED 1
     766             : 
     767             : #if RK5_ENABLED
     768             :     module procedure setInserted_D1_D0_RK5
     769             :         use pm_kind, only: RKC => RK5
     770             : #include "pm_arrayInsert@routines.inc.F90"
     771             :     end procedure
     772             : #endif
     773             : 
     774             : #if RK4_ENABLED
     775          58 :     module procedure setInserted_D1_D0_RK4
     776             :         use pm_kind, only: RKC => RK4
     777             : #include "pm_arrayInsert@routines.inc.F90"
     778             :     end procedure
     779             : #endif
     780             : 
     781             : #if RK3_ENABLED
     782          58 :     module procedure setInserted_D1_D0_RK3
     783             :         use pm_kind, only: RKC => RK3
     784             : #include "pm_arrayInsert@routines.inc.F90"
     785             :     end procedure
     786             : #endif
     787             : 
     788             : #if RK2_ENABLED
     789          59 :     module procedure setInserted_D1_D0_RK2
     790             :         use pm_kind, only: RKC => RK2
     791             : #include "pm_arrayInsert@routines.inc.F90"
     792             :     end procedure
     793             : #endif
     794             : 
     795             : #if RK1_ENABLED
     796          58 :     module procedure setInserted_D1_D0_RK1
     797             :         use pm_kind, only: RKC => RK1
     798             : #include "pm_arrayInsert@routines.inc.F90"
     799             :     end procedure
     800             : #endif
     801             : 
     802             : #undef RK_ENABLED
     803             : 
     804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     805             : 
     806             : #undef D1_D0_ENABLED
     807             : 
     808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     811             : 
     812             : #define D1_D1_ENABLED 1
     813             : 
     814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     815             : 
     816             : #define SK_ENABLED 1
     817             : 
     818             : #if SK5_ENABLED
     819             :     module procedure setInserted_D1_D1_SK5
     820             :         use pm_kind, only: SKC => SK5
     821             : #include "pm_arrayInsert@routines.inc.F90"
     822             :     end procedure
     823             : #endif
     824             : 
     825             : #if SK4_ENABLED
     826             :     module procedure setInserted_D1_D1_SK4
     827             :         use pm_kind, only: SKC => SK4
     828             : #include "pm_arrayInsert@routines.inc.F90"
     829             :     end procedure
     830             : #endif
     831             : 
     832             : #if SK3_ENABLED
     833             :     module procedure setInserted_D1_D1_SK3
     834             :         use pm_kind, only: SKC => SK3
     835             : #include "pm_arrayInsert@routines.inc.F90"
     836             :     end procedure
     837             : #endif
     838             : 
     839             : #if SK2_ENABLED
     840             :     module procedure setInserted_D1_D1_SK2
     841             :         use pm_kind, only: SKC => SK2
     842             : #include "pm_arrayInsert@routines.inc.F90"
     843             :     end procedure
     844             : #endif
     845             : 
     846             : #if SK1_ENABLED
     847          68 :     module procedure setInserted_D1_D1_SK1
     848             :         use pm_kind, only: SKC => SK1
     849             : #include "pm_arrayInsert@routines.inc.F90"
     850             :     end procedure
     851             : #endif
     852             : 
     853             : #undef SK_ENABLED
     854             : 
     855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     856             : 
     857             : #define IK_ENABLED 1
     858             : 
     859             : #if IK5_ENABLED
     860          67 :     module procedure setInserted_D1_D1_IK5
     861             :         use pm_kind, only: IKC => IK5
     862             : #include "pm_arrayInsert@routines.inc.F90"
     863             :     end procedure
     864             : #endif
     865             : 
     866             : #if IK4_ENABLED
     867          67 :     module procedure setInserted_D1_D1_IK4
     868             :         use pm_kind, only: IKC => IK4
     869             : #include "pm_arrayInsert@routines.inc.F90"
     870             :     end procedure
     871             : #endif
     872             : 
     873             : #if IK3_ENABLED
     874          68 :     module procedure setInserted_D1_D1_IK3
     875             :         use pm_kind, only: IKC => IK3
     876             : #include "pm_arrayInsert@routines.inc.F90"
     877             :     end procedure
     878             : #endif
     879             : 
     880             : #if IK2_ENABLED
     881          67 :     module procedure setInserted_D1_D1_IK2
     882             :         use pm_kind, only: IKC => IK2
     883             : #include "pm_arrayInsert@routines.inc.F90"
     884             :     end procedure
     885             : #endif
     886             : 
     887             : #if IK1_ENABLED
     888          67 :     module procedure setInserted_D1_D1_IK1
     889             :         use pm_kind, only: IKC => IK1
     890             : #include "pm_arrayInsert@routines.inc.F90"
     891             :     end procedure
     892             : #endif
     893             : 
     894             : #undef IK_ENABLED
     895             : 
     896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     897             : 
     898             : #define LK_ENABLED 1
     899             : 
     900             : #if LK5_ENABLED
     901          67 :     module procedure setInserted_D1_D1_LK5
     902             :         use pm_kind, only: LKC => LK5
     903             : #include "pm_arrayInsert@routines.inc.F90"
     904             :     end procedure
     905             : #endif
     906             : 
     907             : #if LK4_ENABLED
     908          67 :     module procedure setInserted_D1_D1_LK4
     909             :         use pm_kind, only: LKC => LK4
     910             : #include "pm_arrayInsert@routines.inc.F90"
     911             :     end procedure
     912             : #endif
     913             : 
     914             : #if LK3_ENABLED
     915          68 :     module procedure setInserted_D1_D1_LK3
     916             :         use pm_kind, only: LKC => LK3
     917             : #include "pm_arrayInsert@routines.inc.F90"
     918             :     end procedure
     919             : #endif
     920             : 
     921             : #if LK2_ENABLED
     922          67 :     module procedure setInserted_D1_D1_LK2
     923             :         use pm_kind, only: LKC => LK2
     924             : #include "pm_arrayInsert@routines.inc.F90"
     925             :     end procedure
     926             : #endif
     927             : 
     928             : #if LK1_ENABLED
     929          67 :     module procedure setInserted_D1_D1_LK1
     930             :         use pm_kind, only: LKC => LK1
     931             : #include "pm_arrayInsert@routines.inc.F90"
     932             :     end procedure
     933             : #endif
     934             : 
     935             : #undef LK_ENABLED
     936             : 
     937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     938             : 
     939             : #define CK_ENABLED 1
     940             : 
     941             : #if CK5_ENABLED
     942             :     module procedure setInserted_D1_D1_CK5
     943             :         use pm_kind, only: CKC => CK5
     944             : #include "pm_arrayInsert@routines.inc.F90"
     945             :     end procedure
     946             : #endif
     947             : 
     948             : #if CK4_ENABLED
     949          67 :     module procedure setInserted_D1_D1_CK4
     950             :         use pm_kind, only: CKC => CK4
     951             : #include "pm_arrayInsert@routines.inc.F90"
     952             :     end procedure
     953             : #endif
     954             : 
     955             : #if CK3_ENABLED
     956          67 :     module procedure setInserted_D1_D1_CK3
     957             :         use pm_kind, only: CKC => CK3
     958             : #include "pm_arrayInsert@routines.inc.F90"
     959             :     end procedure
     960             : #endif
     961             : 
     962             : #if CK2_ENABLED
     963          68 :     module procedure setInserted_D1_D1_CK2
     964             :         use pm_kind, only: CKC => CK2
     965             : #include "pm_arrayInsert@routines.inc.F90"
     966             :     end procedure
     967             : #endif
     968             : 
     969             : #if CK1_ENABLED
     970          67 :     module procedure setInserted_D1_D1_CK1
     971             :         use pm_kind, only: CKC => CK1
     972             : #include "pm_arrayInsert@routines.inc.F90"
     973             :     end procedure
     974             : #endif
     975             : 
     976             : #undef CK_ENABLED
     977             : 
     978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     979             : 
     980             : #define RK_ENABLED 1
     981             : 
     982             : #if RK5_ENABLED
     983             :     module procedure setInserted_D1_D1_RK5
     984             :         use pm_kind, only: RKC => RK5
     985             : #include "pm_arrayInsert@routines.inc.F90"
     986             :     end procedure
     987             : #endif
     988             : 
     989             : #if RK4_ENABLED
     990          67 :     module procedure setInserted_D1_D1_RK4
     991             :         use pm_kind, only: RKC => RK4
     992             : #include "pm_arrayInsert@routines.inc.F90"
     993             :     end procedure
     994             : #endif
     995             : 
     996             : #if RK3_ENABLED
     997          67 :     module procedure setInserted_D1_D1_RK3
     998             :         use pm_kind, only: RKC => RK3
     999             : #include "pm_arrayInsert@routines.inc.F90"
    1000             :     end procedure
    1001             : #endif
    1002             : 
    1003             : #if RK2_ENABLED
    1004          68 :     module procedure setInserted_D1_D1_RK2
    1005             :         use pm_kind, only: RKC => RK2
    1006             : #include "pm_arrayInsert@routines.inc.F90"
    1007             :     end procedure
    1008             : #endif
    1009             : 
    1010             : #if RK1_ENABLED
    1011          67 :     module procedure setInserted_D1_D1_RK1
    1012             :         use pm_kind, only: RKC => RK1
    1013             : #include "pm_arrayInsert@routines.inc.F90"
    1014             :     end procedure
    1015             : #endif
    1016             : 
    1017             : #undef RK_ENABLED
    1018             : 
    1019             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1020             : 
    1021             : #undef D1_D1_ENABLED
    1022             : 
    1023             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1024             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1026             : 
    1027             : #undef setInserted_ENABLED
    1028             : 
    1029             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1030             : 
    1031             : #undef CHECK_ASSERTION
    1032             : 
    1033             : end submodule routines

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