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 [test_pm_mathRoot](@ref test_pm_mathRoot).
19 : !>
20 : !> \fintest
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Sunday 4:33 PM, September 19, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (test_pm_mathRoot) routines
28 :
29 : use pm_arrayMembership, only: operator(.allinrange.)
30 : use pm_arrayRemove, only: getRemoved
31 : use pm_arrayChoice, only: getChoice
32 : use pm_distUnif, only: getUnifRand
33 : use pm_io, only: display_type
34 : use pm_arrayRange, only: getRange
35 : use pm_option, only: getOption
36 : use pm_val2str, only: getStr
37 :
38 : implicit none
39 :
40 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41 :
42 : contains
43 :
44 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 :
46 : #define getRoot_ENABLED 1
47 :
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 :
52 : #define Def_ENABLED 1
53 :
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 :
56 : #define RK_ENABLED 1
57 :
58 : #if RK5_ENABLED
59 : module procedure test_getRootDef_RK5
60 : use pm_kind, only: TKC => RK5
61 : #include "test_pm_mathRoot@routines.inc.F90"
62 : end procedure
63 : #endif
64 :
65 : #if RK4_ENABLED
66 1 : module procedure test_getRootDef_RK4
67 : use pm_kind, only: TKC => RK4
68 : #include "test_pm_mathRoot@routines.inc.F90"
69 : end procedure
70 : #endif
71 :
72 : #if RK3_ENABLED
73 1 : module procedure test_getRootDef_RK3
74 : use pm_kind, only: TKC => RK3
75 : #include "test_pm_mathRoot@routines.inc.F90"
76 : end procedure
77 : #endif
78 :
79 : #if RK2_ENABLED
80 1 : module procedure test_getRootDef_RK2
81 : use pm_kind, only: TKC => RK2
82 : #include "test_pm_mathRoot@routines.inc.F90"
83 : end procedure
84 : #endif
85 :
86 : #if RK1_ENABLED
87 1 : module procedure test_getRootDef_RK1
88 : use pm_kind, only: TKC => RK1
89 : #include "test_pm_mathRoot@routines.inc.F90"
90 : end procedure
91 : #endif
92 :
93 : #undef RK_ENABLED
94 :
95 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96 :
97 : #undef Def_ENABLED
98 :
99 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 :
103 : #undef getRoot_ENABLED
104 :
105 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106 :
107 : #define getRoot_ENABLED 1
108 :
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 :
113 : #define False_ENABLED 1
114 :
115 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
116 :
117 : #define RK_ENABLED 1
118 :
119 : #if RK5_ENABLED
120 : module procedure test_getRootFalse_RK5
121 : use pm_kind, only: TKC => RK5
122 : #include "test_pm_mathRoot@routines.inc.F90"
123 : end procedure
124 : #endif
125 :
126 : #if RK4_ENABLED
127 1 : module procedure test_getRootFalse_RK4
128 : use pm_kind, only: TKC => RK4
129 : #include "test_pm_mathRoot@routines.inc.F90"
130 : end procedure
131 : #endif
132 :
133 : #if RK3_ENABLED
134 1 : module procedure test_getRootFalse_RK3
135 : use pm_kind, only: TKC => RK3
136 : #include "test_pm_mathRoot@routines.inc.F90"
137 : end procedure
138 : #endif
139 :
140 : #if RK2_ENABLED
141 1 : module procedure test_getRootFalse_RK2
142 : use pm_kind, only: TKC => RK2
143 : #include "test_pm_mathRoot@routines.inc.F90"
144 : end procedure
145 : #endif
146 :
147 : #if RK1_ENABLED
148 1 : module procedure test_getRootFalse_RK1
149 : use pm_kind, only: TKC => RK1
150 : #include "test_pm_mathRoot@routines.inc.F90"
151 : end procedure
152 : #endif
153 :
154 : #undef RK_ENABLED
155 :
156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
157 :
158 : #undef False_ENABLED
159 :
160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163 :
164 : #define Bisection_ENABLED 1
165 :
166 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
167 :
168 : #define RK_ENABLED 1
169 :
170 : #if RK5_ENABLED
171 : module procedure test_getRootBisection_RK5
172 : use pm_kind, only: TKC => RK5
173 : #include "test_pm_mathRoot@routines.inc.F90"
174 : end procedure
175 : #endif
176 :
177 : #if RK4_ENABLED
178 1 : module procedure test_getRootBisection_RK4
179 : use pm_kind, only: TKC => RK4
180 : #include "test_pm_mathRoot@routines.inc.F90"
181 : end procedure
182 : #endif
183 :
184 : #if RK3_ENABLED
185 1 : module procedure test_getRootBisection_RK3
186 : use pm_kind, only: TKC => RK3
187 : #include "test_pm_mathRoot@routines.inc.F90"
188 : end procedure
189 : #endif
190 :
191 : #if RK2_ENABLED
192 1 : module procedure test_getRootBisection_RK2
193 : use pm_kind, only: TKC => RK2
194 : #include "test_pm_mathRoot@routines.inc.F90"
195 : end procedure
196 : #endif
197 :
198 : #if RK1_ENABLED
199 1 : module procedure test_getRootBisection_RK1
200 : use pm_kind, only: TKC => RK1
201 : #include "test_pm_mathRoot@routines.inc.F90"
202 : end procedure
203 : #endif
204 :
205 : #undef RK_ENABLED
206 :
207 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208 :
209 : #undef Bisection_ENABLED
210 :
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214 :
215 : #define Secant_ENABLED 1
216 :
217 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218 :
219 : #define RK_ENABLED 1
220 :
221 : #if RK5_ENABLED
222 : module procedure test_getRootSecant_RK5
223 : use pm_kind, only: TKC => RK5
224 : #include "test_pm_mathRoot@routines.inc.F90"
225 : end procedure
226 : #endif
227 :
228 : #if RK4_ENABLED
229 1 : module procedure test_getRootSecant_RK4
230 : use pm_kind, only: TKC => RK4
231 : #include "test_pm_mathRoot@routines.inc.F90"
232 : end procedure
233 : #endif
234 :
235 : #if RK3_ENABLED
236 1 : module procedure test_getRootSecant_RK3
237 : use pm_kind, only: TKC => RK3
238 : #include "test_pm_mathRoot@routines.inc.F90"
239 : end procedure
240 : #endif
241 :
242 : #if RK2_ENABLED
243 1 : module procedure test_getRootSecant_RK2
244 : use pm_kind, only: TKC => RK2
245 : #include "test_pm_mathRoot@routines.inc.F90"
246 : end procedure
247 : #endif
248 :
249 : #if RK1_ENABLED
250 1 : module procedure test_getRootSecant_RK1
251 : use pm_kind, only: TKC => RK1
252 : #include "test_pm_mathRoot@routines.inc.F90"
253 : end procedure
254 : #endif
255 :
256 : #undef RK_ENABLED
257 :
258 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259 :
260 : #undef Secant_ENABLED
261 :
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 :
266 : #define Brent_ENABLED 1
267 :
268 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
269 :
270 : #define RK_ENABLED 1
271 :
272 : #if RK5_ENABLED
273 : module procedure test_getRootBrent_RK5
274 : use pm_kind, only: TKC => RK5
275 : #include "test_pm_mathRoot@routines.inc.F90"
276 : end procedure
277 : #endif
278 :
279 : #if RK4_ENABLED
280 1 : module procedure test_getRootBrent_RK4
281 : use pm_kind, only: TKC => RK4
282 : #include "test_pm_mathRoot@routines.inc.F90"
283 : end procedure
284 : #endif
285 :
286 : #if RK3_ENABLED
287 1 : module procedure test_getRootBrent_RK3
288 : use pm_kind, only: TKC => RK3
289 : #include "test_pm_mathRoot@routines.inc.F90"
290 : end procedure
291 : #endif
292 :
293 : #if RK2_ENABLED
294 1 : module procedure test_getRootBrent_RK2
295 : use pm_kind, only: TKC => RK2
296 : #include "test_pm_mathRoot@routines.inc.F90"
297 : end procedure
298 : #endif
299 :
300 : #if RK1_ENABLED
301 1 : module procedure test_getRootBrent_RK1
302 : use pm_kind, only: TKC => RK1
303 : #include "test_pm_mathRoot@routines.inc.F90"
304 : end procedure
305 : #endif
306 :
307 : #undef RK_ENABLED
308 :
309 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
310 :
311 : #undef Brent_ENABLED
312 :
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 :
317 : #define Ridders_ENABLED 1
318 :
319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 :
321 : #define RK_ENABLED 1
322 :
323 : #if RK5_ENABLED
324 : module procedure test_getRootRidders_RK5
325 : use pm_kind, only: TKC => RK5
326 : #include "test_pm_mathRoot@routines.inc.F90"
327 : end procedure
328 : #endif
329 :
330 : #if RK4_ENABLED
331 1 : module procedure test_getRootRidders_RK4
332 : use pm_kind, only: TKC => RK4
333 : #include "test_pm_mathRoot@routines.inc.F90"
334 : end procedure
335 : #endif
336 :
337 : #if RK3_ENABLED
338 1 : module procedure test_getRootRidders_RK3
339 : use pm_kind, only: TKC => RK3
340 : #include "test_pm_mathRoot@routines.inc.F90"
341 : end procedure
342 : #endif
343 :
344 : #if RK2_ENABLED
345 1 : module procedure test_getRootRidders_RK2
346 : use pm_kind, only: TKC => RK2
347 : #include "test_pm_mathRoot@routines.inc.F90"
348 : end procedure
349 : #endif
350 :
351 : #if RK1_ENABLED
352 1 : module procedure test_getRootRidders_RK1
353 : use pm_kind, only: TKC => RK1
354 : #include "test_pm_mathRoot@routines.inc.F90"
355 : end procedure
356 : #endif
357 :
358 : #undef RK_ENABLED
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 :
362 : #undef Ridders_ENABLED
363 :
364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 :
368 : #define TOMS748_ENABLED 1
369 :
370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371 :
372 : #define RK_ENABLED 1
373 :
374 : #if RK5_ENABLED
375 : module procedure test_getRootTOMS748_RK5
376 : use pm_kind, only: TKC => RK5
377 : #include "test_pm_mathRoot@routines.inc.F90"
378 : end procedure
379 : #endif
380 :
381 : #if RK4_ENABLED
382 1 : module procedure test_getRootTOMS748_RK4
383 : use pm_kind, only: TKC => RK4
384 : #include "test_pm_mathRoot@routines.inc.F90"
385 : end procedure
386 : #endif
387 :
388 : #if RK3_ENABLED
389 1 : module procedure test_getRootTOMS748_RK3
390 : use pm_kind, only: TKC => RK3
391 : #include "test_pm_mathRoot@routines.inc.F90"
392 : end procedure
393 : #endif
394 :
395 : #if RK2_ENABLED
396 1 : module procedure test_getRootTOMS748_RK2
397 : use pm_kind, only: TKC => RK2
398 : #include "test_pm_mathRoot@routines.inc.F90"
399 : end procedure
400 : #endif
401 :
402 : #if RK1_ENABLED
403 1 : module procedure test_getRootTOMS748_RK1
404 : use pm_kind, only: TKC => RK1
405 : #include "test_pm_mathRoot@routines.inc.F90"
406 : end procedure
407 : #endif
408 :
409 : #undef RK_ENABLED
410 :
411 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412 :
413 : #undef TOMS748_ENABLED
414 :
415 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418 :
419 : #define Newton_ENABLED 1
420 :
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 :
423 : #define RK_ENABLED 1
424 :
425 : #if RK5_ENABLED
426 : module procedure test_getRootNewton_RK5
427 : use pm_kind, only: TKC => RK5
428 : #include "test_pm_mathRoot@routines.inc.F90"
429 : end procedure
430 : #endif
431 :
432 : #if RK4_ENABLED
433 1 : module procedure test_getRootNewton_RK4
434 : use pm_kind, only: TKC => RK4
435 : #include "test_pm_mathRoot@routines.inc.F90"
436 : end procedure
437 : #endif
438 :
439 : #if RK3_ENABLED
440 1 : module procedure test_getRootNewton_RK3
441 : use pm_kind, only: TKC => RK3
442 : #include "test_pm_mathRoot@routines.inc.F90"
443 : end procedure
444 : #endif
445 :
446 : #if RK2_ENABLED
447 1 : module procedure test_getRootNewton_RK2
448 : use pm_kind, only: TKC => RK2
449 : #include "test_pm_mathRoot@routines.inc.F90"
450 : end procedure
451 : #endif
452 :
453 : #if RK1_ENABLED
454 1 : module procedure test_getRootNewton_RK1
455 : use pm_kind, only: TKC => RK1
456 : #include "test_pm_mathRoot@routines.inc.F90"
457 : end procedure
458 : #endif
459 :
460 : #undef RK_ENABLED
461 :
462 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
463 :
464 : #undef Newton_ENABLED
465 :
466 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
467 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
468 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
469 :
470 : #define Halley_ENABLED 1
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 :
474 : #define RK_ENABLED 1
475 :
476 : #if RK5_ENABLED
477 : module procedure test_getRootHalley_RK5
478 : use pm_kind, only: TKC => RK5
479 : #include "test_pm_mathRoot@routines.inc.F90"
480 : end procedure
481 : #endif
482 :
483 : #if RK4_ENABLED
484 1 : module procedure test_getRootHalley_RK4
485 : use pm_kind, only: TKC => RK4
486 : #include "test_pm_mathRoot@routines.inc.F90"
487 : end procedure
488 : #endif
489 :
490 : #if RK3_ENABLED
491 1 : module procedure test_getRootHalley_RK3
492 : use pm_kind, only: TKC => RK3
493 : #include "test_pm_mathRoot@routines.inc.F90"
494 : end procedure
495 : #endif
496 :
497 : #if RK2_ENABLED
498 1 : module procedure test_getRootHalley_RK2
499 : use pm_kind, only: TKC => RK2
500 : #include "test_pm_mathRoot@routines.inc.F90"
501 : end procedure
502 : #endif
503 :
504 : #if RK1_ENABLED
505 1 : module procedure test_getRootHalley_RK1
506 : use pm_kind, only: TKC => RK1
507 : #include "test_pm_mathRoot@routines.inc.F90"
508 : end procedure
509 : #endif
510 :
511 : #undef RK_ENABLED
512 :
513 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
514 :
515 : #undef Halley_ENABLED
516 :
517 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 :
521 : #define Schroder_ENABLED 1
522 :
523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524 :
525 : #define RK_ENABLED 1
526 :
527 : #if RK5_ENABLED
528 : module procedure test_getRootSchroder_RK5
529 : use pm_kind, only: TKC => RK5
530 : #include "test_pm_mathRoot@routines.inc.F90"
531 : end procedure
532 : #endif
533 :
534 : #if RK4_ENABLED
535 1 : module procedure test_getRootSchroder_RK4
536 : use pm_kind, only: TKC => RK4
537 : #include "test_pm_mathRoot@routines.inc.F90"
538 : end procedure
539 : #endif
540 :
541 : #if RK3_ENABLED
542 1 : module procedure test_getRootSchroder_RK3
543 : use pm_kind, only: TKC => RK3
544 : #include "test_pm_mathRoot@routines.inc.F90"
545 : end procedure
546 : #endif
547 :
548 : #if RK2_ENABLED
549 1 : module procedure test_getRootSchroder_RK2
550 : use pm_kind, only: TKC => RK2
551 : #include "test_pm_mathRoot@routines.inc.F90"
552 : end procedure
553 : #endif
554 :
555 : #if RK1_ENABLED
556 1 : module procedure test_getRootSchroder_RK1
557 : use pm_kind, only: TKC => RK1
558 : #include "test_pm_mathRoot@routines.inc.F90"
559 : end procedure
560 : #endif
561 :
562 : #undef RK_ENABLED
563 :
564 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
565 :
566 : #undef Schroder_ENABLED
567 :
568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
569 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
570 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
571 :
572 : #undef getRoot_ENABLED
573 :
574 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
575 :
576 : #define setRoot_ENABLED 1
577 :
578 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
579 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581 :
582 : #define False_ENABLED 1
583 :
584 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585 :
586 : #define RK_ENABLED 1
587 :
588 : #if RK5_ENABLED
589 : module procedure test_setRootFalse_RK5
590 : use pm_kind, only: TKC => RK5
591 : #include "test_pm_mathRoot@routines.inc.F90"
592 : end procedure
593 : #endif
594 :
595 : #if RK4_ENABLED
596 1 : module procedure test_setRootFalse_RK4
597 : use pm_kind, only: TKC => RK4
598 : #include "test_pm_mathRoot@routines.inc.F90"
599 : end procedure
600 : #endif
601 :
602 : #if RK3_ENABLED
603 1 : module procedure test_setRootFalse_RK3
604 : use pm_kind, only: TKC => RK3
605 : #include "test_pm_mathRoot@routines.inc.F90"
606 : end procedure
607 : #endif
608 :
609 : #if RK2_ENABLED
610 1 : module procedure test_setRootFalse_RK2
611 : use pm_kind, only: TKC => RK2
612 : #include "test_pm_mathRoot@routines.inc.F90"
613 : end procedure
614 : #endif
615 :
616 : #if RK1_ENABLED
617 1 : module procedure test_setRootFalse_RK1
618 : use pm_kind, only: TKC => RK1
619 : #include "test_pm_mathRoot@routines.inc.F90"
620 : end procedure
621 : #endif
622 :
623 : #undef RK_ENABLED
624 :
625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626 :
627 : #undef False_ENABLED
628 :
629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
631 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632 :
633 : #define Bisection_ENABLED 1
634 :
635 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
636 :
637 : #define RK_ENABLED 1
638 :
639 : #if RK5_ENABLED
640 : module procedure test_setRootBisection_RK5
641 : use pm_kind, only: TKC => RK5
642 : #include "test_pm_mathRoot@routines.inc.F90"
643 : end procedure
644 : #endif
645 :
646 : #if RK4_ENABLED
647 1 : module procedure test_setRootBisection_RK4
648 : use pm_kind, only: TKC => RK4
649 : #include "test_pm_mathRoot@routines.inc.F90"
650 : end procedure
651 : #endif
652 :
653 : #if RK3_ENABLED
654 1 : module procedure test_setRootBisection_RK3
655 : use pm_kind, only: TKC => RK3
656 : #include "test_pm_mathRoot@routines.inc.F90"
657 : end procedure
658 : #endif
659 :
660 : #if RK2_ENABLED
661 1 : module procedure test_setRootBisection_RK2
662 : use pm_kind, only: TKC => RK2
663 : #include "test_pm_mathRoot@routines.inc.F90"
664 : end procedure
665 : #endif
666 :
667 : #if RK1_ENABLED
668 1 : module procedure test_setRootBisection_RK1
669 : use pm_kind, only: TKC => RK1
670 : #include "test_pm_mathRoot@routines.inc.F90"
671 : end procedure
672 : #endif
673 :
674 : #undef RK_ENABLED
675 :
676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677 :
678 : #undef Bisection_ENABLED
679 :
680 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
681 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683 :
684 : #define Secant_ENABLED 1
685 :
686 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
687 :
688 : #define RK_ENABLED 1
689 :
690 : #if RK5_ENABLED
691 : module procedure test_setRootSecant_RK5
692 : use pm_kind, only: TKC => RK5
693 : #include "test_pm_mathRoot@routines.inc.F90"
694 : end procedure
695 : #endif
696 :
697 : #if RK4_ENABLED
698 1 : module procedure test_setRootSecant_RK4
699 : use pm_kind, only: TKC => RK4
700 : #include "test_pm_mathRoot@routines.inc.F90"
701 : end procedure
702 : #endif
703 :
704 : #if RK3_ENABLED
705 1 : module procedure test_setRootSecant_RK3
706 : use pm_kind, only: TKC => RK3
707 : #include "test_pm_mathRoot@routines.inc.F90"
708 : end procedure
709 : #endif
710 :
711 : #if RK2_ENABLED
712 1 : module procedure test_setRootSecant_RK2
713 : use pm_kind, only: TKC => RK2
714 : #include "test_pm_mathRoot@routines.inc.F90"
715 : end procedure
716 : #endif
717 :
718 : #if RK1_ENABLED
719 1 : module procedure test_setRootSecant_RK1
720 : use pm_kind, only: TKC => RK1
721 : #include "test_pm_mathRoot@routines.inc.F90"
722 : end procedure
723 : #endif
724 :
725 : #undef RK_ENABLED
726 :
727 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
728 :
729 : #undef Secant_ENABLED
730 :
731 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
732 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
733 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
734 :
735 : #define Brent_ENABLED 1
736 :
737 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
738 :
739 : #define RK_ENABLED 1
740 :
741 : #if RK5_ENABLED
742 : module procedure test_setRootBrent_RK5
743 : use pm_kind, only: TKC => RK5
744 : #include "test_pm_mathRoot@routines.inc.F90"
745 : end procedure
746 : #endif
747 :
748 : #if RK4_ENABLED
749 1 : module procedure test_setRootBrent_RK4
750 : use pm_kind, only: TKC => RK4
751 : #include "test_pm_mathRoot@routines.inc.F90"
752 : end procedure
753 : #endif
754 :
755 : #if RK3_ENABLED
756 1 : module procedure test_setRootBrent_RK3
757 : use pm_kind, only: TKC => RK3
758 : #include "test_pm_mathRoot@routines.inc.F90"
759 : end procedure
760 : #endif
761 :
762 : #if RK2_ENABLED
763 1 : module procedure test_setRootBrent_RK2
764 : use pm_kind, only: TKC => RK2
765 : #include "test_pm_mathRoot@routines.inc.F90"
766 : end procedure
767 : #endif
768 :
769 : #if RK1_ENABLED
770 1 : module procedure test_setRootBrent_RK1
771 : use pm_kind, only: TKC => RK1
772 : #include "test_pm_mathRoot@routines.inc.F90"
773 : end procedure
774 : #endif
775 :
776 : #undef RK_ENABLED
777 :
778 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
779 :
780 : #undef Brent_ENABLED
781 :
782 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
783 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
784 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
785 :
786 : #define Ridders_ENABLED 1
787 :
788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
789 :
790 : #define RK_ENABLED 1
791 :
792 : #if RK5_ENABLED
793 : module procedure test_setRootRidders_RK5
794 : use pm_kind, only: TKC => RK5
795 : #include "test_pm_mathRoot@routines.inc.F90"
796 : end procedure
797 : #endif
798 :
799 : #if RK4_ENABLED
800 1 : module procedure test_setRootRidders_RK4
801 : use pm_kind, only: TKC => RK4
802 : #include "test_pm_mathRoot@routines.inc.F90"
803 : end procedure
804 : #endif
805 :
806 : #if RK3_ENABLED
807 1 : module procedure test_setRootRidders_RK3
808 : use pm_kind, only: TKC => RK3
809 : #include "test_pm_mathRoot@routines.inc.F90"
810 : end procedure
811 : #endif
812 :
813 : #if RK2_ENABLED
814 1 : module procedure test_setRootRidders_RK2
815 : use pm_kind, only: TKC => RK2
816 : #include "test_pm_mathRoot@routines.inc.F90"
817 : end procedure
818 : #endif
819 :
820 : #if RK1_ENABLED
821 1 : module procedure test_setRootRidders_RK1
822 : use pm_kind, only: TKC => RK1
823 : #include "test_pm_mathRoot@routines.inc.F90"
824 : end procedure
825 : #endif
826 :
827 : #undef RK_ENABLED
828 :
829 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
830 :
831 : #undef Ridders_ENABLED
832 :
833 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
834 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
835 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
836 :
837 : #define TOMS748_ENABLED 1
838 :
839 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
840 :
841 : #define RK_ENABLED 1
842 :
843 : #if RK5_ENABLED
844 : module procedure test_setRootTOMS748_RK5
845 : use pm_kind, only: TKC => RK5
846 : #include "test_pm_mathRoot@routines.inc.F90"
847 : end procedure
848 : #endif
849 :
850 : #if RK4_ENABLED
851 1 : module procedure test_setRootTOMS748_RK4
852 : use pm_kind, only: TKC => RK4
853 : #include "test_pm_mathRoot@routines.inc.F90"
854 : end procedure
855 : #endif
856 :
857 : #if RK3_ENABLED
858 1 : module procedure test_setRootTOMS748_RK3
859 : use pm_kind, only: TKC => RK3
860 : #include "test_pm_mathRoot@routines.inc.F90"
861 : end procedure
862 : #endif
863 :
864 : #if RK2_ENABLED
865 1 : module procedure test_setRootTOMS748_RK2
866 : use pm_kind, only: TKC => RK2
867 : #include "test_pm_mathRoot@routines.inc.F90"
868 : end procedure
869 : #endif
870 :
871 : #if RK1_ENABLED
872 1 : module procedure test_setRootTOMS748_RK1
873 : use pm_kind, only: TKC => RK1
874 : #include "test_pm_mathRoot@routines.inc.F90"
875 : end procedure
876 : #endif
877 :
878 : #undef RK_ENABLED
879 :
880 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
881 :
882 : #undef TOMS748_ENABLED
883 :
884 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
885 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
887 :
888 : #define Newton_ENABLED 1
889 :
890 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
891 :
892 : #define RK_ENABLED 1
893 :
894 : #if RK5_ENABLED
895 : module procedure test_setRootNewton_RK5
896 : use pm_kind, only: TKC => RK5
897 : #include "test_pm_mathRoot@routines.inc.F90"
898 : end procedure
899 : #endif
900 :
901 : #if RK4_ENABLED
902 1 : module procedure test_setRootNewton_RK4
903 : use pm_kind, only: TKC => RK4
904 : #include "test_pm_mathRoot@routines.inc.F90"
905 : end procedure
906 : #endif
907 :
908 : #if RK3_ENABLED
909 1 : module procedure test_setRootNewton_RK3
910 : use pm_kind, only: TKC => RK3
911 : #include "test_pm_mathRoot@routines.inc.F90"
912 : end procedure
913 : #endif
914 :
915 : #if RK2_ENABLED
916 1 : module procedure test_setRootNewton_RK2
917 : use pm_kind, only: TKC => RK2
918 : #include "test_pm_mathRoot@routines.inc.F90"
919 : end procedure
920 : #endif
921 :
922 : #if RK1_ENABLED
923 1 : module procedure test_setRootNewton_RK1
924 : use pm_kind, only: TKC => RK1
925 : #include "test_pm_mathRoot@routines.inc.F90"
926 : end procedure
927 : #endif
928 :
929 : #undef RK_ENABLED
930 :
931 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
932 :
933 : #undef Newton_ENABLED
934 :
935 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
936 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
937 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
938 :
939 : #define Halley_ENABLED 1
940 :
941 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
942 :
943 : #define RK_ENABLED 1
944 :
945 : #if RK5_ENABLED
946 : module procedure test_setRootHalley_RK5
947 : use pm_kind, only: TKC => RK5
948 : #include "test_pm_mathRoot@routines.inc.F90"
949 : end procedure
950 : #endif
951 :
952 : #if RK4_ENABLED
953 1 : module procedure test_setRootHalley_RK4
954 : use pm_kind, only: TKC => RK4
955 : #include "test_pm_mathRoot@routines.inc.F90"
956 : end procedure
957 : #endif
958 :
959 : #if RK3_ENABLED
960 1 : module procedure test_setRootHalley_RK3
961 : use pm_kind, only: TKC => RK3
962 : #include "test_pm_mathRoot@routines.inc.F90"
963 : end procedure
964 : #endif
965 :
966 : #if RK2_ENABLED
967 1 : module procedure test_setRootHalley_RK2
968 : use pm_kind, only: TKC => RK2
969 : #include "test_pm_mathRoot@routines.inc.F90"
970 : end procedure
971 : #endif
972 :
973 : #if RK1_ENABLED
974 1 : module procedure test_setRootHalley_RK1
975 : use pm_kind, only: TKC => RK1
976 : #include "test_pm_mathRoot@routines.inc.F90"
977 : end procedure
978 : #endif
979 :
980 : #undef RK_ENABLED
981 :
982 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
983 :
984 : #undef Halley_ENABLED
985 :
986 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
987 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
988 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
989 :
990 : #define Schroder_ENABLED 1
991 :
992 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
993 :
994 : #define RK_ENABLED 1
995 :
996 : #if RK5_ENABLED
997 : module procedure test_setRootSchroder_RK5
998 : use pm_kind, only: TKC => RK5
999 : #include "test_pm_mathRoot@routines.inc.F90"
1000 : end procedure
1001 : #endif
1002 :
1003 : #if RK4_ENABLED
1004 1 : module procedure test_setRootSchroder_RK4
1005 : use pm_kind, only: TKC => RK4
1006 : #include "test_pm_mathRoot@routines.inc.F90"
1007 : end procedure
1008 : #endif
1009 :
1010 : #if RK3_ENABLED
1011 1 : module procedure test_setRootSchroder_RK3
1012 : use pm_kind, only: TKC => RK3
1013 : #include "test_pm_mathRoot@routines.inc.F90"
1014 : end procedure
1015 : #endif
1016 :
1017 : #if RK2_ENABLED
1018 1 : module procedure test_setRootSchroder_RK2
1019 : use pm_kind, only: TKC => RK2
1020 : #include "test_pm_mathRoot@routines.inc.F90"
1021 : end procedure
1022 : #endif
1023 :
1024 : #if RK1_ENABLED
1025 1 : module procedure test_setRootSchroder_RK1
1026 : use pm_kind, only: TKC => RK1
1027 : #include "test_pm_mathRoot@routines.inc.F90"
1028 : end procedure
1029 : #endif
1030 :
1031 : #undef RK_ENABLED
1032 :
1033 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1034 :
1035 : #undef Schroder_ENABLED
1036 :
1037 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1039 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1040 :
1041 : #undef setRoot_ENABLED
1042 :
1043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1044 :
1045 : end submodule routines ! LCOV_EXCL_LINE
|