https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_arrayComplement@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 25 25 100.0 %
Date: 2024-04-08 03:18:57 Functions: 25 25 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 [test_pm_arrayComplement](@ref test_pm_arrayComplement).
      19             : !>
      20             : !>  \fintest
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (test_pm_arrayComplement) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_arrayUnique, only: getUnique
      30             :     use pm_arrayRange, only: getRange
      31             :     use pm_arraySort, only: setSorted
      32             :     implicit none
      33             : 
      34             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      35             : 
      36             : contains
      37             : 
      38             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      39             : 
      40             : #define getComplement_ENABLED 1
      41             : 
      42             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : #define getComplement_D0_SK_ENABLED 1
      45             : 
      46             : #if SK5_ENABLED
      47             :     module procedure test_getComplement_D0_SK5_1
      48             :         use pm_kind, only: SKC => SK5
      49             : #include "test_pm_arrayComplement@routines.inc.F90"
      50             :     end procedure
      51             : #endif
      52             : 
      53             : #if SK4_ENABLED
      54             :     module procedure test_getComplement_D0_SK4_1
      55             :         use pm_kind, only: SKC => SK4
      56             : #include "test_pm_arrayComplement@routines.inc.F90"
      57             :     end procedure
      58             : #endif
      59             : 
      60             : #if SK3_ENABLED
      61             :     module procedure test_getComplement_D0_SK3_1
      62             :         use pm_kind, only: SKC => SK3
      63             : #include "test_pm_arrayComplement@routines.inc.F90"
      64             :     end procedure
      65             : #endif
      66             : 
      67             : #if SK2_ENABLED
      68             :     module procedure test_getComplement_D0_SK2_1
      69             :         use pm_kind, only: SKC => SK2
      70             : #include "test_pm_arrayComplement@routines.inc.F90"
      71             :     end procedure
      72             : #endif
      73             : 
      74             : #if SK1_ENABLED
      75           1 :     module procedure test_getComplement_D0_SK1_1
      76             :         use pm_kind, only: SKC => SK1
      77             : #include "test_pm_arrayComplement@routines.inc.F90"
      78             :     end procedure
      79             : #endif
      80             : 
      81             : #undef getComplement_D0_SK_ENABLED
      82             : 
      83             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      84             : 
      85             : #define getComplement_D1_SK_ENABLED 1
      86             : 
      87             : #if SK5_ENABLED
      88             :     module procedure test_getComplement_D1_SK5_1
      89             :         use pm_kind, only: SKC => SK5
      90             : #include "test_pm_arrayComplement@routines.inc.F90"
      91             :     end procedure
      92             : #endif
      93             : 
      94             : #if SK4_ENABLED
      95             :     module procedure test_getComplement_D1_SK4_1
      96             :         use pm_kind, only: SKC => SK4
      97             : #include "test_pm_arrayComplement@routines.inc.F90"
      98             :     end procedure
      99             : #endif
     100             : 
     101             : #if SK3_ENABLED
     102             :     module procedure test_getComplement_D1_SK3_1
     103             :         use pm_kind, only: SKC => SK3
     104             : #include "test_pm_arrayComplement@routines.inc.F90"
     105             :     end procedure
     106             : #endif
     107             : 
     108             : #if SK2_ENABLED
     109             :     module procedure test_getComplement_D1_SK2_1
     110             :         use pm_kind, only: SKC => SK2
     111             : #include "test_pm_arrayComplement@routines.inc.F90"
     112             :     end procedure
     113             : #endif
     114             : 
     115             : #if SK1_ENABLED
     116           1 :     module procedure test_getComplement_D1_SK1_1
     117             :         use pm_kind, only: SKC => SK1
     118             : #include "test_pm_arrayComplement@routines.inc.F90"
     119             :     end procedure
     120             : #endif
     121             : 
     122             : #undef getComplement_D1_SK_ENABLED
     123             : 
     124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     125             : 
     126             : #define getComplement_D1_IK_ENABLED 1
     127             : 
     128             : #if IK5_ENABLED
     129           1 :     module procedure test_getComplement_D1_IK5_1
     130             :         use pm_kind, only: IKC => IK5
     131             : #include "test_pm_arrayComplement@routines.inc.F90"
     132             :     end procedure
     133             : #endif
     134             : 
     135             : #if IK4_ENABLED
     136           1 :     module procedure test_getComplement_D1_IK4_1
     137             :         use pm_kind, only: IKC => IK4
     138             : #include "test_pm_arrayComplement@routines.inc.F90"
     139             :     end procedure
     140             : #endif
     141             : 
     142             : #if IK3_ENABLED
     143           1 :     module procedure test_getComplement_D1_IK3_1
     144             :         use pm_kind, only: IKC => IK3
     145             : #include "test_pm_arrayComplement@routines.inc.F90"
     146             :     end procedure
     147             : #endif
     148             : 
     149             : #if IK2_ENABLED
     150           1 :     module procedure test_getComplement_D1_IK2_1
     151             :         use pm_kind, only: IKC => IK2
     152             : #include "test_pm_arrayComplement@routines.inc.F90"
     153             :     end procedure
     154             : #endif
     155             : 
     156             : #if IK1_ENABLED
     157           1 :     module procedure test_getComplement_D1_IK1_1
     158             :         use pm_kind, only: IKC => IK1
     159             : #include "test_pm_arrayComplement@routines.inc.F90"
     160             :     end procedure
     161             : #endif
     162             : 
     163             : #undef getComplement_D1_IK_ENABLED
     164             : 
     165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     166             : 
     167             : #define getComplement_D1_LK_ENABLED 1
     168             : 
     169             : #if LK5_ENABLED
     170           1 :     module procedure test_getComplement_D1_LK5_1
     171             :         use pm_kind, only: LKC => LK5
     172             : #include "test_pm_arrayComplement@routines.inc.F90"
     173             :     end procedure
     174             : #endif
     175             : 
     176             : #if LK4_ENABLED
     177           1 :     module procedure test_getComplement_D1_LK4_1
     178             :         use pm_kind, only: LKC => LK4
     179             : #include "test_pm_arrayComplement@routines.inc.F90"
     180             :     end procedure
     181             : #endif
     182             : 
     183             : #if LK3_ENABLED
     184           1 :     module procedure test_getComplement_D1_LK3_1
     185             :         use pm_kind, only: LKC => LK3
     186             : #include "test_pm_arrayComplement@routines.inc.F90"
     187             :     end procedure
     188             : #endif
     189             : 
     190             : #if LK2_ENABLED
     191           1 :     module procedure test_getComplement_D1_LK2_1
     192             :         use pm_kind, only: LKC => LK2
     193             : #include "test_pm_arrayComplement@routines.inc.F90"
     194             :     end procedure
     195             : #endif
     196             : 
     197             : #if LK1_ENABLED
     198           1 :     module procedure test_getComplement_D1_LK1_1
     199             :         use pm_kind, only: LKC => LK1
     200             : #include "test_pm_arrayComplement@routines.inc.F90"
     201             :     end procedure
     202             : #endif
     203             : 
     204             : #undef getComplement_D1_LK_ENABLED
     205             : 
     206             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     207             : 
     208             : #define getComplement_D1_CK_ENABLED 1
     209             : 
     210             : #if CK5_ENABLED
     211             :     module procedure test_getComplement_D1_CK5_1
     212             :         use pm_kind, only: CKC => CK5
     213             : #include "test_pm_arrayComplement@routines.inc.F90"
     214             :     end procedure
     215             : #endif
     216             : 
     217             : #if CK4_ENABLED
     218           1 :     module procedure test_getComplement_D1_CK4_1
     219             :         use pm_kind, only: CKC => CK4
     220             : #include "test_pm_arrayComplement@routines.inc.F90"
     221             :     end procedure
     222             : #endif
     223             : 
     224             : #if CK3_ENABLED
     225           1 :     module procedure test_getComplement_D1_CK3_1
     226             :         use pm_kind, only: CKC => CK3
     227             : #include "test_pm_arrayComplement@routines.inc.F90"
     228             :     end procedure
     229             : #endif
     230             : 
     231             : #if CK2_ENABLED
     232           1 :     module procedure test_getComplement_D1_CK2_1
     233             :         use pm_kind, only: CKC => CK2
     234             : #include "test_pm_arrayComplement@routines.inc.F90"
     235             :     end procedure
     236             : #endif
     237             : 
     238             : #if CK1_ENABLED
     239           1 :     module procedure test_getComplement_D1_CK1_1
     240             :         use pm_kind, only: CKC => CK1
     241             : #include "test_pm_arrayComplement@routines.inc.F90"
     242             :     end procedure
     243             : #endif
     244             : 
     245             : #undef getComplement_D1_CK_ENABLED
     246             : 
     247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     248             : 
     249             : #define getComplement_D1_RK_ENABLED 1
     250             : 
     251             : #if RK5_ENABLED
     252             :     module procedure test_getComplement_D1_RK5_1
     253             :         use pm_kind, only: RKC => RK5
     254             : #include "test_pm_arrayComplement@routines.inc.F90"
     255             :     end procedure
     256             : #endif
     257             : 
     258             : #if RK4_ENABLED
     259           1 :     module procedure test_getComplement_D1_RK4_1
     260             :         use pm_kind, only: RKC => RK4
     261             : #include "test_pm_arrayComplement@routines.inc.F90"
     262             :     end procedure
     263             : #endif
     264             : 
     265             : #if RK3_ENABLED
     266           1 :     module procedure test_getComplement_D1_RK3_1
     267             :         use pm_kind, only: RKC => RK3
     268             : #include "test_pm_arrayComplement@routines.inc.F90"
     269             :     end procedure
     270             : #endif
     271             : 
     272             : #if RK2_ENABLED
     273           1 :     module procedure test_getComplement_D1_RK2_1
     274             :         use pm_kind, only: RKC => RK2
     275             : #include "test_pm_arrayComplement@routines.inc.F90"
     276             :     end procedure
     277             : #endif
     278             : 
     279             : #if RK1_ENABLED
     280           1 :     module procedure test_getComplement_D1_RK1_1
     281             :         use pm_kind, only: RKC => RK1
     282             : #include "test_pm_arrayComplement@routines.inc.F90"
     283             :     end procedure
     284             : #endif
     285             : 
     286             : #undef getComplement_D1_RK_ENABLED
     287             : 
     288             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     289             : 
     290             : #undef getComplement_ENABLED
     291             : 
     292             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     293             : 
     294             : #define getComplementRange_ENABLED 1
     295             : 
     296             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     297             : 
     298             : #define getComplementRange_D1_IK_ENABLED 1
     299             : 
     300             : #if IK5_ENABLED
     301           1 :     module procedure test_getComplementRange_D1_IK5_1
     302             :         use pm_kind, only: IKC => IK5
     303             : #include "test_pm_arrayComplement@routines.inc.F90"
     304             :     end procedure
     305             : #endif
     306             : 
     307             : #if IK4_ENABLED
     308           1 :     module procedure test_getComplementRange_D1_IK4_1
     309             :         use pm_kind, only: IKC => IK4
     310             : #include "test_pm_arrayComplement@routines.inc.F90"
     311             :     end procedure
     312             : #endif
     313             : 
     314             : #if IK3_ENABLED
     315           1 :     module procedure test_getComplementRange_D1_IK3_1
     316             :         use pm_kind, only: IKC => IK3
     317             : #include "test_pm_arrayComplement@routines.inc.F90"
     318             :     end procedure
     319             : #endif
     320             : 
     321             : #if IK2_ENABLED
     322           1 :     module procedure test_getComplementRange_D1_IK2_1
     323             :         use pm_kind, only: IKC => IK2
     324             : #include "test_pm_arrayComplement@routines.inc.F90"
     325             :     end procedure
     326             : #endif
     327             : 
     328             : #if IK1_ENABLED
     329           1 :     module procedure test_getComplementRange_D1_IK1_1
     330             :         use pm_kind, only: IKC => IK1
     331             : #include "test_pm_arrayComplement@routines.inc.F90"
     332             :     end procedure
     333             : #endif
     334             : 
     335             : #undef getComplementRange_D1_IK_ENABLED
     336             : 
     337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     338             : 
     339             : #undef getComplementRange_ENABLED
     340             : 
     341             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     342             : 
     343             : end submodule routines

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