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_sampleECDF](@ref pm_sampleECDF).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_sampleECDF) 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 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define setECDF_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define ONE_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #if RK5_ENABLED
58 : module procedure setECDF_ONE_D1_RK5
59 : use pm_kind, only: TKC => RK5
60 : #include "pm_sampleECDF@routines.inc.F90"
61 : end procedure
62 : #endif
63 :
64 : #if RK4_ENABLED
65 0 : module procedure setECDF_ONE_D1_RK4
66 : use pm_kind, only: TKC => RK4
67 : #include "pm_sampleECDF@routines.inc.F90"
68 : end procedure
69 : #endif
70 :
71 : #if RK3_ENABLED
72 0 : module procedure setECDF_ONE_D1_RK3
73 : use pm_kind, only: TKC => RK3
74 : #include "pm_sampleECDF@routines.inc.F90"
75 : end procedure
76 : #endif
77 :
78 : #if RK2_ENABLED
79 0 : module procedure setECDF_ONE_D1_RK2
80 : use pm_kind, only: TKC => RK2
81 : #include "pm_sampleECDF@routines.inc.F90"
82 : end procedure
83 : #endif
84 :
85 : #if RK1_ENABLED
86 57 : module procedure setECDF_ONE_D1_RK1
87 : use pm_kind, only: TKC => RK1
88 : #include "pm_sampleECDF@routines.inc.F90"
89 : end procedure
90 : #endif
91 :
92 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
93 :
94 : #undef ONE_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #define WIK_ENABLED 1
101 :
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #if RK5_ENABLED
105 : module procedure setECDF_WIK_D1_RK5
106 : use pm_kind, only: TKC => RK5
107 : #include "pm_sampleECDF@routines.inc.F90"
108 : end procedure
109 : #endif
110 :
111 : #if RK4_ENABLED
112 0 : module procedure setECDF_WIK_D1_RK4
113 : use pm_kind, only: TKC => RK4
114 : #include "pm_sampleECDF@routines.inc.F90"
115 : end procedure
116 : #endif
117 :
118 : #if RK3_ENABLED
119 0 : module procedure setECDF_WIK_D1_RK3
120 : use pm_kind, only: TKC => RK3
121 : #include "pm_sampleECDF@routines.inc.F90"
122 : end procedure
123 : #endif
124 :
125 : #if RK2_ENABLED
126 46 : module procedure setECDF_WIK_D1_RK2
127 : use pm_kind, only: TKC => RK2
128 : #include "pm_sampleECDF@routines.inc.F90"
129 : end procedure
130 : #endif
131 :
132 : #if RK1_ENABLED
133 38 : module procedure setECDF_WIK_D1_RK1
134 : use pm_kind, only: TKC => RK1
135 : #include "pm_sampleECDF@routines.inc.F90"
136 : end procedure
137 : #endif
138 :
139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
140 :
141 : #undef WIK_ENABLED
142 :
143 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146 :
147 : #define WRK_ENABLED 1
148 :
149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 :
151 : #if RK5_ENABLED
152 : module procedure setECDF_WRK_D1_RK5
153 : use pm_kind, only: TKC => RK5
154 : #include "pm_sampleECDF@routines.inc.F90"
155 : end procedure
156 : #endif
157 :
158 : #if RK4_ENABLED
159 0 : module procedure setECDF_WRK_D1_RK4
160 : use pm_kind, only: TKC => RK4
161 : #include "pm_sampleECDF@routines.inc.F90"
162 : end procedure
163 : #endif
164 :
165 : #if RK3_ENABLED
166 0 : module procedure setECDF_WRK_D1_RK3
167 : use pm_kind, only: TKC => RK3
168 : #include "pm_sampleECDF@routines.inc.F90"
169 : end procedure
170 : #endif
171 :
172 : #if RK2_ENABLED
173 0 : module procedure setECDF_WRK_D1_RK2
174 : use pm_kind, only: TKC => RK2
175 : #include "pm_sampleECDF@routines.inc.F90"
176 : end procedure
177 : #endif
178 :
179 : #if RK1_ENABLED
180 30 : module procedure setECDF_WRK_D1_RK1
181 : use pm_kind, only: TKC => RK1
182 : #include "pm_sampleECDF@routines.inc.F90"
183 : end procedure
184 : #endif
185 :
186 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
187 :
188 : #undef WRK_ENABLED
189 :
190 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193 :
194 : #undef setECDF_ENABLED
195 :
196 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197 :
198 : end submodule routines
|