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 This file contains the implementations of the tests of module [pm_except](@ref pm_except).
18 : !>
19 : !> \fintest
20 : !>
21 : !> \author
22 : !> \AmirShahmoradi, Friday 1:54 AM, April 21, 2017, Institute for Computational Engineering and Sciences (ICES), The University of Texas, Austin, TX
23 :
24 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 :
26 : submodule (test_pm_except) routines
27 :
28 : use pm_distUnif, only: setUnifRand
29 : use pm_val2str, only: getStr
30 : implicit none
31 :
32 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
33 :
34 : contains
35 :
36 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37 :
38 : #define getInfPos_ENABLED 1
39 :
40 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41 :
42 : #define CK_ENABLED 1
43 :
44 : #if CK5_ENABLED
45 : module procedure test_getInfPos_CK5_1
46 : use pm_kind, only: CKC => CK5
47 : #include "test_pm_except@routines.inc.F90"
48 : end procedure
49 : #endif
50 :
51 : #if CK4_ENABLED
52 1 : module procedure test_getInfPos_CK4_1
53 : use pm_kind, only: CKC => CK4
54 : #include "test_pm_except@routines.inc.F90"
55 : end procedure
56 : #endif
57 :
58 : #if CK3_ENABLED
59 1 : module procedure test_getInfPos_CK3_1
60 : use pm_kind, only: CKC => CK3
61 : #include "test_pm_except@routines.inc.F90"
62 : end procedure
63 : #endif
64 :
65 : #if CK2_ENABLED
66 1 : module procedure test_getInfPos_CK2_1
67 : use pm_kind, only: CKC => CK2
68 : #include "test_pm_except@routines.inc.F90"
69 : end procedure
70 : #endif
71 :
72 : #if CK1_ENABLED
73 1 : module procedure test_getInfPos_CK1_1
74 : use pm_kind, only: CKC => CK1
75 : #include "test_pm_except@routines.inc.F90"
76 : end procedure
77 : #endif
78 :
79 : #undef CK_ENABLED
80 :
81 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
82 :
83 : #define RK_ENABLED 1
84 :
85 : #if RK5_ENABLED
86 : module procedure test_getInfPos_RK5_1
87 : use pm_kind, only: RKC => RK5
88 : #include "test_pm_except@routines.inc.F90"
89 : end procedure
90 : #endif
91 :
92 : #if RK4_ENABLED
93 1 : module procedure test_getInfPos_RK4_1
94 : use pm_kind, only: RKC => RK4
95 : #include "test_pm_except@routines.inc.F90"
96 : end procedure
97 : #endif
98 :
99 : #if RK3_ENABLED
100 1 : module procedure test_getInfPos_RK3_1
101 : use pm_kind, only: RKC => RK3
102 : #include "test_pm_except@routines.inc.F90"
103 : end procedure
104 : #endif
105 :
106 : #if RK2_ENABLED
107 1 : module procedure test_getInfPos_RK2_1
108 : use pm_kind, only: RKC => RK2
109 : #include "test_pm_except@routines.inc.F90"
110 : end procedure
111 : #endif
112 :
113 : #if RK1_ENABLED
114 1 : module procedure test_getInfPos_RK1_1
115 : use pm_kind, only: RKC => RK1
116 : #include "test_pm_except@routines.inc.F90"
117 : end procedure
118 : #endif
119 :
120 : #undef RK_ENABLED
121 :
122 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123 :
124 : #undef getInfPos_ENABLED
125 :
126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127 :
128 : #define setInfPos_ENABLED 1
129 :
130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 :
132 : #define CK_ENABLED 1
133 :
134 : #if CK5_ENABLED
135 : module procedure test_setInfPos_CK5_1
136 : use pm_kind, only: CKC => CK5
137 : #include "test_pm_except@routines.inc.F90"
138 : end procedure
139 : #endif
140 :
141 : #if CK4_ENABLED
142 1 : module procedure test_setInfPos_CK4_1
143 : use pm_kind, only: CKC => CK4
144 : #include "test_pm_except@routines.inc.F90"
145 : end procedure
146 : #endif
147 :
148 : #if CK3_ENABLED
149 1 : module procedure test_setInfPos_CK3_1
150 : use pm_kind, only: CKC => CK3
151 : #include "test_pm_except@routines.inc.F90"
152 : end procedure
153 : #endif
154 :
155 : #if CK2_ENABLED
156 1 : module procedure test_setInfPos_CK2_1
157 : use pm_kind, only: CKC => CK2
158 : #include "test_pm_except@routines.inc.F90"
159 : end procedure
160 : #endif
161 :
162 : #if CK1_ENABLED
163 1 : module procedure test_setInfPos_CK1_1
164 : use pm_kind, only: CKC => CK1
165 : #include "test_pm_except@routines.inc.F90"
166 : end procedure
167 : #endif
168 :
169 : #undef CK_ENABLED
170 :
171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172 :
173 : #define RK_ENABLED 1
174 :
175 : #if RK5_ENABLED
176 : module procedure test_setInfPos_RK5_1
177 : use pm_kind, only: RKC => RK5
178 : #include "test_pm_except@routines.inc.F90"
179 : end procedure
180 : #endif
181 :
182 : #if RK4_ENABLED
183 1 : module procedure test_setInfPos_RK4_1
184 : use pm_kind, only: RKC => RK4
185 : #include "test_pm_except@routines.inc.F90"
186 : end procedure
187 : #endif
188 :
189 : #if RK3_ENABLED
190 1 : module procedure test_setInfPos_RK3_1
191 : use pm_kind, only: RKC => RK3
192 : #include "test_pm_except@routines.inc.F90"
193 : end procedure
194 : #endif
195 :
196 : #if RK2_ENABLED
197 1 : module procedure test_setInfPos_RK2_1
198 : use pm_kind, only: RKC => RK2
199 : #include "test_pm_except@routines.inc.F90"
200 : end procedure
201 : #endif
202 :
203 : #if RK1_ENABLED
204 1 : module procedure test_setInfPos_RK1_1
205 : use pm_kind, only: RKC => RK1
206 : #include "test_pm_except@routines.inc.F90"
207 : end procedure
208 : #endif
209 :
210 : #undef RK_ENABLED
211 :
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 :
214 : #undef setInfPos_ENABLED
215 :
216 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
217 :
218 : #define getInfNeg_ENABLED 1
219 :
220 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
221 :
222 : #define CK_ENABLED 1
223 :
224 : #if CK5_ENABLED
225 : module procedure test_getInfNeg_CK5_1
226 : use pm_kind, only: CKC => CK5
227 : #include "test_pm_except@routines.inc.F90"
228 : end procedure
229 : #endif
230 :
231 : #if CK4_ENABLED
232 1 : module procedure test_getInfNeg_CK4_1
233 : use pm_kind, only: CKC => CK4
234 : #include "test_pm_except@routines.inc.F90"
235 : end procedure
236 : #endif
237 :
238 : #if CK3_ENABLED
239 1 : module procedure test_getInfNeg_CK3_1
240 : use pm_kind, only: CKC => CK3
241 : #include "test_pm_except@routines.inc.F90"
242 : end procedure
243 : #endif
244 :
245 : #if CK2_ENABLED
246 1 : module procedure test_getInfNeg_CK2_1
247 : use pm_kind, only: CKC => CK2
248 : #include "test_pm_except@routines.inc.F90"
249 : end procedure
250 : #endif
251 :
252 : #if CK1_ENABLED
253 1 : module procedure test_getInfNeg_CK1_1
254 : use pm_kind, only: CKC => CK1
255 : #include "test_pm_except@routines.inc.F90"
256 : end procedure
257 : #endif
258 :
259 : #undef CK_ENABLED
260 :
261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262 :
263 : #define RK_ENABLED 1
264 :
265 : #if RK5_ENABLED
266 : module procedure test_getInfNeg_RK5_1
267 : use pm_kind, only: RKC => RK5
268 : #include "test_pm_except@routines.inc.F90"
269 : end procedure
270 : #endif
271 :
272 : #if RK4_ENABLED
273 1 : module procedure test_getInfNeg_RK4_1
274 : use pm_kind, only: RKC => RK4
275 : #include "test_pm_except@routines.inc.F90"
276 : end procedure
277 : #endif
278 :
279 : #if RK3_ENABLED
280 1 : module procedure test_getInfNeg_RK3_1
281 : use pm_kind, only: RKC => RK3
282 : #include "test_pm_except@routines.inc.F90"
283 : end procedure
284 : #endif
285 :
286 : #if RK2_ENABLED
287 1 : module procedure test_getInfNeg_RK2_1
288 : use pm_kind, only: RKC => RK2
289 : #include "test_pm_except@routines.inc.F90"
290 : end procedure
291 : #endif
292 :
293 : #if RK1_ENABLED
294 1 : module procedure test_getInfNeg_RK1_1
295 : use pm_kind, only: RKC => RK1
296 : #include "test_pm_except@routines.inc.F90"
297 : end procedure
298 : #endif
299 :
300 : #undef RK_ENABLED
301 :
302 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
303 :
304 : #undef getInfNeg_ENABLED
305 :
306 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
307 :
308 : #define setInfNeg_ENABLED 1
309 :
310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311 :
312 : #define CK_ENABLED 1
313 :
314 : #if CK5_ENABLED
315 : module procedure test_setInfNeg_CK5_1
316 : use pm_kind, only: CKC => CK5
317 : #include "test_pm_except@routines.inc.F90"
318 : end procedure
319 : #endif
320 :
321 : #if CK4_ENABLED
322 1 : module procedure test_setInfNeg_CK4_1
323 : use pm_kind, only: CKC => CK4
324 : #include "test_pm_except@routines.inc.F90"
325 : end procedure
326 : #endif
327 :
328 : #if CK3_ENABLED
329 1 : module procedure test_setInfNeg_CK3_1
330 : use pm_kind, only: CKC => CK3
331 : #include "test_pm_except@routines.inc.F90"
332 : end procedure
333 : #endif
334 :
335 : #if CK2_ENABLED
336 1 : module procedure test_setInfNeg_CK2_1
337 : use pm_kind, only: CKC => CK2
338 : #include "test_pm_except@routines.inc.F90"
339 : end procedure
340 : #endif
341 :
342 : #if CK1_ENABLED
343 1 : module procedure test_setInfNeg_CK1_1
344 : use pm_kind, only: CKC => CK1
345 : #include "test_pm_except@routines.inc.F90"
346 : end procedure
347 : #endif
348 :
349 : #undef CK_ENABLED
350 :
351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 :
353 : #define RK_ENABLED 1
354 :
355 : #if RK5_ENABLED
356 : module procedure test_setInfNeg_RK5_1
357 : use pm_kind, only: RKC => RK5
358 : #include "test_pm_except@routines.inc.F90"
359 : end procedure
360 : #endif
361 :
362 : #if RK4_ENABLED
363 1 : module procedure test_setInfNeg_RK4_1
364 : use pm_kind, only: RKC => RK4
365 : #include "test_pm_except@routines.inc.F90"
366 : end procedure
367 : #endif
368 :
369 : #if RK3_ENABLED
370 1 : module procedure test_setInfNeg_RK3_1
371 : use pm_kind, only: RKC => RK3
372 : #include "test_pm_except@routines.inc.F90"
373 : end procedure
374 : #endif
375 :
376 : #if RK2_ENABLED
377 1 : module procedure test_setInfNeg_RK2_1
378 : use pm_kind, only: RKC => RK2
379 : #include "test_pm_except@routines.inc.F90"
380 : end procedure
381 : #endif
382 :
383 : #if RK1_ENABLED
384 1 : module procedure test_setInfNeg_RK1_1
385 : use pm_kind, only: RKC => RK1
386 : #include "test_pm_except@routines.inc.F90"
387 : end procedure
388 : #endif
389 :
390 : #undef RK_ENABLED
391 :
392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393 :
394 : #undef setInfNeg_ENABLED
395 :
396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397 :
398 : #define getNAN_ENABLED 1
399 :
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 :
402 : #define CK_ENABLED 1
403 :
404 : #if CK5_ENABLED
405 : module procedure test_getNAN_CK5_1
406 : use pm_kind, only: CKC => CK5
407 : #include "test_pm_except@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if CK4_ENABLED
412 1 : module procedure test_getNAN_CK4_1
413 : use pm_kind, only: CKC => CK4
414 : #include "test_pm_except@routines.inc.F90"
415 : end procedure
416 : #endif
417 :
418 : #if CK3_ENABLED
419 1 : module procedure test_getNAN_CK3_1
420 : use pm_kind, only: CKC => CK3
421 : #include "test_pm_except@routines.inc.F90"
422 : end procedure
423 : #endif
424 :
425 : #if CK2_ENABLED
426 1 : module procedure test_getNAN_CK2_1
427 : use pm_kind, only: CKC => CK2
428 : #include "test_pm_except@routines.inc.F90"
429 : end procedure
430 : #endif
431 :
432 : #if CK1_ENABLED
433 1 : module procedure test_getNAN_CK1_1
434 : use pm_kind, only: CKC => CK1
435 : #include "test_pm_except@routines.inc.F90"
436 : end procedure
437 : #endif
438 :
439 : #undef CK_ENABLED
440 :
441 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442 :
443 : #define RK_ENABLED 1
444 :
445 : #if RK5_ENABLED
446 : module procedure test_getNAN_RK5_1
447 : use pm_kind, only: RKC => RK5
448 : #include "test_pm_except@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if RK4_ENABLED
453 1 : module procedure test_getNAN_RK4_1
454 : use pm_kind, only: RKC => RK4
455 : #include "test_pm_except@routines.inc.F90"
456 : end procedure
457 : #endif
458 :
459 : #if RK3_ENABLED
460 1 : module procedure test_getNAN_RK3_1
461 : use pm_kind, only: RKC => RK3
462 : #include "test_pm_except@routines.inc.F90"
463 : end procedure
464 : #endif
465 :
466 : #if RK2_ENABLED
467 1 : module procedure test_getNAN_RK2_1
468 : use pm_kind, only: RKC => RK2
469 : #include "test_pm_except@routines.inc.F90"
470 : end procedure
471 : #endif
472 :
473 : #if RK1_ENABLED
474 1 : module procedure test_getNAN_RK1_1
475 : use pm_kind, only: RKC => RK1
476 : #include "test_pm_except@routines.inc.F90"
477 : end procedure
478 : #endif
479 :
480 : #undef RK_ENABLED
481 :
482 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 :
484 : #undef getNAN_ENABLED
485 :
486 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
487 :
488 : #define setNAN_ENABLED 1
489 :
490 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
491 :
492 : #define CK_ENABLED 1
493 :
494 : #if CK5_ENABLED
495 : module procedure test_setNAN_CK5_1
496 : use pm_kind, only: CKC => CK5
497 : #include "test_pm_except@routines.inc.F90"
498 : end procedure
499 : #endif
500 :
501 : #if CK4_ENABLED
502 1 : module procedure test_setNAN_CK4_1
503 : use pm_kind, only: CKC => CK4
504 : #include "test_pm_except@routines.inc.F90"
505 : end procedure
506 : #endif
507 :
508 : #if CK3_ENABLED
509 1 : module procedure test_setNAN_CK3_1
510 : use pm_kind, only: CKC => CK3
511 : #include "test_pm_except@routines.inc.F90"
512 : end procedure
513 : #endif
514 :
515 : #if CK2_ENABLED
516 1 : module procedure test_setNAN_CK2_1
517 : use pm_kind, only: CKC => CK2
518 : #include "test_pm_except@routines.inc.F90"
519 : end procedure
520 : #endif
521 :
522 : #if CK1_ENABLED
523 1 : module procedure test_setNAN_CK1_1
524 : use pm_kind, only: CKC => CK1
525 : #include "test_pm_except@routines.inc.F90"
526 : end procedure
527 : #endif
528 :
529 : #undef CK_ENABLED
530 :
531 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
532 :
533 : #define RK_ENABLED 1
534 :
535 : #if RK5_ENABLED
536 : module procedure test_setNAN_RK5_1
537 : use pm_kind, only: RKC => RK5
538 : #include "test_pm_except@routines.inc.F90"
539 : end procedure
540 : #endif
541 :
542 : #if RK4_ENABLED
543 1 : module procedure test_setNAN_RK4_1
544 : use pm_kind, only: RKC => RK4
545 : #include "test_pm_except@routines.inc.F90"
546 : end procedure
547 : #endif
548 :
549 : #if RK3_ENABLED
550 1 : module procedure test_setNAN_RK3_1
551 : use pm_kind, only: RKC => RK3
552 : #include "test_pm_except@routines.inc.F90"
553 : end procedure
554 : #endif
555 :
556 : #if RK2_ENABLED
557 1 : module procedure test_setNAN_RK2_1
558 : use pm_kind, only: RKC => RK2
559 : #include "test_pm_except@routines.inc.F90"
560 : end procedure
561 : #endif
562 :
563 : #if RK1_ENABLED
564 1 : module procedure test_setNAN_RK1_1
565 : use pm_kind, only: RKC => RK1
566 : #include "test_pm_except@routines.inc.F90"
567 : end procedure
568 : #endif
569 :
570 : #undef RK_ENABLED
571 :
572 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
573 :
574 : #undef setNAN_ENABLED
575 :
576 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
577 :
578 : end submodule routines ! LCOV_EXCL_LINE
|