https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_except@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 178 254 70.1 %
Date: 2024-04-08 03:18:57 Functions: 89 127 70.1 %
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_except](@ref pm_except).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, April 23, 2017, 1:36 AM, Institute for Computational Engineering and Sciences (ICES), University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_except) 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, intrinsic :: ieee_arithmetic, only: ieee_value, ieee_positive_inf, ieee_negative_inf
      40             :     use, intrinsic :: ieee_arithmetic, only: ieee_value, ieee_quiet_nan, ieee_is_nan
      41             :     use, intrinsic :: ieee_arithmetic, only: ieee_is_finite, ieee_is_negative
      42             : 
      43             :     implicit none
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : contains
      48             : 
      49             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             : 
      51             : #define isAddOutflow_ENABLED 1
      52             : 
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define IK_ENABLED 1
      56             : 
      57             : #if IK5_ENABLED
      58           0 :     module procedure isAddOutflow_IK5
      59             :         use pm_kind, only: IKC => IK5
      60             : #include "pm_except@routines.inc.F90"
      61           0 :     end procedure
      62             : #endif
      63             : 
      64             : #if IK4_ENABLED
      65           0 :     module procedure isAddOutflow_IK4
      66             :         use pm_kind, only: IKC => IK4
      67             : #include "pm_except@routines.inc.F90"
      68           0 :     end procedure
      69             : #endif
      70             : 
      71             : #if IK3_ENABLED
      72           4 :     module procedure isAddOutflow_IK3
      73             :         use pm_kind, only: IKC => IK3
      74             : #include "pm_except@routines.inc.F90"
      75           4 :     end procedure
      76             : #endif
      77             : 
      78             : #if IK2_ENABLED
      79           0 :     module procedure isAddOutflow_IK2
      80             :         use pm_kind, only: IKC => IK2
      81             : #include "pm_except@routines.inc.F90"
      82           0 :     end procedure
      83             : #endif
      84             : 
      85             : #if IK1_ENABLED
      86           0 :     module procedure isAddOutflow_IK1
      87             :         use pm_kind, only: IKC => IK1
      88             : #include "pm_except@routines.inc.F90"
      89           0 :     end procedure
      90             : #endif
      91             : 
      92             : #undef IK_ENABLED
      93             : 
      94             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      95             : 
      96             : #define CK_ENABLED 1
      97             : 
      98             : #if CK5_ENABLED
      99             :     module procedure isAddOutflow_CK5
     100             :         use pm_kind, only: CKC => CK5
     101             : #include "pm_except@routines.inc.F90"
     102             :     end procedure
     103             : #endif
     104             : 
     105             : #if CK4_ENABLED
     106           0 :     module procedure isAddOutflow_CK4
     107             :         use pm_kind, only: CKC => CK4
     108             : #include "pm_except@routines.inc.F90"
     109           0 :     end procedure
     110             : #endif
     111             : 
     112             : #if CK3_ENABLED
     113           0 :     module procedure isAddOutflow_CK3
     114             :         use pm_kind, only: CKC => CK3
     115             : #include "pm_except@routines.inc.F90"
     116           0 :     end procedure
     117             : #endif
     118             : 
     119             : #if CK2_ENABLED
     120           0 :     module procedure isAddOutflow_CK2
     121             :         use pm_kind, only: CKC => CK2
     122             : #include "pm_except@routines.inc.F90"
     123           0 :     end procedure
     124             : #endif
     125             : 
     126             : #if CK1_ENABLED
     127           4 :     module procedure isAddOutflow_CK1
     128             :         use pm_kind, only: CKC => CK1
     129             : #include "pm_except@routines.inc.F90"
     130           4 :     end procedure
     131             : #endif
     132             : 
     133             : #undef CK_ENABLED
     134             : 
     135             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     136             : 
     137             : #define RK_ENABLED 1
     138             : 
     139             : #if RK5_ENABLED
     140             :     module procedure isAddOutflow_RK5
     141             :         use pm_kind, only: RKC => RK5
     142             : #include "pm_except@routines.inc.F90"
     143             :     end procedure
     144             : #endif
     145             : 
     146             : #if RK4_ENABLED
     147           0 :     module procedure isAddOutflow_RK4
     148             :         use pm_kind, only: RKC => RK4
     149             : #include "pm_except@routines.inc.F90"
     150           0 :     end procedure
     151             : #endif
     152             : 
     153             : #if RK3_ENABLED
     154           0 :     module procedure isAddOutflow_RK3
     155             :         use pm_kind, only: RKC => RK3
     156             : #include "pm_except@routines.inc.F90"
     157           0 :     end procedure
     158             : #endif
     159             : 
     160             : #if RK2_ENABLED
     161           0 :     module procedure isAddOutflow_RK2
     162             :         use pm_kind, only: RKC => RK2
     163             : #include "pm_except@routines.inc.F90"
     164           0 :     end procedure
     165             : #endif
     166             : 
     167             : #if RK1_ENABLED
     168           6 :     module procedure isAddOutflow_RK1
     169             :         use pm_kind, only: RKC => RK1
     170             : #include "pm_except@routines.inc.F90"
     171           6 :     end procedure
     172             : #endif
     173             : 
     174             : #undef RK_ENABLED
     175             : 
     176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     177             : 
     178             : #undef isAddOutflow_ENABLED
     179             : 
     180             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     181             : 
     182             : #define isAddOutflowNeg_ENABLED 1
     183             : 
     184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     185             : 
     186             : #define IK_ENABLED 1
     187             : 
     188             : #if IK5_ENABLED
     189           0 :     module procedure isAddOutflowNeg_IK5
     190             :         use pm_kind, only: IKC => IK5
     191             : #include "pm_except@routines.inc.F90"
     192           0 :     end procedure
     193             : #endif
     194             : 
     195             : #if IK4_ENABLED
     196           0 :     module procedure isAddOutflowNeg_IK4
     197             :         use pm_kind, only: IKC => IK4
     198             : #include "pm_except@routines.inc.F90"
     199           0 :     end procedure
     200             : #endif
     201             : 
     202             : #if IK3_ENABLED
     203           7 :     module procedure isAddOutflowNeg_IK3
     204             :         use pm_kind, only: IKC => IK3
     205             : #include "pm_except@routines.inc.F90"
     206           7 :     end procedure
     207             : #endif
     208             : 
     209             : #if IK2_ENABLED
     210           0 :     module procedure isAddOutflowNeg_IK2
     211             :         use pm_kind, only: IKC => IK2
     212             : #include "pm_except@routines.inc.F90"
     213           0 :     end procedure
     214             : #endif
     215             : 
     216             : #if IK1_ENABLED
     217           0 :     module procedure isAddOutflowNeg_IK1
     218             :         use pm_kind, only: IKC => IK1
     219             : #include "pm_except@routines.inc.F90"
     220           0 :     end procedure
     221             : #endif
     222             : 
     223             : #undef IK_ENABLED
     224             : 
     225             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     226             : 
     227             : #define CK_ENABLED 1
     228             : 
     229             : #if CK5_ENABLED
     230             :     module procedure isAddOutflowNeg_CK5
     231             :         use pm_kind, only: CKC => CK5
     232             : #include "pm_except@routines.inc.F90"
     233             :     end procedure
     234             : #endif
     235             : 
     236             : #if CK4_ENABLED
     237           0 :     module procedure isAddOutflowNeg_CK4
     238             :         use pm_kind, only: CKC => CK4
     239             : #include "pm_except@routines.inc.F90"
     240           0 :     end procedure
     241             : #endif
     242             : 
     243             : #if CK3_ENABLED
     244           0 :     module procedure isAddOutflowNeg_CK3
     245             :         use pm_kind, only: CKC => CK3
     246             : #include "pm_except@routines.inc.F90"
     247           0 :     end procedure
     248             : #endif
     249             : 
     250             : #if CK2_ENABLED
     251           0 :     module procedure isAddOutflowNeg_CK2
     252             :         use pm_kind, only: CKC => CK2
     253             : #include "pm_except@routines.inc.F90"
     254           0 :     end procedure
     255             : #endif
     256             : 
     257             : #if CK1_ENABLED
     258           7 :     module procedure isAddOutflowNeg_CK1
     259             :         use pm_kind, only: CKC => CK1
     260             : #include "pm_except@routines.inc.F90"
     261           7 :     end procedure
     262             : #endif
     263             : 
     264             : #undef CK_ENABLED
     265             : 
     266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     267             : 
     268             : #define RK_ENABLED 1
     269             : 
     270             : #if RK5_ENABLED
     271             :     module procedure isAddOutflowNeg_RK5
     272             :         use pm_kind, only: RKC => RK5
     273             : #include "pm_except@routines.inc.F90"
     274             :     end procedure
     275             : #endif
     276             : 
     277             : #if RK4_ENABLED
     278           0 :     module procedure isAddOutflowNeg_RK4
     279             :         use pm_kind, only: RKC => RK4
     280             : #include "pm_except@routines.inc.F90"
     281           0 :     end procedure
     282             : #endif
     283             : 
     284             : #if RK3_ENABLED
     285           0 :     module procedure isAddOutflowNeg_RK3
     286             :         use pm_kind, only: RKC => RK3
     287             : #include "pm_except@routines.inc.F90"
     288           0 :     end procedure
     289             : #endif
     290             : 
     291             : #if RK2_ENABLED
     292           0 :     module procedure isAddOutflowNeg_RK2
     293             :         use pm_kind, only: RKC => RK2
     294             : #include "pm_except@routines.inc.F90"
     295           0 :     end procedure
     296             : #endif
     297             : 
     298             : #if RK1_ENABLED
     299          10 :     module procedure isAddOutflowNeg_RK1
     300             :         use pm_kind, only: RKC => RK1
     301             : #include "pm_except@routines.inc.F90"
     302          10 :     end procedure
     303             : #endif
     304             : 
     305             : #undef RK_ENABLED
     306             : 
     307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     308             : 
     309             : #undef isAddOutflowNeg_ENABLED
     310             : 
     311             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #define isAddOutflowPos_ENABLED 1
     314             : 
     315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     316             : 
     317             : #define IK_ENABLED 1
     318             : 
     319             : #if IK5_ENABLED
     320           0 :     module procedure isAddOutflowPos_IK5
     321             :         use pm_kind, only: IKC => IK5
     322             : #include "pm_except@routines.inc.F90"
     323           0 :     end procedure
     324             : #endif
     325             : 
     326             : #if IK4_ENABLED
     327           0 :     module procedure isAddOutflowPos_IK4
     328             :         use pm_kind, only: IKC => IK4
     329             : #include "pm_except@routines.inc.F90"
     330           0 :     end procedure
     331             : #endif
     332             : 
     333             : #if IK3_ENABLED
     334           8 :     module procedure isAddOutflowPos_IK3
     335             :         use pm_kind, only: IKC => IK3
     336             : #include "pm_except@routines.inc.F90"
     337           8 :     end procedure
     338             : #endif
     339             : 
     340             : #if IK2_ENABLED
     341           0 :     module procedure isAddOutflowPos_IK2
     342             :         use pm_kind, only: IKC => IK2
     343             : #include "pm_except@routines.inc.F90"
     344           0 :     end procedure
     345             : #endif
     346             : 
     347             : #if IK1_ENABLED
     348           0 :     module procedure isAddOutflowPos_IK1
     349             :         use pm_kind, only: IKC => IK1
     350             : #include "pm_except@routines.inc.F90"
     351           0 :     end procedure
     352             : #endif
     353             : 
     354             : #undef IK_ENABLED
     355             : 
     356             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     357             : 
     358             : #define CK_ENABLED 1
     359             : 
     360             : #if CK5_ENABLED
     361             :     module procedure isAddOutflowPos_CK5
     362             :         use pm_kind, only: CKC => CK5
     363             : #include "pm_except@routines.inc.F90"
     364             :     end procedure
     365             : #endif
     366             : 
     367             : #if CK4_ENABLED
     368           0 :     module procedure isAddOutflowPos_CK4
     369             :         use pm_kind, only: CKC => CK4
     370             : #include "pm_except@routines.inc.F90"
     371           0 :     end procedure
     372             : #endif
     373             : 
     374             : #if CK3_ENABLED
     375           0 :     module procedure isAddOutflowPos_CK3
     376             :         use pm_kind, only: CKC => CK3
     377             : #include "pm_except@routines.inc.F90"
     378           0 :     end procedure
     379             : #endif
     380             : 
     381             : #if CK2_ENABLED
     382           0 :     module procedure isAddOutflowPos_CK2
     383             :         use pm_kind, only: CKC => CK2
     384             : #include "pm_except@routines.inc.F90"
     385           0 :     end procedure
     386             : #endif
     387             : 
     388             : #if CK1_ENABLED
     389           8 :     module procedure isAddOutflowPos_CK1
     390             :         use pm_kind, only: CKC => CK1
     391             : #include "pm_except@routines.inc.F90"
     392           8 :     end procedure
     393             : #endif
     394             : 
     395             : #undef CK_ENABLED
     396             : 
     397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     398             : 
     399             : #define RK_ENABLED 1
     400             : 
     401             : #if RK5_ENABLED
     402             :     module procedure isAddOutflowPos_RK5
     403             :         use pm_kind, only: RKC => RK5
     404             : #include "pm_except@routines.inc.F90"
     405             :     end procedure
     406             : #endif
     407             : 
     408             : #if RK4_ENABLED
     409           0 :     module procedure isAddOutflowPos_RK4
     410             :         use pm_kind, only: RKC => RK4
     411             : #include "pm_except@routines.inc.F90"
     412           0 :     end procedure
     413             : #endif
     414             : 
     415             : #if RK3_ENABLED
     416           0 :     module procedure isAddOutflowPos_RK3
     417             :         use pm_kind, only: RKC => RK3
     418             : #include "pm_except@routines.inc.F90"
     419           0 :     end procedure
     420             : #endif
     421             : 
     422             : #if RK2_ENABLED
     423           0 :     module procedure isAddOutflowPos_RK2
     424             :         use pm_kind, only: RKC => RK2
     425             : #include "pm_except@routines.inc.F90"
     426           0 :     end procedure
     427             : #endif
     428             : 
     429             : #if RK1_ENABLED
     430          12 :     module procedure isAddOutflowPos_RK1
     431             :         use pm_kind, only: RKC => RK1
     432             : #include "pm_except@routines.inc.F90"
     433          12 :     end procedure
     434             : #endif
     435             : 
     436             : #undef RK_ENABLED
     437             : 
     438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     439             : 
     440             : #undef isAddOutflowPos_ENABLED
     441             : 
     442             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     443             : 
     444             : #define isInf_ENABLED 1
     445             : 
     446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     447             : 
     448             : #define RK_ENABLED 1
     449             : 
     450             : #if RK5_ENABLED
     451             :     module procedure isInf_RK5
     452             :         use pm_kind, only: RKC => RK5
     453             : #include "pm_except@routines.inc.F90"
     454             :     end procedure
     455             : #endif
     456             : 
     457             : #if RK4_ENABLED
     458     1139694 :     module procedure isInf_RK4
     459             :         use pm_kind, only: RKC => RK4
     460             : #include "pm_except@routines.inc.F90"
     461     1139694 :     end procedure
     462             : #endif
     463             : 
     464             : #if RK3_ENABLED
     465     1239274 :     module procedure isInf_RK3
     466             :         use pm_kind, only: RKC => RK3
     467             : #include "pm_except@routines.inc.F90"
     468     1239274 :     end procedure
     469             : #endif
     470             : 
     471             : #if RK2_ENABLED
     472     1189256 :     module procedure isInf_RK2
     473             :         use pm_kind, only: RKC => RK2
     474             : #include "pm_except@routines.inc.F90"
     475     1189256 :     end procedure
     476             : #endif
     477             : 
     478             : #if RK1_ENABLED
     479     1180463 :     module procedure isInf_RK1
     480             :         use pm_kind, only: RKC => RK1
     481             : #include "pm_except@routines.inc.F90"
     482     1180463 :     end procedure
     483             : #endif
     484             : 
     485             : #undef RK_ENABLED
     486             : 
     487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     488             : 
     489             : #define CK_ENABLED 1
     490             : 
     491             : #if CK5_ENABLED
     492             :     module procedure isInf_CK5
     493             :         use pm_kind, only: CKC => CK5
     494             : #include "pm_except@routines.inc.F90"
     495             :     end procedure
     496             : #endif
     497             : 
     498             : #if CK4_ENABLED
     499     1177007 :     module procedure isInf_CK4
     500             :         use pm_kind, only: CKC => CK4
     501             : #include "pm_except@routines.inc.F90"
     502     1177007 :     end procedure
     503             : #endif
     504             : 
     505             : #if CK3_ENABLED
     506     1248584 :     module procedure isInf_CK3
     507             :         use pm_kind, only: CKC => CK3
     508             : #include "pm_except@routines.inc.F90"
     509     1248584 :     end procedure
     510             : #endif
     511             : 
     512             : #if CK2_ENABLED
     513     1248524 :     module procedure isInf_CK2
     514             :         use pm_kind, only: CKC => CK2
     515             : #include "pm_except@routines.inc.F90"
     516     1248524 :     end procedure
     517             : #endif
     518             : 
     519             : #if CK1_ENABLED
     520     1280634 :     module procedure isInf_CK1
     521             :         use pm_kind, only: CKC => CK1
     522             : #include "pm_except@routines.inc.F90"
     523     1280634 :     end procedure
     524             : #endif
     525             : 
     526             : #undef CK_ENABLED
     527             : 
     528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     529             : 
     530             : #undef isInf_ENABLED
     531             : 
     532             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     533             : 
     534             : #define isInfPos_ENABLED 1
     535             : 
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             : 
     538             : #define RK_ENABLED 1
     539             : 
     540             : #if RK5_ENABLED
     541             :     module procedure isInfPos_RK5
     542             :         use pm_kind, only: RKC => RK5
     543             : #include "pm_except@routines.inc.F90"
     544             :     end procedure
     545             : #endif
     546             : 
     547             : #if RK4_ENABLED
     548     3495333 :     module procedure isInfPos_RK4
     549             :         use pm_kind, only: RKC => RK4
     550             : #include "pm_except@routines.inc.F90"
     551     3495333 :     end procedure
     552             : #endif
     553             : 
     554             : #if RK3_ENABLED
     555     3738002 :     module procedure isInfPos_RK3
     556             :         use pm_kind, only: RKC => RK3
     557             : #include "pm_except@routines.inc.F90"
     558     3738002 :     end procedure
     559             : #endif
     560             : 
     561             : #if RK2_ENABLED
     562     3687984 :     module procedure isInfPos_RK2
     563             :         use pm_kind, only: RKC => RK2
     564             : #include "pm_except@routines.inc.F90"
     565     3687984 :     end procedure
     566             : #endif
     567             : 
     568             : #if RK1_ENABLED
     569     3743364 :     module procedure isInfPos_RK1
     570             :         use pm_kind, only: RKC => RK1
     571             : #include "pm_except@routines.inc.F90"
     572     3743364 :     end procedure
     573             : #endif
     574             : 
     575             : #undef RK_ENABLED
     576             : 
     577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     578             : 
     579             : #define CK_ENABLED 1
     580             : 
     581             : #if CK5_ENABLED
     582             :     module procedure isInfPos_CK5
     583             :         use pm_kind, only: CKC => CK5
     584             : #include "pm_except@routines.inc.F90"
     585             :     end procedure
     586             : #endif
     587             : 
     588             : #if CK4_ENABLED
     589     1177837 :     module procedure isInfPos_CK4
     590             :         use pm_kind, only: CKC => CK4
     591             : #include "pm_except@routines.inc.F90"
     592     1177837 :     end procedure
     593             : #endif
     594             : 
     595             : #if CK3_ENABLED
     596     1249318 :     module procedure isInfPos_CK3
     597             :         use pm_kind, only: CKC => CK3
     598             : #include "pm_except@routines.inc.F90"
     599     1249318 :     end procedure
     600             : #endif
     601             : 
     602             : #if CK2_ENABLED
     603     1249378 :     module procedure isInfPos_CK2
     604             :         use pm_kind, only: CKC => CK2
     605             : #include "pm_except@routines.inc.F90"
     606     1249378 :     end procedure
     607             : #endif
     608             : 
     609             : #if CK1_ENABLED
     610     1281432 :     module procedure isInfPos_CK1
     611             :         use pm_kind, only: CKC => CK1
     612             : #include "pm_except@routines.inc.F90"
     613     1281432 :     end procedure
     614             : #endif
     615             : 
     616             : #undef CK_ENABLED
     617             : 
     618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             : 
     620             : #undef isInfPos_ENABLED
     621             : 
     622             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     623             : 
     624             : #define getInfPos_ENABLED 1
     625             : 
     626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     627             : 
     628             : #define RK_ENABLED 1
     629             : 
     630             : #if RK5_ENABLED
     631             :     module procedure getInfPos_RK5
     632             :         use pm_kind, only: RKC => RK5
     633             : #include "pm_except@routines.inc.F90"
     634             :     end procedure
     635             : #endif
     636             : 
     637             : #if RK4_ENABLED
     638          55 :     module procedure getInfPos_RK4
     639             :         use pm_kind, only: RKC => RK4
     640             : #include "pm_except@routines.inc.F90"
     641          55 :     end procedure
     642             : #endif
     643             : 
     644             : #if RK3_ENABLED
     645           7 :     module procedure getInfPos_RK3
     646             :         use pm_kind, only: RKC => RK3
     647             : #include "pm_except@routines.inc.F90"
     648           7 :     end procedure
     649             : #endif
     650             : 
     651             : #if RK2_ENABLED
     652          11 :     module procedure getInfPos_RK2
     653             :         use pm_kind, only: RKC => RK2
     654             : #include "pm_except@routines.inc.F90"
     655          11 :     end procedure
     656             : #endif
     657             : 
     658             : #if RK1_ENABLED
     659          12 :     module procedure getInfPos_RK1
     660             :         use pm_kind, only: RKC => RK1
     661             : #include "pm_except@routines.inc.F90"
     662          12 :     end procedure
     663             : #endif
     664             : 
     665             : #undef RK_ENABLED
     666             : 
     667             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     668             : 
     669             : #define CK_ENABLED 1
     670             : 
     671             : #if CK5_ENABLED
     672             :     module procedure getInfPos_CK5
     673             :         use pm_kind, only: CKC => CK5
     674             : #include "pm_except@routines.inc.F90"
     675             :     end procedure
     676             : #endif
     677             : 
     678             : #if CK4_ENABLED
     679          10 :     module procedure getInfPos_CK4
     680             :         use pm_kind, only: CKC => CK4
     681             : #include "pm_except@routines.inc.F90"
     682          10 :     end procedure
     683             : #endif
     684             : 
     685             : #if CK3_ENABLED
     686           6 :     module procedure getInfPos_CK3
     687             :         use pm_kind, only: CKC => CK3
     688             : #include "pm_except@routines.inc.F90"
     689           6 :     end procedure
     690             : #endif
     691             : 
     692             : #if CK2_ENABLED
     693          10 :     module procedure getInfPos_CK2
     694             :         use pm_kind, only: CKC => CK2
     695             : #include "pm_except@routines.inc.F90"
     696          10 :     end procedure
     697             : #endif
     698             : 
     699             : #if CK1_ENABLED
     700          10 :     module procedure getInfPos_CK1
     701             :         use pm_kind, only: CKC => CK1
     702             : #include "pm_except@routines.inc.F90"
     703          10 :     end procedure
     704             : #endif
     705             : 
     706             : #undef CK_ENABLED
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             : 
     710             : #undef getInfPos_ENABLED
     711             : 
     712             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     713             : 
     714             : #define setInfPos_ENABLED 1
     715             : 
     716             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     717             : 
     718             : #define RK_ENABLED 1
     719             : 
     720             : #if RK5_ENABLED
     721             :     module procedure setInfPos_RK5
     722             :         use pm_kind, only: RKC => RK5
     723             : #include "pm_except@routines.inc.F90"
     724             :     end procedure
     725             : #endif
     726             : 
     727             : #if RK4_ENABLED
     728         218 :     module procedure setInfPos_RK4
     729             :         use pm_kind, only: RKC => RK4
     730             : #include "pm_except@routines.inc.F90"
     731         218 :     end procedure
     732             : #endif
     733             : 
     734             : #if RK3_ENABLED
     735         217 :     module procedure setInfPos_RK3
     736             :         use pm_kind, only: RKC => RK3
     737             : #include "pm_except@routines.inc.F90"
     738         217 :     end procedure
     739             : #endif
     740             : 
     741             : #if RK2_ENABLED
     742         196 :     module procedure setInfPos_RK2
     743             :         use pm_kind, only: RKC => RK2
     744             : #include "pm_except@routines.inc.F90"
     745         196 :     end procedure
     746             : #endif
     747             : 
     748             : #if RK1_ENABLED
     749         215 :     module procedure setInfPos_RK1
     750             :         use pm_kind, only: RKC => RK1
     751             : #include "pm_except@routines.inc.F90"
     752         215 :     end procedure
     753             : #endif
     754             : 
     755             : #undef RK_ENABLED
     756             : 
     757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     758             : 
     759             : #define CK_ENABLED 1
     760             : 
     761             : #if CK5_ENABLED
     762             :     module procedure setInfPos_CK5
     763             :         use pm_kind, only: CKC => CK5
     764             : #include "pm_except@routines.inc.F90"
     765             :     end procedure
     766             : #endif
     767             : 
     768             : #if CK4_ENABLED
     769         216 :     module procedure setInfPos_CK4
     770             :         use pm_kind, only: CKC => CK4
     771             : #include "pm_except@routines.inc.F90"
     772         216 :     end procedure
     773             : #endif
     774             : 
     775             : #if CK3_ENABLED
     776         167 :     module procedure setInfPos_CK3
     777             :         use pm_kind, only: CKC => CK3
     778             : #include "pm_except@routines.inc.F90"
     779         167 :     end procedure
     780             : #endif
     781             : 
     782             : #if CK2_ENABLED
     783         226 :     module procedure setInfPos_CK2
     784             :         use pm_kind, only: CKC => CK2
     785             : #include "pm_except@routines.inc.F90"
     786         226 :     end procedure
     787             : #endif
     788             : 
     789             : #if CK1_ENABLED
     790         194 :     module procedure setInfPos_CK1
     791             :         use pm_kind, only: CKC => CK1
     792             : #include "pm_except@routines.inc.F90"
     793         194 :     end procedure
     794             : #endif
     795             : 
     796             : #undef CK_ENABLED
     797             : 
     798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     799             : 
     800             : #undef setInfPos_ENABLED
     801             : 
     802             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     803             : 
     804             : #define isInfNeg_ENABLED 1
     805             : 
     806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     807             : 
     808             : #define RK_ENABLED 1
     809             : 
     810             : #if RK5_ENABLED
     811             :     module procedure isInfNeg_RK5
     812             :         use pm_kind, only: RKC => RK5
     813             : #include "pm_except@routines.inc.F90"
     814             :     end procedure
     815             : #endif
     816             : 
     817             : #if RK4_ENABLED
     818     3493552 :     module procedure isInfNeg_RK4
     819             :         use pm_kind, only: RKC => RK4
     820             : #include "pm_except@routines.inc.F90"
     821     3493552 :     end procedure
     822             : #endif
     823             : 
     824             : #if RK3_ENABLED
     825     3736325 :     module procedure isInfNeg_RK3
     826             :         use pm_kind, only: RKC => RK3
     827             : #include "pm_except@routines.inc.F90"
     828     3736325 :     end procedure
     829             : #endif
     830             : 
     831             : #if RK2_ENABLED
     832     3686247 :     module procedure isInfNeg_RK2
     833             :         use pm_kind, only: RKC => RK2
     834             : #include "pm_except@routines.inc.F90"
     835     3686247 :     end procedure
     836             : #endif
     837             : 
     838             : #if RK1_ENABLED
     839     3741648 :     module procedure isInfNeg_RK1
     840             :         use pm_kind, only: RKC => RK1
     841             : #include "pm_except@routines.inc.F90"
     842     3741648 :     end procedure
     843             : #endif
     844             : 
     845             : #undef RK_ENABLED
     846             : 
     847             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     848             : 
     849             : #define CK_ENABLED 1
     850             : 
     851             : #if CK5_ENABLED
     852             :     module procedure isInfNeg_CK5
     853             :         use pm_kind, only: CKC => CK5
     854             : #include "pm_except@routines.inc.F90"
     855             :     end procedure
     856             : #endif
     857             : 
     858             : #if CK4_ENABLED
     859     1177181 :     module procedure isInfNeg_CK4
     860             :         use pm_kind, only: CKC => CK4
     861             : #include "pm_except@routines.inc.F90"
     862     1177181 :     end procedure
     863             : #endif
     864             : 
     865             : #if CK3_ENABLED
     866     1248832 :     module procedure isInfNeg_CK3
     867             :         use pm_kind, only: CKC => CK3
     868             : #include "pm_except@routines.inc.F90"
     869     1248832 :     end procedure
     870             : #endif
     871             : 
     872             : #if CK2_ENABLED
     873     1248741 :     module procedure isInfNeg_CK2
     874             :         use pm_kind, only: CKC => CK2
     875             : #include "pm_except@routines.inc.F90"
     876     1248741 :     end procedure
     877             : #endif
     878             : 
     879             : #if CK1_ENABLED
     880     1280852 :     module procedure isInfNeg_CK1
     881             :         use pm_kind, only: CKC => CK1
     882             : #include "pm_except@routines.inc.F90"
     883     1280852 :     end procedure
     884             : #endif
     885             : 
     886             : #undef CK_ENABLED
     887             : 
     888             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     889             : 
     890             : #undef isInfNeg_ENABLED
     891             : 
     892             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     893             : 
     894             : #define getInfNeg_ENABLED 1
     895             : 
     896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     897             : 
     898             : #define RK_ENABLED 1
     899             : 
     900             : #if RK5_ENABLED
     901             :     module procedure getInfNeg_RK5
     902             :         use pm_kind, only: RKC => RK5
     903             : #include "pm_except@routines.inc.F90"
     904             :     end procedure
     905             : #endif
     906             : 
     907             : #if RK4_ENABLED
     908          60 :     module procedure getInfNeg_RK4
     909             :         use pm_kind, only: RKC => RK4
     910             : #include "pm_except@routines.inc.F90"
     911          60 :     end procedure
     912             : #endif
     913             : 
     914             : #if RK3_ENABLED
     915           7 :     module procedure getInfNeg_RK3
     916             :         use pm_kind, only: RKC => RK3
     917             : #include "pm_except@routines.inc.F90"
     918           7 :     end procedure
     919             : #endif
     920             : 
     921             : #if RK2_ENABLED
     922          11 :     module procedure getInfNeg_RK2
     923             :         use pm_kind, only: RKC => RK2
     924             : #include "pm_except@routines.inc.F90"
     925          11 :     end procedure
     926             : #endif
     927             : 
     928             : #if RK1_ENABLED
     929          12 :     module procedure getInfNeg_RK1
     930             :         use pm_kind, only: RKC => RK1
     931             : #include "pm_except@routines.inc.F90"
     932          12 :     end procedure
     933             : #endif
     934             : 
     935             : #undef RK_ENABLED
     936             : 
     937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     938             : 
     939             : #define CK_ENABLED 1
     940             : 
     941             : #if CK5_ENABLED
     942             :     module procedure getInfNeg_CK5
     943             :         use pm_kind, only: CKC => CK5
     944             : #include "pm_except@routines.inc.F90"
     945             :     end procedure
     946             : #endif
     947             : 
     948             : #if CK4_ENABLED
     949          10 :     module procedure getInfNeg_CK4
     950             :         use pm_kind, only: CKC => CK4
     951             : #include "pm_except@routines.inc.F90"
     952          10 :     end procedure
     953             : #endif
     954             : 
     955             : #if CK3_ENABLED
     956           6 :     module procedure getInfNeg_CK3
     957             :         use pm_kind, only: CKC => CK3
     958             : #include "pm_except@routines.inc.F90"
     959           6 :     end procedure
     960             : #endif
     961             : 
     962             : #if CK2_ENABLED
     963          10 :     module procedure getInfNeg_CK2
     964             :         use pm_kind, only: CKC => CK2
     965             : #include "pm_except@routines.inc.F90"
     966          10 :     end procedure
     967             : #endif
     968             : 
     969             : #if CK1_ENABLED
     970          10 :     module procedure getInfNeg_CK1
     971             :         use pm_kind, only: CKC => CK1
     972             : #include "pm_except@routines.inc.F90"
     973          10 :     end procedure
     974             : #endif
     975             : 
     976             : #undef CK_ENABLED
     977             : 
     978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     979             : 
     980             : #undef getInfNeg_ENABLED
     981             : 
     982             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     983             : 
     984             : #define setInfNeg_ENABLED 1
     985             : 
     986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     987             : 
     988             : #define RK_ENABLED 1
     989             : 
     990             : #if RK5_ENABLED
     991             :     module procedure setInfNeg_RK5
     992             :         use pm_kind, only: RKC => RK5
     993             : #include "pm_except@routines.inc.F90"
     994             :     end procedure
     995             : #endif
     996             : 
     997             : #if RK4_ENABLED
     998         219 :     module procedure setInfNeg_RK4
     999             :         use pm_kind, only: RKC => RK4
    1000             : #include "pm_except@routines.inc.F90"
    1001         219 :     end procedure
    1002             : #endif
    1003             : 
    1004             : #if RK3_ENABLED
    1005         191 :     module procedure setInfNeg_RK3
    1006             :         use pm_kind, only: RKC => RK3
    1007             : #include "pm_except@routines.inc.F90"
    1008         191 :     end procedure
    1009             : #endif
    1010             : 
    1011             : #if RK2_ENABLED
    1012         222 :     module procedure setInfNeg_RK2
    1013             :         use pm_kind, only: RKC => RK2
    1014             : #include "pm_except@routines.inc.F90"
    1015         222 :     end procedure
    1016             : #endif
    1017             : 
    1018             : #if RK1_ENABLED
    1019         227 :     module procedure setInfNeg_RK1
    1020             :         use pm_kind, only: RKC => RK1
    1021             : #include "pm_except@routines.inc.F90"
    1022         227 :     end procedure
    1023             : #endif
    1024             : 
    1025             : #undef RK_ENABLED
    1026             : 
    1027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1028             : 
    1029             : #define CK_ENABLED 1
    1030             : 
    1031             : #if CK5_ENABLED
    1032             :     module procedure setInfNeg_CK5
    1033             :         use pm_kind, only: CKC => CK5
    1034             : #include "pm_except@routines.inc.F90"
    1035             :     end procedure
    1036             : #endif
    1037             : 
    1038             : #if CK4_ENABLED
    1039         209 :     module procedure setInfNeg_CK4
    1040             :         use pm_kind, only: CKC => CK4
    1041             : #include "pm_except@routines.inc.F90"
    1042         209 :     end procedure
    1043             : #endif
    1044             : 
    1045             : #if CK3_ENABLED
    1046         218 :     module procedure setInfNeg_CK3
    1047             :         use pm_kind, only: CKC => CK3
    1048             : #include "pm_except@routines.inc.F90"
    1049         218 :     end procedure
    1050             : #endif
    1051             : 
    1052             : #if CK2_ENABLED
    1053         212 :     module procedure setInfNeg_CK2
    1054             :         use pm_kind, only: CKC => CK2
    1055             : #include "pm_except@routines.inc.F90"
    1056         212 :     end procedure
    1057             : #endif
    1058             : 
    1059             : #if CK1_ENABLED
    1060         226 :     module procedure setInfNeg_CK1
    1061             :         use pm_kind, only: CKC => CK1
    1062             : #include "pm_except@routines.inc.F90"
    1063         226 :     end procedure
    1064             : #endif
    1065             : 
    1066             : #undef CK_ENABLED
    1067             : 
    1068             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1069             : 
    1070             : #undef setInfNeg_ENABLED
    1071             : 
    1072             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1073             : 
    1074             : #define isNAN_ENABLED 1
    1075             : 
    1076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1079             : 
    1080             : #define IEEE_ENABLED 1
    1081             : 
    1082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1083             : 
    1084             : #define CK_ENABLED 1
    1085             : 
    1086             : #if CK5_ENABLED
    1087             :     module procedure isNANIEEE_CK5
    1088             :         use pm_kind, only: CKC => CK5
    1089             : #include "pm_except@routines.inc.F90"
    1090             :     end procedure
    1091             : #endif
    1092             : 
    1093             : #if CK4_ENABLED
    1094     1177437 :     module procedure isNANIEEE_CK4
    1095             :         use pm_kind, only: CKC => CK4
    1096             : #include "pm_except@routines.inc.F90"
    1097     1177437 :     end procedure
    1098             : #endif
    1099             : 
    1100             : #if CK3_ENABLED
    1101     1249057 :     module procedure isNANIEEE_CK3
    1102             :         use pm_kind, only: CKC => CK3
    1103             : #include "pm_except@routines.inc.F90"
    1104     1249057 :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if CK2_ENABLED
    1108     1248891 :     module procedure isNANIEEE_CK2
    1109             :         use pm_kind, only: CKC => CK2
    1110             : #include "pm_except@routines.inc.F90"
    1111     1248891 :     end procedure
    1112             : #endif
    1113             : 
    1114             : #if CK1_ENABLED
    1115     1280992 :     module procedure isNANIEEE_CK1
    1116             :         use pm_kind, only: CKC => CK1
    1117             : #include "pm_except@routines.inc.F90"
    1118     1280992 :     end procedure
    1119             : #endif
    1120             : 
    1121             : #undef CK_ENABLED
    1122             : 
    1123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1124             : 
    1125             : #define RK_ENABLED 1
    1126             : 
    1127             : #if RK5_ENABLED
    1128             :     module procedure isNANIEEE_RK5
    1129             :         use pm_kind, only: RKC => RK5
    1130             : #include "pm_except@routines.inc.F90"
    1131             :     end procedure
    1132             : #endif
    1133             : 
    1134             : #if RK4_ENABLED
    1135     1140129 :     module procedure isNANIEEE_RK4
    1136             :         use pm_kind, only: RKC => RK4
    1137             : #include "pm_except@routines.inc.F90"
    1138     1140129 :     end procedure
    1139             : #endif
    1140             : 
    1141             : #if RK3_ENABLED
    1142     1239701 :     module procedure isNANIEEE_RK3
    1143             :         use pm_kind, only: RKC => RK3
    1144             : #include "pm_except@routines.inc.F90"
    1145     1239701 :     end procedure
    1146             : #endif
    1147             : 
    1148             : #if RK2_ENABLED
    1149     1202099 :     module procedure isNANIEEE_RK2
    1150             :         use pm_kind, only: RKC => RK2
    1151             : #include "pm_except@routines.inc.F90"
    1152     1202099 :     end procedure
    1153             : #endif
    1154             : 
    1155             : #if RK1_ENABLED
    1156     1181896 :     module procedure isNANIEEE_RK1
    1157             :         use pm_kind, only: RKC => RK1
    1158             : #include "pm_except@routines.inc.F90"
    1159     1181896 :     end procedure
    1160             : #endif
    1161             : 
    1162             : #undef RK_ENABLED
    1163             : 
    1164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1165             : 
    1166             : #undef IEEE_ENABLED
    1167             : 
    1168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1169             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1171             : 
    1172             : #define XNEQ_ENABLED 1
    1173             : 
    1174             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1175             : 
    1176             : #define CK_ENABLED 1
    1177             : 
    1178             : #if CK5_ENABLED
    1179             :     module procedure isNANXNEQ_CK5
    1180             :         use pm_kind, only: CKC => CK5
    1181             : #include "pm_except@routines.inc.F90"
    1182             :     end procedure
    1183             : #endif
    1184             : 
    1185             : #if CK4_ENABLED
    1186           0 :     module procedure isNANXNEQ_CK4
    1187             :         use pm_kind, only: CKC => CK4
    1188             : #include "pm_except@routines.inc.F90"
    1189           0 :     end procedure
    1190             : #endif
    1191             : 
    1192             : #if CK3_ENABLED
    1193           0 :     module procedure isNANXNEQ_CK3
    1194             :         use pm_kind, only: CKC => CK3
    1195             : #include "pm_except@routines.inc.F90"
    1196           0 :     end procedure
    1197             : #endif
    1198             : 
    1199             : #if CK2_ENABLED
    1200           0 :     module procedure isNANXNEQ_CK2
    1201             :         use pm_kind, only: CKC => CK2
    1202             : #include "pm_except@routines.inc.F90"
    1203           0 :     end procedure
    1204             : #endif
    1205             : 
    1206             : #if CK1_ENABLED
    1207           0 :     module procedure isNANXNEQ_CK1
    1208             :         use pm_kind, only: CKC => CK1
    1209             : #include "pm_except@routines.inc.F90"
    1210           0 :     end procedure
    1211             : #endif
    1212             : 
    1213             : #undef CK_ENABLED
    1214             : 
    1215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1216             : 
    1217             : #define RK_ENABLED 1
    1218             : 
    1219             : #if RK5_ENABLED
    1220             :     module procedure isNANXNEQ_RK5
    1221             :         use pm_kind, only: RKC => RK5
    1222             : #include "pm_except@routines.inc.F90"
    1223             :     end procedure
    1224             : #endif
    1225             : 
    1226             : #if RK4_ENABLED
    1227           0 :     module procedure isNANXNEQ_RK4
    1228             :         use pm_kind, only: RKC => RK4
    1229             : #include "pm_except@routines.inc.F90"
    1230           0 :     end procedure
    1231             : #endif
    1232             : 
    1233             : #if RK3_ENABLED
    1234           0 :     module procedure isNANXNEQ_RK3
    1235             :         use pm_kind, only: RKC => RK3
    1236             : #include "pm_except@routines.inc.F90"
    1237           0 :     end procedure
    1238             : #endif
    1239             : 
    1240             : #if RK2_ENABLED
    1241           0 :     module procedure isNANXNEQ_RK2
    1242             :         use pm_kind, only: RKC => RK2
    1243             : #include "pm_except@routines.inc.F90"
    1244           0 :     end procedure
    1245             : #endif
    1246             : 
    1247             : #if RK1_ENABLED
    1248           0 :     module procedure isNANXNEQ_RK1
    1249             :         use pm_kind, only: RKC => RK1
    1250             : #include "pm_except@routines.inc.F90"
    1251           0 :     end procedure
    1252             : #endif
    1253             : 
    1254             : #undef RK_ENABLED
    1255             : 
    1256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1257             : 
    1258             : #undef XNEQ_ENABLED
    1259             : 
    1260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1261             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1262             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1263             : 
    1264             : #undef isNAN_ENABLED
    1265             : 
    1266             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1267             : 
    1268             : #define getNAN_ENABLED 1
    1269             : 
    1270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1271             : 
    1272             : #define CK_ENABLED 1
    1273             : 
    1274             : #if CK5_ENABLED
    1275             :     module procedure getNAN_CK5
    1276             :         use pm_kind, only: CKC => CK5
    1277             : #include "pm_except@routines.inc.F90"
    1278             :     end procedure
    1279             : #endif
    1280             : 
    1281             : #if CK4_ENABLED
    1282          10 :     module procedure getNAN_CK4
    1283             :         use pm_kind, only: CKC => CK4
    1284             : #include "pm_except@routines.inc.F90"
    1285          10 :     end procedure
    1286             : #endif
    1287             : 
    1288             : #if CK3_ENABLED
    1289           6 :     module procedure getNAN_CK3
    1290             :         use pm_kind, only: CKC => CK3
    1291             : #include "pm_except@routines.inc.F90"
    1292           6 :     end procedure
    1293             : #endif
    1294             : 
    1295             : #if CK2_ENABLED
    1296          10 :     module procedure getNAN_CK2
    1297             :         use pm_kind, only: CKC => CK2
    1298             : #include "pm_except@routines.inc.F90"
    1299          10 :     end procedure
    1300             : #endif
    1301             : 
    1302             : #if CK1_ENABLED
    1303          10 :     module procedure getNAN_CK1
    1304             :         use pm_kind, only: CKC => CK1
    1305             : #include "pm_except@routines.inc.F90"
    1306          10 :     end procedure
    1307             : #endif
    1308             : 
    1309             : #undef CK_ENABLED
    1310             : 
    1311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1312             : 
    1313             : #define RK_ENABLED 1
    1314             : 
    1315             : #if RK5_ENABLED
    1316             :     module procedure getNAN_RK5
    1317             :         use pm_kind, only: RKC => RK5
    1318             : #include "pm_except@routines.inc.F90"
    1319             :     end procedure
    1320             : #endif
    1321             : 
    1322             : #if RK4_ENABLED
    1323          11 :     module procedure getNAN_RK4
    1324             :         use pm_kind, only: RKC => RK4
    1325             : #include "pm_except@routines.inc.F90"
    1326          11 :     end procedure
    1327             : #endif
    1328             : 
    1329             : #if RK3_ENABLED
    1330           7 :     module procedure getNAN_RK3
    1331             :         use pm_kind, only: RKC => RK3
    1332             : #include "pm_except@routines.inc.F90"
    1333           7 :     end procedure
    1334             : #endif
    1335             : 
    1336             : #if RK2_ENABLED
    1337          11 :     module procedure getNAN_RK2
    1338             :         use pm_kind, only: RKC => RK2
    1339             : #include "pm_except@routines.inc.F90"
    1340          11 :     end procedure
    1341             : #endif
    1342             : 
    1343             : #if RK1_ENABLED
    1344          13 :     module procedure getNAN_RK1
    1345             :         use pm_kind, only: RKC => RK1
    1346             : #include "pm_except@routines.inc.F90"
    1347          13 :     end procedure
    1348             : #endif
    1349             : 
    1350             : #undef RK_ENABLED
    1351             : 
    1352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1353             : 
    1354             : #undef getNAN_ENABLED
    1355             : 
    1356             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1357             : 
    1358             : #define setNAN_ENABLED 1
    1359             : 
    1360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1361             : 
    1362             : #define CK_ENABLED 1
    1363             : 
    1364             : #if CK5_ENABLED
    1365             :     module procedure setNAN_CK5
    1366             :         use pm_kind, only: CKC => CK5
    1367             : #include "pm_except@routines.inc.F90"
    1368             :     end procedure
    1369             : #endif
    1370             : 
    1371             : #if CK4_ENABLED
    1372         215 :     module procedure setNAN_CK4
    1373             :         use pm_kind, only: CKC => CK4
    1374             : #include "pm_except@routines.inc.F90"
    1375         215 :     end procedure
    1376             : #endif
    1377             : 
    1378             : #if CK3_ENABLED
    1379         242 :     module procedure setNAN_CK3
    1380             :         use pm_kind, only: CKC => CK3
    1381             : #include "pm_except@routines.inc.F90"
    1382         242 :     end procedure
    1383             : #endif
    1384             : 
    1385             : #if CK2_ENABLED
    1386         190 :     module procedure setNAN_CK2
    1387             :         use pm_kind, only: CKC => CK2
    1388             : #include "pm_except@routines.inc.F90"
    1389         190 :     end procedure
    1390             : #endif
    1391             : 
    1392             : #if CK1_ENABLED
    1393         197 :     module procedure setNAN_CK1
    1394             :         use pm_kind, only: CKC => CK1
    1395             : #include "pm_except@routines.inc.F90"
    1396         197 :     end procedure
    1397             : #endif
    1398             : 
    1399             : #undef CK_ENABLED
    1400             : 
    1401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1402             : 
    1403             : #define RK_ENABLED 1
    1404             : 
    1405             : #if RK5_ENABLED
    1406             :     module procedure setNAN_RK5
    1407             :         use pm_kind, only: RKC => RK5
    1408             : #include "pm_except@routines.inc.F90"
    1409             :     end procedure
    1410             : #endif
    1411             : 
    1412             : #if RK4_ENABLED
    1413         219 :     module procedure setNAN_RK4
    1414             :         use pm_kind, only: RKC => RK4
    1415             : #include "pm_except@routines.inc.F90"
    1416         219 :     end procedure
    1417             : #endif
    1418             : 
    1419             : #if RK3_ENABLED
    1420         219 :     module procedure setNAN_RK3
    1421             :         use pm_kind, only: RKC => RK3
    1422             : #include "pm_except@routines.inc.F90"
    1423         219 :     end procedure
    1424             : #endif
    1425             : 
    1426             : #if RK2_ENABLED
    1427       13699 :     module procedure setNAN_RK2
    1428             :         use pm_kind, only: RKC => RK2
    1429             : #include "pm_except@routines.inc.F90"
    1430       13699 :     end procedure
    1431             : #endif
    1432             : 
    1433             : #if RK1_ENABLED
    1434        1292 :     module procedure setNAN_RK1
    1435             :         use pm_kind, only: RKC => RK1
    1436             : #include "pm_except@routines.inc.F90"
    1437        1292 :     end procedure
    1438             : #endif
    1439             : 
    1440             : #undef RK_ENABLED
    1441             : 
    1442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1443             : 
    1444             : #undef setNAN_ENABLED
    1445             : 
    1446             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1447             : 
    1448             : #undef CHECK_ASSERTION
    1449             : 
    1450             : end submodule routines

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