https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_distBeta@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 32 104 30.8 %
Date: 2024-04-08 03:18:57 Functions: 16 52 30.8 %
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_distBeta](@ref pm_distBeta).
      19             : !>
      20             : !>  \author
      21             : !>  \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
      22             : 
      23             : submodule (pm_distBeta) routines ! LCOV_EXCL_LINE
      24             : 
      25             : #if CHECK_ENABLED
      26             :     use pm_err, only: getFine
      27             :     use pm_val2str, only: getStr
      28             :     use pm_err, only: setAsserted
      29             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      30             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      31             : #else
      32             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      33             : #endif
      34             : 
      35             :     use pm_mathBeta, only: getLogBeta
      36             :     use pm_mathBeta, only: getBetaInc
      37             :     use pm_mathBeta, only: setBetaInc
      38             :     use pm_distUnif, only: setUnifRand
      39             :     use pm_distGamma, only: setGammaRand
      40             : 
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define getBetaPDF_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define RK_ENABLED 1
      58             : 
      59             : #if RK5_ENABLED
      60             :     module procedure getBetaPDF_RK5
      61             :         use pm_kind, only: RKC => RK5
      62             : #include "pm_distBeta@routines.inc.F90"
      63             :     end procedure
      64             : #endif
      65             : 
      66             : #if RK4_ENABLED
      67          36 :     module procedure getBetaPDF_RK4
      68             :         use pm_kind, only: RKC => RK4
      69             : #include "pm_distBeta@routines.inc.F90"
      70          36 :     end procedure
      71             : #endif
      72             : 
      73             : #if RK3_ENABLED
      74           0 :     module procedure getBetaPDF_RK3
      75             :         use pm_kind, only: RKC => RK3
      76             : #include "pm_distBeta@routines.inc.F90"
      77           0 :     end procedure
      78             : #endif
      79             : 
      80             : #if RK2_ENABLED
      81       59328 :     module procedure getBetaPDF_RK2
      82             :         use pm_kind, only: RKC => RK2
      83             : #include "pm_distBeta@routines.inc.F90"
      84       59328 :     end procedure
      85             : #endif
      86             : 
      87             : #if RK1_ENABLED
      88        4156 :     module procedure getBetaPDF_RK1
      89             :         use pm_kind, only: RKC => RK1
      90             : #include "pm_distBeta@routines.inc.F90"
      91        4156 :     end procedure
      92             : #endif
      93             : 
      94             : #undef RK_ENABLED
      95             : 
      96             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #undef getBetaPDF_ENABLED
      99             : 
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     105             : 
     106             : #define getBetaLogPDF_ENABLED 1
     107             : 
     108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             : 
     112             : #define DEFAULT_ENABLED 1
     113             : 
     114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     115             : 
     116             : #define RK_ENABLED 1
     117             : 
     118             : #if RK5_ENABLED
     119             :     module procedure getBetaLogPDFD_RK5
     120             :         use pm_kind, only: RKC => RK5
     121             : #include "pm_distBeta@routines.inc.F90"
     122             :     end procedure
     123             : #endif
     124             : 
     125             : #if RK4_ENABLED
     126        1149 :     module procedure getBetaLogPDFD_RK4
     127             :         use pm_kind, only: RKC => RK4
     128             : #include "pm_distBeta@routines.inc.F90"
     129        1149 :     end procedure
     130             : #endif
     131             : 
     132             : #if RK3_ENABLED
     133           0 :     module procedure getBetaLogPDFD_RK3
     134             :         use pm_kind, only: RKC => RK3
     135             : #include "pm_distBeta@routines.inc.F90"
     136           0 :     end procedure
     137             : #endif
     138             : 
     139             : #if RK2_ENABLED
     140           0 :     module procedure getBetaLogPDFD_RK2
     141             :         use pm_kind, only: RKC => RK2
     142             : #include "pm_distBeta@routines.inc.F90"
     143           0 :     end procedure
     144             : #endif
     145             : 
     146             : #if RK1_ENABLED
     147        4012 :     module procedure getBetaLogPDFD_RK1
     148             :         use pm_kind, only: RKC => RK1
     149             : #include "pm_distBeta@routines.inc.F90"
     150        4012 :     end procedure
     151             : #endif
     152             : 
     153             : #undef RK_ENABLED
     154             : 
     155             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     156             : 
     157             : #undef DEFAULT_ENABLED
     158             : 
     159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     162             : 
     163             : #define LOGBETA_ENABLED 1
     164             : 
     165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     166             : 
     167             : #define RK_ENABLED 1
     168             : 
     169             : #if RK5_ENABLED
     170             :     module procedure getBetaLogPDFL_RK5
     171             :         use pm_kind, only: RKC => RK5
     172             : #include "pm_distBeta@routines.inc.F90"
     173             :     end procedure
     174             : #endif
     175             : 
     176             : #if RK4_ENABLED
     177           0 :     module procedure getBetaLogPDFL_RK4
     178             :         use pm_kind, only: RKC => RK4
     179             : #include "pm_distBeta@routines.inc.F90"
     180           0 :     end procedure
     181             : #endif
     182             : 
     183             : #if RK3_ENABLED
     184           0 :     module procedure getBetaLogPDFL_RK3
     185             :         use pm_kind, only: RKC => RK3
     186             : #include "pm_distBeta@routines.inc.F90"
     187           0 :     end procedure
     188             : #endif
     189             : 
     190             : #if RK2_ENABLED
     191           0 :     module procedure getBetaLogPDFL_RK2
     192             :         use pm_kind, only: RKC => RK2
     193             : #include "pm_distBeta@routines.inc.F90"
     194           0 :     end procedure
     195             : #endif
     196             : 
     197             : #if RK1_ENABLED
     198           1 :     module procedure getBetaLogPDFL_RK1
     199             :         use pm_kind, only: RKC => RK1
     200             : #include "pm_distBeta@routines.inc.F90"
     201           1 :     end procedure
     202             : #endif
     203             : 
     204             : #undef RK_ENABLED
     205             : 
     206             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     207             : 
     208             : #undef LOGBETA_ENABLED
     209             : 
     210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     212             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     213             : 
     214             : #undef getBetaLogPDF_ENABLED
     215             : 
     216             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     217             : 
     218             : #define setBetaLogPDF_ENABLED 1
     219             : 
     220             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     221             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     223             : 
     224             : #define DEFAULT_ENABLED 1
     225             : 
     226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     227             : 
     228             : #define RK_ENABLED 1
     229             : 
     230             : #if RK5_ENABLED
     231             :     module procedure setBetaLogPDFD_RK5
     232             :         use pm_kind, only: RKC => RK5
     233             : #include "pm_distBeta@routines.inc.F90"
     234             :     end procedure
     235             : #endif
     236             : 
     237             : #if RK4_ENABLED
     238          34 :     module procedure setBetaLogPDFD_RK4
     239             :         use pm_kind, only: RKC => RK4
     240             : #include "pm_distBeta@routines.inc.F90"
     241          34 :     end procedure
     242             : #endif
     243             : 
     244             : #if RK3_ENABLED
     245           0 :     module procedure setBetaLogPDFD_RK3
     246             :         use pm_kind, only: RKC => RK3
     247             : #include "pm_distBeta@routines.inc.F90"
     248           0 :     end procedure
     249             : #endif
     250             : 
     251             : #if RK2_ENABLED
     252       59326 :     module procedure setBetaLogPDFD_RK2
     253             :         use pm_kind, only: RKC => RK2
     254             : #include "pm_distBeta@routines.inc.F90"
     255       59326 :     end procedure
     256             : #endif
     257             : 
     258             : #if RK1_ENABLED
     259        8166 :     module procedure setBetaLogPDFD_RK1
     260             :         use pm_kind, only: RKC => RK1
     261             : #include "pm_distBeta@routines.inc.F90"
     262        8166 :     end procedure
     263             : #endif
     264             : 
     265             : #undef RK_ENABLED
     266             : 
     267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     268             : 
     269             : #undef DEFAULT_ENABLED
     270             : 
     271             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     274             : 
     275             : #define LOGBETA_ENABLED 1
     276             : 
     277             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     278             : 
     279             : #define RK_ENABLED 1
     280             : 
     281             : #if RK5_ENABLED
     282             :     module procedure setBetaLogPDFL_RK5
     283             :         use pm_kind, only: RKC => RK5
     284             : #include "pm_distBeta@routines.inc.F90"
     285             :     end procedure
     286             : #endif
     287             : 
     288             : #if RK4_ENABLED
     289           0 :     module procedure setBetaLogPDFL_RK4
     290             :         use pm_kind, only: RKC => RK4
     291             : #include "pm_distBeta@routines.inc.F90"
     292           0 :     end procedure
     293             : #endif
     294             : 
     295             : #if RK3_ENABLED
     296           0 :     module procedure setBetaLogPDFL_RK3
     297             :         use pm_kind, only: RKC => RK3
     298             : #include "pm_distBeta@routines.inc.F90"
     299           0 :     end procedure
     300             : #endif
     301             : 
     302             : #if RK2_ENABLED
     303           0 :     module procedure setBetaLogPDFL_RK2
     304             :         use pm_kind, only: RKC => RK2
     305             : #include "pm_distBeta@routines.inc.F90"
     306           0 :     end procedure
     307             : #endif
     308             : 
     309             : #if RK1_ENABLED
     310           1 :     module procedure setBetaLogPDFL_RK1
     311             :         use pm_kind, only: RKC => RK1
     312             : #include "pm_distBeta@routines.inc.F90"
     313           1 :     end procedure
     314             : #endif
     315             : 
     316             : #undef RK_ENABLED
     317             : 
     318             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             : 
     320             : #undef LOGBETA_ENABLED
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     325             : 
     326             : #undef setBetaLogPDF_ENABLED
     327             : 
     328             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             : 
     330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     332             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     333             : 
     334             : #define getBetaCDF_ENABLED 1
     335             : 
     336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     337             : 
     338             : #define RK_ENABLED 1
     339             : 
     340             : #if RK5_ENABLED
     341             :     module procedure getBetaCDF_RK5
     342             :         use pm_kind, only: RKC => RK5
     343             : #include "pm_distBeta@routines.inc.F90"
     344             :     end procedure
     345             : #endif
     346             : 
     347             : #if RK4_ENABLED
     348           0 :     module procedure getBetaCDF_RK4
     349             :         use pm_kind, only: RKC => RK4
     350             : #include "pm_distBeta@routines.inc.F90"
     351           0 :     end procedure
     352             : #endif
     353             : 
     354             : #if RK3_ENABLED
     355           0 :     module procedure getBetaCDF_RK3
     356             :         use pm_kind, only: RKC => RK3
     357             : #include "pm_distBeta@routines.inc.F90"
     358           0 :     end procedure
     359             : #endif
     360             : 
     361             : #if RK2_ENABLED
     362        4009 :     module procedure getBetaCDF_RK2
     363             :         use pm_kind, only: RKC => RK2
     364             : #include "pm_distBeta@routines.inc.F90"
     365        4009 :     end procedure
     366             : #endif
     367             : 
     368             : #if RK1_ENABLED
     369           0 :     module procedure getBetaCDF_RK1
     370             :         use pm_kind, only: RKC => RK1
     371             : #include "pm_distBeta@routines.inc.F90"
     372           0 :     end procedure
     373             : #endif
     374             : 
     375             : #undef RK_ENABLED
     376             : 
     377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     378             : 
     379             : #undef getBetaCDF_ENABLED
     380             : 
     381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     384             : 
     385             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     386             : 
     387             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     390             : 
     391             : #define setBetaCDF_ENABLED 1
     392             : 
     393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     394             : 
     395             : #define RK_ENABLED 1
     396             : 
     397             : #if RK5_ENABLED
     398             :     module procedure setBetaCDF_RK5
     399             :         use pm_kind, only: RKC => RK5
     400             : #include "pm_distBeta@routines.inc.F90"
     401             :     end procedure
     402             : #endif
     403             : 
     404             : #if RK4_ENABLED
     405        4011 :     module procedure setBetaCDF_RK4
     406             :         use pm_kind, only: RKC => RK4
     407             : #include "pm_distBeta@routines.inc.F90"
     408        4011 :     end procedure
     409             : #endif
     410             : 
     411             : #if RK3_ENABLED
     412           0 :     module procedure setBetaCDF_RK3
     413             :         use pm_kind, only: RKC => RK3
     414             : #include "pm_distBeta@routines.inc.F90"
     415           0 :     end procedure
     416             : #endif
     417             : 
     418             : #if RK2_ENABLED
     419           0 :     module procedure setBetaCDF_RK2
     420             :         use pm_kind, only: RKC => RK2
     421             : #include "pm_distBeta@routines.inc.F90"
     422           0 :     end procedure
     423             : #endif
     424             : 
     425             : #if RK1_ENABLED
     426           0 :     module procedure setBetaCDF_RK1
     427             :         use pm_kind, only: RKC => RK1
     428             : #include "pm_distBeta@routines.inc.F90"
     429           0 :     end procedure
     430             : #endif
     431             : 
     432             : #undef RK_ENABLED
     433             : 
     434             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     435             : 
     436             : #undef setBetaCDF_ENABLED
     437             : 
     438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     441             : 
     442             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     443             : 
     444             : #define setBetaRand_ENABLED 1
     445             : 
     446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     449             : 
     450             : #define D0_ENABLED 1
     451             : 
     452             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     455             : 
     456             : #define RNGD_ENABLED 1
     457             : 
     458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     459             : 
     460             : #define RK_ENABLED 1
     461             : 
     462             : #if RK5_ENABLED
     463             :     module procedure setBetaRandRNGD_D0_RK5
     464             :         use pm_kind, only: RKC => RK5
     465             : #include "pm_distBeta@routines.inc.F90"
     466             :     end procedure
     467             : #endif
     468             : 
     469             : #if RK4_ENABLED
     470           0 :     module procedure setBetaRandRNGD_D0_RK4
     471             :         use pm_kind, only: RKC => RK4
     472             : #include "pm_distBeta@routines.inc.F90"
     473           0 :     end procedure
     474             : #endif
     475             : 
     476             : #if RK3_ENABLED
     477           0 :     module procedure setBetaRandRNGD_D0_RK3
     478             :         use pm_kind, only: RKC => RK3
     479             : #include "pm_distBeta@routines.inc.F90"
     480           0 :     end procedure
     481             : #endif
     482             : 
     483             : #if RK2_ENABLED
     484           0 :     module procedure setBetaRandRNGD_D0_RK2
     485             :         use pm_kind, only: RKC => RK2
     486             : #include "pm_distBeta@routines.inc.F90"
     487           0 :     end procedure
     488             : #endif
     489             : 
     490             : #if RK1_ENABLED
     491           5 :     module procedure setBetaRandRNGD_D0_RK1
     492             :         use pm_kind, only: RKC => RK1
     493             : #include "pm_distBeta@routines.inc.F90"
     494           5 :     end procedure
     495             : #endif
     496             : 
     497             : #undef RK_ENABLED
     498             : 
     499             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     500             : 
     501             : #undef RNGD_ENABLED
     502             : 
     503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     506             : 
     507             : #define RNGF_ENABLED 1
     508             : 
     509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     510             : 
     511             : #define RK_ENABLED 1
     512             : 
     513             : #if RK5_ENABLED
     514             :     module procedure setBetaRandRNGF_D0_RK5
     515             :         use pm_kind, only: RKC => RK5
     516             : #include "pm_distBeta@routines.inc.F90"
     517             :     end procedure
     518             : #endif
     519             : 
     520             : #if RK4_ENABLED
     521           0 :     module procedure setBetaRandRNGF_D0_RK4
     522             :         use pm_kind, only: RKC => RK4
     523             : #include "pm_distBeta@routines.inc.F90"
     524           0 :     end procedure
     525             : #endif
     526             : 
     527             : #if RK3_ENABLED
     528           0 :     module procedure setBetaRandRNGF_D0_RK3
     529             :         use pm_kind, only: RKC => RK3
     530             : #include "pm_distBeta@routines.inc.F90"
     531           0 :     end procedure
     532             : #endif
     533             : 
     534             : #if RK2_ENABLED
     535           0 :     module procedure setBetaRandRNGF_D0_RK2
     536             :         use pm_kind, only: RKC => RK2
     537             : #include "pm_distBeta@routines.inc.F90"
     538           0 :     end procedure
     539             : #endif
     540             : 
     541             : #if RK1_ENABLED
     542         218 :     module procedure setBetaRandRNGF_D0_RK1
     543             :         use pm_kind, only: RKC => RK1
     544             : #include "pm_distBeta@routines.inc.F90"
     545         218 :     end procedure
     546             : #endif
     547             : 
     548             : #undef RK_ENABLED
     549             : 
     550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     551             : 
     552             : #undef RNGF_ENABLED
     553             : 
     554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     557             : 
     558             : #define RNGX_ENABLED 1
     559             : 
     560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     561             : 
     562             : #define RK_ENABLED 1
     563             : 
     564             : #if RK5_ENABLED
     565             :     module procedure setBetaRandRNGX_D0_RK5
     566             :         use pm_kind, only: RKC => RK5
     567             : #include "pm_distBeta@routines.inc.F90"
     568             :     end procedure
     569             : #endif
     570             : 
     571             : #if RK4_ENABLED
     572           0 :     module procedure setBetaRandRNGX_D0_RK4
     573             :         use pm_kind, only: RKC => RK4
     574             : #include "pm_distBeta@routines.inc.F90"
     575           0 :     end procedure
     576             : #endif
     577             : 
     578             : #if RK3_ENABLED
     579           0 :     module procedure setBetaRandRNGX_D0_RK3
     580             :         use pm_kind, only: RKC => RK3
     581             : #include "pm_distBeta@routines.inc.F90"
     582           0 :     end procedure
     583             : #endif
     584             : 
     585             : #if RK2_ENABLED
     586           0 :     module procedure setBetaRandRNGX_D0_RK2
     587             :         use pm_kind, only: RKC => RK2
     588             : #include "pm_distBeta@routines.inc.F90"
     589           0 :     end procedure
     590             : #endif
     591             : 
     592             : #if RK1_ENABLED
     593           0 :     module procedure setBetaRandRNGX_D0_RK1
     594             :         use pm_kind, only: RKC => RK1
     595             : #include "pm_distBeta@routines.inc.F90"
     596           0 :     end procedure
     597             : #endif
     598             : 
     599             : #undef RK_ENABLED
     600             : 
     601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     602             : 
     603             : #undef RNGX_ENABLED
     604             : 
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     608             : 
     609             : #undef D0_ENABLED
     610             : 
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     614             : 
     615             : #define D1_ENABLED 1
     616             : 
     617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     620             : 
     621             : #define RNGD_ENABLED 1
     622             : 
     623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     624             : 
     625             : #define RK_ENABLED 1
     626             : 
     627             : #if RK5_ENABLED
     628             :     module procedure setBetaRandRNGD_D1_RK5
     629             :         use pm_kind, only: RKC => RK5
     630             : #include "pm_distBeta@routines.inc.F90"
     631             :     end procedure
     632             : #endif
     633             : 
     634             : #if RK4_ENABLED
     635           0 :     module procedure setBetaRandRNGD_D1_RK4
     636             :         use pm_kind, only: RKC => RK4
     637             : #include "pm_distBeta@routines.inc.F90"
     638           0 :     end procedure
     639             : #endif
     640             : 
     641             : #if RK3_ENABLED
     642           0 :     module procedure setBetaRandRNGD_D1_RK3
     643             :         use pm_kind, only: RKC => RK3
     644             : #include "pm_distBeta@routines.inc.F90"
     645           0 :     end procedure
     646             : #endif
     647             : 
     648             : #if RK2_ENABLED
     649           0 :     module procedure setBetaRandRNGD_D1_RK2
     650             :         use pm_kind, only: RKC => RK2
     651             : #include "pm_distBeta@routines.inc.F90"
     652           0 :     end procedure
     653             : #endif
     654             : 
     655             : #if RK1_ENABLED
     656           5 :     module procedure setBetaRandRNGD_D1_RK1
     657             :         use pm_kind, only: RKC => RK1
     658             : #include "pm_distBeta@routines.inc.F90"
     659           5 :     end procedure
     660             : #endif
     661             : 
     662             : #undef RK_ENABLED
     663             : 
     664             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     665             : 
     666             : #undef RNGD_ENABLED
     667             : 
     668             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     669             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     671             : 
     672             : #define RNGF_ENABLED 1
     673             : 
     674             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     675             : 
     676             : #define RK_ENABLED 1
     677             : 
     678             : #if RK5_ENABLED
     679             :     module procedure setBetaRandRNGF_D1_RK5
     680             :         use pm_kind, only: RKC => RK5
     681             : #include "pm_distBeta@routines.inc.F90"
     682             :     end procedure
     683             : #endif
     684             : 
     685             : #if RK4_ENABLED
     686           0 :     module procedure setBetaRandRNGF_D1_RK4
     687             :         use pm_kind, only: RKC => RK4
     688             : #include "pm_distBeta@routines.inc.F90"
     689           0 :     end procedure
     690             : #endif
     691             : 
     692             : #if RK3_ENABLED
     693           0 :     module procedure setBetaRandRNGF_D1_RK3
     694             :         use pm_kind, only: RKC => RK3
     695             : #include "pm_distBeta@routines.inc.F90"
     696           0 :     end procedure
     697             : #endif
     698             : 
     699             : #if RK2_ENABLED
     700           0 :     module procedure setBetaRandRNGF_D1_RK2
     701             :         use pm_kind, only: RKC => RK2
     702             : #include "pm_distBeta@routines.inc.F90"
     703           0 :     end procedure
     704             : #endif
     705             : 
     706             : #if RK1_ENABLED
     707           0 :     module procedure setBetaRandRNGF_D1_RK1
     708             :         use pm_kind, only: RKC => RK1
     709             : #include "pm_distBeta@routines.inc.F90"
     710           0 :     end procedure
     711             : #endif
     712             : 
     713             : #undef RK_ENABLED
     714             : 
     715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     716             : 
     717             : #undef RNGF_ENABLED
     718             : 
     719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     720             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     722             : 
     723             : #define RNGX_ENABLED 1
     724             : 
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #define RK_ENABLED 1
     728             : 
     729             : #if RK5_ENABLED
     730             :     module procedure setBetaRandRNGX_D1_RK5
     731             :         use pm_kind, only: RKC => RK5
     732             : #include "pm_distBeta@routines.inc.F90"
     733             :     end procedure
     734             : #endif
     735             : 
     736             : #if RK4_ENABLED
     737           0 :     module procedure setBetaRandRNGX_D1_RK4
     738             :         use pm_kind, only: RKC => RK4
     739             : #include "pm_distBeta@routines.inc.F90"
     740           0 :     end procedure
     741             : #endif
     742             : 
     743             : #if RK3_ENABLED
     744           0 :     module procedure setBetaRandRNGX_D1_RK3
     745             :         use pm_kind, only: RKC => RK3
     746             : #include "pm_distBeta@routines.inc.F90"
     747           0 :     end procedure
     748             : #endif
     749             : 
     750             : #if RK2_ENABLED
     751           0 :     module procedure setBetaRandRNGX_D1_RK2
     752             :         use pm_kind, only: RKC => RK2
     753             : #include "pm_distBeta@routines.inc.F90"
     754           0 :     end procedure
     755             : #endif
     756             : 
     757             : #if RK1_ENABLED
     758           1 :     module procedure setBetaRandRNGX_D1_RK1
     759             :         use pm_kind, only: RKC => RK1
     760             : #include "pm_distBeta@routines.inc.F90"
     761           1 :     end procedure
     762             : #endif
     763             : 
     764             : #undef RK_ENABLED
     765             : 
     766             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     767             : 
     768             : #undef RNGX_ENABLED
     769             : 
     770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     772             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     773             : 
     774             : #undef D1_ENABLED
     775             : 
     776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             : 
     780             : #undef setBetaRand_ENABLED
     781             : 
     782             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     783             : 
     784             : #undef CHECK_ASSERTION
     785             : 
     786             : end submodule routines

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