https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_distExp@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 104 104 100.0 %
Date: 2024-04-08 03:18:57 Functions: 52 52 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_distExp](@ref pm_distExp).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_distExp) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_distUnif, only: setUnifRand
      40             :     implicit none
      41             : 
      42             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : contains
      45             : 
      46             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      47             : 
      48             : #define getExpLogPDF_ENABLED 1
      49             : 
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define XMI_ENABLED 1
      55             : 
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             : 
      58             : #define RK_ENABLED 1
      59             : 
      60             : #if RK5_ENABLED
      61             :     module procedure getExpLogPDFXMI_RK5
      62             :         use pm_kind, only: TKC => RK5
      63             : #include "pm_distExp@routines.inc.F90"
      64             :     end procedure
      65             : #endif
      66             : 
      67             : #if RK4_ENABLED
      68        1420 :     module procedure getExpLogPDFXMI_RK4
      69             :         use pm_kind, only: TKC => RK4
      70             : #include "pm_distExp@routines.inc.F90"
      71        1420 :     end procedure
      72             : #endif
      73             : 
      74             : #if RK3_ENABLED
      75         231 :     module procedure getExpLogPDFXMI_RK3
      76             :         use pm_kind, only: TKC => RK3
      77             : #include "pm_distExp@routines.inc.F90"
      78         231 :     end procedure
      79             : #endif
      80             : 
      81             : #if RK2_ENABLED
      82         282 :     module procedure getExpLogPDFXMI_RK2
      83             :         use pm_kind, only: TKC => RK2
      84             : #include "pm_distExp@routines.inc.F90"
      85         282 :     end procedure
      86             : #endif
      87             : 
      88             : #if RK1_ENABLED
      89        2302 :     module procedure getExpLogPDFXMI_RK1
      90             :         use pm_kind, only: TKC => RK1
      91             : #include "pm_distExp@routines.inc.F90"
      92        2302 :     end procedure
      93             : #endif
      94             : 
      95             : #undef RK_ENABLED
      96             : 
      97             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      98             : 
      99             : #undef XMI_ENABLED
     100             : 
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     104             : 
     105             : #undef getExpLogPDF_ENABLED
     106             : 
     107             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             : 
     109             : #define setExpLogPDF_ENABLED 1
     110             : 
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     114             : 
     115             : #define XDD_ENABLED 1
     116             : 
     117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     118             : 
     119             : #define RK_ENABLED 1
     120             : 
     121             : #if RK5_ENABLED
     122             :     module procedure setExpLogPDFXDD_RK5
     123             :         use pm_kind, only: TKC => RK5
     124             : #include "pm_distExp@routines.inc.F90"
     125             :     end procedure
     126             : #endif
     127             : 
     128             : #if RK4_ENABLED
     129        1194 :     module procedure setExpLogPDFXDD_RK4
     130             :         use pm_kind, only: TKC => RK4
     131             : #include "pm_distExp@routines.inc.F90"
     132        1194 :     end procedure
     133             : #endif
     134             : 
     135             : #if RK3_ENABLED
     136          47 :     module procedure setExpLogPDFXDD_RK3
     137             :         use pm_kind, only: TKC => RK3
     138             : #include "pm_distExp@routines.inc.F90"
     139          47 :     end procedure
     140             : #endif
     141             : 
     142             : #if RK2_ENABLED
     143          53 :     module procedure setExpLogPDFXDD_RK2
     144             :         use pm_kind, only: TKC => RK2
     145             : #include "pm_distExp@routines.inc.F90"
     146          53 :     end procedure
     147             : #endif
     148             : 
     149             : #if RK1_ENABLED
     150          56 :     module procedure setExpLogPDFXDD_RK1
     151             :         use pm_kind, only: TKC => RK1
     152             : #include "pm_distExp@routines.inc.F90"
     153          56 :     end procedure
     154             : #endif
     155             : 
     156             : #undef RK_ENABLED
     157             : 
     158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     159             : 
     160             : #undef XDD_ENABLED
     161             : 
     162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     165             : 
     166             : #define XMD_ENABLED 1
     167             : 
     168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     169             : 
     170             : #define RK_ENABLED 1
     171             : 
     172             : #if RK5_ENABLED
     173             :     module procedure setExpLogPDFXMD_RK5
     174             :         use pm_kind, only: TKC => RK5
     175             : #include "pm_distExp@routines.inc.F90"
     176             :     end procedure
     177             : #endif
     178             : 
     179             : #if RK4_ENABLED
     180          50 :     module procedure setExpLogPDFXMD_RK4
     181             :         use pm_kind, only: TKC => RK4
     182             : #include "pm_distExp@routines.inc.F90"
     183          50 :     end procedure
     184             : #endif
     185             : 
     186             : #if RK3_ENABLED
     187          52 :     module procedure setExpLogPDFXMD_RK3
     188             :         use pm_kind, only: TKC => RK3
     189             : #include "pm_distExp@routines.inc.F90"
     190          52 :     end procedure
     191             : #endif
     192             : 
     193             : #if RK2_ENABLED
     194          50 :     module procedure setExpLogPDFXMD_RK2
     195             :         use pm_kind, only: TKC => RK2
     196             : #include "pm_distExp@routines.inc.F90"
     197          50 :     end procedure
     198             : #endif
     199             : 
     200             : #if RK1_ENABLED
     201          57 :     module procedure setExpLogPDFXMD_RK1
     202             :         use pm_kind, only: TKC => RK1
     203             : #include "pm_distExp@routines.inc.F90"
     204          57 :     end procedure
     205             : #endif
     206             : 
     207             : #undef RK_ENABLED
     208             : 
     209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     210             : 
     211             : #undef XMD_ENABLED
     212             : 
     213             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     214             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     216             : 
     217             : #define XDI_ENABLED 1
     218             : 
     219             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     220             : 
     221             : #define RK_ENABLED 1
     222             : 
     223             : #if RK5_ENABLED
     224             :     module procedure setExpLogPDFXDI_RK5
     225             :         use pm_kind, only: TKC => RK5
     226             : #include "pm_distExp@routines.inc.F90"
     227             :     end procedure
     228             : #endif
     229             : 
     230             : #if RK4_ENABLED
     231         145 :     module procedure setExpLogPDFXDI_RK4
     232             :         use pm_kind, only: TKC => RK4
     233             : #include "pm_distExp@routines.inc.F90"
     234         145 :     end procedure
     235             : #endif
     236             : 
     237             : #if RK3_ENABLED
     238          88 :     module procedure setExpLogPDFXDI_RK3
     239             :         use pm_kind, only: TKC => RK3
     240             : #include "pm_distExp@routines.inc.F90"
     241          88 :     end procedure
     242             : #endif
     243             : 
     244             : #if RK2_ENABLED
     245         153 :     module procedure setExpLogPDFXDI_RK2
     246             :         use pm_kind, only: TKC => RK2
     247             : #include "pm_distExp@routines.inc.F90"
     248         153 :     end procedure
     249             : #endif
     250             : 
     251             : #if RK1_ENABLED
     252         158 :     module procedure setExpLogPDFXDI_RK1
     253             :         use pm_kind, only: TKC => RK1
     254             : #include "pm_distExp@routines.inc.F90"
     255         158 :     end procedure
     256             : #endif
     257             : 
     258             : #undef RK_ENABLED
     259             : 
     260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     261             : 
     262             : #undef XDI_ENABLED
     263             : 
     264             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     265             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     267             : 
     268             : #define XMI_ENABLED 1
     269             : 
     270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     271             : 
     272             : #define RK_ENABLED 1
     273             : 
     274             : #if RK5_ENABLED
     275             :     module procedure setExpLogPDFXMI_RK5
     276             :         use pm_kind, only: TKC => RK5
     277             : #include "pm_distExp@routines.inc.F90"
     278             :     end procedure
     279             : #endif
     280             : 
     281             : #if RK4_ENABLED
     282         200 :     module procedure setExpLogPDFXMI_RK4
     283             :         use pm_kind, only: TKC => RK4
     284             : #include "pm_distExp@routines.inc.F90"
     285         200 :     end procedure
     286             : #endif
     287             : 
     288             : #if RK3_ENABLED
     289         200 :     module procedure setExpLogPDFXMI_RK3
     290             :         use pm_kind, only: TKC => RK3
     291             : #include "pm_distExp@routines.inc.F90"
     292         200 :     end procedure
     293             : #endif
     294             : 
     295             : #if RK2_ENABLED
     296         200 :     module procedure setExpLogPDFXMI_RK2
     297             :         use pm_kind, only: TKC => RK2
     298             : #include "pm_distExp@routines.inc.F90"
     299         200 :     end procedure
     300             : #endif
     301             : 
     302             : #if RK1_ENABLED
     303        4208 :     module procedure setExpLogPDFXMI_RK1
     304             :         use pm_kind, only: TKC => RK1
     305             : #include "pm_distExp@routines.inc.F90"
     306        4208 :     end procedure
     307             : #endif
     308             : 
     309             : #undef RK_ENABLED
     310             : 
     311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #undef XMI_ENABLED
     314             : 
     315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     318             : 
     319             : #undef setExpLogPDF_ENABLED
     320             : 
     321             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             : 
     323             : #define getExpCDF_ENABLED 1
     324             : 
     325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #define XMI_ENABLED 1
     330             : 
     331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     332             : 
     333             : #define RK_ENABLED 1
     334             : 
     335             : #if RK5_ENABLED
     336             :     module procedure getExpCDFXMI_RK5
     337             :         use pm_kind, only: TKC => RK5
     338             : #include "pm_distExp@routines.inc.F90"
     339             :     end procedure
     340             : #endif
     341             : 
     342             : #if RK4_ENABLED
     343         231 :     module procedure getExpCDFXMI_RK4
     344             :         use pm_kind, only: TKC => RK4
     345             : #include "pm_distExp@routines.inc.F90"
     346         231 :     end procedure
     347             : #endif
     348             : 
     349             : #if RK3_ENABLED
     350         233 :     module procedure getExpCDFXMI_RK3
     351             :         use pm_kind, only: TKC => RK3
     352             : #include "pm_distExp@routines.inc.F90"
     353         233 :     end procedure
     354             : #endif
     355             : 
     356             : #if RK2_ENABLED
     357         236 :     module procedure getExpCDFXMI_RK2
     358             :         use pm_kind, only: TKC => RK2
     359             : #include "pm_distExp@routines.inc.F90"
     360         236 :     end procedure
     361             : #endif
     362             : 
     363             : #if RK1_ENABLED
     364        2249 :     module procedure getExpCDFXMI_RK1
     365             :         use pm_kind, only: TKC => RK1
     366             : #include "pm_distExp@routines.inc.F90"
     367        2249 :     end procedure
     368             : #endif
     369             : 
     370             : #undef RK_ENABLED
     371             : 
     372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     373             : 
     374             : #undef XMI_ENABLED
     375             : 
     376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     379             : 
     380             : #undef getExpCDF_ENABLED
     381             : 
     382             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     383             : 
     384             : #define setExpCDF_ENABLED 1
     385             : 
     386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     389             : 
     390             : #define XDD_ENABLED 1
     391             : 
     392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     393             : 
     394             : #define RK_ENABLED 1
     395             : 
     396             : #if RK5_ENABLED
     397             :     module procedure setExpCDFXDD_RK5
     398             :         use pm_kind, only: TKC => RK5
     399             : #include "pm_distExp@routines.inc.F90"
     400             :     end procedure
     401             : #endif
     402             : 
     403             : #if RK4_ENABLED
     404         103 :     module procedure setExpCDFXDD_RK4
     405             :         use pm_kind, only: TKC => RK4
     406             : #include "pm_distExp@routines.inc.F90"
     407         103 :     end procedure
     408             : #endif
     409             : 
     410             : #if RK3_ENABLED
     411         116 :     module procedure setExpCDFXDD_RK3
     412             :         use pm_kind, only: TKC => RK3
     413             : #include "pm_distExp@routines.inc.F90"
     414         116 :     end procedure
     415             : #endif
     416             : 
     417             : #if RK2_ENABLED
     418         108 :     module procedure setExpCDFXDD_RK2
     419             :         use pm_kind, only: TKC => RK2
     420             : #include "pm_distExp@routines.inc.F90"
     421         108 :     end procedure
     422             : #endif
     423             : 
     424             : #if RK1_ENABLED
     425         118 :     module procedure setExpCDFXDD_RK1
     426             :         use pm_kind, only: TKC => RK1
     427             : #include "pm_distExp@routines.inc.F90"
     428         118 :     end procedure
     429             : #endif
     430             : 
     431             : #undef RK_ENABLED
     432             : 
     433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     434             : 
     435             : #undef XDD_ENABLED
     436             : 
     437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     440             : 
     441             : #define XDI_ENABLED 1
     442             : 
     443             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     444             : 
     445             : #define RK_ENABLED 1
     446             : 
     447             : #if RK5_ENABLED
     448             :     module procedure setExpCDFXDI_RK5
     449             :         use pm_kind, only: TKC => RK5
     450             : #include "pm_distExp@routines.inc.F90"
     451             :     end procedure
     452             : #endif
     453             : 
     454             : #if RK4_ENABLED
     455         104 :     module procedure setExpCDFXDI_RK4
     456             :         use pm_kind, only: TKC => RK4
     457             : #include "pm_distExp@routines.inc.F90"
     458         104 :     end procedure
     459             : #endif
     460             : 
     461             : #if RK3_ENABLED
     462         106 :     module procedure setExpCDFXDI_RK3
     463             :         use pm_kind, only: TKC => RK3
     464             : #include "pm_distExp@routines.inc.F90"
     465         106 :     end procedure
     466             : #endif
     467             : 
     468             : #if RK2_ENABLED
     469          97 :     module procedure setExpCDFXDI_RK2
     470             :         use pm_kind, only: TKC => RK2
     471             : #include "pm_distExp@routines.inc.F90"
     472          97 :     end procedure
     473             : #endif
     474             : 
     475             : #if RK1_ENABLED
     476         103 :     module procedure setExpCDFXDI_RK1
     477             :         use pm_kind, only: TKC => RK1
     478             : #include "pm_distExp@routines.inc.F90"
     479         103 :     end procedure
     480             : #endif
     481             : 
     482             : #undef RK_ENABLED
     483             : 
     484             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             : 
     486             : #undef XDI_ENABLED
     487             : 
     488             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     490             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     491             : 
     492             : #define XMI_ENABLED 1
     493             : 
     494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     495             : 
     496             : #define RK_ENABLED 1
     497             : 
     498             : #if RK5_ENABLED
     499             :     module procedure setExpCDFXMI_RK5
     500             :         use pm_kind, only: TKC => RK5
     501             : #include "pm_distExp@routines.inc.F90"
     502             :     end procedure
     503             : #endif
     504             : 
     505             : #if RK4_ENABLED
     506         200 :     module procedure setExpCDFXMI_RK4
     507             :         use pm_kind, only: TKC => RK4
     508             : #include "pm_distExp@routines.inc.F90"
     509         200 :     end procedure
     510             : #endif
     511             : 
     512             : #if RK3_ENABLED
     513         200 :     module procedure setExpCDFXMI_RK3
     514             :         use pm_kind, only: TKC => RK3
     515             : #include "pm_distExp@routines.inc.F90"
     516         200 :     end procedure
     517             : #endif
     518             : 
     519             : #if RK2_ENABLED
     520         200 :     module procedure setExpCDFXMI_RK2
     521             :         use pm_kind, only: TKC => RK2
     522             : #include "pm_distExp@routines.inc.F90"
     523         200 :     end procedure
     524             : #endif
     525             : 
     526             : #if RK1_ENABLED
     527        4208 :     module procedure setExpCDFXMI_RK1
     528             :         use pm_kind, only: TKC => RK1
     529             : #include "pm_distExp@routines.inc.F90"
     530        4208 :     end procedure
     531             : #endif
     532             : 
     533             : #undef RK_ENABLED
     534             : 
     535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     536             : 
     537             : #undef XMI_ENABLED
     538             : 
     539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     540             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     542             : 
     543             : #undef setExpCDF_ENABLED
     544             : 
     545             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     546             : 
     547             : #define getExpRand_ENABLED 1
     548             : 
     549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     552             : 
     553             : #define SM_ENABLED 1
     554             : 
     555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     556             : 
     557             : #define RK_ENABLED 1
     558             : 
     559             : #if RK5_ENABLED
     560             :     module procedure getExpRandSM_RK5
     561             :         use pm_kind, only: TKC => RK5
     562             : #include "pm_distExp@routines.inc.F90"
     563             :     end procedure
     564             : #endif
     565             : 
     566             : #if RK4_ENABLED
     567      100000 :     module procedure getExpRandSM_RK4
     568             :         use pm_kind, only: TKC => RK4
     569             : #include "pm_distExp@routines.inc.F90"
     570      100000 :     end procedure
     571             : #endif
     572             : 
     573             : #if RK3_ENABLED
     574      100000 :     module procedure getExpRandSM_RK3
     575             :         use pm_kind, only: TKC => RK3
     576             : #include "pm_distExp@routines.inc.F90"
     577      100000 :     end procedure
     578             : #endif
     579             : 
     580             : #if RK2_ENABLED
     581      100000 :     module procedure getExpRandSM_RK2
     582             :         use pm_kind, only: TKC => RK2
     583             : #include "pm_distExp@routines.inc.F90"
     584      100000 :     end procedure
     585             : #endif
     586             : 
     587             : #if RK1_ENABLED
     588      102006 :     module procedure getExpRandSM_RK1
     589             :         use pm_kind, only: TKC => RK1
     590             : #include "pm_distExp@routines.inc.F90"
     591      102006 :     end procedure
     592             : #endif
     593             : 
     594             : #undef RK_ENABLED
     595             : 
     596             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     597             : 
     598             : #undef SM_ENABLED
     599             : 
     600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     602             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     603             : 
     604             : #undef getExpRand_ENABLED
     605             : 
     606             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             : 
     608             : #define setExpRand_ENABLED 1
     609             : 
     610             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     613             : 
     614             : #define DD_ENABLED 1
     615             : 
     616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     617             : 
     618             : #define RK_ENABLED 1
     619             : 
     620             : #if RK5_ENABLED
     621             :     module procedure setExpRandDD_RK5
     622             :         use pm_kind, only: TKC => RK5
     623             : #include "pm_distExp@routines.inc.F90"
     624             :     end procedure
     625             : #endif
     626             : 
     627             : #if RK4_ENABLED
     628       10000 :     module procedure setExpRandDD_RK4
     629             :         use pm_kind, only: TKC => RK4
     630             : #include "pm_distExp@routines.inc.F90"
     631       10000 :     end procedure
     632             : #endif
     633             : 
     634             : #if RK3_ENABLED
     635       10000 :     module procedure setExpRandDD_RK3
     636             :         use pm_kind, only: TKC => RK3
     637             : #include "pm_distExp@routines.inc.F90"
     638       10000 :     end procedure
     639             : #endif
     640             : 
     641             : #if RK2_ENABLED
     642       10000 :     module procedure setExpRandDD_RK2
     643             :         use pm_kind, only: TKC => RK2
     644             : #include "pm_distExp@routines.inc.F90"
     645       10000 :     end procedure
     646             : #endif
     647             : 
     648             : #if RK1_ENABLED
     649       10031 :     module procedure setExpRandDD_RK1
     650             :         use pm_kind, only: TKC => RK1
     651             : #include "pm_distExp@routines.inc.F90"
     652       10031 :     end procedure
     653             : #endif
     654             : 
     655             : #undef RK_ENABLED
     656             : 
     657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     658             : 
     659             : #undef DD_ENABLED
     660             : 
     661             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     662             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     664             : 
     665             : #define SD_ENABLED 1
     666             : 
     667             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     668             : 
     669             : #define RK_ENABLED 1
     670             : 
     671             : #if RK5_ENABLED
     672             :     module procedure setExpRandSD_RK5
     673             :         use pm_kind, only: TKC => RK5
     674             : #include "pm_distExp@routines.inc.F90"
     675             :     end procedure
     676             : #endif
     677             : 
     678             : #if RK4_ENABLED
     679      150000 :     module procedure setExpRandSD_RK4
     680             :         use pm_kind, only: TKC => RK4
     681             : #include "pm_distExp@routines.inc.F90"
     682      150000 :     end procedure
     683             : #endif
     684             : 
     685             : #if RK3_ENABLED
     686      150000 :     module procedure setExpRandSD_RK3
     687             :         use pm_kind, only: TKC => RK3
     688             : #include "pm_distExp@routines.inc.F90"
     689      150000 :     end procedure
     690             : #endif
     691             : 
     692             : #if RK2_ENABLED
     693      150000 :     module procedure setExpRandSD_RK2
     694             :         use pm_kind, only: TKC => RK2
     695             : #include "pm_distExp@routines.inc.F90"
     696      150000 :     end procedure
     697             : #endif
     698             : 
     699             : #if RK1_ENABLED
     700      152037 :     module procedure setExpRandSD_RK1
     701             :         use pm_kind, only: TKC => RK1
     702             : #include "pm_distExp@routines.inc.F90"
     703      152037 :     end procedure
     704             : #endif
     705             : 
     706             : #undef RK_ENABLED
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             : 
     710             : #undef SD_ENABLED
     711             : 
     712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     715             : 
     716             : #define SM_ENABLED 1
     717             : 
     718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     719             : 
     720             : #define RK_ENABLED 1
     721             : 
     722             : #if RK5_ENABLED
     723             :     module procedure setExpRandSM_RK5
     724             :         use pm_kind, only: TKC => RK5
     725             : #include "pm_distExp@routines.inc.F90"
     726             :     end procedure
     727             : #endif
     728             : 
     729             : #if RK4_ENABLED
     730       50000 :     module procedure setExpRandSM_RK4
     731             :         use pm_kind, only: TKC => RK4
     732             : #include "pm_distExp@routines.inc.F90"
     733       50000 :     end procedure
     734             : #endif
     735             : 
     736             : #if RK3_ENABLED
     737       50000 :     module procedure setExpRandSM_RK3
     738             :         use pm_kind, only: TKC => RK3
     739             : #include "pm_distExp@routines.inc.F90"
     740       50000 :     end procedure
     741             : #endif
     742             : 
     743             : #if RK2_ENABLED
     744       50000 :     module procedure setExpRandSM_RK2
     745             :         use pm_kind, only: TKC => RK2
     746             : #include "pm_distExp@routines.inc.F90"
     747       50000 :     end procedure
     748             : #endif
     749             : 
     750             : #if RK1_ENABLED
     751       52000 :     module procedure setExpRandSM_RK1
     752             :         use pm_kind, only: TKC => RK1
     753             : #include "pm_distExp@routines.inc.F90"
     754       52000 :     end procedure
     755             : #endif
     756             : 
     757             : #undef RK_ENABLED
     758             : 
     759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761             : #undef SM_ENABLED
     762             : 
     763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     766             : 
     767             : #undef setExpRand_ENABLED
     768             : 
     769             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     770             : 
     771             : #undef CHECK_ASSERTION
     772             : 
     773             : end submodule routines

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