ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_arrayChange.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
23
24!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25
27
29 use pm_err, only: err_type
30 use pm_test, only: test_type, LK
31 implicit none
32
33 private
34 public :: setTest
35 type(test_type) :: test
36
37!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38
39 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40
41 interface
42#if SK5_ENABLED
43 module function test_getChange_SK5() result(assertion); logical(LK) :: assertion; end function
44#endif
45#if SK4_ENABLED
46 module function test_getChange_SK4() result(assertion); logical(LK) :: assertion; end function
47#endif
48#if SK3_ENABLED
49 module function test_getChange_SK3() result(assertion); logical(LK) :: assertion; end function
50#endif
51#if SK2_ENABLED
52 module function test_getChange_SK2() result(assertion); logical(LK) :: assertion; end function
53#endif
54#if SK1_ENABLED
55 module function test_getChange_SK1() result(assertion); logical(LK) :: assertion; end function
56#endif
57 end interface
58
59 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60
61 interface
62#if IK5_ENABLED
63 module function test_getChange_IK5() result(assertion); logical(LK) :: assertion; end function
64#endif
65#if IK4_ENABLED
66 module function test_getChange_IK4() result(assertion); logical(LK) :: assertion; end function
67#endif
68#if IK3_ENABLED
69 module function test_getChange_IK3() result(assertion); logical(LK) :: assertion; end function
70#endif
71#if IK2_ENABLED
72 module function test_getChange_IK2() result(assertion); logical(LK) :: assertion; end function
73#endif
74#if IK1_ENABLED
75 module function test_getChange_IK1() result(assertion); logical(LK) :: assertion; end function
76#endif
77 end interface
78
79 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80
81 interface
82#if RK5_ENABLED
83 module function test_getChange_RK5() result(assertion); logical(LK) :: assertion; end function
84#endif
85#if RK4_ENABLED
86 module function test_getChange_RK4() result(assertion); logical(LK) :: assertion; end function
87#endif
88#if RK3_ENABLED
89 module function test_getChange_RK3() result(assertion); logical(LK) :: assertion; end function
90#endif
91#if RK2_ENABLED
92 module function test_getChange_RK2() result(assertion); logical(LK) :: assertion; end function
93#endif
94#if RK1_ENABLED
95 module function test_getChange_RK1() result(assertion); logical(LK) :: assertion; end function
96#endif
97 end interface
98
99 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100
101!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102
103 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104
105 interface
106#if SK5_ENABLED
107 module function test_setChange_SK5() result(assertion); logical(LK) :: assertion; end function
108#endif
109#if SK4_ENABLED
110 module function test_setChange_SK4() result(assertion); logical(LK) :: assertion; end function
111#endif
112#if SK3_ENABLED
113 module function test_setChange_SK3() result(assertion); logical(LK) :: assertion; end function
114#endif
115#if SK2_ENABLED
116 module function test_setChange_SK2() result(assertion); logical(LK) :: assertion; end function
117#endif
118#if SK1_ENABLED
119 module function test_setChange_SK1() result(assertion); logical(LK) :: assertion; end function
120#endif
121 end interface
122
123 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
124
125 interface
126#if IK5_ENABLED
127 module function test_setChange_IK5() result(assertion); logical(LK) :: assertion; end function
128#endif
129#if IK4_ENABLED
130 module function test_setChange_IK4() result(assertion); logical(LK) :: assertion; end function
131#endif
132#if IK3_ENABLED
133 module function test_setChange_IK3() result(assertion); logical(LK) :: assertion; end function
134#endif
135#if IK2_ENABLED
136 module function test_setChange_IK2() result(assertion); logical(LK) :: assertion; end function
137#endif
138#if IK1_ENABLED
139 module function test_setChange_IK1() result(assertion); logical(LK) :: assertion; end function
140#endif
141 end interface
142
143 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144
145 interface
146#if RK5_ENABLED
147 module function test_setChange_RK5() result(assertion); logical(LK) :: assertion; end function
148#endif
149#if RK4_ENABLED
150 module function test_setChange_RK4() result(assertion); logical(LK) :: assertion; end function
151#endif
152#if RK3_ENABLED
153 module function test_setChange_RK3() result(assertion); logical(LK) :: assertion; end function
154#endif
155#if RK2_ENABLED
156 module function test_setChange_RK2() result(assertion); logical(LK) :: assertion; end function
157#endif
158#if RK1_ENABLED
159 module function test_setChange_RK1() result(assertion); logical(LK) :: assertion; end function
160#endif
161 end interface
162
163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164
165!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166
167contains
168
169!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171 subroutine setTest()
172
173 implicit none
175
176 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177
178 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179
180#if SK5_ENABLED
181 call test%run(test_getChange_SK5, SK_"test_getChange_SK5")
182#endif
183#if SK4_ENABLED
184 call test%run(test_getChange_SK4, SK_"test_getChange_SK4")
185#endif
186#if SK3_ENABLED
187 call test%run(test_getChange_SK3, SK_"test_getChange_SK3")
188#endif
189#if SK2_ENABLED
190 call test%run(test_getChange_SK2, SK_"test_getChange_SK2")
191#endif
192#if SK1_ENABLED
193 call test%run(test_getChange_SK1, SK_"test_getChange_SK1")
194#endif
195
196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197
198#if IK5_ENABLED
199 call test%run(test_getChange_IK5, SK_"test_getChange_IK5")
200#endif
201#if IK4_ENABLED
202 call test%run(test_getChange_IK4, SK_"test_getChange_IK4")
203#endif
204#if IK3_ENABLED
205 call test%run(test_getChange_IK3, SK_"test_getChange_IK3")
206#endif
207#if IK2_ENABLED
208 call test%run(test_getChange_IK2, SK_"test_getChange_IK2")
209#endif
210#if IK1_ENABLED
211 call test%run(test_getChange_IK1, SK_"test_getChange_IK1")
212#endif
213
214 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215
216#if RK5_ENABLED
217 call test%run(test_getChange_RK5, SK_"test_getChange_RK5")
218#endif
219#if RK4_ENABLED
220 call test%run(test_getChange_RK4, SK_"test_getChange_RK4")
221#endif
222#if RK3_ENABLED
223 call test%run(test_getChange_RK3, SK_"test_getChange_RK3")
224#endif
225#if RK2_ENABLED
226 call test%run(test_getChange_RK2, SK_"test_getChange_RK2")
227#endif
228#if RK1_ENABLED
229 call test%run(test_getChange_RK1, SK_"test_getChange_RK1")
230#endif
231
232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
233
234 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235
236 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
237
238#if SK5_ENABLED
239 call test%run(test_setChange_SK5, SK_"test_setChange_SK5")
240#endif
241#if SK4_ENABLED
242 call test%run(test_setChange_SK4, SK_"test_setChange_SK4")
243#endif
244#if SK3_ENABLED
245 call test%run(test_setChange_SK3, SK_"test_setChange_SK3")
246#endif
247#if SK2_ENABLED
248 call test%run(test_setChange_SK2, SK_"test_setChange_SK2")
249#endif
250#if SK1_ENABLED
251 call test%run(test_setChange_SK1, SK_"test_setChange_SK1")
252#endif
253
254 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255
256#if IK5_ENABLED
257 call test%run(test_setChange_IK5, SK_"test_setChange_IK5")
258#endif
259#if IK4_ENABLED
260 call test%run(test_setChange_IK4, SK_"test_setChange_IK4")
261#endif
262#if IK3_ENABLED
263 call test%run(test_setChange_IK3, SK_"test_setChange_IK3")
264#endif
265#if IK2_ENABLED
266 call test%run(test_setChange_IK2, SK_"test_setChange_IK2")
267#endif
268#if IK1_ENABLED
269 call test%run(test_setChange_IK1, SK_"test_setChange_IK1")
270#endif
271
272 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273
274#if RK5_ENABLED
275 call test%run(test_setChange_RK5, SK_"test_setChange_RK5")
276#endif
277#if RK4_ENABLED
278 call test%run(test_setChange_RK4, SK_"test_setChange_RK4")
279#endif
280#if RK3_ENABLED
281 call test%run(test_setChange_RK3, SK_"test_setChange_RK3")
282#endif
283#if RK2_ENABLED
284 call test%run(test_setChange_RK2, SK_"test_setChange_RK2")
285#endif
286#if RK1_ENABLED
287 call test%run(test_setChange_RK1, SK_"test_setChange_RK1")
288#endif
289
290 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
291
292 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293
294 call test%summarize()
295
296 end subroutine setTest
297
298!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
299
300end module test_pm_arrayChange ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for selecting uniformly-distributed random cho...
character(*, SK), parameter MODULE_NAME
This module contains classes and procedures for reporting and handling errors.
Definition: pm_err.F90:52
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_arrayChange.
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