https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_sampling_proposal.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 0 8 0.0 %
Date: 2024-04-08 03:18:57 Functions: 0 24 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 sampler proposals.<br>
      19             : !>
      20             : !>  \note
      21             : !>  The contents of this module are not meant to be used by the end users of the ParaMonte library.<br>
      22             : !>
      23             : !>  \devnote
      24             : !>  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>
      25             : !>
      26             : !>  \finmain
      27             : !>
      28             : !>  \author
      29             : !>  \AmirShahmoradi, Monday 00:01 AM, January 1, 2018, Institute for Computational Engineering and Sciences, University of Texas Austin
      30             : 
      31             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      32             : 
      33             : #define ParaDISE_ENABLED 1
      34             : 
      35             : module pm_sampling_proposal_dise_RK5
      36             : #if RK5_ENABLED
      37             :     use pm_kind, only: RKC => RK5
      38             : #define pm_sampling_scio pm_sampling_scio_RK5
      39             : #define pm_sampling_dise pm_sampling_dise_RK5
      40             : #include "pm_sampling_proposal.imp.F90"
      41             : #undef pm_sampling_dise
      42             : #undef pm_sampling_scio
      43             : #else
      44             :     use pm_kind, only: RKC => RK
      45             : #endif
      46             : end module
      47             : 
      48             : module pm_sampling_proposal_dise_RK4
      49             : #if RK4_ENABLED
      50             :     use pm_kind, only: RKC => RK4
      51             : #define pm_sampling_scio pm_sampling_scio_RK4
      52             : #define pm_sampling_dise pm_sampling_dise_RK4
      53             : #include "pm_sampling_proposal.imp.F90"
      54             : #undef pm_sampling_dise
      55             : #undef pm_sampling_scio
      56             : #else
      57             :     use pm_kind, only: RKC => RK
      58             : #endif
      59           0 : end module
      60             : 
      61             : module pm_sampling_proposal_dise_RK3
      62             : #if RK3_ENABLED
      63             :     use pm_kind, only: RKC => RK3
      64             : #define pm_sampling_scio pm_sampling_scio_RK3
      65             : #define pm_sampling_dise pm_sampling_dise_RK3
      66             : #include "pm_sampling_proposal.imp.F90"
      67             : #undef pm_sampling_dise
      68             : #undef pm_sampling_scio
      69             : #else
      70             :     use pm_kind, only: RKC => RK
      71             : #endif
      72           0 : end module
      73             : 
      74             : module pm_sampling_proposal_dise_RK2
      75             : #if RK2_ENABLED
      76             :     use pm_kind, only: RKC => RK2
      77             : #define pm_sampling_scio pm_sampling_scio_RK2
      78             : #define pm_sampling_dise pm_sampling_dise_RK2
      79             : #include "pm_sampling_proposal.imp.F90"
      80             : #undef pm_sampling_dise
      81             : #undef pm_sampling_scio
      82             : #else
      83             :     use pm_kind, only: RKC => RK
      84             : #endif
      85           0 : end module
      86             : 
      87             : module pm_sampling_proposal_dise_RK1
      88             : #if RK1_ENABLED
      89             :     use pm_kind, only: RKC => RK1
      90             : #define pm_sampling_scio pm_sampling_scio_RK1
      91             : #define pm_sampling_dise pm_sampling_dise_RK1
      92             : #include "pm_sampling_proposal.imp.F90"
      93             : #undef pm_sampling_dise
      94             : #undef pm_sampling_scio
      95             : #else
      96             :     use pm_kind, only: RKC => RK
      97             : #endif
      98           0 : end module
      99             : 
     100             : #undef ParaDISE_ENABLED
     101             : 
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : #define ParaDRAM_ENABLED 1
     105             : 
     106             : module pm_sampling_proposal_dram_RK5
     107             : #if RK5_ENABLED
     108             :     use pm_kind, only: RKC => RK5
     109             : #define pm_sampling_scio pm_sampling_scio_RK5
     110             : #define pm_sampling_dram pm_sampling_dram_RK5
     111             : #include "pm_sampling_proposal.imp.F90"
     112             : #undef pm_sampling_dram
     113             : #undef pm_sampling_scio
     114             : #else
     115             :     use pm_kind, only: RKC => RK
     116             : #endif
     117             : end module
     118             : 
     119             : module pm_sampling_proposal_dram_RK4
     120             : #if RK4_ENABLED
     121             :     use pm_kind, only: RKC => RK4
     122             : #define pm_sampling_scio pm_sampling_scio_RK4
     123             : #define pm_sampling_dram pm_sampling_dram_RK4
     124             : #include "pm_sampling_proposal.imp.F90"
     125             : #undef pm_sampling_dram
     126             : #undef pm_sampling_scio
     127             : #else
     128             :     use pm_kind, only: RKC => RK
     129             : #endif
     130           0 : end module
     131             : 
     132             : module pm_sampling_proposal_dram_RK3
     133             : #if RK3_ENABLED
     134             :     use pm_kind, only: RKC => RK3
     135             : #define pm_sampling_scio pm_sampling_scio_RK3
     136             : #define pm_sampling_dram pm_sampling_dram_RK3
     137             : #include "pm_sampling_proposal.imp.F90"
     138             : #undef pm_sampling_dram
     139             : #undef pm_sampling_scio
     140             : #else
     141             :     use pm_kind, only: RKC => RK
     142             : #endif
     143           0 : end module
     144             : 
     145             : module pm_sampling_proposal_dram_RK2
     146             : #if RK2_ENABLED
     147             :     use pm_kind, only: RKC => RK2
     148             : #define pm_sampling_scio pm_sampling_scio_RK2
     149             : #define pm_sampling_dram pm_sampling_dram_RK2
     150             : #include "pm_sampling_proposal.imp.F90"
     151             : #undef pm_sampling_dram
     152             : #undef pm_sampling_scio
     153             : #else
     154             :     use pm_kind, only: RKC => RK
     155             : #endif
     156           0 : end module
     157             : 
     158             : module pm_sampling_proposal_dram_RK1
     159             : #if RK1_ENABLED
     160             :     use pm_kind, only: RKC => RK1
     161             : #define pm_sampling_scio pm_sampling_scio_RK1
     162             : #define pm_sampling_dram pm_sampling_dram_RK1
     163             : #include "pm_sampling_proposal.imp.F90"
     164             : #undef pm_sampling_dram
     165             : #undef pm_sampling_scio
     166             : #else
     167             :     use pm_kind, only: RKC => RK
     168             : #endif
     169           0 : end module
     170             : 
     171             : #undef ParaDRAM_ENABLED
     172             : 
     173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     174             : 
     175             : #define ParaNest_ENABLED 1
     176             : !
     177             : !module pm_sampling_proposal_nest_RK5
     178             : !#if RK5_ENABLED
     179             : !    use pm_kind, only: RKC => RK5
     180             : !#define pm_sampling_scio pm_sampling_scio_RK5
     181             : !#define pm_sampling_nest pm_sampling_nest_RK5
     182             : !#include "pm_sampling_proposal.imp.F90"
     183             : !#undef pm_sampling_nest
     184             : !#undef pm_sampling_scio
     185             : !#else
     186             : !    use pm_kind, only: RKC => RK
     187             : !#endif
     188             : !end module
     189             : !
     190             : !module pm_sampling_proposal_nest_RK4
     191             : !#if RK4_ENABLED
     192             : !    use pm_kind, only: RKC => RK4
     193             : !#define pm_sampling_scio pm_sampling_scio_RK4
     194             : !#define pm_sampling_nest pm_sampling_nest_RK4
     195             : !#include "pm_sampling_proposal.imp.F90"
     196             : !#undef pm_sampling_nest
     197             : !#undef pm_sampling_scio
     198             : !#else
     199             : !    use pm_kind, only: RKC => RK
     200             : !#endif
     201             : !end module
     202             : !
     203             : !module pm_sampling_proposal_nest_RK3
     204             : !#if RK3_ENABLED
     205             : !    use pm_kind, only: RKC => RK3
     206             : !#define pm_sampling_scio pm_sampling_scio_RK3
     207             : !#define pm_sampling_nest pm_sampling_nest_RK3
     208             : !#include "pm_sampling_proposal.imp.F90"
     209             : !#undef pm_sampling_nest
     210             : !#undef pm_sampling_scio
     211             : !#else
     212             : !    use pm_kind, only: RKC => RK
     213             : !#endif
     214             : !end module
     215             : !
     216             : !module pm_sampling_proposal_nest_RK2
     217             : !#if RK2_ENABLED
     218             : !    use pm_kind, only: RKC => RK2
     219             : !#define pm_sampling_scio pm_sampling_scio_RK2
     220             : !#define pm_sampling_nest pm_sampling_nest_RK2
     221             : !#include "pm_sampling_proposal.imp.F90"
     222             : !#undef pm_sampling_nest
     223             : !#undef pm_sampling_scio
     224             : !#else
     225             : !    use pm_kind, only: RKC => RK
     226             : !#endif
     227             : !end module
     228             : !
     229             : !module pm_sampling_proposal_nest_RK1
     230             : !#if RK1_ENABLED
     231             : !    use pm_kind, only: RKC => RK1
     232             : !#define pm_sampling_scio pm_sampling_scio_RK1
     233             : !#define pm_sampling_nest pm_sampling_nest_RK1
     234             : !#include "pm_sampling_proposal.imp.F90"
     235             : !#undef pm_sampling_nest
     236             : !#undef pm_sampling_scio
     237             : !#else
     238             : !    use pm_kind, only: RKC => RK
     239             : !#endif
     240             : !end module
     241             : 
     242             : #undef ParaNest_ENABLED
     243             : 
     244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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