https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_val2real@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 12 68 17.6 %
Date: 2024-04-08 03:18:57 Functions: 6 34 17.6 %
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_val2Real](@ref pm_val2real).
      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_val2real) 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             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define getReal_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define Def_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define SK_ENABLED 1
      58             : 
      59             : #if SK5_ENABLED
      60             :     module procedure getRealDef_SK5
      61             :         use pm_kind, only: RKC => RK, SKC => SK5
      62             : #include "pm_val2real@routines.inc.F90"
      63             :     end procedure
      64             : #endif
      65             : 
      66             : #if SK4_ENABLED
      67             :     module procedure getRealDef_SK4
      68             :         use pm_kind, only: RKC => RK, SKC => SK4
      69             : #include "pm_val2real@routines.inc.F90"
      70             :     end procedure
      71             : #endif
      72             : 
      73             : #if SK3_ENABLED
      74             :     module procedure getRealDef_SK3
      75             :         use pm_kind, only: RKC => RK, SKC => SK3
      76             : #include "pm_val2real@routines.inc.F90"
      77             :     end procedure
      78             : #endif
      79             : 
      80             : #if SK2_ENABLED
      81             :     module procedure getRealDef_SK2
      82             :         use pm_kind, only: RKC => RK, SKC => SK2
      83             : #include "pm_val2real@routines.inc.F90"
      84             :     end procedure
      85             : #endif
      86             : 
      87             : #if SK1_ENABLED
      88          15 :     module procedure getRealDef_SK1
      89             :         use pm_kind, only: RKC => RK, SKC => SK1
      90             : #include "pm_val2real@routines.inc.F90"
      91          15 :     end procedure
      92             : #endif
      93             : 
      94             : #undef SK_ENABLED
      95             : 
      96             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #define LK_ENABLED 1
      99             : 
     100             : #if LK5_ENABLED
     101           0 :     module procedure getRealDef_LK5
     102             :         use pm_kind, only: RKC => RK, LKC => LK5
     103             : #include "pm_val2real@routines.inc.F90"
     104           0 :     end procedure
     105             : #endif
     106             : 
     107             : #if LK4_ENABLED
     108           0 :     module procedure getRealDef_LK4
     109             :         use pm_kind, only: RKC => RK, LKC => LK4
     110             : #include "pm_val2real@routines.inc.F90"
     111           0 :     end procedure
     112             : #endif
     113             : 
     114             : #if LK3_ENABLED
     115           5 :     module procedure getRealDef_LK3
     116             :         use pm_kind, only: RKC => RK, LKC => LK3
     117             : #include "pm_val2real@routines.inc.F90"
     118           5 :     end procedure
     119             : #endif
     120             : 
     121             : #if LK2_ENABLED
     122           0 :     module procedure getRealDef_LK2
     123             :         use pm_kind, only: RKC => RK, LKC => LK2
     124             : #include "pm_val2real@routines.inc.F90"
     125           0 :     end procedure
     126             : #endif
     127             : 
     128             : #if LK1_ENABLED
     129           0 :     module procedure getRealDef_LK1
     130             :         use pm_kind, only: RKC => RK, LKC => LK1
     131             : #include "pm_val2real@routines.inc.F90"
     132           0 :     end procedure
     133             : #endif
     134             : 
     135             : #undef LK_ENABLED
     136             : 
     137             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     138             : 
     139             : #undef Def_ENABLED
     140             : 
     141             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     144             : 
     145             : #undef getReal_ENABLED
     146             : 
     147             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     148             : 
     149             : #define setReal_ENABLED 1
     150             : 
     151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     154             : 
     155             : #define Err_ENABLED 1
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     160             : 
     161             : #define SK_ENABLED 1
     162             : 
     163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     164             : 
     165             : #if RK5_ENABLED && SK5_ENABLED
     166             :     module procedure setRealErr_RK5_SK5
     167             :         use pm_kind, only: RKC => RK5, SKC => SK5
     168             : #include "pm_val2real@routines.inc.F90"
     169             :     end procedure
     170             : #endif
     171             : 
     172             : #if RK5_ENABLED && SK4_ENABLED
     173             :     module procedure setRealErr_RK5_SK4
     174             :         use pm_kind, only: RKC => RK5, SKC => SK4
     175             : #include "pm_val2real@routines.inc.F90"
     176             :     end procedure
     177             : #endif
     178             : 
     179             : #if RK5_ENABLED && SK3_ENABLED
     180             :     module procedure setRealErr_RK5_SK3
     181             :         use pm_kind, only: RKC => RK5, SKC => SK3
     182             : #include "pm_val2real@routines.inc.F90"
     183             :     end procedure
     184             : #endif
     185             : 
     186             : #if RK5_ENABLED && SK2_ENABLED
     187             :     module procedure setRealErr_RK5_SK2
     188             :         use pm_kind, only: RKC => RK5, SKC => SK2
     189             : #include "pm_val2real@routines.inc.F90"
     190             :     end procedure
     191             : #endif
     192             : 
     193             : #if RK5_ENABLED && SK1_ENABLED
     194             :     module procedure setRealErr_RK5_SK1
     195             :         use pm_kind, only: RKC => RK5, SKC => SK1
     196             : #include "pm_val2real@routines.inc.F90"
     197             :     end procedure
     198             : #endif
     199             : 
     200             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     201             : 
     202             : #if RK4_ENABLED && SK5_ENABLED
     203             :     module procedure setRealErr_RK4_SK5
     204             :         use pm_kind, only: RKC => RK4, SKC => SK5
     205             : #include "pm_val2real@routines.inc.F90"
     206             :     end procedure
     207             : #endif
     208             : 
     209             : #if RK4_ENABLED && SK4_ENABLED
     210             :     module procedure setRealErr_RK4_SK4
     211             :         use pm_kind, only: RKC => RK4, SKC => SK4
     212             : #include "pm_val2real@routines.inc.F90"
     213             :     end procedure
     214             : #endif
     215             : 
     216             : #if RK4_ENABLED && SK3_ENABLED
     217             :     module procedure setRealErr_RK4_SK3
     218             :         use pm_kind, only: RKC => RK4, SKC => SK3
     219             : #include "pm_val2real@routines.inc.F90"
     220             :     end procedure
     221             : #endif
     222             : 
     223             : #if RK4_ENABLED && SK2_ENABLED
     224             :     module procedure setRealErr_RK4_SK2
     225             :         use pm_kind, only: RKC => RK4, SKC => SK2
     226             : #include "pm_val2real@routines.inc.F90"
     227             :     end procedure
     228             : #endif
     229             : 
     230             : #if RK4_ENABLED && SK1_ENABLED
     231           0 :     module procedure setRealErr_RK4_SK1
     232             :         use pm_kind, only: RKC => RK4, SKC => SK1
     233             : #include "pm_val2real@routines.inc.F90"
     234           0 :     end procedure
     235             : #endif
     236             : 
     237             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     238             : 
     239             : #if RK3_ENABLED && SK5_ENABLED
     240             :     module procedure setRealErr_RK3_SK5
     241             :         use pm_kind, only: RKC => RK3, SKC => SK5
     242             : #include "pm_val2real@routines.inc.F90"
     243             :     end procedure
     244             : #endif
     245             : 
     246             : #if RK3_ENABLED && SK4_ENABLED
     247             :     module procedure setRealErr_RK3_SK4
     248             :         use pm_kind, only: RKC => RK3, SKC => SK4
     249             : #include "pm_val2real@routines.inc.F90"
     250             :     end procedure
     251             : #endif
     252             : 
     253             : #if RK3_ENABLED && SK3_ENABLED
     254             :     module procedure setRealErr_RK3_SK3
     255             :         use pm_kind, only: RKC => RK3, SKC => SK3
     256             : #include "pm_val2real@routines.inc.F90"
     257             :     end procedure
     258             : #endif
     259             : 
     260             : #if RK3_ENABLED && SK2_ENABLED
     261             :     module procedure setRealErr_RK3_SK2
     262             :         use pm_kind, only: RKC => RK3, SKC => SK2
     263             : #include "pm_val2real@routines.inc.F90"
     264             :     end procedure
     265             : #endif
     266             : 
     267             : #if RK3_ENABLED && SK1_ENABLED
     268           0 :     module procedure setRealErr_RK3_SK1
     269             :         use pm_kind, only: RKC => RK3, SKC => SK1
     270             : #include "pm_val2real@routines.inc.F90"
     271           0 :     end procedure
     272             : #endif
     273             : 
     274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     275             : 
     276             : #if RK2_ENABLED && SK5_ENABLED
     277             :     module procedure setRealErr_RK2_SK5
     278             :         use pm_kind, only: RKC => RK2, SKC => SK5
     279             : #include "pm_val2real@routines.inc.F90"
     280             :     end procedure
     281             : #endif
     282             : 
     283             : #if RK2_ENABLED && SK4_ENABLED
     284             :     module procedure setRealErr_RK2_SK4
     285             :         use pm_kind, only: RKC => RK2, SKC => SK4
     286             : #include "pm_val2real@routines.inc.F90"
     287             :     end procedure
     288             : #endif
     289             : 
     290             : #if RK2_ENABLED && SK3_ENABLED
     291             :     module procedure setRealErr_RK2_SK3
     292             :         use pm_kind, only: RKC => RK2, SKC => SK3
     293             : #include "pm_val2real@routines.inc.F90"
     294             :     end procedure
     295             : #endif
     296             : 
     297             : #if RK2_ENABLED && SK2_ENABLED
     298             :     module procedure setRealErr_RK2_SK2
     299             :         use pm_kind, only: RKC => RK2, SKC => SK2
     300             : #include "pm_val2real@routines.inc.F90"
     301             :     end procedure
     302             : #endif
     303             : 
     304             : #if RK2_ENABLED && SK1_ENABLED
     305           3 :     module procedure setRealErr_RK2_SK1
     306             :         use pm_kind, only: RKC => RK2, SKC => SK1
     307             : #include "pm_val2real@routines.inc.F90"
     308           3 :     end procedure
     309             : #endif
     310             : 
     311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #if RK1_ENABLED && SK5_ENABLED
     314             :     module procedure setRealErr_RK1_SK5
     315             :         use pm_kind, only: RKC => RK1, SKC => SK5
     316             : #include "pm_val2real@routines.inc.F90"
     317             :     end procedure
     318             : #endif
     319             : 
     320             : #if RK1_ENABLED && SK4_ENABLED
     321             :     module procedure setRealErr_RK1_SK4
     322             :         use pm_kind, only: RKC => RK1, SKC => SK4
     323             : #include "pm_val2real@routines.inc.F90"
     324             :     end procedure
     325             : #endif
     326             : 
     327             : #if RK1_ENABLED && SK3_ENABLED
     328             :     module procedure setRealErr_RK1_SK3
     329             :         use pm_kind, only: RKC => RK1, SKC => SK3
     330             : #include "pm_val2real@routines.inc.F90"
     331             :     end procedure
     332             : #endif
     333             : 
     334             : #if RK1_ENABLED && SK2_ENABLED
     335             :     module procedure setRealErr_RK1_SK2
     336             :         use pm_kind, only: RKC => RK1, SKC => SK2
     337             : #include "pm_val2real@routines.inc.F90"
     338             :     end procedure
     339             : #endif
     340             : 
     341             : #if RK1_ENABLED && SK1_ENABLED
     342           9 :     module procedure setRealErr_RK1_SK1
     343             :         use pm_kind, only: RKC => RK1, SKC => SK1
     344             : #include "pm_val2real@routines.inc.F90"
     345           9 :     end procedure
     346             : #endif
     347             : 
     348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     349             : 
     350             : #undef SK_ENABLED
     351             : 
     352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     355             : 
     356             : #undef Err_ENABLED
     357             : 
     358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     359             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     361             : 
     362             : #define Def_ENABLED 1
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     367             : 
     368             : #define SK_ENABLED 1
     369             : 
     370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     371             : 
     372             : #if RK5_ENABLED && SK5_ENABLED
     373             :     module procedure setRealDef_RK5_SK5
     374             :         use pm_kind, only: RKC => RK5, SKC => SK5
     375             : #include "pm_val2real@routines.inc.F90"
     376             :     end procedure
     377             : #endif
     378             : 
     379             : #if RK5_ENABLED && SK4_ENABLED
     380             :     module procedure setRealDef_RK5_SK4
     381             :         use pm_kind, only: RKC => RK5, SKC => SK4
     382             : #include "pm_val2real@routines.inc.F90"
     383             :     end procedure
     384             : #endif
     385             : 
     386             : #if RK5_ENABLED && SK3_ENABLED
     387             :     module procedure setRealDef_RK5_SK3
     388             :         use pm_kind, only: RKC => RK5, SKC => SK3
     389             : #include "pm_val2real@routines.inc.F90"
     390             :     end procedure
     391             : #endif
     392             : 
     393             : #if RK5_ENABLED && SK2_ENABLED
     394             :     module procedure setRealDef_RK5_SK2
     395             :         use pm_kind, only: RKC => RK5, SKC => SK2
     396             : #include "pm_val2real@routines.inc.F90"
     397             :     end procedure
     398             : #endif
     399             : 
     400             : #if RK5_ENABLED && SK1_ENABLED
     401             :     module procedure setRealDef_RK5_SK1
     402             :         use pm_kind, only: RKC => RK5, SKC => SK1
     403             : #include "pm_val2real@routines.inc.F90"
     404             :     end procedure
     405             : #endif
     406             : 
     407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     408             : 
     409             : #if RK4_ENABLED && SK5_ENABLED
     410             :     module procedure setRealDef_RK4_SK5
     411             :         use pm_kind, only: RKC => RK4, SKC => SK5
     412             : #include "pm_val2real@routines.inc.F90"
     413             :     end procedure
     414             : #endif
     415             : 
     416             : #if RK4_ENABLED && SK4_ENABLED
     417             :     module procedure setRealDef_RK4_SK4
     418             :         use pm_kind, only: RKC => RK4, SKC => SK4
     419             : #include "pm_val2real@routines.inc.F90"
     420             :     end procedure
     421             : #endif
     422             : 
     423             : #if RK4_ENABLED && SK3_ENABLED
     424             :     module procedure setRealDef_RK4_SK3
     425             :         use pm_kind, only: RKC => RK4, SKC => SK3
     426             : #include "pm_val2real@routines.inc.F90"
     427             :     end procedure
     428             : #endif
     429             : 
     430             : #if RK4_ENABLED && SK2_ENABLED
     431             :     module procedure setRealDef_RK4_SK2
     432             :         use pm_kind, only: RKC => RK4, SKC => SK2
     433             : #include "pm_val2real@routines.inc.F90"
     434             :     end procedure
     435             : #endif
     436             : 
     437             : #if RK4_ENABLED && SK1_ENABLED
     438           0 :     module procedure setRealDef_RK4_SK1
     439             :         use pm_kind, only: RKC => RK4, SKC => SK1
     440             : #include "pm_val2real@routines.inc.F90"
     441           0 :     end procedure
     442             : #endif
     443             : 
     444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     445             : 
     446             : #if RK3_ENABLED && SK5_ENABLED
     447             :     module procedure setRealDef_RK3_SK5
     448             :         use pm_kind, only: RKC => RK3, SKC => SK5
     449             : #include "pm_val2real@routines.inc.F90"
     450             :     end procedure
     451             : #endif
     452             : 
     453             : #if RK3_ENABLED && SK4_ENABLED
     454             :     module procedure setRealDef_RK3_SK4
     455             :         use pm_kind, only: RKC => RK3, SKC => SK4
     456             : #include "pm_val2real@routines.inc.F90"
     457             :     end procedure
     458             : #endif
     459             : 
     460             : #if RK3_ENABLED && SK3_ENABLED
     461             :     module procedure setRealDef_RK3_SK3
     462             :         use pm_kind, only: RKC => RK3, SKC => SK3
     463             : #include "pm_val2real@routines.inc.F90"
     464             :     end procedure
     465             : #endif
     466             : 
     467             : #if RK3_ENABLED && SK2_ENABLED
     468             :     module procedure setRealDef_RK3_SK2
     469             :         use pm_kind, only: RKC => RK3, SKC => SK2
     470             : #include "pm_val2real@routines.inc.F90"
     471             :     end procedure
     472             : #endif
     473             : 
     474             : #if RK3_ENABLED && SK1_ENABLED
     475           0 :     module procedure setRealDef_RK3_SK1
     476             :         use pm_kind, only: RKC => RK3, SKC => SK1
     477             : #include "pm_val2real@routines.inc.F90"
     478           0 :     end procedure
     479             : #endif
     480             : 
     481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     482             : 
     483             : #if RK2_ENABLED && SK5_ENABLED
     484             :     module procedure setRealDef_RK2_SK5
     485             :         use pm_kind, only: RKC => RK2, SKC => SK5
     486             : #include "pm_val2real@routines.inc.F90"
     487             :     end procedure
     488             : #endif
     489             : 
     490             : #if RK2_ENABLED && SK4_ENABLED
     491             :     module procedure setRealDef_RK2_SK4
     492             :         use pm_kind, only: RKC => RK2, SKC => SK4
     493             : #include "pm_val2real@routines.inc.F90"
     494             :     end procedure
     495             : #endif
     496             : 
     497             : #if RK2_ENABLED && SK3_ENABLED
     498             :     module procedure setRealDef_RK2_SK3
     499             :         use pm_kind, only: RKC => RK2, SKC => SK3
     500             : #include "pm_val2real@routines.inc.F90"
     501             :     end procedure
     502             : #endif
     503             : 
     504             : #if RK2_ENABLED && SK2_ENABLED
     505             :     module procedure setRealDef_RK2_SK2
     506             :         use pm_kind, only: RKC => RK2, SKC => SK2
     507             : #include "pm_val2real@routines.inc.F90"
     508             :     end procedure
     509             : #endif
     510             : 
     511             : #if RK2_ENABLED && SK1_ENABLED
     512           0 :     module procedure setRealDef_RK2_SK1
     513             :         use pm_kind, only: RKC => RK2, SKC => SK1
     514             : #include "pm_val2real@routines.inc.F90"
     515           0 :     end procedure
     516             : #endif
     517             : 
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             : 
     520             : #if RK1_ENABLED && SK5_ENABLED
     521             :     module procedure setRealDef_RK1_SK5
     522             :         use pm_kind, only: RKC => RK1, SKC => SK5
     523             : #include "pm_val2real@routines.inc.F90"
     524             :     end procedure
     525             : #endif
     526             : 
     527             : #if RK1_ENABLED && SK4_ENABLED
     528             :     module procedure setRealDef_RK1_SK4
     529             :         use pm_kind, only: RKC => RK1, SKC => SK4
     530             : #include "pm_val2real@routines.inc.F90"
     531             :     end procedure
     532             : #endif
     533             : 
     534             : #if RK1_ENABLED && SK3_ENABLED
     535             :     module procedure setRealDef_RK1_SK3
     536             :         use pm_kind, only: RKC => RK1, SKC => SK3
     537             : #include "pm_val2real@routines.inc.F90"
     538             :     end procedure
     539             : #endif
     540             : 
     541             : #if RK1_ENABLED && SK2_ENABLED
     542             :     module procedure setRealDef_RK1_SK2
     543             :         use pm_kind, only: RKC => RK1, SKC => SK2
     544             : #include "pm_val2real@routines.inc.F90"
     545             :     end procedure
     546             : #endif
     547             : 
     548             : #if RK1_ENABLED && SK1_ENABLED
     549           8 :     module procedure setRealDef_RK1_SK1
     550             :         use pm_kind, only: RKC => RK1, SKC => SK1
     551             : #include "pm_val2real@routines.inc.F90"
     552           8 :     end procedure
     553             : #endif
     554             : 
     555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     556             : 
     557             : #undef SK_ENABLED
     558             : 
     559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     561             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     562             : 
     563             : #define LK_ENABLED 1
     564             : 
     565             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     566             : 
     567             : #if RK5_ENABLED && LK5_ENABLED
     568             :     module procedure setRealDef_RK5_LK5
     569             :         use pm_kind, only: RKC => RK5, LKC => LK5
     570             : #include "pm_val2real@routines.inc.F90"
     571             :     end procedure
     572             : #endif
     573             : 
     574             : #if RK5_ENABLED && LK4_ENABLED
     575             :     module procedure setRealDef_RK5_LK4
     576             :         use pm_kind, only: RKC => RK5, LKC => LK4
     577             : #include "pm_val2real@routines.inc.F90"
     578             :     end procedure
     579             : #endif
     580             : 
     581             : #if RK5_ENABLED && LK3_ENABLED
     582             :     module procedure setRealDef_RK5_LK3
     583             :         use pm_kind, only: RKC => RK5, LKC => LK3
     584             : #include "pm_val2real@routines.inc.F90"
     585             :     end procedure
     586             : #endif
     587             : 
     588             : #if RK5_ENABLED && LK2_ENABLED
     589             :     module procedure setRealDef_RK5_LK2
     590             :         use pm_kind, only: RKC => RK5, LKC => LK2
     591             : #include "pm_val2real@routines.inc.F90"
     592             :     end procedure
     593             : #endif
     594             : 
     595             : #if RK5_ENABLED && LK1_ENABLED
     596             :     module procedure setRealDef_RK5_LK1
     597             :         use pm_kind, only: RKC => RK5, LKC => LK1
     598             : #include "pm_val2real@routines.inc.F90"
     599             :     end procedure
     600             : #endif
     601             : 
     602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     603             : 
     604             : #if RK4_ENABLED && LK5_ENABLED
     605           0 :     module procedure setRealDef_RK4_LK5
     606             :         use pm_kind, only: RKC => RK4, LKC => LK5
     607             : #include "pm_val2real@routines.inc.F90"
     608           0 :     end procedure
     609             : #endif
     610             : 
     611             : #if RK4_ENABLED && LK4_ENABLED
     612           0 :     module procedure setRealDef_RK4_LK4
     613             :         use pm_kind, only: RKC => RK4, LKC => LK4
     614             : #include "pm_val2real@routines.inc.F90"
     615           0 :     end procedure
     616             : #endif
     617             : 
     618             : #if RK4_ENABLED && LK3_ENABLED
     619           0 :     module procedure setRealDef_RK4_LK3
     620             :         use pm_kind, only: RKC => RK4, LKC => LK3
     621             : #include "pm_val2real@routines.inc.F90"
     622           0 :     end procedure
     623             : #endif
     624             : 
     625             : #if RK4_ENABLED && LK2_ENABLED
     626           0 :     module procedure setRealDef_RK4_LK2
     627             :         use pm_kind, only: RKC => RK4, LKC => LK2
     628             : #include "pm_val2real@routines.inc.F90"
     629           0 :     end procedure
     630             : #endif
     631             : 
     632             : #if RK4_ENABLED && LK1_ENABLED
     633           0 :     module procedure setRealDef_RK4_LK1
     634             :         use pm_kind, only: RKC => RK4, LKC => LK1
     635             : #include "pm_val2real@routines.inc.F90"
     636           0 :     end procedure
     637             : #endif
     638             : 
     639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     640             : 
     641             : #if RK3_ENABLED && LK5_ENABLED
     642           0 :     module procedure setRealDef_RK3_LK5
     643             :         use pm_kind, only: RKC => RK3, LKC => LK5
     644             : #include "pm_val2real@routines.inc.F90"
     645           0 :     end procedure
     646             : #endif
     647             : 
     648             : #if RK3_ENABLED && LK4_ENABLED
     649           0 :     module procedure setRealDef_RK3_LK4
     650             :         use pm_kind, only: RKC => RK3, LKC => LK4
     651             : #include "pm_val2real@routines.inc.F90"
     652           0 :     end procedure
     653             : #endif
     654             : 
     655             : #if RK3_ENABLED && LK3_ENABLED
     656           0 :     module procedure setRealDef_RK3_LK3
     657             :         use pm_kind, only: RKC => RK3, LKC => LK3
     658             : #include "pm_val2real@routines.inc.F90"
     659           0 :     end procedure
     660             : #endif
     661             : 
     662             : #if RK3_ENABLED && LK2_ENABLED
     663           0 :     module procedure setRealDef_RK3_LK2
     664             :         use pm_kind, only: RKC => RK3, LKC => LK2
     665             : #include "pm_val2real@routines.inc.F90"
     666           0 :     end procedure
     667             : #endif
     668             : 
     669             : #if RK3_ENABLED && LK1_ENABLED
     670           0 :     module procedure setRealDef_RK3_LK1
     671             :         use pm_kind, only: RKC => RK3, LKC => LK1
     672             : #include "pm_val2real@routines.inc.F90"
     673           0 :     end procedure
     674             : #endif
     675             : 
     676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     677             : 
     678             : #if RK2_ENABLED && LK5_ENABLED
     679           0 :     module procedure setRealDef_RK2_LK5
     680             :         use pm_kind, only: RKC => RK2, LKC => LK5
     681             : #include "pm_val2real@routines.inc.F90"
     682           0 :     end procedure
     683             : #endif
     684             : 
     685             : #if RK2_ENABLED && LK4_ENABLED
     686           0 :     module procedure setRealDef_RK2_LK4
     687             :         use pm_kind, only: RKC => RK2, LKC => LK4
     688             : #include "pm_val2real@routines.inc.F90"
     689           0 :     end procedure
     690             : #endif
     691             : 
     692             : #if RK2_ENABLED && LK3_ENABLED
     693           0 :     module procedure setRealDef_RK2_LK3
     694             :         use pm_kind, only: RKC => RK2, LKC => LK3
     695             : #include "pm_val2real@routines.inc.F90"
     696           0 :     end procedure
     697             : #endif
     698             : 
     699             : #if RK2_ENABLED && LK2_ENABLED
     700           0 :     module procedure setRealDef_RK2_LK2
     701             :         use pm_kind, only: RKC => RK2, LKC => LK2
     702             : #include "pm_val2real@routines.inc.F90"
     703           0 :     end procedure
     704             : #endif
     705             : 
     706             : #if RK2_ENABLED && LK1_ENABLED
     707           0 :     module procedure setRealDef_RK2_LK1
     708             :         use pm_kind, only: RKC => RK2, LKC => LK1
     709             : #include "pm_val2real@routines.inc.F90"
     710           0 :     end procedure
     711             : #endif
     712             : 
     713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     714             : 
     715             : #if RK1_ENABLED && LK5_ENABLED
     716           0 :     module procedure setRealDef_RK1_LK5
     717             :         use pm_kind, only: RKC => RK1, LKC => LK5
     718             : #include "pm_val2real@routines.inc.F90"
     719           0 :     end procedure
     720             : #endif
     721             : 
     722             : #if RK1_ENABLED && LK4_ENABLED
     723           0 :     module procedure setRealDef_RK1_LK4
     724             :         use pm_kind, only: RKC => RK1, LKC => LK4
     725             : #include "pm_val2real@routines.inc.F90"
     726           0 :     end procedure
     727             : #endif
     728             : 
     729             : #if RK1_ENABLED && LK3_ENABLED
     730           5 :     module procedure setRealDef_RK1_LK3
     731             :         use pm_kind, only: RKC => RK1, LKC => LK3
     732             : #include "pm_val2real@routines.inc.F90"
     733           5 :     end procedure
     734             : #endif
     735             : 
     736             : #if RK1_ENABLED && LK2_ENABLED
     737           0 :     module procedure setRealDef_RK1_LK2
     738             :         use pm_kind, only: RKC => RK1, LKC => LK2
     739             : #include "pm_val2real@routines.inc.F90"
     740           0 :     end procedure
     741             : #endif
     742             : 
     743             : #if RK1_ENABLED && LK1_ENABLED
     744           0 :     module procedure setRealDef_RK1_LK1
     745             :         use pm_kind, only: RKC => RK1, LKC => LK1
     746             : #include "pm_val2real@routines.inc.F90"
     747           0 :     end procedure
     748             : #endif
     749             : 
     750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     751             : 
     752             : #undef LK_ENABLED
     753             : 
     754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     757             : 
     758             : #undef Def_ENABLED
     759             : 
     760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     763             : 
     764             : #undef setReal_ENABLED
     765             : 
     766             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     767             : 
     768             : #undef CHECK_ASSERTION
     769             : 
     770             : end submodule routines

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