https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_distGeom@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 20 96 20.8 %
Date: 2024-04-08 03:18:57 Functions: 10 48 20.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_distGeom](@ref pm_distGeom).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_distGeom) 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             :     use pm_math1mexp, only: get1mexp
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define getGeomLogPMF_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define RK_ENABLED 1
      54             : 
      55             : #if RK5_ENABLED
      56             :     module procedure getGeomLogPMF_RK5
      57             :         use pm_kind, only: RKC => RK5
      58             : #include "pm_distGeom@routines.inc.F90"
      59             :     end procedure
      60             : #endif
      61             : 
      62             : #if RK4_ENABLED
      63           0 :     module procedure getGeomLogPMF_RK4
      64             :         use pm_kind, only: RKC => RK4
      65             : #include "pm_distGeom@routines.inc.F90"
      66           0 :     end procedure
      67             : #endif
      68             : 
      69             : #if RK3_ENABLED
      70           0 :     module procedure getGeomLogPMF_RK3
      71             :         use pm_kind, only: RKC => RK3
      72             : #include "pm_distGeom@routines.inc.F90"
      73           0 :     end procedure
      74             : #endif
      75             : 
      76             : #if RK2_ENABLED
      77          50 :     module procedure getGeomLogPMF_RK2
      78             :         use pm_kind, only: RKC => RK2
      79             : #include "pm_distGeom@routines.inc.F90"
      80          50 :     end procedure
      81             : #endif
      82             : 
      83             : #if RK1_ENABLED
      84           0 :     module procedure getGeomLogPMF_RK1
      85             :         use pm_kind, only: RKC => RK1
      86             : #include "pm_distGeom@routines.inc.F90"
      87           0 :     end procedure
      88             : #endif
      89             : 
      90             : #undef RK_ENABLED
      91             : 
      92             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      93             : 
      94             : #undef getGeomLogPMF_ENABLED
      95             : 
      96             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #define setGeomLogPMF_ENABLED 1
      99             : 
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : #define Def_ENABLED 1
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #define RK_ENABLED 1
     109             : 
     110             : #if RK5_ENABLED
     111             :     module procedure setGeomLogPMFDef_RK5
     112             :         use pm_kind, only: RKC => RK5
     113             : #include "pm_distGeom@routines.inc.F90"
     114             :     end procedure
     115             : #endif
     116             : 
     117             : #if RK4_ENABLED
     118           0 :     module procedure setGeomLogPMFDef_RK4
     119             :         use pm_kind, only: RKC => RK4
     120             : #include "pm_distGeom@routines.inc.F90"
     121           0 :     end procedure
     122             : #endif
     123             : 
     124             : #if RK3_ENABLED
     125           0 :     module procedure setGeomLogPMFDef_RK3
     126             :         use pm_kind, only: RKC => RK3
     127             : #include "pm_distGeom@routines.inc.F90"
     128           0 :     end procedure
     129             : #endif
     130             : 
     131             : #if RK2_ENABLED
     132          97 :     module procedure setGeomLogPMFDef_RK2
     133             :         use pm_kind, only: RKC => RK2
     134             : #include "pm_distGeom@routines.inc.F90"
     135          97 :     end procedure
     136             : #endif
     137             : 
     138             : #if RK1_ENABLED
     139           0 :     module procedure setGeomLogPMFDef_RK1
     140             :         use pm_kind, only: RKC => RK1
     141             : #include "pm_distGeom@routines.inc.F90"
     142           0 :     end procedure
     143             : #endif
     144             : 
     145             : #undef RK_ENABLED
     146             : 
     147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     148             : 
     149             : #undef Def_ENABLED
     150             : 
     151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     154             : 
     155             : #define Log_ENABLED 1
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #define RK_ENABLED 1
     160             : 
     161             : #if RK5_ENABLED
     162             :     module procedure setGeomLogPMFLog_RK5
     163             :         use pm_kind, only: RKC => RK5
     164             : #include "pm_distGeom@routines.inc.F90"
     165             :     end procedure
     166             : #endif
     167             : 
     168             : #if RK4_ENABLED
     169           0 :     module procedure setGeomLogPMFLog_RK4
     170             :         use pm_kind, only: RKC => RK4
     171             : #include "pm_distGeom@routines.inc.F90"
     172           0 :     end procedure
     173             : #endif
     174             : 
     175             : #if RK3_ENABLED
     176           0 :     module procedure setGeomLogPMFLog_RK3
     177             :         use pm_kind, only: RKC => RK3
     178             : #include "pm_distGeom@routines.inc.F90"
     179           0 :     end procedure
     180             : #endif
     181             : 
     182             : #if RK2_ENABLED
     183           3 :     module procedure setGeomLogPMFLog_RK2
     184             :         use pm_kind, only: RKC => RK2
     185             : #include "pm_distGeom@routines.inc.F90"
     186           3 :     end procedure
     187             : #endif
     188             : 
     189             : #if RK1_ENABLED
     190           0 :     module procedure setGeomLogPMFLog_RK1
     191             :         use pm_kind, only: RKC => RK1
     192             : #include "pm_distGeom@routines.inc.F90"
     193           0 :     end procedure
     194             : #endif
     195             : 
     196             : #undef RK_ENABLED
     197             : 
     198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     199             : 
     200             : #undef Log_ENABLED
     201             : 
     202             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     205             : 
     206             : #undef setGeomLogPMF_ENABLED
     207             : 
     208             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     209             : 
     210             : #define getGeomCDF_ENABLED 1
     211             : 
     212             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     213             : 
     214             : #define RK_ENABLED 1
     215             : 
     216             : #if RK5_ENABLED
     217             :     module procedure getGeomCDF_RK5
     218             :         use pm_kind, only: RKC => RK5
     219             : #include "pm_distGeom@routines.inc.F90"
     220             :     end procedure
     221             : #endif
     222             : 
     223             : #if RK4_ENABLED
     224           0 :     module procedure getGeomCDF_RK4
     225             :         use pm_kind, only: RKC => RK4
     226             : #include "pm_distGeom@routines.inc.F90"
     227           0 :     end procedure
     228             : #endif
     229             : 
     230             : #if RK3_ENABLED
     231           0 :     module procedure getGeomCDF_RK3
     232             :         use pm_kind, only: RKC => RK3
     233             : #include "pm_distGeom@routines.inc.F90"
     234           0 :     end procedure
     235             : #endif
     236             : 
     237             : #if RK2_ENABLED
     238          50 :     module procedure getGeomCDF_RK2
     239             :         use pm_kind, only: RKC => RK2
     240             : #include "pm_distGeom@routines.inc.F90"
     241          50 :     end procedure
     242             : #endif
     243             : 
     244             : #if RK1_ENABLED
     245           0 :     module procedure getGeomCDF_RK1
     246             :         use pm_kind, only: RKC => RK1
     247             : #include "pm_distGeom@routines.inc.F90"
     248           0 :     end procedure
     249             : #endif
     250             : 
     251             : #undef RK_ENABLED
     252             : 
     253             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     254             : 
     255             : #undef getGeomCDF_ENABLED
     256             : 
     257             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     258             : 
     259             : #define setGeomCDF_ENABLED 1
     260             : 
     261             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     262             : 
     263             : #define RK_ENABLED 1
     264             : 
     265             : #if RK5_ENABLED
     266             :     module procedure setGeomCDF_RK5
     267             :         use pm_kind, only: RKC => RK5
     268             : #include "pm_distGeom@routines.inc.F90"
     269             :     end procedure
     270             : #endif
     271             : 
     272             : #if RK4_ENABLED
     273           0 :     module procedure setGeomCDF_RK4
     274             :         use pm_kind, only: RKC => RK4
     275             : #include "pm_distGeom@routines.inc.F90"
     276           0 :     end procedure
     277             : #endif
     278             : 
     279             : #if RK3_ENABLED
     280           0 :     module procedure setGeomCDF_RK3
     281             :         use pm_kind, only: RKC => RK3
     282             : #include "pm_distGeom@routines.inc.F90"
     283           0 :     end procedure
     284             : #endif
     285             : 
     286             : #if RK2_ENABLED
     287          50 :     module procedure setGeomCDF_RK2
     288             :         use pm_kind, only: RKC => RK2
     289             : #include "pm_distGeom@routines.inc.F90"
     290          50 :     end procedure
     291             : #endif
     292             : 
     293             : #if RK1_ENABLED
     294           0 :     module procedure setGeomCDF_RK1
     295             :         use pm_kind, only: RKC => RK1
     296             : #include "pm_distGeom@routines.inc.F90"
     297           0 :     end procedure
     298             : #endif
     299             : 
     300             : #undef RK_ENABLED
     301             : 
     302             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     303             : 
     304             : #undef setGeomCDF_ENABLED
     305             : 
     306             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     307             : 
     308             : #define getGeomRand_ENABLED 1
     309             : 
     310             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     313             : 
     314             : #define RNGD_ENABLED 1
     315             : 
     316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     317             : 
     318             : #define RK_ENABLED 1
     319             : 
     320             : #if RK5_ENABLED
     321             :     module procedure getGeomRand_RK5
     322             :         use pm_kind, only: RKC => RK5
     323             : #include "pm_distGeom@routines.inc.F90"
     324             :     end procedure
     325             : #endif
     326             : 
     327             : #if RK4_ENABLED
     328           0 :     module procedure getGeomRand_RK4
     329             :         use pm_kind, only: RKC => RK4
     330             : #include "pm_distGeom@routines.inc.F90"
     331           0 :     end procedure
     332             : #endif
     333             : 
     334             : #if RK3_ENABLED
     335           0 :     module procedure getGeomRand_RK3
     336             :         use pm_kind, only: RKC => RK3
     337             : #include "pm_distGeom@routines.inc.F90"
     338           0 :     end procedure
     339             : #endif
     340             : 
     341             : #if RK2_ENABLED
     342           0 :     module procedure getGeomRand_RK2
     343             :         use pm_kind, only: RKC => RK2
     344             : #include "pm_distGeom@routines.inc.F90"
     345           0 :     end procedure
     346             : #endif
     347             : 
     348             : #if RK1_ENABLED
     349       20006 :     module procedure getGeomRand_RK1
     350             :         use pm_kind, only: RKC => RK1
     351             : #include "pm_distGeom@routines.inc.F90"
     352       20006 :     end procedure
     353             : #endif
     354             : 
     355             : #undef RK_ENABLED
     356             : 
     357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     358             : 
     359             : #undef RNGD_ENABLED
     360             : 
     361             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     364             : 
     365             : #undef getGeomRand_ENABLED
     366             : 
     367             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     368             : 
     369             : #define setGeomRand_ENABLED 1
     370             : 
     371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     373             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     374             : 
     375             : #define D0_ENABLED 1
     376             : 
     377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     380             : 
     381             : #define RNGD_ENABLED 1
     382             : 
     383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     384             : 
     385             : #define RK_ENABLED 1
     386             : 
     387             : #if RK5_ENABLED
     388             :     module procedure setGeomRandRNGD_D0_RK5
     389             :         use pm_kind, only: RKC => RK5
     390             : #include "pm_distGeom@routines.inc.F90"
     391             :     end procedure
     392             : #endif
     393             : 
     394             : #if RK4_ENABLED
     395        2000 :     module procedure setGeomRandRNGD_D0_RK4
     396             :         use pm_kind, only: RKC => RK4
     397             : #include "pm_distGeom@routines.inc.F90"
     398        2000 :     end procedure
     399             : #endif
     400             : 
     401             : #if RK3_ENABLED
     402           0 :     module procedure setGeomRandRNGD_D0_RK3
     403             :         use pm_kind, only: RKC => RK3
     404             : #include "pm_distGeom@routines.inc.F90"
     405           0 :     end procedure
     406             : #endif
     407             : 
     408             : #if RK2_ENABLED
     409           0 :     module procedure setGeomRandRNGD_D0_RK2
     410             :         use pm_kind, only: RKC => RK2
     411             : #include "pm_distGeom@routines.inc.F90"
     412           0 :     end procedure
     413             : #endif
     414             : 
     415             : #if RK1_ENABLED
     416       80018 :     module procedure setGeomRandRNGD_D0_RK1
     417             :         use pm_kind, only: RKC => RK1
     418             : #include "pm_distGeom@routines.inc.F90"
     419       80018 :     end procedure
     420             : #endif
     421             : 
     422             : #undef RK_ENABLED
     423             : 
     424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     425             : 
     426             : #undef RNGD_ENABLED
     427             : 
     428             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     429             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     430             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     431             : 
     432             : #define RNGF_ENABLED 1
     433             : 
     434             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     435             : 
     436             : #define RK_ENABLED 1
     437             : 
     438             : #if RK5_ENABLED
     439             :     module procedure setGeomRandRNGF_D0_RK5
     440             :         use pm_kind, only: RKC => RK5
     441             : #include "pm_distGeom@routines.inc.F90"
     442             :     end procedure
     443             : #endif
     444             : 
     445             : #if RK4_ENABLED
     446           0 :     module procedure setGeomRandRNGF_D0_RK4
     447             :         use pm_kind, only: RKC => RK4
     448             : #include "pm_distGeom@routines.inc.F90"
     449           0 :     end procedure
     450             : #endif
     451             : 
     452             : #if RK3_ENABLED
     453           0 :     module procedure setGeomRandRNGF_D0_RK3
     454             :         use pm_kind, only: RKC => RK3
     455             : #include "pm_distGeom@routines.inc.F90"
     456           0 :     end procedure
     457             : #endif
     458             : 
     459             : #if RK2_ENABLED
     460           0 :     module procedure setGeomRandRNGF_D0_RK2
     461             :         use pm_kind, only: RKC => RK2
     462             : #include "pm_distGeom@routines.inc.F90"
     463           0 :     end procedure
     464             : #endif
     465             : 
     466             : #if RK1_ENABLED
     467           0 :     module procedure setGeomRandRNGF_D0_RK1
     468             :         use pm_kind, only: RKC => RK1
     469             : #include "pm_distGeom@routines.inc.F90"
     470           0 :     end procedure
     471             : #endif
     472             : 
     473             : #undef RK_ENABLED
     474             : 
     475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     476             : 
     477             : #undef RNGF_ENABLED
     478             : 
     479             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     480             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     482             : 
     483             : #define RNGX_ENABLED 1
     484             : 
     485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     486             : 
     487             : #define RK_ENABLED 1
     488             : 
     489             : #if RK5_ENABLED
     490             :     module procedure setGeomRandRNGX_D0_RK5
     491             :         use pm_kind, only: RKC => RK5
     492             : #include "pm_distGeom@routines.inc.F90"
     493             :     end procedure
     494             : #endif
     495             : 
     496             : #if RK4_ENABLED
     497           0 :     module procedure setGeomRandRNGX_D0_RK4
     498             :         use pm_kind, only: RKC => RK4
     499             : #include "pm_distGeom@routines.inc.F90"
     500           0 :     end procedure
     501             : #endif
     502             : 
     503             : #if RK3_ENABLED
     504           0 :     module procedure setGeomRandRNGX_D0_RK3
     505             :         use pm_kind, only: RKC => RK3
     506             : #include "pm_distGeom@routines.inc.F90"
     507           0 :     end procedure
     508             : #endif
     509             : 
     510             : #if RK2_ENABLED
     511           0 :     module procedure setGeomRandRNGX_D0_RK2
     512             :         use pm_kind, only: RKC => RK2
     513             : #include "pm_distGeom@routines.inc.F90"
     514           0 :     end procedure
     515             : #endif
     516             : 
     517             : #if RK1_ENABLED
     518           0 :     module procedure setGeomRandRNGX_D0_RK1
     519             :         use pm_kind, only: RKC => RK1
     520             : #include "pm_distGeom@routines.inc.F90"
     521           0 :     end procedure
     522             : #endif
     523             : 
     524             : #undef RK_ENABLED
     525             : 
     526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     527             : 
     528             : #undef RNGX_ENABLED
     529             : 
     530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     533             : 
     534             : #undef D0_ENABLED
     535             : 
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     539             : 
     540             : #define D1_ENABLED 1
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     545             : 
     546             : #define RNGD_ENABLED 1
     547             : 
     548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     549             : 
     550             : #define RK_ENABLED 1
     551             : 
     552             : #if RK5_ENABLED
     553             :     module procedure setGeomRandRNGD_D1_RK5
     554             :         use pm_kind, only: RKC => RK5
     555             : #include "pm_distGeom@routines.inc.F90"
     556             :     end procedure
     557             : #endif
     558             : 
     559             : #if RK4_ENABLED
     560           0 :     module procedure setGeomRandRNGD_D1_RK4
     561             :         use pm_kind, only: RKC => RK4
     562             : #include "pm_distGeom@routines.inc.F90"
     563           0 :     end procedure
     564             : #endif
     565             : 
     566             : #if RK3_ENABLED
     567           0 :     module procedure setGeomRandRNGD_D1_RK3
     568             :         use pm_kind, only: RKC => RK3
     569             : #include "pm_distGeom@routines.inc.F90"
     570           0 :     end procedure
     571             : #endif
     572             : 
     573             : #if RK2_ENABLED
     574           0 :     module procedure setGeomRandRNGD_D1_RK2
     575             :         use pm_kind, only: RKC => RK2
     576             : #include "pm_distGeom@routines.inc.F90"
     577           0 :     end procedure
     578             : #endif
     579             : 
     580             : #if RK1_ENABLED
     581           2 :     module procedure setGeomRandRNGD_D1_RK1
     582             :         use pm_kind, only: RKC => RK1
     583             : #include "pm_distGeom@routines.inc.F90"
     584           2 :     end procedure
     585             : #endif
     586             : 
     587             : #undef RK_ENABLED
     588             : 
     589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591             : #undef RNGD_ENABLED
     592             : 
     593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     596             : 
     597             : #define RNGF_ENABLED 1
     598             : 
     599             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     600             : 
     601             : #define RK_ENABLED 1
     602             : 
     603             : #if RK5_ENABLED
     604             :     module procedure setGeomRandRNGF_D1_RK5
     605             :         use pm_kind, only: RKC => RK5
     606             : #include "pm_distGeom@routines.inc.F90"
     607             :     end procedure
     608             : #endif
     609             : 
     610             : #if RK4_ENABLED
     611           0 :     module procedure setGeomRandRNGF_D1_RK4
     612             :         use pm_kind, only: RKC => RK4
     613             : #include "pm_distGeom@routines.inc.F90"
     614           0 :     end procedure
     615             : #endif
     616             : 
     617             : #if RK3_ENABLED
     618           0 :     module procedure setGeomRandRNGF_D1_RK3
     619             :         use pm_kind, only: RKC => RK3
     620             : #include "pm_distGeom@routines.inc.F90"
     621           0 :     end procedure
     622             : #endif
     623             : 
     624             : #if RK2_ENABLED
     625           0 :     module procedure setGeomRandRNGF_D1_RK2
     626             :         use pm_kind, only: RKC => RK2
     627             : #include "pm_distGeom@routines.inc.F90"
     628           0 :     end procedure
     629             : #endif
     630             : 
     631             : #if RK1_ENABLED
     632           0 :     module procedure setGeomRandRNGF_D1_RK1
     633             :         use pm_kind, only: RKC => RK1
     634             : #include "pm_distGeom@routines.inc.F90"
     635           0 :     end procedure
     636             : #endif
     637             : 
     638             : #undef RK_ENABLED
     639             : 
     640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     641             : 
     642             : #undef RNGF_ENABLED
     643             : 
     644             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     646             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     647             : 
     648             : #define RNGX_ENABLED 1
     649             : 
     650             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     651             : 
     652             : #define RK_ENABLED 1
     653             : 
     654             : #if RK5_ENABLED
     655             :     module procedure setGeomRandRNGX_D1_RK5
     656             :         use pm_kind, only: RKC => RK5
     657             : #include "pm_distGeom@routines.inc.F90"
     658             :     end procedure
     659             : #endif
     660             : 
     661             : #if RK4_ENABLED
     662           0 :     module procedure setGeomRandRNGX_D1_RK4
     663             :         use pm_kind, only: RKC => RK4
     664             : #include "pm_distGeom@routines.inc.F90"
     665           0 :     end procedure
     666             : #endif
     667             : 
     668             : #if RK3_ENABLED
     669           0 :     module procedure setGeomRandRNGX_D1_RK3
     670             :         use pm_kind, only: RKC => RK3
     671             : #include "pm_distGeom@routines.inc.F90"
     672           0 :     end procedure
     673             : #endif
     674             : 
     675             : #if RK2_ENABLED
     676           0 :     module procedure setGeomRandRNGX_D1_RK2
     677             :         use pm_kind, only: RKC => RK2
     678             : #include "pm_distGeom@routines.inc.F90"
     679           0 :     end procedure
     680             : #endif
     681             : 
     682             : #if RK1_ENABLED
     683           2 :     module procedure setGeomRandRNGX_D1_RK1
     684             :         use pm_kind, only: RKC => RK1
     685             : #include "pm_distGeom@routines.inc.F90"
     686           2 :     end procedure
     687             : #endif
     688             : 
     689             : #undef RK_ENABLED
     690             : 
     691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     692             : 
     693             : #undef RNGX_ENABLED
     694             : 
     695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     698             : 
     699             : #undef D1_ENABLED
     700             : 
     701             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     702             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705             : #undef setGeomRand_ENABLED
     706             : 
     707             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     708             : 
     709             : #undef CHECK_ASSERTION
     710             : 
     711             : end submodule routines

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