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 the implementations of the tests of module [pm_arrayRange](@ref pm_arrayRange).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Sunday 4:33 PM, September 19, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (test_pm_arrayRange) routines
28 :
29 : use pm_kind, only: LK
30 : use pm_val2str, only: getStr
31 : use pm_mathCompare, only: isClose
32 : use pm_io, only: display_type
33 : implicit none
34 :
35 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36 :
37 : contains
38 :
39 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40 :
41 : #define getRange_ENABLED 1
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : #define SK_ENABLED 1
46 :
47 : #if SK5_ENABLED
48 : module procedure test_getRange_SK5
49 : use pm_kind, only: SKC => SK5
50 : #include "test_pm_arrayRange@routines.inc.F90"
51 : end procedure
52 : #endif
53 :
54 : #if SK4_ENABLED
55 : module procedure test_getRange_SK4
56 : use pm_kind, only: SKC => SK4
57 : #include "test_pm_arrayRange@routines.inc.F90"
58 : end procedure
59 : #endif
60 :
61 : #if SK3_ENABLED
62 : module procedure test_getRange_SK3
63 : use pm_kind, only: SKC => SK3
64 : #include "test_pm_arrayRange@routines.inc.F90"
65 : end procedure
66 : #endif
67 :
68 : #if SK2_ENABLED
69 : module procedure test_getRange_SK2
70 : use pm_kind, only: SKC => SK2
71 : #include "test_pm_arrayRange@routines.inc.F90"
72 : end procedure
73 : #endif
74 :
75 : #if SK1_ENABLED
76 1 : module procedure test_getRange_SK1
77 : use pm_kind, only: SKC => SK1
78 : #include "test_pm_arrayRange@routines.inc.F90"
79 : end procedure
80 : #endif
81 :
82 : #undef SK_ENABLED
83 :
84 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85 :
86 : #define IK_ENABLED 1
87 :
88 : #if IK5_ENABLED
89 1 : module procedure test_getRange_IK5
90 : use pm_kind, only: IKC => IK5
91 : #include "test_pm_arrayRange@routines.inc.F90"
92 : end procedure
93 : #endif
94 :
95 : #if IK4_ENABLED
96 1 : module procedure test_getRange_IK4
97 : use pm_kind, only: IKC => IK4
98 : #include "test_pm_arrayRange@routines.inc.F90"
99 : end procedure
100 : #endif
101 :
102 : #if IK3_ENABLED
103 1 : module procedure test_getRange_IK3
104 : use pm_kind, only: IKC => IK3
105 : #include "test_pm_arrayRange@routines.inc.F90"
106 : end procedure
107 : #endif
108 :
109 : #if IK2_ENABLED
110 1 : module procedure test_getRange_IK2
111 : use pm_kind, only: IKC => IK2
112 : #include "test_pm_arrayRange@routines.inc.F90"
113 : end procedure
114 : #endif
115 :
116 : #if IK1_ENABLED
117 1 : module procedure test_getRange_IK1
118 : use pm_kind, only: IKC => IK1
119 : #include "test_pm_arrayRange@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #undef IK_ENABLED
124 :
125 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126 :
127 : #define RK_ENABLED 1
128 :
129 : #if RK5_ENABLED
130 : module procedure test_getRange_RK5
131 : use pm_kind, only: RKC => RK5
132 : #include "test_pm_arrayRange@routines.inc.F90"
133 : end procedure
134 : #endif
135 :
136 : #if RK4_ENABLED
137 1 : module procedure test_getRange_RK4
138 : use pm_kind, only: RKC => RK4
139 : #include "test_pm_arrayRange@routines.inc.F90"
140 : end procedure
141 : #endif
142 :
143 : #if RK3_ENABLED
144 1 : module procedure test_getRange_RK3
145 : use pm_kind, only: RKC => RK3
146 : #include "test_pm_arrayRange@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if RK2_ENABLED
151 1 : module procedure test_getRange_RK2
152 : use pm_kind, only: RKC => RK2
153 : #include "test_pm_arrayRange@routines.inc.F90"
154 : end procedure
155 : #endif
156 :
157 : #if RK1_ENABLED
158 1 : module procedure test_getRange_RK1
159 : use pm_kind, only: RKC => RK1
160 : #include "test_pm_arrayRange@routines.inc.F90"
161 : end procedure
162 : #endif
163 :
164 : #undef RK_ENABLED
165 :
166 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
167 :
168 : #undef getRange_ENABLED
169 :
170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 :
172 : #define setRange_ENABLED 1
173 :
174 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175 :
176 : #define SK_ENABLED 1
177 :
178 : #if SK5_ENABLED
179 : module procedure test_setRange_SK5
180 : use pm_kind, only: SKC => SK5
181 : #include "test_pm_arrayRange@routines.inc.F90"
182 : end procedure
183 : #endif
184 :
185 : #if SK4_ENABLED
186 : module procedure test_setRange_SK4
187 : use pm_kind, only: SKC => SK4
188 : #include "test_pm_arrayRange@routines.inc.F90"
189 : end procedure
190 : #endif
191 :
192 : #if SK3_ENABLED
193 : module procedure test_setRange_SK3
194 : use pm_kind, only: SKC => SK3
195 : #include "test_pm_arrayRange@routines.inc.F90"
196 : end procedure
197 : #endif
198 :
199 : #if SK2_ENABLED
200 : module procedure test_setRange_SK2
201 : use pm_kind, only: SKC => SK2
202 : #include "test_pm_arrayRange@routines.inc.F90"
203 : end procedure
204 : #endif
205 :
206 : #if SK1_ENABLED
207 1 : module procedure test_setRange_SK1
208 : use pm_kind, only: SKC => SK1
209 : #include "test_pm_arrayRange@routines.inc.F90"
210 : end procedure
211 : #endif
212 :
213 : #undef SK_ENABLED
214 :
215 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 :
217 : #define IK_ENABLED 1
218 :
219 : #if IK5_ENABLED
220 1 : module procedure test_setRange_IK5
221 : use pm_kind, only: IKC => IK5
222 : #include "test_pm_arrayRange@routines.inc.F90"
223 : end procedure
224 : #endif
225 :
226 : #if IK4_ENABLED
227 1 : module procedure test_setRange_IK4
228 : use pm_kind, only: IKC => IK4
229 : #include "test_pm_arrayRange@routines.inc.F90"
230 : end procedure
231 : #endif
232 :
233 : #if IK3_ENABLED
234 1 : module procedure test_setRange_IK3
235 : use pm_kind, only: IKC => IK3
236 : #include "test_pm_arrayRange@routines.inc.F90"
237 : end procedure
238 : #endif
239 :
240 : #if IK2_ENABLED
241 1 : module procedure test_setRange_IK2
242 : use pm_kind, only: IKC => IK2
243 : #include "test_pm_arrayRange@routines.inc.F90"
244 : end procedure
245 : #endif
246 :
247 : #if IK1_ENABLED
248 1 : module procedure test_setRange_IK1
249 : use pm_kind, only: IKC => IK1
250 : #include "test_pm_arrayRange@routines.inc.F90"
251 : end procedure
252 : #endif
253 :
254 : #undef IK_ENABLED
255 :
256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
257 :
258 : #define RK_ENABLED 1
259 :
260 : #if RK5_ENABLED
261 : module procedure test_setRange_RK5
262 : use pm_kind, only: RKC => RK5
263 : #include "test_pm_arrayRange@routines.inc.F90"
264 : end procedure
265 : #endif
266 :
267 : #if RK4_ENABLED
268 1 : module procedure test_setRange_RK4
269 : use pm_kind, only: RKC => RK4
270 : #include "test_pm_arrayRange@routines.inc.F90"
271 : end procedure
272 : #endif
273 :
274 : #if RK3_ENABLED
275 1 : module procedure test_setRange_RK3
276 : use pm_kind, only: RKC => RK3
277 : #include "test_pm_arrayRange@routines.inc.F90"
278 : end procedure
279 : #endif
280 :
281 : #if RK2_ENABLED
282 1 : module procedure test_setRange_RK2
283 : use pm_kind, only: RKC => RK2
284 : #include "test_pm_arrayRange@routines.inc.F90"
285 : end procedure
286 : #endif
287 :
288 : #if RK1_ENABLED
289 1 : module procedure test_setRange_RK1
290 : use pm_kind, only: RKC => RK1
291 : #include "test_pm_arrayRange@routines.inc.F90"
292 : end procedure
293 : #endif
294 :
295 : #undef RK_ENABLED
296 :
297 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298 :
299 : #undef setRange_ENABLED
300 :
301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
302 :
303 : end submodule routines ! LCOV_EXCL_LINE
|