https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_distNorm@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 105 264 39.8 %
Date: 2024-04-08 03:18:57 Functions: 54 136 39.7 %
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_distNorm](@ref pm_distNorm).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_distNorm) 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_ziggurat, only: getZig
      41             :     use pm_mathErf, only: setErfInv
      42             :     implicit none
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : contains
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define getNormLogPDF_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define RK_ENABLED 1
      55             : 
      56             : #if RK5_ENABLED
      57             :     module procedure getNormLogPDF_RK5
      58             :         use pm_kind, only: RKC => RK5
      59             : #include "pm_distNorm@routines.inc.F90"
      60             :     end procedure
      61             : #endif
      62             : 
      63             : #if RK4_ENABLED
      64       10906 :     module procedure getNormLogPDF_RK4
      65             :         use pm_kind, only: RKC => RK4
      66             : #include "pm_distNorm@routines.inc.F90"
      67       10906 :     end procedure
      68             : #endif
      69             : 
      70             : #if RK3_ENABLED
      71           0 :     module procedure getNormLogPDF_RK3
      72             :         use pm_kind, only: RKC => RK3
      73             : #include "pm_distNorm@routines.inc.F90"
      74           0 :     end procedure
      75             : #endif
      76             : 
      77             : #if RK2_ENABLED
      78        4019 :     module procedure getNormLogPDF_RK2
      79             :         use pm_kind, only: RKC => RK2
      80             : #include "pm_distNorm@routines.inc.F90"
      81        4019 :     end procedure
      82             : #endif
      83             : 
      84             : #if RK1_ENABLED
      85          43 :     module procedure getNormLogPDF_RK1
      86             :         use pm_kind, only: RKC => RK1
      87             : #include "pm_distNorm@routines.inc.F90"
      88          43 :     end procedure
      89             : #endif
      90             : 
      91             : #undef RK_ENABLED
      92             : 
      93             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      94             : 
      95             : #undef getNormLogPDF_ENABLED
      96             : 
      97             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      98             : 
      99             : #define setNormLogPDF_ENABLED 1
     100             : 
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     104             : 
     105             : #define DD_ENABLED 1
     106             : 
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             : 
     109             : #define RK_ENABLED 1
     110             : 
     111             : #if RK5_ENABLED
     112             :     module procedure setNormLogPDFDD_RK5
     113             :         use pm_kind, only: RKC => RK5
     114             : #include "pm_distNorm@routines.inc.F90"
     115             :     end procedure
     116             : #endif
     117             : 
     118             : #if RK4_ENABLED
     119        7729 :     module procedure setNormLogPDFDD_RK4
     120             :         use pm_kind, only: RKC => RK4
     121             : #include "pm_distNorm@routines.inc.F90"
     122        7729 :     end procedure
     123             : #endif
     124             : 
     125             : #if RK3_ENABLED
     126           0 :     module procedure setNormLogPDFDD_RK3
     127             :         use pm_kind, only: RKC => RK3
     128             : #include "pm_distNorm@routines.inc.F90"
     129           0 :     end procedure
     130             : #endif
     131             : 
     132             : #if RK2_ENABLED
     133       63226 :     module procedure setNormLogPDFDD_RK2
     134             :         use pm_kind, only: RKC => RK2
     135             : #include "pm_distNorm@routines.inc.F90"
     136       63226 :     end procedure
     137             : #endif
     138             : 
     139             : #if RK1_ENABLED
     140        8035 :     module procedure setNormLogPDFDD_RK1
     141             :         use pm_kind, only: RKC => RK1
     142             : #include "pm_distNorm@routines.inc.F90"
     143        8035 :     end procedure
     144             : #endif
     145             : 
     146             : #undef RK_ENABLED
     147             : 
     148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     149             : 
     150             : #undef DD_ENABLED
     151             : 
     152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     155             : 
     156             : #define MD_ENABLED 1
     157             : 
     158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     159             : 
     160             : #define RK_ENABLED 1
     161             : 
     162             : #if RK5_ENABLED
     163             :     module procedure setNormLogPDFMD_RK5
     164             :         use pm_kind, only: RKC => RK5
     165             : #include "pm_distNorm@routines.inc.F90"
     166             :     end procedure
     167             : #endif
     168             : 
     169             : #if RK4_ENABLED
     170           0 :     module procedure setNormLogPDFMD_RK4
     171             :         use pm_kind, only: RKC => RK4
     172             : #include "pm_distNorm@routines.inc.F90"
     173           0 :     end procedure
     174             : #endif
     175             : 
     176             : #if RK3_ENABLED
     177           0 :     module procedure setNormLogPDFMD_RK3
     178             :         use pm_kind, only: RKC => RK3
     179             : #include "pm_distNorm@routines.inc.F90"
     180           0 :     end procedure
     181             : #endif
     182             : 
     183             : #if RK2_ENABLED
     184           1 :     module procedure setNormLogPDFMD_RK2
     185             :         use pm_kind, only: RKC => RK2
     186             : #include "pm_distNorm@routines.inc.F90"
     187           1 :     end procedure
     188             : #endif
     189             : 
     190             : #if RK1_ENABLED
     191           0 :     module procedure setNormLogPDFMD_RK1
     192             :         use pm_kind, only: RKC => RK1
     193             : #include "pm_distNorm@routines.inc.F90"
     194           0 :     end procedure
     195             : #endif
     196             : 
     197             : #undef RK_ENABLED
     198             : 
     199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     200             : 
     201             : #undef MD_ENABLED
     202             : 
     203             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     206             : 
     207             : #define DS_ENABLED 1
     208             : 
     209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     210             : 
     211             : #define RK_ENABLED 1
     212             : 
     213             : #if RK5_ENABLED
     214             :     module procedure setNormLogPDFDS_RK5
     215             :         use pm_kind, only: RKC => RK5
     216             : #include "pm_distNorm@routines.inc.F90"
     217             :     end procedure
     218             : #endif
     219             : 
     220             : #if RK4_ENABLED
     221           0 :     module procedure setNormLogPDFDS_RK4
     222             :         use pm_kind, only: RKC => RK4
     223             : #include "pm_distNorm@routines.inc.F90"
     224           0 :     end procedure
     225             : #endif
     226             : 
     227             : #if RK3_ENABLED
     228           0 :     module procedure setNormLogPDFDS_RK3
     229             :         use pm_kind, only: RKC => RK3
     230             : #include "pm_distNorm@routines.inc.F90"
     231           0 :     end procedure
     232             : #endif
     233             : 
     234             : #if RK2_ENABLED
     235           1 :     module procedure setNormLogPDFDS_RK2
     236             :         use pm_kind, only: RKC => RK2
     237             : #include "pm_distNorm@routines.inc.F90"
     238           1 :     end procedure
     239             : #endif
     240             : 
     241             : #if RK1_ENABLED
     242           0 :     module procedure setNormLogPDFDS_RK1
     243             :         use pm_kind, only: RKC => RK1
     244             : #include "pm_distNorm@routines.inc.F90"
     245           0 :     end procedure
     246             : #endif
     247             : 
     248             : #undef RK_ENABLED
     249             : 
     250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     251             : 
     252             : #undef DS_ENABLED
     253             : 
     254             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     255             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     257             : 
     258             : #define MS_ENABLED 1
     259             : 
     260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     261             : 
     262             : #define RK_ENABLED 1
     263             : 
     264             : #if RK5_ENABLED
     265             :     module procedure setNormLogPDFMS_RK5
     266             :         use pm_kind, only: RKC => RK5
     267             : #include "pm_distNorm@routines.inc.F90"
     268             :     end procedure
     269             : #endif
     270             : 
     271             : #if RK4_ENABLED
     272       26810 :     module procedure setNormLogPDFMS_RK4
     273             :         use pm_kind, only: RKC => RK4
     274             : #include "pm_distNorm@routines.inc.F90"
     275       26810 :     end procedure
     276             : #endif
     277             : 
     278             : #if RK3_ENABLED
     279           0 :     module procedure setNormLogPDFMS_RK3
     280             :         use pm_kind, only: RKC => RK3
     281             : #include "pm_distNorm@routines.inc.F90"
     282           0 :     end procedure
     283             : #endif
     284             : 
     285             : #if RK2_ENABLED
     286        8035 :     module procedure setNormLogPDFMS_RK2
     287             :         use pm_kind, only: RKC => RK2
     288             : #include "pm_distNorm@routines.inc.F90"
     289        8035 :     end procedure
     290             : #endif
     291             : 
     292             : #if RK1_ENABLED
     293          43 :     module procedure setNormLogPDFMS_RK1
     294             :         use pm_kind, only: RKC => RK1
     295             : #include "pm_distNorm@routines.inc.F90"
     296          43 :     end procedure
     297             : #endif
     298             : 
     299             : #undef RK_ENABLED
     300             : 
     301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     302             : 
     303             : #undef MS_ENABLED
     304             : 
     305             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     306             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     308             : 
     309             : #undef setNormLogPDF_ENABLED
     310             : 
     311             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     312             : 
     313             : #define getNormCDF_ENABLED 1
     314             : 
     315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     316             : 
     317             : #define RK_ENABLED 1
     318             : 
     319             : #if RK5_ENABLED
     320             :     module procedure getNormCDF_RK5
     321             :         use pm_kind, only: RKC => RK5
     322             : #include "pm_distNorm@routines.inc.F90"
     323             :     end procedure
     324             : #endif
     325             : 
     326             : #if RK4_ENABLED
     327          20 :     module procedure getNormCDF_RK4
     328             :         use pm_kind, only: RKC => RK4
     329             : #include "pm_distNorm@routines.inc.F90"
     330          20 :     end procedure
     331             : #endif
     332             : 
     333             : #if RK3_ENABLED
     334           0 :     module procedure getNormCDF_RK3
     335             :         use pm_kind, only: RKC => RK3
     336             : #include "pm_distNorm@routines.inc.F90"
     337           0 :     end procedure
     338             : #endif
     339             : 
     340             : #if RK2_ENABLED
     341        4019 :     module procedure getNormCDF_RK2
     342             :         use pm_kind, only: RKC => RK2
     343             : #include "pm_distNorm@routines.inc.F90"
     344        4019 :     end procedure
     345             : #endif
     346             : 
     347             : #if RK1_ENABLED
     348         483 :     module procedure getNormCDF_RK1
     349             :         use pm_kind, only: RKC => RK1
     350             : #include "pm_distNorm@routines.inc.F90"
     351         483 :     end procedure
     352             : #endif
     353             : 
     354             : #undef RK_ENABLED
     355             : 
     356             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     357             : 
     358             : #undef getNormCDF_ENABLED
     359             : 
     360             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     361             : 
     362             : #define setNormCDF_ENABLED 1
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     367             : 
     368             : #define DD_ENABLED 1
     369             : 
     370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     371             : 
     372             : #define RK_ENABLED 1
     373             : 
     374             : #if RK5_ENABLED
     375             :     module procedure setNormCDFDD_RK5
     376             :         use pm_kind, only: RKC => RK5
     377             : #include "pm_distNorm@routines.inc.F90"
     378             :     end procedure
     379             : #endif
     380             : 
     381             : #if RK4_ENABLED
     382         289 :     module procedure setNormCDFDD_RK4
     383             :         use pm_kind, only: RKC => RK4
     384             : #include "pm_distNorm@routines.inc.F90"
     385         289 :     end procedure
     386             : #endif
     387             : 
     388             : #if RK3_ENABLED
     389           0 :     module procedure setNormCDFDD_RK3
     390             :         use pm_kind, only: RKC => RK3
     391             : #include "pm_distNorm@routines.inc.F90"
     392           0 :     end procedure
     393             : #endif
     394             : 
     395             : #if RK2_ENABLED
     396          68 :     module procedure setNormCDFDD_RK2
     397             :         use pm_kind, only: RKC => RK2
     398             : #include "pm_distNorm@routines.inc.F90"
     399          68 :     end procedure
     400             : #endif
     401             : 
     402             : #if RK1_ENABLED
     403         483 :     module procedure setNormCDFDD_RK1
     404             :         use pm_kind, only: RKC => RK1
     405             : #include "pm_distNorm@routines.inc.F90"
     406         483 :     end procedure
     407             : #endif
     408             : 
     409             : #undef RK_ENABLED
     410             : 
     411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     412             : 
     413             : #undef DD_ENABLED
     414             : 
     415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     418             : 
     419             : #define MD_ENABLED 1
     420             : 
     421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             : 
     423             : #define RK_ENABLED 1
     424             : 
     425             : #if RK5_ENABLED
     426             :     module procedure setNormCDFMD_RK5
     427             :         use pm_kind, only: RKC => RK5
     428             : #include "pm_distNorm@routines.inc.F90"
     429             :     end procedure
     430             : #endif
     431             : 
     432             : #if RK4_ENABLED
     433           0 :     module procedure setNormCDFMD_RK4
     434             :         use pm_kind, only: RKC => RK4
     435             : #include "pm_distNorm@routines.inc.F90"
     436           0 :     end procedure
     437             : #endif
     438             : 
     439             : #if RK3_ENABLED
     440           0 :     module procedure setNormCDFMD_RK3
     441             :         use pm_kind, only: RKC => RK3
     442             : #include "pm_distNorm@routines.inc.F90"
     443           0 :     end procedure
     444             : #endif
     445             : 
     446             : #if RK2_ENABLED
     447           4 :     module procedure setNormCDFMD_RK2
     448             :         use pm_kind, only: RKC => RK2
     449             : #include "pm_distNorm@routines.inc.F90"
     450           4 :     end procedure
     451             : #endif
     452             : 
     453             : #if RK1_ENABLED
     454           0 :     module procedure setNormCDFMD_RK1
     455             :         use pm_kind, only: RKC => RK1
     456             : #include "pm_distNorm@routines.inc.F90"
     457           0 :     end procedure
     458             : #endif
     459             : 
     460             : #undef RK_ENABLED
     461             : 
     462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     463             : 
     464             : #undef MD_ENABLED
     465             : 
     466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     469             : 
     470             : #define MS_ENABLED 1
     471             : 
     472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     473             : 
     474             : #define RK_ENABLED 1
     475             : 
     476             : #if RK5_ENABLED
     477             :     module procedure setNormCDFMS_RK5
     478             :         use pm_kind, only: RKC => RK5
     479             : #include "pm_distNorm@routines.inc.F90"
     480             :     end procedure
     481             : #endif
     482             : 
     483             : #if RK4_ENABLED
     484           8 :     module procedure setNormCDFMS_RK4
     485             :         use pm_kind, only: RKC => RK4
     486             : #include "pm_distNorm@routines.inc.F90"
     487           8 :     end procedure
     488             : #endif
     489             : 
     490             : #if RK3_ENABLED
     491           0 :     module procedure setNormCDFMS_RK3
     492             :         use pm_kind, only: RKC => RK3
     493             : #include "pm_distNorm@routines.inc.F90"
     494           0 :     end procedure
     495             : #endif
     496             : 
     497             : #if RK2_ENABLED
     498        8032 :     module procedure setNormCDFMS_RK2
     499             :         use pm_kind, only: RKC => RK2
     500             : #include "pm_distNorm@routines.inc.F90"
     501        8032 :     end procedure
     502             : #endif
     503             : 
     504             : #if RK1_ENABLED
     505           0 :     module procedure setNormCDFMS_RK1
     506             :         use pm_kind, only: RKC => RK1
     507             : #include "pm_distNorm@routines.inc.F90"
     508           0 :     end procedure
     509             : #endif
     510             : 
     511             : #undef RK_ENABLED
     512             : 
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             : 
     515             : #undef MS_ENABLED
     516             : 
     517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             : 
     521             : #undef setNormCDF_ENABLED
     522             : 
     523             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     524             : 
     525             : #define getNormQuan_ENABLED 1
     526             : 
     527             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     528             : 
     529             : #define RK_ENABLED 1
     530             : 
     531             : #if RK5_ENABLED
     532             :     module procedure getNormQuan_RK5
     533             :         use pm_kind, only: RKC => RK5
     534             : #include "pm_distNorm@routines.inc.F90"
     535             :     end procedure
     536             : #endif
     537             : 
     538             : #if RK4_ENABLED
     539           0 :     module procedure getNormQuan_RK4
     540             :         use pm_kind, only: RKC => RK4
     541             : #include "pm_distNorm@routines.inc.F90"
     542           0 :     end procedure
     543             : #endif
     544             : 
     545             : #if RK3_ENABLED
     546           0 :     module procedure getNormQuan_RK3
     547             :         use pm_kind, only: RKC => RK3
     548             : #include "pm_distNorm@routines.inc.F90"
     549           0 :     end procedure
     550             : #endif
     551             : 
     552             : #if RK2_ENABLED
     553           0 :     module procedure getNormQuan_RK2
     554             :         use pm_kind, only: RKC => RK2
     555             : #include "pm_distNorm@routines.inc.F90"
     556           0 :     end procedure
     557             : #endif
     558             : 
     559             : #if RK1_ENABLED
     560        4021 :     module procedure getNormQuan_RK1
     561             :         use pm_kind, only: RKC => RK1
     562             : #include "pm_distNorm@routines.inc.F90"
     563        4021 :     end procedure
     564             : #endif
     565             : 
     566             : #undef RK_ENABLED
     567             : 
     568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     569             : 
     570             : #undef getNormQuan_ENABLED
     571             : 
     572             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     573             : 
     574             : #define setNormQuan_ENABLED 1
     575             : 
     576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     579             : 
     580             : #define DD_ENABLED 1
     581             : 
     582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     583             : 
     584             : #define RK_ENABLED 1
     585             : 
     586             : #if RK5_ENABLED
     587             :     module procedure setNormQuanDD_RK5
     588             :         use pm_kind, only: RKC => RK5
     589             : #include "pm_distNorm@routines.inc.F90"
     590             :     end procedure
     591             : #endif
     592             : 
     593             : #if RK4_ENABLED
     594           0 :     module procedure setNormQuanDD_RK4
     595             :         use pm_kind, only: RKC => RK4
     596             : #include "pm_distNorm@routines.inc.F90"
     597           0 :     end procedure
     598             : #endif
     599             : 
     600             : #if RK3_ENABLED
     601           0 :     module procedure setNormQuanDD_RK3
     602             :         use pm_kind, only: RKC => RK3
     603             : #include "pm_distNorm@routines.inc.F90"
     604           0 :     end procedure
     605             : #endif
     606             : 
     607             : #if RK2_ENABLED
     608           0 :     module procedure setNormQuanDD_RK2
     609             :         use pm_kind, only: RKC => RK2
     610             : #include "pm_distNorm@routines.inc.F90"
     611           0 :     end procedure
     612             : #endif
     613             : 
     614             : #if RK1_ENABLED
     615          14 :     module procedure setNormQuanDD_RK1
     616             :         use pm_kind, only: RKC => RK1
     617             : #include "pm_distNorm@routines.inc.F90"
     618          14 :     end procedure
     619             : #endif
     620             : 
     621             : #undef RK_ENABLED
     622             : 
     623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     624             : 
     625             : #undef DD_ENABLED
     626             : 
     627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     630             : 
     631             : #define MD_ENABLED 1
     632             : 
     633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635             : #define RK_ENABLED 1
     636             : 
     637             : #if RK5_ENABLED
     638             :     module procedure setNormQuanMD_RK5
     639             :         use pm_kind, only: RKC => RK5
     640             : #include "pm_distNorm@routines.inc.F90"
     641             :     end procedure
     642             : #endif
     643             : 
     644             : #if RK4_ENABLED
     645           0 :     module procedure setNormQuanMD_RK4
     646             :         use pm_kind, only: RKC => RK4
     647             : #include "pm_distNorm@routines.inc.F90"
     648           0 :     end procedure
     649             : #endif
     650             : 
     651             : #if RK3_ENABLED
     652           0 :     module procedure setNormQuanMD_RK3
     653             :         use pm_kind, only: RKC => RK3
     654             : #include "pm_distNorm@routines.inc.F90"
     655           0 :     end procedure
     656             : #endif
     657             : 
     658             : #if RK2_ENABLED
     659           0 :     module procedure setNormQuanMD_RK2
     660             :         use pm_kind, only: RKC => RK2
     661             : #include "pm_distNorm@routines.inc.F90"
     662           0 :     end procedure
     663             : #endif
     664             : 
     665             : #if RK1_ENABLED
     666          14 :     module procedure setNormQuanMD_RK1
     667             :         use pm_kind, only: RKC => RK1
     668             : #include "pm_distNorm@routines.inc.F90"
     669          14 :     end procedure
     670             : #endif
     671             : 
     672             : #undef RK_ENABLED
     673             : 
     674             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     675             : 
     676             : #undef MD_ENABLED
     677             : 
     678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     681             : 
     682             : #define MS_ENABLED 1
     683             : 
     684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     685             : 
     686             : #define RK_ENABLED 1
     687             : 
     688             : #if RK5_ENABLED
     689             :     module procedure setNormQuanMS_RK5
     690             :         use pm_kind, only: RKC => RK5
     691             : #include "pm_distNorm@routines.inc.F90"
     692             :     end procedure
     693             : #endif
     694             : 
     695             : #if RK4_ENABLED
     696           0 :     module procedure setNormQuanMS_RK4
     697             :         use pm_kind, only: RKC => RK4
     698             : #include "pm_distNorm@routines.inc.F90"
     699           0 :     end procedure
     700             : #endif
     701             : 
     702             : #if RK3_ENABLED
     703           0 :     module procedure setNormQuanMS_RK3
     704             :         use pm_kind, only: RKC => RK3
     705             : #include "pm_distNorm@routines.inc.F90"
     706           0 :     end procedure
     707             : #endif
     708             : 
     709             : #if RK2_ENABLED
     710           0 :     module procedure setNormQuanMS_RK2
     711             :         use pm_kind, only: RKC => RK2
     712             : #include "pm_distNorm@routines.inc.F90"
     713           0 :     end procedure
     714             : #endif
     715             : 
     716             : #if RK1_ENABLED
     717        8014 :     module procedure setNormQuanMS_RK1
     718             :         use pm_kind, only: RKC => RK1
     719             : #include "pm_distNorm@routines.inc.F90"
     720        8014 :     end procedure
     721             : #endif
     722             : 
     723             : #undef RK_ENABLED
     724             : 
     725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     726             : 
     727             : #undef MS_ENABLED
     728             : 
     729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     730             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733             : #undef setNormQuan_ENABLED
     734             : 
     735             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     736             : 
     737             : #define getZigNorm_ENABLED 1
     738             : 
     739             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     740             : 
     741             : #define RK_ENABLED 1
     742             : 
     743             : #if RK5_ENABLED
     744             :     module procedure getZigNorm_RK5
     745             :         use pm_kind, only: RKC => RK5
     746             : #include "pm_distNorm@routines.inc.F90"
     747             :     end procedure
     748             : #endif
     749             : 
     750             : #if RK4_ENABLED
     751           2 :     module procedure getZigNorm_RK4
     752             :         use pm_kind, only: RKC => RK4
     753             : #include "pm_distNorm@routines.inc.F90"
     754             :     end procedure
     755             : #endif
     756             : 
     757             : #if RK3_ENABLED
     758           0 :     module procedure getZigNorm_RK3
     759             :         use pm_kind, only: RKC => RK3
     760             : #include "pm_distNorm@routines.inc.F90"
     761             :     end procedure
     762             : #endif
     763             : 
     764             : #if RK2_ENABLED
     765           1 :     module procedure getZigNorm_RK2
     766             :         use pm_kind, only: RKC => RK2
     767             : #include "pm_distNorm@routines.inc.F90"
     768             :     end procedure
     769             : #endif
     770             : 
     771             : #if RK1_ENABLED
     772           0 :     module procedure getZigNorm_RK1
     773             :         use pm_kind, only: RKC => RK1
     774             : #include "pm_distNorm@routines.inc.F90"
     775             :     end procedure
     776             : #endif
     777             : 
     778             : #undef RK_ENABLED
     779             : 
     780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     781             : 
     782             : #undef getZigNorm_ENABLED
     783             : 
     784             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     785             : !
     786             : !#define getFuncNorm_ENABLED 1
     787             : !
     788             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     789             : !
     790             : !#define RK_ENABLED 1
     791             : !
     792             : !#if RK5_ENABLED
     793             : !    module procedure getFuncNorm_RK5
     794             : !        use pm_kind, only: RKC => RK5
     795             : !#include "pm_distNorm@routines.inc.F90"
     796             : !    end procedure
     797             : !#endif
     798             : !
     799             : !#if RK4_ENABLED
     800             : !    module procedure getFuncNorm_RK4
     801             : !        use pm_kind, only: RKC => RK4
     802             : !#include "pm_distNorm@routines.inc.F90"
     803             : !    end procedure
     804             : !#endif
     805             : !
     806             : !#if RK3_ENABLED
     807             : !    module procedure getFuncNorm_RK3
     808             : !        use pm_kind, only: RKC => RK3
     809             : !#include "pm_distNorm@routines.inc.F90"
     810             : !    end procedure
     811             : !#endif
     812             : !
     813             : !#if RK2_ENABLED
     814             : !    module procedure getFuncNorm_RK2
     815             : !        use pm_kind, only: RKC => RK2
     816             : !#include "pm_distNorm@routines.inc.F90"
     817             : !    end procedure
     818             : !#endif
     819             : !
     820             : !#if RK1_ENABLED
     821             : !    module procedure getFuncNorm_RK1
     822             : !        use pm_kind, only: RKC => RK1
     823             : !#include "pm_distNorm@routines.inc.F90"
     824             : !    end procedure
     825             : !#endif
     826             : !
     827             : !#undef RK_ENABLED
     828             : !
     829             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     830             : !
     831             : !#undef getFuncNorm_ENABLED
     832             : !
     833             : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     834             : !
     835             : !#define getGradNorm_ENABLED 1
     836             : !
     837             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     838             : !
     839             : !#define RK_ENABLED 1
     840             : !
     841             : !#if RK5_ENABLED
     842             : !    module procedure getGradNorm_RK5
     843             : !        use pm_kind, only: RKC => RK5
     844             : !#include "pm_distNorm@routines.inc.F90"
     845             : !    end procedure
     846             : !#endif
     847             : !
     848             : !#if RK4_ENABLED
     849             : !    module procedure getGradNorm_RK4
     850             : !        use pm_kind, only: RKC => RK4
     851             : !#include "pm_distNorm@routines.inc.F90"
     852             : !    end procedure
     853             : !#endif
     854             : !
     855             : !#if RK3_ENABLED
     856             : !    module procedure getGradNorm_RK3
     857             : !        use pm_kind, only: RKC => RK3
     858             : !#include "pm_distNorm@routines.inc.F90"
     859             : !    end procedure
     860             : !#endif
     861             : !
     862             : !#if RK2_ENABLED
     863             : !    module procedure getGradNorm_RK2
     864             : !        use pm_kind, only: RKC => RK2
     865             : !#include "pm_distNorm@routines.inc.F90"
     866             : !    end procedure
     867             : !#endif
     868             : !
     869             : !#if RK1_ENABLED
     870             : !    module procedure getGradNorm_RK1
     871             : !        use pm_kind, only: RKC => RK1
     872             : !#include "pm_distNorm@routines.inc.F90"
     873             : !    end procedure
     874             : !#endif
     875             : !
     876             : !#undef RK_ENABLED
     877             : !
     878             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     879             : !
     880             : !#undef getGradNorm_ENABLED
     881             : !
     882             : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     883             : !
     884             : !#define getFuncInvNorm_ENABLED 1
     885             : !
     886             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     887             : !
     888             : !#define RK_ENABLED 1
     889             : !
     890             : !#if RK5_ENABLED
     891             : !    module procedure getFuncInvNorm_RK5
     892             : !        use pm_kind, only: RKC => RK5
     893             : !#include "pm_distNorm@routines.inc.F90"
     894             : !    end procedure
     895             : !#endif
     896             : !
     897             : !#if RK4_ENABLED
     898             : !    module procedure getFuncInvNorm_RK4
     899             : !        use pm_kind, only: RKC => RK4
     900             : !#include "pm_distNorm@routines.inc.F90"
     901             : !    end procedure
     902             : !#endif
     903             : !
     904             : !#if RK3_ENABLED
     905             : !    module procedure getFuncInvNorm_RK3
     906             : !        use pm_kind, only: RKC => RK3
     907             : !#include "pm_distNorm@routines.inc.F90"
     908             : !    end procedure
     909             : !#endif
     910             : !
     911             : !#if RK2_ENABLED
     912             : !    module procedure getFuncInvNorm_RK2
     913             : !        use pm_kind, only: RKC => RK2
     914             : !#include "pm_distNorm@routines.inc.F90"
     915             : !    end procedure
     916             : !#endif
     917             : !
     918             : !#if RK1_ENABLED
     919             : !    module procedure getFuncInvNorm_RK1
     920             : !        use pm_kind, only: RKC => RK1
     921             : !#include "pm_distNorm@routines.inc.F90"
     922             : !    end procedure
     923             : !#endif
     924             : !
     925             : !#undef RK_ENABLED
     926             : !
     927             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     928             : !
     929             : !#undef getFuncInvNorm_ENABLED
     930             : !
     931             : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     932             : !
     933             : !#define getZigAreaNorm_ENABLED 1
     934             : !
     935             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     936             : !
     937             : !#define RK_ENABLED 1
     938             : !
     939             : !#if RK5_ENABLED
     940             : !    module procedure getZigAreaNorm_RK5
     941             : !        use pm_kind, only: RKC => RK5
     942             : !#include "pm_distNorm@routines.inc.F90"
     943             : !    end procedure
     944             : !#endif
     945             : !
     946             : !#if RK4_ENABLED
     947             : !    module procedure getZigAreaNorm_RK4
     948             : !        use pm_kind, only: RKC => RK4
     949             : !#include "pm_distNorm@routines.inc.F90"
     950             : !    end procedure
     951             : !#endif
     952             : !
     953             : !#if RK3_ENABLED
     954             : !    module procedure getZigAreaNorm_RK3
     955             : !        use pm_kind, only: RKC => RK3
     956             : !#include "pm_distNorm@routines.inc.F90"
     957             : !    end procedure
     958             : !#endif
     959             : !
     960             : !#if RK2_ENABLED
     961             : !    module procedure getZigAreaNorm_RK2
     962             : !        use pm_kind, only: RKC => RK2
     963             : !#include "pm_distNorm@routines.inc.F90"
     964             : !    end procedure
     965             : !#endif
     966             : !
     967             : !#if RK1_ENABLED
     968             : !    module procedure getZigAreaNorm_RK1
     969             : !        use pm_kind, only: RKC => RK1
     970             : !#include "pm_distNorm@routines.inc.F90"
     971             : !    end procedure
     972             : !#endif
     973             : !
     974             : !#undef RK_ENABLED
     975             : !
     976             : !    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     977             : !
     978             : !#undef getZigAreaNorm_ENABLED
     979             : !
     980             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     981             : 
     982             : #define getNormRand_ENABLED 1
     983             : 
     984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     987             : 
     988             : #define RD_ENABLED 1
     989             : 
     990             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     991             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     992             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     993             : 
     994             : #define MA_ENABLED 1
     995             : 
     996             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     997             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     998             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     999             : 
    1000             : #define SA_ENABLED 1
    1001             : 
    1002             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1003             : 
    1004             : #define RK_ENABLED 1
    1005             : 
    1006             : #if RK5_ENABLED
    1007             :     module procedure getNormRandRDMASA_D0_RK5
    1008             :         use pm_kind, only: RKC => RK5
    1009             : #include "pm_distNorm@routines.inc.F90"
    1010             :     end procedure
    1011             : #endif
    1012             : 
    1013             : #if RK4_ENABLED
    1014           0 :     module procedure getNormRandRDMASA_D0_RK4
    1015             :         use pm_kind, only: RKC => RK4
    1016             : #include "pm_distNorm@routines.inc.F90"
    1017           0 :     end procedure
    1018             : #endif
    1019             : 
    1020             : #if RK3_ENABLED
    1021           0 :     module procedure getNormRandRDMASA_D0_RK3
    1022             :         use pm_kind, only: RKC => RK3
    1023             : #include "pm_distNorm@routines.inc.F90"
    1024           0 :     end procedure
    1025             : #endif
    1026             : 
    1027             : #if RK2_ENABLED
    1028       15007 :     module procedure getNormRandRDMASA_D0_RK2
    1029             :         use pm_kind, only: RKC => RK2
    1030             : #include "pm_distNorm@routines.inc.F90"
    1031       15007 :     end procedure
    1032             : #endif
    1033             : 
    1034             : #if RK1_ENABLED
    1035         161 :     module procedure getNormRandRDMASA_D0_RK1
    1036             :         use pm_kind, only: RKC => RK1
    1037             : #include "pm_distNorm@routines.inc.F90"
    1038         161 :     end procedure
    1039             : #endif
    1040             : 
    1041             : #undef RK_ENABLED
    1042             : 
    1043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1044             : 
    1045             : #undef SA_ENABLED
    1046             : 
    1047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1050             : 
    1051             : #undef MA_ENABLED
    1052             : 
    1053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1056             : 
    1057             : #undef RD_ENABLED
    1058             : 
    1059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1062             : 
    1063             : #undef getNormRand_ENABLED
    1064             : 
    1065             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1066             : 
    1067             : #define setNormRand_ENABLED 1
    1068             : 
    1069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1071             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1072             : 
    1073             : #define D0_ENABLED 1
    1074             : 
    1075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1078             : 
    1079             : #define ZD_ENABLED 1
    1080             : 
    1081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1084             : 
    1085             : #define RNGD_ENABLED 1
    1086             : 
    1087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1088             : 
    1089             : #define RK_ENABLED 1
    1090             : 
    1091             : #if RK5_ENABLED
    1092             :     module procedure setNormRandUDZD_D0_RK5
    1093             :         use pm_kind, only: RKC => RK5
    1094             : #include "pm_distNorm@routines.inc.F90"
    1095             :     end procedure
    1096             : #endif
    1097             : 
    1098             : #if RK4_ENABLED
    1099           0 :     module procedure setNormRandUDZD_D0_RK4
    1100             :         use pm_kind, only: RKC => RK4
    1101             : #include "pm_distNorm@routines.inc.F90"
    1102           0 :     end procedure
    1103             : #endif
    1104             : 
    1105             : #if RK3_ENABLED
    1106           0 :     module procedure setNormRandUDZD_D0_RK3
    1107             :         use pm_kind, only: RKC => RK3
    1108             : #include "pm_distNorm@routines.inc.F90"
    1109           0 :     end procedure
    1110             : #endif
    1111             : 
    1112             : #if RK2_ENABLED
    1113       86836 :     module procedure setNormRandUDZD_D0_RK2
    1114             :         use pm_kind, only: RKC => RK2
    1115             : #include "pm_distNorm@routines.inc.F90"
    1116       86836 :     end procedure
    1117             : #endif
    1118             : 
    1119             : #if RK1_ENABLED
    1120       89976 :     module procedure setNormRandUDZD_D0_RK1
    1121             :         use pm_kind, only: RKC => RK1
    1122             : #include "pm_distNorm@routines.inc.F90"
    1123       89976 :     end procedure
    1124             : #endif
    1125             : 
    1126             : #undef RK_ENABLED
    1127             : 
    1128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1129             : 
    1130             : #undef RNGD_ENABLED
    1131             : 
    1132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1133             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1134             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1135             : 
    1136             : #define RNGF_ENABLED 1
    1137             : 
    1138             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1139             : 
    1140             : #define RK_ENABLED 1
    1141             : 
    1142             : #if RK5_ENABLED
    1143             :     module procedure setNormRandUFZD_D0_RK5
    1144             :         use pm_kind, only: RKC => RK5
    1145             : #include "pm_distNorm@routines.inc.F90"
    1146             :     end procedure
    1147             : #endif
    1148             : 
    1149             : #if RK4_ENABLED
    1150           0 :     module procedure setNormRandUFZD_D0_RK4
    1151             :         use pm_kind, only: RKC => RK4
    1152             : #include "pm_distNorm@routines.inc.F90"
    1153           0 :     end procedure
    1154             : #endif
    1155             : 
    1156             : #if RK3_ENABLED
    1157           0 :     module procedure setNormRandUFZD_D0_RK3
    1158             :         use pm_kind, only: RKC => RK3
    1159             : #include "pm_distNorm@routines.inc.F90"
    1160           0 :     end procedure
    1161             : #endif
    1162             : 
    1163             : #if RK2_ENABLED
    1164           0 :     module procedure setNormRandUFZD_D0_RK2
    1165             :         use pm_kind, only: RKC => RK2
    1166             : #include "pm_distNorm@routines.inc.F90"
    1167           0 :     end procedure
    1168             : #endif
    1169             : 
    1170             : #if RK1_ENABLED
    1171         444 :     module procedure setNormRandUFZD_D0_RK1
    1172             :         use pm_kind, only: RKC => RK1
    1173             : #include "pm_distNorm@routines.inc.F90"
    1174         444 :     end procedure
    1175             : #endif
    1176             : 
    1177             : #undef RK_ENABLED
    1178             : 
    1179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1180             : 
    1181             : #undef RNGF_ENABLED
    1182             : 
    1183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1186             : 
    1187             : #define RNGX_ENABLED 1
    1188             : 
    1189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1190             : 
    1191             : #define RK_ENABLED 1
    1192             : 
    1193             : #if RK5_ENABLED
    1194             :     module procedure setNormRandUXZD_D0_RK5
    1195             :         use pm_kind, only: RKC => RK5
    1196             : #include "pm_distNorm@routines.inc.F90"
    1197             :     end procedure
    1198             : #endif
    1199             : 
    1200             : #if RK4_ENABLED
    1201           0 :     module procedure setNormRandUXZD_D0_RK4
    1202             :         use pm_kind, only: RKC => RK4
    1203             : #include "pm_distNorm@routines.inc.F90"
    1204           0 :     end procedure
    1205             : #endif
    1206             : 
    1207             : #if RK3_ENABLED
    1208           0 :     module procedure setNormRandUXZD_D0_RK3
    1209             :         use pm_kind, only: RKC => RK3
    1210             : #include "pm_distNorm@routines.inc.F90"
    1211           0 :     end procedure
    1212             : #endif
    1213             : 
    1214             : #if RK2_ENABLED
    1215     3315856 :     module procedure setNormRandUXZD_D0_RK2
    1216             :         use pm_kind, only: RKC => RK2
    1217             : #include "pm_distNorm@routines.inc.F90"
    1218     3315856 :     end procedure
    1219             : #endif
    1220             : 
    1221             : #if RK1_ENABLED
    1222      408376 :     module procedure setNormRandUXZD_D0_RK1
    1223             :         use pm_kind, only: RKC => RK1
    1224             : #include "pm_distNorm@routines.inc.F90"
    1225      408376 :     end procedure
    1226             : #endif
    1227             : 
    1228             : #undef RK_ENABLED
    1229             : 
    1230             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1231             : 
    1232             : #undef RNGX_ENABLED
    1233             : 
    1234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1236             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1237             : 
    1238             : #undef ZD_ENABLED
    1239             : 
    1240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1243             : 
    1244             : #define ZA_ENABLED 1
    1245             : 
    1246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1249             : 
    1250             : #define RNGD_ENABLED 1
    1251             : 
    1252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1253             : 
    1254             : #define RK_ENABLED 1
    1255             : 
    1256             : #if RK5_ENABLED
    1257             :     module procedure setNormRandUDZA_D0_RK5
    1258             :         use pm_kind, only: RKC => RK5
    1259             : #include "pm_distNorm@routines.inc.F90"
    1260             :     end procedure
    1261             : #endif
    1262             : 
    1263             : #if RK4_ENABLED
    1264           0 :     module procedure setNormRandUDZA_D0_RK4
    1265             :         use pm_kind, only: RKC => RK4
    1266             : #include "pm_distNorm@routines.inc.F90"
    1267           0 :     end procedure
    1268             : #endif
    1269             : 
    1270             : #if RK3_ENABLED
    1271           0 :     module procedure setNormRandUDZA_D0_RK3
    1272             :         use pm_kind, only: RKC => RK3
    1273             : #include "pm_distNorm@routines.inc.F90"
    1274           0 :     end procedure
    1275             : #endif
    1276             : 
    1277             : #if RK2_ENABLED
    1278           0 :     module procedure setNormRandUDZA_D0_RK2
    1279             :         use pm_kind, only: RKC => RK2
    1280             : #include "pm_distNorm@routines.inc.F90"
    1281           0 :     end procedure
    1282             : #endif
    1283             : 
    1284             : #if RK1_ENABLED
    1285           0 :     module procedure setNormRandUDZA_D0_RK1
    1286             :         use pm_kind, only: RKC => RK1
    1287             : #include "pm_distNorm@routines.inc.F90"
    1288           0 :     end procedure
    1289             : #endif
    1290             : 
    1291             : #undef RK_ENABLED
    1292             : 
    1293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1294             : 
    1295             : #undef RNGD_ENABLED
    1296             : 
    1297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1298             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1299             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1300             : 
    1301             : #define RNGF_ENABLED 1
    1302             : 
    1303             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1304             : 
    1305             : #define RK_ENABLED 1
    1306             : 
    1307             : #if RK5_ENABLED
    1308             :     module procedure setNormRandUFZA_D0_RK5
    1309             :         use pm_kind, only: RKC => RK5
    1310             : #include "pm_distNorm@routines.inc.F90"
    1311             :     end procedure
    1312             : #endif
    1313             : 
    1314             : #if RK4_ENABLED
    1315           0 :     module procedure setNormRandUFZA_D0_RK4
    1316             :         use pm_kind, only: RKC => RK4
    1317             : #include "pm_distNorm@routines.inc.F90"
    1318           0 :     end procedure
    1319             : #endif
    1320             : 
    1321             : #if RK3_ENABLED
    1322           0 :     module procedure setNormRandUFZA_D0_RK3
    1323             :         use pm_kind, only: RKC => RK3
    1324             : #include "pm_distNorm@routines.inc.F90"
    1325           0 :     end procedure
    1326             : #endif
    1327             : 
    1328             : #if RK2_ENABLED
    1329           0 :     module procedure setNormRandUFZA_D0_RK2
    1330             :         use pm_kind, only: RKC => RK2
    1331             : #include "pm_distNorm@routines.inc.F90"
    1332           0 :     end procedure
    1333             : #endif
    1334             : 
    1335             : #if RK1_ENABLED
    1336           0 :     module procedure setNormRandUFZA_D0_RK1
    1337             :         use pm_kind, only: RKC => RK1
    1338             : #include "pm_distNorm@routines.inc.F90"
    1339           0 :     end procedure
    1340             : #endif
    1341             : 
    1342             : #undef RK_ENABLED
    1343             : 
    1344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1345             : 
    1346             : #undef RNGF_ENABLED
    1347             : 
    1348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1349             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1350             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1351             : 
    1352             : #define RNGX_ENABLED 1
    1353             : 
    1354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1355             : 
    1356             : #define RK_ENABLED 1
    1357             : 
    1358             : #if RK5_ENABLED
    1359             :     module procedure setNormRandUXZA_D0_RK5
    1360             :         use pm_kind, only: RKC => RK5
    1361             : #include "pm_distNorm@routines.inc.F90"
    1362             :     end procedure
    1363             : #endif
    1364             : 
    1365             : #if RK4_ENABLED
    1366           0 :     module procedure setNormRandUXZA_D0_RK4
    1367             :         use pm_kind, only: RKC => RK4
    1368             : #include "pm_distNorm@routines.inc.F90"
    1369           0 :     end procedure
    1370             : #endif
    1371             : 
    1372             : #if RK3_ENABLED
    1373           0 :     module procedure setNormRandUXZA_D0_RK3
    1374             :         use pm_kind, only: RKC => RK3
    1375             : #include "pm_distNorm@routines.inc.F90"
    1376           0 :     end procedure
    1377             : #endif
    1378             : 
    1379             : #if RK2_ENABLED
    1380           0 :     module procedure setNormRandUXZA_D0_RK2
    1381             :         use pm_kind, only: RKC => RK2
    1382             : #include "pm_distNorm@routines.inc.F90"
    1383           0 :     end procedure
    1384             : #endif
    1385             : 
    1386             : #if RK1_ENABLED
    1387           0 :     module procedure setNormRandUXZA_D0_RK1
    1388             :         use pm_kind, only: RKC => RK1
    1389             : #include "pm_distNorm@routines.inc.F90"
    1390           0 :     end procedure
    1391             : #endif
    1392             : 
    1393             : #undef RK_ENABLED
    1394             : 
    1395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1396             : 
    1397             : #undef RNGX_ENABLED
    1398             : 
    1399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1402             : 
    1403             : #undef ZA_ENABLED
    1404             : 
    1405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1406             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1408             : 
    1409             : #undef D0_ENABLED
    1410             : 
    1411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1413             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1414             : 
    1415             : #define D1_ENABLED 1
    1416             : 
    1417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1418             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1419             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1420             : 
    1421             : #define ZD_ENABLED 1
    1422             : 
    1423             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1425             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1426             : 
    1427             : #define RNGD_ENABLED 1
    1428             : 
    1429             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1430             : 
    1431             : #define RK_ENABLED 1
    1432             : 
    1433             : #if RK5_ENABLED
    1434             :     module procedure setNormRandUDZD_D1_RK5
    1435             :         use pm_kind, only: RKC => RK5
    1436             : #include "pm_distNorm@routines.inc.F90"
    1437             :     end procedure
    1438             : #endif
    1439             : 
    1440             : #if RK4_ENABLED
    1441           0 :     module procedure setNormRandUDZD_D1_RK4
    1442             :         use pm_kind, only: RKC => RK4
    1443             : #include "pm_distNorm@routines.inc.F90"
    1444           0 :     end procedure
    1445             : #endif
    1446             : 
    1447             : #if RK3_ENABLED
    1448           0 :     module procedure setNormRandUDZD_D1_RK3
    1449             :         use pm_kind, only: RKC => RK3
    1450             : #include "pm_distNorm@routines.inc.F90"
    1451           0 :     end procedure
    1452             : #endif
    1453             : 
    1454             : #if RK2_ENABLED
    1455           2 :     module procedure setNormRandUDZD_D1_RK2
    1456             :         use pm_kind, only: RKC => RK2
    1457             : #include "pm_distNorm@routines.inc.F90"
    1458           2 :     end procedure
    1459             : #endif
    1460             : 
    1461             : #if RK1_ENABLED
    1462       15007 :     module procedure setNormRandUDZD_D1_RK1
    1463             :         use pm_kind, only: RKC => RK1
    1464             : #include "pm_distNorm@routines.inc.F90"
    1465       15007 :     end procedure
    1466             : #endif
    1467             : 
    1468             : #undef RK_ENABLED
    1469             : 
    1470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1471             : 
    1472             : #undef RNGD_ENABLED
    1473             : 
    1474             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1476             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1477             : 
    1478             : #define RNGF_ENABLED 1
    1479             : 
    1480             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1481             : 
    1482             : #define RK_ENABLED 1
    1483             : 
    1484             : #if RK5_ENABLED
    1485             :     module procedure setNormRandUFZD_D1_RK5
    1486             :         use pm_kind, only: RKC => RK5
    1487             : #include "pm_distNorm@routines.inc.F90"
    1488             :     end procedure
    1489             : #endif
    1490             : 
    1491             : #if RK4_ENABLED
    1492           0 :     module procedure setNormRandUFZD_D1_RK4
    1493             :         use pm_kind, only: RKC => RK4
    1494             : #include "pm_distNorm@routines.inc.F90"
    1495           0 :     end procedure
    1496             : #endif
    1497             : 
    1498             : #if RK3_ENABLED
    1499           0 :     module procedure setNormRandUFZD_D1_RK3
    1500             :         use pm_kind, only: RKC => RK3
    1501             : #include "pm_distNorm@routines.inc.F90"
    1502           0 :     end procedure
    1503             : #endif
    1504             : 
    1505             : #if RK2_ENABLED
    1506           0 :     module procedure setNormRandUFZD_D1_RK2
    1507             :         use pm_kind, only: RKC => RK2
    1508             : #include "pm_distNorm@routines.inc.F90"
    1509           0 :     end procedure
    1510             : #endif
    1511             : 
    1512             : #if RK1_ENABLED
    1513          41 :     module procedure setNormRandUFZD_D1_RK1
    1514             :         use pm_kind, only: RKC => RK1
    1515             : #include "pm_distNorm@routines.inc.F90"
    1516          41 :     end procedure
    1517             : #endif
    1518             : 
    1519             : #undef RK_ENABLED
    1520             : 
    1521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1522             : 
    1523             : #undef RNGF_ENABLED
    1524             : 
    1525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1527             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1528             : 
    1529             : #define RNGX_ENABLED 1
    1530             : 
    1531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1532             : 
    1533             : #define RK_ENABLED 1
    1534             : 
    1535             : #if RK5_ENABLED
    1536             :     module procedure setNormRandUXZD_D1_RK5
    1537             :         use pm_kind, only: RKC => RK5
    1538             : #include "pm_distNorm@routines.inc.F90"
    1539             :     end procedure
    1540             : #endif
    1541             : 
    1542             : #if RK4_ENABLED
    1543           0 :     module procedure setNormRandUXZD_D1_RK4
    1544             :         use pm_kind, only: RKC => RK4
    1545             : #include "pm_distNorm@routines.inc.F90"
    1546           0 :     end procedure
    1547             : #endif
    1548             : 
    1549             : #if RK3_ENABLED
    1550           0 :     module procedure setNormRandUXZD_D1_RK3
    1551             :         use pm_kind, only: RKC => RK3
    1552             : #include "pm_distNorm@routines.inc.F90"
    1553           0 :     end procedure
    1554             : #endif
    1555             : 
    1556             : #if RK2_ENABLED
    1557           0 :     module procedure setNormRandUXZD_D1_RK2
    1558             :         use pm_kind, only: RKC => RK2
    1559             : #include "pm_distNorm@routines.inc.F90"
    1560           0 :     end procedure
    1561             : #endif
    1562             : 
    1563             : #if RK1_ENABLED
    1564           0 :     module procedure setNormRandUXZD_D1_RK1
    1565             :         use pm_kind, only: RKC => RK1
    1566             : #include "pm_distNorm@routines.inc.F90"
    1567           0 :     end procedure
    1568             : #endif
    1569             : 
    1570             : #undef RK_ENABLED
    1571             : 
    1572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1573             : 
    1574             : #undef RNGX_ENABLED
    1575             : 
    1576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1579             : 
    1580             : #undef ZD_ENABLED
    1581             : 
    1582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1585             : 
    1586             : #define ZA_ENABLED 1
    1587             : 
    1588             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1590             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1591             : 
    1592             : #define RNGD_ENABLED 1
    1593             : 
    1594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1595             : 
    1596             : #define RK_ENABLED 1
    1597             : 
    1598             : #if RK5_ENABLED
    1599             :     module procedure setNormRandUDZA_D1_RK5
    1600             :         use pm_kind, only: RKC => RK5
    1601             : #include "pm_distNorm@routines.inc.F90"
    1602             :     end procedure
    1603             : #endif
    1604             : 
    1605             : #if RK4_ENABLED
    1606           0 :     module procedure setNormRandUDZA_D1_RK4
    1607             :         use pm_kind, only: RKC => RK4
    1608             : #include "pm_distNorm@routines.inc.F90"
    1609           0 :     end procedure
    1610             : #endif
    1611             : 
    1612             : #if RK3_ENABLED
    1613           0 :     module procedure setNormRandUDZA_D1_RK3
    1614             :         use pm_kind, only: RKC => RK3
    1615             : #include "pm_distNorm@routines.inc.F90"
    1616           0 :     end procedure
    1617             : #endif
    1618             : 
    1619             : #if RK2_ENABLED
    1620           2 :     module procedure setNormRandUDZA_D1_RK2
    1621             :         use pm_kind, only: RKC => RK2
    1622             : #include "pm_distNorm@routines.inc.F90"
    1623           2 :     end procedure
    1624             : #endif
    1625             : 
    1626             : #if RK1_ENABLED
    1627           0 :     module procedure setNormRandUDZA_D1_RK1
    1628             :         use pm_kind, only: RKC => RK1
    1629             : #include "pm_distNorm@routines.inc.F90"
    1630           0 :     end procedure
    1631             : #endif
    1632             : 
    1633             : #undef RK_ENABLED
    1634             : 
    1635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1636             : 
    1637             : #undef RNGD_ENABLED
    1638             : 
    1639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1641             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1642             : 
    1643             : #define RNGF_ENABLED 1
    1644             : 
    1645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1646             : 
    1647             : #define RK_ENABLED 1
    1648             : 
    1649             : #if RK5_ENABLED
    1650             :     module procedure setNormRandUFZA_D1_RK5
    1651             :         use pm_kind, only: RKC => RK5
    1652             : #include "pm_distNorm@routines.inc.F90"
    1653             :     end procedure
    1654             : #endif
    1655             : 
    1656             : #if RK4_ENABLED
    1657           0 :     module procedure setNormRandUFZA_D1_RK4
    1658             :         use pm_kind, only: RKC => RK4
    1659             : #include "pm_distNorm@routines.inc.F90"
    1660           0 :     end procedure
    1661             : #endif
    1662             : 
    1663             : #if RK3_ENABLED
    1664           0 :     module procedure setNormRandUFZA_D1_RK3
    1665             :         use pm_kind, only: RKC => RK3
    1666             : #include "pm_distNorm@routines.inc.F90"
    1667           0 :     end procedure
    1668             : #endif
    1669             : 
    1670             : #if RK2_ENABLED
    1671           0 :     module procedure setNormRandUFZA_D1_RK2
    1672             :         use pm_kind, only: RKC => RK2
    1673             : #include "pm_distNorm@routines.inc.F90"
    1674           0 :     end procedure
    1675             : #endif
    1676             : 
    1677             : #if RK1_ENABLED
    1678           0 :     module procedure setNormRandUFZA_D1_RK1
    1679             :         use pm_kind, only: RKC => RK1
    1680             : #include "pm_distNorm@routines.inc.F90"
    1681           0 :     end procedure
    1682             : #endif
    1683             : 
    1684             : #undef RK_ENABLED
    1685             : 
    1686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1687             : 
    1688             : #undef RNGF_ENABLED
    1689             : 
    1690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1692             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1693             : 
    1694             : #define RNGX_ENABLED 1
    1695             : 
    1696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1697             : 
    1698             : #define RK_ENABLED 1
    1699             : 
    1700             : #if RK5_ENABLED
    1701             :     module procedure setNormRandUXZA_D1_RK5
    1702             :         use pm_kind, only: RKC => RK5
    1703             : #include "pm_distNorm@routines.inc.F90"
    1704             :     end procedure
    1705             : #endif
    1706             : 
    1707             : #if RK4_ENABLED
    1708           0 :     module procedure setNormRandUXZA_D1_RK4
    1709             :         use pm_kind, only: RKC => RK4
    1710             : #include "pm_distNorm@routines.inc.F90"
    1711           0 :     end procedure
    1712             : #endif
    1713             : 
    1714             : #if RK3_ENABLED
    1715           0 :     module procedure setNormRandUXZA_D1_RK3
    1716             :         use pm_kind, only: RKC => RK3
    1717             : #include "pm_distNorm@routines.inc.F90"
    1718           0 :     end procedure
    1719             : #endif
    1720             : 
    1721             : #if RK2_ENABLED
    1722           0 :     module procedure setNormRandUXZA_D1_RK2
    1723             :         use pm_kind, only: RKC => RK2
    1724             : #include "pm_distNorm@routines.inc.F90"
    1725           0 :     end procedure
    1726             : #endif
    1727             : 
    1728             : #if RK1_ENABLED
    1729           0 :     module procedure setNormRandUXZA_D1_RK1
    1730             :         use pm_kind, only: RKC => RK1
    1731             : #include "pm_distNorm@routines.inc.F90"
    1732           0 :     end procedure
    1733             : #endif
    1734             : 
    1735             : #undef RK_ENABLED
    1736             : 
    1737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1738             : 
    1739             : #undef RNGX_ENABLED
    1740             : 
    1741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1744             : 
    1745             : #undef ZA_ENABLED
    1746             : 
    1747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1750             : 
    1751             : #undef D1_ENABLED
    1752             : 
    1753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1756             : 
    1757             : #undef setNormRand_ENABLED
    1758             : 
    1759             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             : 
    1761             : #define setNormRandBox_ENABLED 1
    1762             : 
    1763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1766             : 
    1767             : #define D0_ENABLED 1
    1768             : 
    1769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1772             : 
    1773             : #define Basic_ENABLED 1
    1774             : 
    1775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1778             : 
    1779             : #define DD_ENABLED 1
    1780             : 
    1781             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1782             : 
    1783             : #define RK_ENABLED 1
    1784             : 
    1785             : #if RK5_ENABLED
    1786             :     module procedure setNormRandBoxBasicDD_D0_RK5
    1787             :         use pm_kind, only: RKC => RK5
    1788             : #include "pm_distNorm@routines.inc.F90"
    1789             :     end procedure
    1790             : #endif
    1791             : 
    1792             : #if RK4_ENABLED
    1793           0 :     module procedure setNormRandBoxBasicDD_D0_RK4
    1794             :         use pm_kind, only: RKC => RK4
    1795             : #include "pm_distNorm@routines.inc.F90"
    1796           0 :     end procedure
    1797             : #endif
    1798             : 
    1799             : #if RK3_ENABLED
    1800           0 :     module procedure setNormRandBoxBasicDD_D0_RK3
    1801             :         use pm_kind, only: RKC => RK3
    1802             : #include "pm_distNorm@routines.inc.F90"
    1803           0 :     end procedure
    1804             : #endif
    1805             : 
    1806             : #if RK2_ENABLED
    1807        7501 :     module procedure setNormRandBoxBasicDD_D0_RK2
    1808             :         use pm_kind, only: RKC => RK2
    1809             : #include "pm_distNorm@routines.inc.F90"
    1810        7501 :     end procedure
    1811             : #endif
    1812             : 
    1813             : #if RK1_ENABLED
    1814           0 :     module procedure setNormRandBoxBasicDD_D0_RK1
    1815             :         use pm_kind, only: RKC => RK1
    1816             : #include "pm_distNorm@routines.inc.F90"
    1817           0 :     end procedure
    1818             : #endif
    1819             : 
    1820             : #undef RK_ENABLED
    1821             : 
    1822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1823             : 
    1824             : #undef DD_ENABLED
    1825             : 
    1826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1829             : 
    1830             : #undef Basic_ENABLED
    1831             : 
    1832             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1835             : 
    1836             : #define Polar_ENABLED 1
    1837             : 
    1838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1841             : 
    1842             : #define DD_ENABLED 1
    1843             : 
    1844             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1845             : 
    1846             : #define RK_ENABLED 1
    1847             : 
    1848             : #if RK5_ENABLED
    1849             :     module procedure setNormRandBoxPolarDD_D0_RK5
    1850             :         use pm_kind, only: RKC => RK5
    1851             : #include "pm_distNorm@routines.inc.F90"
    1852             :     end procedure
    1853             : #endif
    1854             : 
    1855             : #if RK4_ENABLED
    1856           0 :     module procedure setNormRandBoxPolarDD_D0_RK4
    1857             :         use pm_kind, only: RKC => RK4
    1858             : #include "pm_distNorm@routines.inc.F90"
    1859             :     end procedure
    1860             : #endif
    1861             : 
    1862             : #if RK3_ENABLED
    1863           0 :     module procedure setNormRandBoxPolarDD_D0_RK3
    1864             :         use pm_kind, only: RKC => RK3
    1865             : #include "pm_distNorm@routines.inc.F90"
    1866             :     end procedure
    1867             : #endif
    1868             : 
    1869             : #if RK2_ENABLED
    1870       19097 :     module procedure setNormRandBoxPolarDD_D0_RK2
    1871             :         use pm_kind, only: RKC => RK2
    1872             : #include "pm_distNorm@routines.inc.F90"
    1873             :     end procedure
    1874             : #endif
    1875             : 
    1876             : #if RK1_ENABLED
    1877           0 :     module procedure setNormRandBoxPolarDD_D0_RK1
    1878             :         use pm_kind, only: RKC => RK1
    1879             : #include "pm_distNorm@routines.inc.F90"
    1880             :     end procedure
    1881             : #endif
    1882             : 
    1883             : #undef RK_ENABLED
    1884             : 
    1885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1886             : 
    1887             : #undef DD_ENABLED
    1888             : 
    1889             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1892             : 
    1893             : #undef Polar_ENABLED
    1894             : 
    1895             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1898             : 
    1899             : #undef D0_ENABLED
    1900             : 
    1901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1904             : 
    1905             : #undef setNormRandBox_ENABLED
    1906             : 
    1907             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1908             : 
    1909             : #define getNormEntropy_ENABLED 1
    1910             : 
    1911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1912             : 
    1913             : #define RK_ENABLED 1
    1914             : 
    1915             : #if RK5_ENABLED
    1916             :     module procedure getNormEntropy_RK5
    1917             :         use pm_kind, only: RKC => RK5
    1918             : #include "pm_distNorm@routines.inc.F90"
    1919             :     end procedure
    1920             : #endif
    1921             : 
    1922             : #if RK4_ENABLED
    1923           1 :     module procedure getNormEntropy_RK4
    1924             :         use pm_kind, only: RKC => RK4
    1925             : #include "pm_distNorm@routines.inc.F90"
    1926           1 :     end procedure
    1927             : #endif
    1928             : 
    1929             : #if RK3_ENABLED
    1930           0 :     module procedure getNormEntropy_RK3
    1931             :         use pm_kind, only: RKC => RK3
    1932             : #include "pm_distNorm@routines.inc.F90"
    1933           0 :     end procedure
    1934             : #endif
    1935             : 
    1936             : #if RK2_ENABLED
    1937           1 :     module procedure getNormEntropy_RK2
    1938             :         use pm_kind, only: RKC => RK2
    1939             : #include "pm_distNorm@routines.inc.F90"
    1940           1 :     end procedure
    1941             : #endif
    1942             : 
    1943             : #if RK1_ENABLED
    1944           5 :     module procedure getNormEntropy_RK1
    1945             :         use pm_kind, only: RKC => RK1
    1946             : #include "pm_distNorm@routines.inc.F90"
    1947           5 :     end procedure
    1948             : #endif
    1949             : 
    1950             : #undef RK_ENABLED
    1951             : 
    1952             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1953             : 
    1954             : #undef getNormEntropy_ENABLED
    1955             : 
    1956             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1957             : 
    1958             : #define getNormFisher_ENABLED 1
    1959             : 
    1960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1961             : 
    1962             : #define RK_ENABLED 1
    1963             : 
    1964             : #if RK5_ENABLED
    1965             :     module procedure getNormFisher_RK5
    1966             :         use pm_kind, only: RKC => RK5
    1967             : #include "pm_distNorm@routines.inc.F90"
    1968             :     end procedure
    1969             : #endif
    1970             : 
    1971             : #if RK4_ENABLED
    1972           1 :     module procedure getNormFisher_RK4
    1973             :         use pm_kind, only: RKC => RK4
    1974             : #include "pm_distNorm@routines.inc.F90"
    1975           1 :     end procedure
    1976             : #endif
    1977             : 
    1978             : #if RK3_ENABLED
    1979           0 :     module procedure getNormFisher_RK3
    1980             :         use pm_kind, only: RKC => RK3
    1981             : #include "pm_distNorm@routines.inc.F90"
    1982           0 :     end procedure
    1983             : #endif
    1984             : 
    1985             : #if RK2_ENABLED
    1986           1 :     module procedure getNormFisher_RK2
    1987             :         use pm_kind, only: RKC => RK2
    1988             : #include "pm_distNorm@routines.inc.F90"
    1989           1 :     end procedure
    1990             : #endif
    1991             : 
    1992             : #if RK1_ENABLED
    1993           2 :     module procedure getNormFisher_RK1
    1994             :         use pm_kind, only: RKC => RK1
    1995             : #include "pm_distNorm@routines.inc.F90"
    1996           2 :     end procedure
    1997             : #endif
    1998             : 
    1999             : #undef RK_ENABLED
    2000             : 
    2001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2002             : 
    2003             : #undef getNormFisher_ENABLED
    2004             : 
    2005             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2006             : 
    2007             : #define getNormKLD_ENABLED 1
    2008             : 
    2009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2012             : 
    2013             : #define MD_ENABLED 1
    2014             : 
    2015             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2016             : 
    2017             : #define RK_ENABLED 1
    2018             : 
    2019             : #if RK5_ENABLED
    2020             :     module procedure getNormKLDMD_RK5
    2021             :         use pm_kind, only: RKC => RK5
    2022             : #include "pm_distNorm@routines.inc.F90"
    2023             :     end procedure
    2024             : #endif
    2025             : 
    2026             : #if RK4_ENABLED
    2027           1 :     module procedure getNormKLDMD_RK4
    2028             :         use pm_kind, only: RKC => RK4
    2029             : #include "pm_distNorm@routines.inc.F90"
    2030           1 :     end procedure
    2031             : #endif
    2032             : 
    2033             : #if RK3_ENABLED
    2034           0 :     module procedure getNormKLDMD_RK3
    2035             :         use pm_kind, only: RKC => RK3
    2036             : #include "pm_distNorm@routines.inc.F90"
    2037           0 :     end procedure
    2038             : #endif
    2039             : 
    2040             : #if RK2_ENABLED
    2041           1 :     module procedure getNormKLDMD_RK2
    2042             :         use pm_kind, only: RKC => RK2
    2043             : #include "pm_distNorm@routines.inc.F90"
    2044           1 :     end procedure
    2045             : #endif
    2046             : 
    2047             : #if RK1_ENABLED
    2048           1 :     module procedure getNormKLDMD_RK1
    2049             :         use pm_kind, only: RKC => RK1
    2050             : #include "pm_distNorm@routines.inc.F90"
    2051           1 :     end procedure
    2052             : #endif
    2053             : 
    2054             : #undef RK_ENABLED
    2055             : 
    2056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2057             : 
    2058             : #undef MD_ENABLED
    2059             : 
    2060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2063             : 
    2064             : #define DV_ENABLED 1
    2065             : 
    2066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2067             : 
    2068             : #define RK_ENABLED 1
    2069             : 
    2070             : #if RK5_ENABLED
    2071             :     module procedure getNormKLDDV_RK5
    2072             :         use pm_kind, only: RKC => RK5
    2073             : #include "pm_distNorm@routines.inc.F90"
    2074             :     end procedure
    2075             : #endif
    2076             : 
    2077             : #if RK4_ENABLED
    2078           2 :     module procedure getNormKLDDV_RK4
    2079             :         use pm_kind, only: RKC => RK4
    2080             : #include "pm_distNorm@routines.inc.F90"
    2081           2 :     end procedure
    2082             : #endif
    2083             : 
    2084             : #if RK3_ENABLED
    2085           0 :     module procedure getNormKLDDV_RK3
    2086             :         use pm_kind, only: RKC => RK3
    2087             : #include "pm_distNorm@routines.inc.F90"
    2088           0 :     end procedure
    2089             : #endif
    2090             : 
    2091             : #if RK2_ENABLED
    2092           2 :     module procedure getNormKLDDV_RK2
    2093             :         use pm_kind, only: RKC => RK2
    2094             : #include "pm_distNorm@routines.inc.F90"
    2095           2 :     end procedure
    2096             : #endif
    2097             : 
    2098             : #if RK1_ENABLED
    2099           2 :     module procedure getNormKLDDV_RK1
    2100             :         use pm_kind, only: RKC => RK1
    2101             : #include "pm_distNorm@routines.inc.F90"
    2102           2 :     end procedure
    2103             : #endif
    2104             : 
    2105             : #undef RK_ENABLED
    2106             : 
    2107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2108             : 
    2109             : #undef DV_ENABLED
    2110             : 
    2111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2114             : 
    2115             : #define MV_ENABLED 1
    2116             : 
    2117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2118             : 
    2119             : #define RK_ENABLED 1
    2120             : 
    2121             : #if RK5_ENABLED
    2122             :     module procedure getNormKLDMV_RK5
    2123             :         use pm_kind, only: RKC => RK5
    2124             : #include "pm_distNorm@routines.inc.F90"
    2125             :     end procedure
    2126             : #endif
    2127             : 
    2128             : #if RK4_ENABLED
    2129           1 :     module procedure getNormKLDMV_RK4
    2130             :         use pm_kind, only: RKC => RK4
    2131             : #include "pm_distNorm@routines.inc.F90"
    2132           1 :     end procedure
    2133             : #endif
    2134             : 
    2135             : #if RK3_ENABLED
    2136           0 :     module procedure getNormKLDMV_RK3
    2137             :         use pm_kind, only: RKC => RK3
    2138             : #include "pm_distNorm@routines.inc.F90"
    2139           0 :     end procedure
    2140             : #endif
    2141             : 
    2142             : #if RK2_ENABLED
    2143           1 :     module procedure getNormKLDMV_RK2
    2144             :         use pm_kind, only: RKC => RK2
    2145             : #include "pm_distNorm@routines.inc.F90"
    2146           1 :     end procedure
    2147             : #endif
    2148             : 
    2149             : #if RK1_ENABLED
    2150           1 :     module procedure getNormKLDMV_RK1
    2151             :         use pm_kind, only: RKC => RK1
    2152             : #include "pm_distNorm@routines.inc.F90"
    2153           1 :     end procedure
    2154             : #endif
    2155             : 
    2156             : #undef RK_ENABLED
    2157             : 
    2158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2159             : 
    2160             : #undef MV_ENABLED
    2161             : 
    2162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2165             : 
    2166             : #undef getNormKLD_ENABLED
    2167             : 
    2168             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2169             : 
    2170             : #undef CHECK_ASSERTION
    2171             : 
    2172             : end submodule routines

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