ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_sampleECDF.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
22
24
26 use pm_kind, only: IK, RK
27 use pm_err, only: err_type
28 use pm_test, only: test_type, LK
29 implicit none
30
31 private
32 public :: setTest
33 type(test_type) :: test
34
35!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36
37 interface
38
39 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40
41#if RK5_ENABLED
42 module function test_setECDF_D1_RK5_RK5() result(assertion); logical(LK) :: assertion; end function
43#endif
44#if RK4_ENABLED
45 module function test_setECDF_D1_RK4_RK4() result(assertion); logical(LK) :: assertion; end function
46#endif
47#if RK3_ENABLED
48 module function test_setECDF_D1_RK3_RK3() result(assertion); logical(LK) :: assertion; end function
49#endif
50#if RK2_ENABLED
51 module function test_setECDF_D1_RK2_RK2() result(assertion); logical(LK) :: assertion; end function
52#endif
53#if RK1_ENABLED
54 module function test_setECDF_D1_RK1_RK1() result(assertion); logical(LK) :: assertion; end function
55#endif
56
57 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
59#if IK5_ENABLED && RK5_ENABLED
60 module function test_setECDF_D1_IK5_RK5() result(assertion); logical(LK) :: assertion; end function
61#endif
62#if IK5_ENABLED && RK4_ENABLED
63 module function test_setECDF_D1_IK5_RK4() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if IK5_ENABLED && RK3_ENABLED
66 module function test_setECDF_D1_IK5_RK3() result(assertion); logical(LK) :: assertion; end function
67#endif
68#if IK5_ENABLED && RK2_ENABLED
69 module function test_setECDF_D1_IK5_RK2() result(assertion); logical(LK) :: assertion; end function
70#endif
71#if IK5_ENABLED && RK1_ENABLED
72 module function test_setECDF_D1_IK5_RK1() result(assertion); logical(LK) :: assertion; end function
73#endif
74
75 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
76
77#if IK4_ENABLED && RK5_ENABLED
78 module function test_setECDF_D1_IK4_RK5() result(assertion); logical(LK) :: assertion; end function
79#endif
80#if IK4_ENABLED && RK4_ENABLED
81 module function test_setECDF_D1_IK4_RK4() result(assertion); logical(LK) :: assertion; end function
82#endif
83#if IK4_ENABLED && RK3_ENABLED
84 module function test_setECDF_D1_IK4_RK3() result(assertion); logical(LK) :: assertion; end function
85#endif
86#if IK4_ENABLED && RK2_ENABLED
87 module function test_setECDF_D1_IK4_RK2() result(assertion); logical(LK) :: assertion; end function
88#endif
89#if IK4_ENABLED && RK1_ENABLED
90 module function test_setECDF_D1_IK4_RK1() result(assertion); logical(LK) :: assertion; end function
91#endif
92
93 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94
95#if IK3_ENABLED && RK5_ENABLED
96 module function test_setECDF_D1_IK3_RK5() result(assertion); logical(LK) :: assertion; end function
97#endif
98#if IK3_ENABLED && RK4_ENABLED
99 module function test_setECDF_D1_IK3_RK4() result(assertion); logical(LK) :: assertion; end function
100#endif
101#if IK3_ENABLED && RK3_ENABLED
102 module function test_setECDF_D1_IK3_RK3() result(assertion); logical(LK) :: assertion; end function
103#endif
104#if IK3_ENABLED && RK2_ENABLED
105 module function test_setECDF_D1_IK3_RK2() result(assertion); logical(LK) :: assertion; end function
106#endif
107#if IK3_ENABLED && RK1_ENABLED
108 module function test_setECDF_D1_IK3_RK1() result(assertion); logical(LK) :: assertion; end function
109#endif
110
111 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112
113#if IK2_ENABLED && RK5_ENABLED
114 module function test_setECDF_D1_IK2_RK5() result(assertion); logical(LK) :: assertion; end function
115#endif
116#if IK2_ENABLED && RK4_ENABLED
117 module function test_setECDF_D1_IK2_RK4() result(assertion); logical(LK) :: assertion; end function
118#endif
119#if IK2_ENABLED && RK3_ENABLED
120 module function test_setECDF_D1_IK2_RK3() result(assertion); logical(LK) :: assertion; end function
121#endif
122#if IK2_ENABLED && RK2_ENABLED
123 module function test_setECDF_D1_IK2_RK2() result(assertion); logical(LK) :: assertion; end function
124#endif
125#if IK2_ENABLED && RK1_ENABLED
126 module function test_setECDF_D1_IK2_RK1() result(assertion); logical(LK) :: assertion; end function
127#endif
128
129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
130
131#if IK1_ENABLED && RK5_ENABLED
132 module function test_setECDF_D1_IK1_RK5() result(assertion); logical(LK) :: assertion; end function
133#endif
134#if IK1_ENABLED && RK4_ENABLED
135 module function test_setECDF_D1_IK1_RK4() result(assertion); logical(LK) :: assertion; end function
136#endif
137#if IK1_ENABLED && RK3_ENABLED
138 module function test_setECDF_D1_IK1_RK3() result(assertion); logical(LK) :: assertion; end function
139#endif
140#if IK1_ENABLED && RK2_ENABLED
141 module function test_setECDF_D1_IK1_RK2() result(assertion); logical(LK) :: assertion; end function
142#endif
143#if IK1_ENABLED && RK1_ENABLED
144 module function test_setECDF_D1_IK1_RK1() result(assertion); logical(LK) :: assertion; end function
145#endif
146
147 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148
149 end interface
150
151!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152
153contains
154
155!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156
157 subroutine setTest()
158
160
161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162
163#if RK3_ENABLED
164 call test%run(test_setECDF_D1_RK3_RK3 , SK_"test_setECDF_D1_RK3_RK3")
165#endif
166#if RK2_ENABLED
167 call test%run(test_setECDF_D1_RK2_RK2 , SK_"test_setECDF_D1_RK2_RK2")
168#endif
169#if RK1_ENABLED
170 call test%run(test_setECDF_D1_RK1_RK1 , SK_"test_setECDF_D1_RK1_RK1")
171#endif
172
173 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174
175#if IK4_ENABLED && RK3_ENABLED
176 call test%run(test_setECDF_D1_IK4_RK3 , SK_"test_setECDF_D1_IK4_RK3")
177#endif
178#if IK4_ENABLED && RK2_ENABLED
179 call test%run(test_setECDF_D1_IK4_RK2 , SK_"test_setECDF_D1_IK4_RK2")
180#endif
181#if IK4_ENABLED && RK1_ENABLED
182 call test%run(test_setECDF_D1_IK4_RK1 , SK_"test_setECDF_D1_IK4_RK1")
183#endif
184
185 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186
187#if IK3_ENABLED && RK3_ENABLED
188 call test%run(test_setECDF_D1_IK3_RK3 , SK_"test_setECDF_D1_IK3_RK3")
189#endif
190#if IK3_ENABLED && RK2_ENABLED
191 call test%run(test_setECDF_D1_IK3_RK2 , SK_"test_setECDF_D1_IK3_RK2")
192#endif
193#if IK3_ENABLED && RK1_ENABLED
194 call test%run(test_setECDF_D1_IK3_RK1 , SK_"test_setECDF_D1_IK3_RK1")
195#endif
196
197 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
198
199#if IK2_ENABLED && RK3_ENABLED
200 call test%run(test_setECDF_D1_IK2_RK3 , SK_"test_setECDF_D1_IK2_RK3")
201#endif
202#if IK2_ENABLED && RK2_ENABLED
203 call test%run(test_setECDF_D1_IK2_RK2 , SK_"test_setECDF_D1_IK2_RK2")
204#endif
205#if IK2_ENABLED && RK1_ENABLED
206 call test%run(test_setECDF_D1_IK2_RK1 , SK_"test_setECDF_D1_IK2_RK1")
207#endif
208
209 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210
211#if IK1_ENABLED && RK3_ENABLED
212 call test%run(test_setECDF_D1_IK1_RK3 , SK_"test_setECDF_D1_IK1_RK3")
213#endif
214#if IK1_ENABLED && RK2_ENABLED
215 call test%run(test_setECDF_D1_IK1_RK2 , SK_"test_setECDF_D1_IK1_RK2")
216#endif
217#if IK1_ENABLED && RK1_ENABLED
218 call test%run(test_setECDF_D1_IK1_RK1 , SK_"test_setECDF_D1_IK1_RK1")
219#endif
220
221 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222
223 call test%summarize()
224
225 end subroutine setTest
226
227!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228
229end module test_pm_sampleECDF
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
character(*, SK), parameter MODULE_NAME
Definition: pm_err.F90:58
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
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 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
This module contains classes and procedures for computing the Empirical Cumulative Distribution Funct...
This module contains a simple unit-testing framework for the Fortran libraries, including the ParaMon...
Definition: pm_test.F90:42
This module contains tests of the module pm_sampleECDF.
This is the derived type for generating objects to gracefully and verbosely handle runtime unexpected...
Definition: pm_err.F90:157
This is the derived type test_type for generating objects that facilitate testing of a series of proc...
Definition: pm_test.F90:209