ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
test_pm_arrayRange.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 interface
40#if SK5_ENABLED
41 module function test_getRange_SK5() result(assertion); logical(LK) :: assertion; end function
42#endif
43#if SK4_ENABLED
44 module function test_getRange_SK4() result(assertion); logical(LK) :: assertion; end function
45#endif
46#if SK3_ENABLED
47 module function test_getRange_SK3() result(assertion); logical(LK) :: assertion; end function
48#endif
49#if SK2_ENABLED
50 module function test_getRange_SK2() result(assertion); logical(LK) :: assertion; end function
51#endif
52#if SK1_ENABLED
53 module function test_getRange_SK1() result(assertion); logical(LK) :: assertion; end function
54#endif
55 end interface
56
57!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
59 interface
60#if IK5_ENABLED
61 module function test_getRange_IK5() result(assertion); logical(LK) :: assertion; end function
62#endif
63#if IK4_ENABLED
64 module function test_getRange_IK4() result(assertion); logical(LK) :: assertion; end function
65#endif
66#if IK3_ENABLED
67 module function test_getRange_IK3() result(assertion); logical(LK) :: assertion; end function
68#endif
69#if IK2_ENABLED
70 module function test_getRange_IK2() result(assertion); logical(LK) :: assertion; end function
71#endif
72#if IK1_ENABLED
73 module function test_getRange_IK1() result(assertion); logical(LK) :: assertion; end function
74#endif
75 end interface
76
77!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
78
79 interface
80#if RK5_ENABLED
81 module function test_getRange_RK5() result(assertion); logical(LK) :: assertion; end function
82#endif
83#if RK4_ENABLED
84 module function test_getRange_RK4() result(assertion); logical(LK) :: assertion; end function
85#endif
86#if RK3_ENABLED
87 module function test_getRange_RK3() result(assertion); logical(LK) :: assertion; end function
88#endif
89#if RK2_ENABLED
90 module function test_getRange_RK2() result(assertion); logical(LK) :: assertion; end function
91#endif
92#if RK1_ENABLED
93 module function test_getRange_RK1() result(assertion); logical(LK) :: assertion; end function
94#endif
95 end interface
96
97!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98
99 interface
100#if SK5_ENABLED
101 module function test_setRange_SK5() result(assertion); logical(LK) :: assertion; end function
102#endif
103#if SK4_ENABLED
104 module function test_setRange_SK4() result(assertion); logical(LK) :: assertion; end function
105#endif
106#if SK3_ENABLED
107 module function test_setRange_SK3() result(assertion); logical(LK) :: assertion; end function
108#endif
109#if SK2_ENABLED
110 module function test_setRange_SK2() result(assertion); logical(LK) :: assertion; end function
111#endif
112#if SK1_ENABLED
113 module function test_setRange_SK1() result(assertion); logical(LK) :: assertion; end function
114#endif
115 end interface
116
117!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
118
119 interface
120#if IK5_ENABLED
121 module function test_setRange_IK5() result(assertion); logical(LK) :: assertion; end function
122#endif
123#if IK4_ENABLED
124 module function test_setRange_IK4() result(assertion); logical(LK) :: assertion; end function
125#endif
126#if IK3_ENABLED
127 module function test_setRange_IK3() result(assertion); logical(LK) :: assertion; end function
128#endif
129#if IK2_ENABLED
130 module function test_setRange_IK2() result(assertion); logical(LK) :: assertion; end function
131#endif
132#if IK1_ENABLED
133 module function test_setRange_IK1() result(assertion); logical(LK) :: assertion; end function
134#endif
135 end interface
136
137!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138
139 interface
140#if RK5_ENABLED
141 module function test_setRange_RK5() result(assertion); logical(LK) :: assertion; end function
142#endif
143#if RK4_ENABLED
144 module function test_setRange_RK4() result(assertion); logical(LK) :: assertion; end function
145#endif
146#if RK3_ENABLED
147 module function test_setRange_RK3() result(assertion); logical(LK) :: assertion; end function
148#endif
149#if RK2_ENABLED
150 module function test_setRange_RK2() result(assertion); logical(LK) :: assertion; end function
151#endif
152#if RK1_ENABLED
153 module function test_setRange_RK1() result(assertion); logical(LK) :: assertion; end function
154#endif
155 end interface
156
157!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158
159contains
160
161!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162
163 subroutine setTest()
164
165 implicit none
167
168 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169
170#if SK5_ENABLED
171 call test%run(test_getRange_SK5, SK_"test_getRange_SK5")
172#endif
173#if SK4_ENABLED
174 call test%run(test_getRange_SK4, SK_"test_getRange_SK4")
175#endif
176#if SK3_ENABLED
177 call test%run(test_getRange_SK3, SK_"test_getRange_SK3")
178#endif
179#if SK2_ENABLED
180 call test%run(test_getRange_SK2, SK_"test_getRange_SK2")
181#endif
182#if SK1_ENABLED
183 call test%run(test_getRange_SK1, SK_"test_getRange_SK1")
184#endif
185
186 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
187
188#if IK5_ENABLED
189 call test%run(test_getRange_IK5, SK_"test_getRange_IK5")
190#endif
191#if IK4_ENABLED
192 call test%run(test_getRange_IK4, SK_"test_getRange_IK4")
193#endif
194#if IK3_ENABLED
195 call test%run(test_getRange_IK3, SK_"test_getRange_IK3")
196#endif
197#if IK2_ENABLED
198 call test%run(test_getRange_IK2, SK_"test_getRange_IK2")
199#endif
200#if IK1_ENABLED
201 call test%run(test_getRange_IK1, SK_"test_getRange_IK1")
202#endif
203
204 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
205
206#if RK5_ENABLED
207 call test%run(test_getRange_RK5, SK_"test_getRange_RK5")
208#endif
209#if RK4_ENABLED
210 call test%run(test_getRange_RK4, SK_"test_getRange_RK4")
211#endif
212#if RK3_ENABLED
213 call test%run(test_getRange_RK3, SK_"test_getRange_RK3")
214#endif
215#if RK2_ENABLED
216 call test%run(test_getRange_RK2, SK_"test_getRange_RK2")
217#endif
218#if RK1_ENABLED
219 call test%run(test_getRange_RK1, SK_"test_getRange_RK1")
220#endif
221
222 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
223
224#if SK5_ENABLED
225 call test%run(test_setRange_SK5, SK_"test_setRange_SK5")
226#endif
227#if SK4_ENABLED
228 call test%run(test_setRange_SK4, SK_"test_setRange_SK4")
229#endif
230#if SK3_ENABLED
231 call test%run(test_setRange_SK3, SK_"test_setRange_SK3")
232#endif
233#if SK2_ENABLED
234 call test%run(test_setRange_SK2, SK_"test_setRange_SK2")
235#endif
236#if SK1_ENABLED
237 call test%run(test_setRange_SK1, SK_"test_setRange_SK1")
238#endif
239
240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
241
242#if IK5_ENABLED
243 call test%run(test_setRange_IK5, SK_"test_setRange_IK5")
244#endif
245#if IK4_ENABLED
246 call test%run(test_setRange_IK4, SK_"test_setRange_IK4")
247#endif
248#if IK3_ENABLED
249 call test%run(test_setRange_IK3, SK_"test_setRange_IK3")
250#endif
251#if IK2_ENABLED
252 call test%run(test_setRange_IK2, SK_"test_setRange_IK2")
253#endif
254#if IK1_ENABLED
255 call test%run(test_setRange_IK1, SK_"test_setRange_IK1")
256#endif
257
258 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259
260#if RK5_ENABLED
261 call test%run(test_setRange_RK5, SK_"test_setRange_RK5")
262#endif
263#if RK4_ENABLED
264 call test%run(test_setRange_RK4, SK_"test_setRange_RK4")
265#endif
266#if RK3_ENABLED
267 call test%run(test_setRange_RK3, SK_"test_setRange_RK3")
268#endif
269#if RK2_ENABLED
270 call test%run(test_setRange_RK2, SK_"test_setRange_RK2")
271#endif
272#if RK1_ENABLED
273 call test%run(test_setRange_RK1, SK_"test_setRange_RK1")
274#endif
275
276 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277
278 call test%summarize()
279
280 end subroutine setTest
281
282!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283
284end module test_pm_arrayRange ! LCOV_EXCL_LINE
This module contains procedures and generic interfaces for generating ranges of discrete character,...
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_arrayRange.
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