ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_distEggBox.F90
Go to the documentation of this file.
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
35
36!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
39
40 use pm_kind, only: IK, LK, RK, SK
41 implicit none
42
43 character(*, SK), parameter :: MODULE_NAME = "@pm_distEggBox"
44
45!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46
111
112 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115
116 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117
118#if RK5_ENABLED
119 PURE module function getEggBoxLogUDFDDAZ_D1_RK5(X, alpha, zeta) result(logUDF)
120#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
121 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFDDAZ_D1_RK5
122#endif
123 use pm_kind, only: RKG => RK5
124 real(RKG) , intent(in) , contiguous :: X(:)
125 real(RKG) , intent(in) , optional :: alpha, zeta
126 real(RKG) :: logUDF
127 end function
128#endif
129
130#if RK4_ENABLED
131 PURE module function getEggBoxLogUDFDDAZ_D1_RK4(X, alpha, zeta) result(logUDF)
132#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
133 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFDDAZ_D1_RK4
134#endif
135 use pm_kind, only: RKG => RK4
136 real(RKG) , intent(in) , contiguous :: X(:)
137 real(RKG) , intent(in) , optional :: alpha, zeta
138 real(RKG) :: logUDF
139 end function
140#endif
141
142#if RK3_ENABLED
143 PURE module function getEggBoxLogUDFDDAZ_D1_RK3(X, alpha, zeta) result(logUDF)
144#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
145 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFDDAZ_D1_RK3
146#endif
147 use pm_kind, only: RKG => RK3
148 real(RKG) , intent(in) , contiguous :: X(:)
149 real(RKG) , intent(in) , optional :: alpha, zeta
150 real(RKG) :: logUDF
151 end function
152#endif
153
154#if RK2_ENABLED
155 PURE module function getEggBoxLogUDFDDAZ_D1_RK2(X, alpha, zeta) result(logUDF)
156#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
157 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFDDAZ_D1_RK2
158#endif
159 use pm_kind, only: RKG => RK2
160 real(RKG) , intent(in) , contiguous :: X(:)
161 real(RKG) , intent(in) , optional :: alpha, zeta
162 real(RKG) :: logUDF
163 end function
164#endif
165
166#if RK1_ENABLED
167 PURE module function getEggBoxLogUDFDDAZ_D1_RK1(X, alpha, zeta) result(logUDF)
168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
169 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFDDAZ_D1_RK1
170#endif
171 use pm_kind, only: RKG => RK1
172 real(RKG) , intent(in) , contiguous :: X(:)
173 real(RKG) , intent(in) , optional :: alpha, zeta
174 real(RKG) :: logUDF
175 end function
176#endif
177
178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179
180#if RK5_ENABLED
181 PURE module function getEggBoxLogUDFMSAZ_D1_RK5(X, mu, sigma, alpha, zeta) result(logUDF)
182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
183 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFMSAZ_D1_RK5
184#endif
185 use pm_kind, only: RKG => RK5
186 real(RKG) , intent(in) , contiguous :: X(:), mu(:), sigma(:)
187 real(RKG) , intent(in) , optional :: alpha, zeta
188 real(RKG) :: logUDF
189 end function
190#endif
191
192#if RK4_ENABLED
193 PURE module function getEggBoxLogUDFMSAZ_D1_RK4(X, mu, sigma, alpha, zeta) result(logUDF)
194#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
195 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFMSAZ_D1_RK4
196#endif
197 use pm_kind, only: RKG => RK4
198 real(RKG) , intent(in) , contiguous :: X(:), mu(:), sigma(:)
199 real(RKG) , intent(in) , optional :: alpha, zeta
200 real(RKG) :: logUDF
201 end function
202#endif
203
204#if RK3_ENABLED
205 PURE module function getEggBoxLogUDFMSAZ_D1_RK3(X, mu, sigma, alpha, zeta) result(logUDF)
206#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
207 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFMSAZ_D1_RK3
208#endif
209 use pm_kind, only: RKG => RK3
210 real(RKG) , intent(in) , contiguous :: X(:), mu(:), sigma(:)
211 real(RKG) , intent(in) , optional :: alpha, zeta
212 real(RKG) :: logUDF
213 end function
214#endif
215
216#if RK2_ENABLED
217 PURE module function getEggBoxLogUDFMSAZ_D1_RK2(X, mu, sigma, alpha, zeta) result(logUDF)
218#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
219 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFMSAZ_D1_RK2
220#endif
221 use pm_kind, only: RKG => RK2
222 real(RKG) , intent(in) , contiguous :: X(:), mu(:), sigma(:)
223 real(RKG) , intent(in) , optional :: alpha, zeta
224 real(RKG) :: logUDF
225 end function
226#endif
227
228#if RK1_ENABLED
229 PURE module function getEggBoxLogUDFMSAZ_D1_RK1(X, mu, sigma, alpha, zeta) result(logUDF)
230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
231 !DEC$ ATTRIBUTES DLLEXPORT :: getEggBoxLogUDFMSAZ_D1_RK1
232#endif
233 use pm_kind, only: RKG => RK1
234 real(RKG) , intent(in) , contiguous :: X(:), mu(:), sigma(:)
235 real(RKG) , intent(in) , optional :: alpha, zeta
236 real(RKG) :: logUDF
237 end function
238#endif
239
240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
241
242 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
244 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
245
246 end interface
247
248!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249
250end module pm_distEggBox ! LCOV_EXCL_LINE
Generate and return the natural logarithm of the EggBox density function at the specified input point...
This module contains classes and procedures for computing various statistical quantities related to t...
character(*, SK), parameter MODULE_NAME
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522