https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_sampling_mcmc.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 2 4 50.0 %
Date: 2024-04-08 03:18:57 Functions: 0 124 0.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 module contains the **internal** classes and procedures for setting up the attributes of the ParaMonte library MCMC samplers.<br>
      19             : !>
      20             : !>  \details
      21             : !>  For more information, see the description of the attributes within the bodies of their constructors in this module.<br>
      22             : !>  Alternatively, a description of these simulation specifications is always printed out the in `_report.txt` files of each ParaMonte MCMC simulation.
      23             : !>
      24             : !>  \note
      25             : !>  The contents of this module are not meant to be used by the end users of the ParaMonte library.<br>
      26             : !>
      27             : !>  \todo
      28             : !>  \phigh
      29             : !>  The simulations specifications for a globular proposal start domain must be added.<br>
      30             : !>  Currently, only a cubical domain is supported, which can be difficult to deal with when the density function domain is globular.<br>
      31             : !>  This can be fixed by adding additional specifications:<br>
      32             : !>  <ol>
      33             : !>      <li>    `proposalStartDomainBallCenter`
      34             : !>      <li>    `proposalStartDomainBallCorMat`
      35             : !>      <li>    `proposalStartDomainBallCovMat`
      36             : !>      <li>    `proposalStartDomainBallStdVec`
      37             : !>  </ol>
      38             : !>
      39             : !>  \devnote
      40             : !>  The madness seen here with module-level generics is due to the lack of support for PDTs in \gfortran{13.1} and older versions.<br>
      41             : !>
      42             : !>  \finmain
      43             : !>
      44             : !>  \author
      45             : !>  \AmirShahmoradi, Monday 00:01 AM, January 1, 2018, Institute for Computational Engineering and Sciences, University of Texas Austin
      46             : 
      47             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : module pm_sampling_mcmc_RK5
      50             : #if RK5_ENABLED
      51             :     use pm_kind, only: RKC => RK5
      52             : #define pm_sampling_scio pm_sampling_scio_RK5
      53             : #define pm_sampling_base pm_sampling_base_RK5
      54             : #include "pm_sampling_mcmc.imp.F90"
      55             : #undef pm_sampling_base
      56             : #undef pm_sampling_scio
      57             : #else
      58             :     use pm_kind, only: RKC => RK
      59             : #endif
      60             : end module
      61             : 
      62             : module pm_sampling_mcmc_RK4
      63             : #if RK4_ENABLED
      64             :     use pm_kind, only: RKC => RK4
      65             : #define pm_sampling_scio pm_sampling_scio_RK4
      66             : #define pm_sampling_base pm_sampling_base_RK4
      67             : #include "pm_sampling_mcmc.imp.F90"
      68             : #undef pm_sampling_base
      69             : #undef pm_sampling_scio
      70             : #else
      71             :     use pm_kind, only: RKC => RK
      72             : #endif
      73           0 : end module
      74             : 
      75             : module pm_sampling_mcmc_RK3
      76             : #if RK3_ENABLED
      77             :     use pm_kind, only: RKC => RK3
      78             : #define pm_sampling_scio pm_sampling_scio_RK3
      79             : #define pm_sampling_base pm_sampling_base_RK3
      80             : #include "pm_sampling_mcmc.imp.F90"
      81             : #undef pm_sampling_base
      82             : #undef pm_sampling_scio
      83             : #else
      84             :     use pm_kind, only: RKC => RK
      85             : #endif
      86           0 : end module
      87             : 
      88             : module pm_sampling_mcmc_RK2
      89             : #if RK2_ENABLED
      90             :     use pm_kind, only: RKC => RK2
      91             : #define pm_sampling_scio pm_sampling_scio_RK2
      92             : #define pm_sampling_base pm_sampling_base_RK2
      93             : #include "pm_sampling_mcmc.imp.F90"
      94             : #undef pm_sampling_base
      95             : #undef pm_sampling_scio
      96             : #else
      97             :     use pm_kind, only: RKC => RK
      98             : #endif
      99          12 : end module
     100             : 
     101             : module pm_sampling_mcmc_RK1
     102             : #if RK1_ENABLED
     103             :     use pm_kind, only: RKC => RK1
     104             : #define pm_sampling_scio pm_sampling_scio_RK1
     105             : #define pm_sampling_base pm_sampling_base_RK1
     106             : #include "pm_sampling_mcmc.imp.F90"
     107             : #undef pm_sampling_base
     108             : #undef pm_sampling_scio
     109             : #else
     110             :     use pm_kind, only: RKC => RK
     111             : #endif
     112           1 : end module

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