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 procedure implementations of [pm_arrayReverse](@ref pm_arrayReverse).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayReverse) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getReversed_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define New_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 :
59 : #define D0_ENABLED 1
60 :
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 :
63 : #define SK_ENABLED 1
64 :
65 : #if SK5_ENABLED
66 : module procedure getReversedNew_D0_SK5
67 : use pm_kind, only: SKC => SK5
68 : #include "pm_arrayReverse@routines.inc.F90"
69 : end procedure
70 : #endif
71 :
72 : #if SK4_ENABLED
73 : module procedure getReversedNew_D0_SK4
74 : use pm_kind, only: SKC => SK4
75 : #include "pm_arrayReverse@routines.inc.F90"
76 : end procedure
77 : #endif
78 :
79 : #if SK3_ENABLED
80 : module procedure getReversedNew_D0_SK3
81 : use pm_kind, only: SKC => SK3
82 : #include "pm_arrayReverse@routines.inc.F90"
83 : end procedure
84 : #endif
85 :
86 : #if SK2_ENABLED
87 : module procedure getReversedNew_D0_SK2
88 : use pm_kind, only: SKC => SK2
89 : #include "pm_arrayReverse@routines.inc.F90"
90 : end procedure
91 : #endif
92 :
93 : #if SK1_ENABLED
94 7 : module procedure getReversedNew_D0_SK1
95 : use pm_kind, only: SKC => SK1
96 : #include "pm_arrayReverse@routines.inc.F90"
97 7 : end procedure
98 : #endif
99 :
100 : #undef SK_ENABLED
101 :
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #undef D0_ENABLED
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #define D1_ENABLED 1
111 :
112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 :
114 : #define SK_ENABLED 1
115 :
116 : #if SK5_ENABLED
117 : module procedure getReversedNew_D1_SK5
118 : use pm_kind, only: SKC => SK5
119 : #include "pm_arrayReverse@routines.inc.F90"
120 : end procedure
121 : #endif
122 :
123 : #if SK4_ENABLED
124 : module procedure getReversedNew_D1_SK4
125 : use pm_kind, only: SKC => SK4
126 : #include "pm_arrayReverse@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #if SK3_ENABLED
131 : module procedure getReversedNew_D1_SK3
132 : use pm_kind, only: SKC => SK3
133 : #include "pm_arrayReverse@routines.inc.F90"
134 : end procedure
135 : #endif
136 :
137 : #if SK2_ENABLED
138 : module procedure getReversedNew_D1_SK2
139 : use pm_kind, only: SKC => SK2
140 : #include "pm_arrayReverse@routines.inc.F90"
141 : end procedure
142 : #endif
143 :
144 : #if SK1_ENABLED
145 8 : module procedure getReversedNew_D1_SK1
146 : use pm_kind, only: SKC => SK1
147 : #include "pm_arrayReverse@routines.inc.F90"
148 8 : end procedure
149 : #endif
150 :
151 : #undef SK_ENABLED
152 :
153 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 :
155 : #define IK_ENABLED 1
156 :
157 : #if IK5_ENABLED
158 6 : module procedure getReversedNew_D1_IK5
159 : use pm_kind, only: IKC => IK5
160 : #include "pm_arrayReverse@routines.inc.F90"
161 6 : end procedure
162 : #endif
163 :
164 : #if IK4_ENABLED
165 6 : module procedure getReversedNew_D1_IK4
166 : use pm_kind, only: IKC => IK4
167 : #include "pm_arrayReverse@routines.inc.F90"
168 6 : end procedure
169 : #endif
170 :
171 : #if IK3_ENABLED
172 9 : module procedure getReversedNew_D1_IK3
173 : use pm_kind, only: IKC => IK3
174 : #include "pm_arrayReverse@routines.inc.F90"
175 9 : end procedure
176 : #endif
177 :
178 : #if IK2_ENABLED
179 6 : module procedure getReversedNew_D1_IK2
180 : use pm_kind, only: IKC => IK2
181 : #include "pm_arrayReverse@routines.inc.F90"
182 6 : end procedure
183 : #endif
184 :
185 : #if IK1_ENABLED
186 6 : module procedure getReversedNew_D1_IK1
187 : use pm_kind, only: IKC => IK1
188 : #include "pm_arrayReverse@routines.inc.F90"
189 6 : end procedure
190 : #endif
191 :
192 : #undef IK_ENABLED
193 :
194 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195 :
196 : #define LK_ENABLED 1
197 :
198 : #if LK5_ENABLED
199 6 : module procedure getReversedNew_D1_LK5
200 : use pm_kind, only: LKC => LK5
201 : #include "pm_arrayReverse@routines.inc.F90"
202 6 : end procedure
203 : #endif
204 :
205 : #if LK4_ENABLED
206 6 : module procedure getReversedNew_D1_LK4
207 : use pm_kind, only: LKC => LK4
208 : #include "pm_arrayReverse@routines.inc.F90"
209 6 : end procedure
210 : #endif
211 :
212 : #if LK3_ENABLED
213 7 : module procedure getReversedNew_D1_LK3
214 : use pm_kind, only: LKC => LK3
215 : #include "pm_arrayReverse@routines.inc.F90"
216 7 : end procedure
217 : #endif
218 :
219 : #if LK2_ENABLED
220 6 : module procedure getReversedNew_D1_LK2
221 : use pm_kind, only: LKC => LK2
222 : #include "pm_arrayReverse@routines.inc.F90"
223 6 : end procedure
224 : #endif
225 :
226 : #if LK1_ENABLED
227 6 : module procedure getReversedNew_D1_LK1
228 : use pm_kind, only: LKC => LK1
229 : #include "pm_arrayReverse@routines.inc.F90"
230 6 : end procedure
231 : #endif
232 :
233 : #undef LK_ENABLED
234 :
235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236 :
237 : #define CK_ENABLED 1
238 :
239 : #if CK5_ENABLED
240 : module procedure getReversedNew_D1_CK5
241 : use pm_kind, only: CKC => CK5
242 : #include "pm_arrayReverse@routines.inc.F90"
243 : end procedure
244 : #endif
245 :
246 : #if CK4_ENABLED
247 6 : module procedure getReversedNew_D1_CK4
248 : use pm_kind, only: CKC => CK4
249 : #include "pm_arrayReverse@routines.inc.F90"
250 6 : end procedure
251 : #endif
252 :
253 : #if CK3_ENABLED
254 6 : module procedure getReversedNew_D1_CK3
255 : use pm_kind, only: CKC => CK3
256 : #include "pm_arrayReverse@routines.inc.F90"
257 6 : end procedure
258 : #endif
259 :
260 : #if CK2_ENABLED
261 7 : module procedure getReversedNew_D1_CK2
262 : use pm_kind, only: CKC => CK2
263 : #include "pm_arrayReverse@routines.inc.F90"
264 7 : end procedure
265 : #endif
266 :
267 : #if CK1_ENABLED
268 6 : module procedure getReversedNew_D1_CK1
269 : use pm_kind, only: CKC => CK1
270 : #include "pm_arrayReverse@routines.inc.F90"
271 6 : end procedure
272 : #endif
273 :
274 : #undef CK_ENABLED
275 :
276 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277 :
278 : #define RK_ENABLED 1
279 :
280 : #if RK5_ENABLED
281 : module procedure getReversedNew_D1_RK5
282 : use pm_kind, only: RKC => RK5
283 : #include "pm_arrayReverse@routines.inc.F90"
284 : end procedure
285 : #endif
286 :
287 : #if RK4_ENABLED
288 6 : module procedure getReversedNew_D1_RK4
289 : use pm_kind, only: RKC => RK4
290 : #include "pm_arrayReverse@routines.inc.F90"
291 6 : end procedure
292 : #endif
293 :
294 : #if RK3_ENABLED
295 6 : module procedure getReversedNew_D1_RK3
296 : use pm_kind, only: RKC => RK3
297 : #include "pm_arrayReverse@routines.inc.F90"
298 6 : end procedure
299 : #endif
300 :
301 : #if RK2_ENABLED
302 7 : module procedure getReversedNew_D1_RK2
303 : use pm_kind, only: RKC => RK2
304 : #include "pm_arrayReverse@routines.inc.F90"
305 7 : end procedure
306 : #endif
307 :
308 : #if RK1_ENABLED
309 6 : module procedure getReversedNew_D1_RK1
310 : use pm_kind, only: RKC => RK1
311 : #include "pm_arrayReverse@routines.inc.F90"
312 6 : end procedure
313 : #endif
314 :
315 : #undef RK_ENABLED
316 :
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 :
319 : ! LCOV_EXCL_START
320 : #define PSSK_ENABLED 1
321 :
322 : #if SK5_ENABLED
323 : module procedure getReversedNew_D1_PSSK5
324 : use pm_kind, only: SKC => SK5
325 : #include "pm_arrayReverse@routines.inc.F90"
326 : end procedure
327 : #endif
328 :
329 : #if SK4_ENABLED
330 : module procedure getReversedNew_D1_PSSK4
331 : use pm_kind, only: SKC => SK4
332 : #include "pm_arrayReverse@routines.inc.F90"
333 : end procedure
334 : #endif
335 :
336 : #if SK3_ENABLED
337 : module procedure getReversedNew_D1_PSSK3
338 : use pm_kind, only: SKC => SK3
339 : #include "pm_arrayReverse@routines.inc.F90"
340 : end procedure
341 : #endif
342 :
343 : #if SK2_ENABLED
344 : module procedure getReversedNew_D1_PSSK2
345 : use pm_kind, only: SKC => SK2
346 : #include "pm_arrayReverse@routines.inc.F90"
347 : end procedure
348 : #endif
349 :
350 : #if SK1_ENABLED
351 : module procedure getReversedNew_D1_PSSK1
352 : use pm_kind, only: SKC => SK1
353 : #include "pm_arrayReverse@routines.inc.F90"
354 : end procedure
355 : #endif
356 :
357 : #undef PSSK_ENABLED
358 : ! LCOV_EXCL_STOP
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 :
362 : #undef D1_ENABLED
363 :
364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 :
368 : #undef New_ENABLED
369 :
370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
372 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
373 :
374 : #undef getReversed_ENABLED
375 :
376 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
377 :
378 : #define setReversed_ENABLED 1
379 :
380 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
381 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
382 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
383 :
384 : #define Old_ENABLED 1
385 :
386 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
387 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389 :
390 : #define D0_ENABLED 1
391 :
392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393 :
394 : #define SK_ENABLED 1
395 :
396 : #if SK5_ENABLED
397 : module procedure setReversedOld_D0_SK5
398 : use pm_kind, only: SKC => SK5
399 : #include "pm_arrayReverse@routines.inc.F90"
400 : end procedure
401 : #endif
402 :
403 : #if SK4_ENABLED
404 : module procedure setReversedOld_D0_SK4
405 : use pm_kind, only: SKC => SK4
406 : #include "pm_arrayReverse@routines.inc.F90"
407 : end procedure
408 : #endif
409 :
410 : #if SK3_ENABLED
411 : module procedure setReversedOld_D0_SK3
412 : use pm_kind, only: SKC => SK3
413 : #include "pm_arrayReverse@routines.inc.F90"
414 : end procedure
415 : #endif
416 :
417 : #if SK2_ENABLED
418 : module procedure setReversedOld_D0_SK2
419 : use pm_kind, only: SKC => SK2
420 : #include "pm_arrayReverse@routines.inc.F90"
421 : end procedure
422 : #endif
423 :
424 : #if SK1_ENABLED
425 18 : module procedure setReversedOld_D0_SK1
426 : use pm_kind, only: SKC => SK1 ! LCOV_EXCL_LINE
427 : #include "pm_arrayReverse@routines.inc.F90"
428 18 : end procedure
429 : #endif
430 :
431 : #undef SK_ENABLED
432 :
433 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
434 :
435 : #undef D0_ENABLED
436 :
437 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
438 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
439 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
440 :
441 : #define D1_ENABLED 1
442 :
443 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
444 :
445 : #define SK_ENABLED 1
446 :
447 : #if SK5_ENABLED
448 : module procedure setReversedOld_D1_SK5
449 : use pm_kind, only: SKC => SK5
450 : #include "pm_arrayReverse@routines.inc.F90"
451 : end procedure
452 : #endif
453 :
454 : #if SK4_ENABLED
455 : module procedure setReversedOld_D1_SK4
456 : use pm_kind, only: SKC => SK4
457 : #include "pm_arrayReverse@routines.inc.F90"
458 : end procedure
459 : #endif
460 :
461 : #if SK3_ENABLED
462 : module procedure setReversedOld_D1_SK3
463 : use pm_kind, only: SKC => SK3
464 : #include "pm_arrayReverse@routines.inc.F90"
465 : end procedure
466 : #endif
467 :
468 : #if SK2_ENABLED
469 : module procedure setReversedOld_D1_SK2
470 : use pm_kind, only: SKC => SK2
471 : #include "pm_arrayReverse@routines.inc.F90"
472 : end procedure
473 : #endif
474 :
475 : #if SK1_ENABLED
476 18 : module procedure setReversedOld_D1_SK1
477 : use pm_kind, only: SKC => SK1
478 : #include "pm_arrayReverse@routines.inc.F90"
479 18 : end procedure
480 : #endif
481 :
482 : #undef SK_ENABLED
483 :
484 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
485 :
486 : #define IK_ENABLED 1
487 :
488 : #if IK5_ENABLED
489 671 : module procedure setReversedOld_D1_IK5
490 : use pm_kind, only: IKC => IK5
491 : #include "pm_arrayReverse@routines.inc.F90"
492 671 : end procedure
493 : #endif
494 :
495 : #if IK4_ENABLED
496 721 : module procedure setReversedOld_D1_IK4
497 : use pm_kind, only: IKC => IK4
498 : #include "pm_arrayReverse@routines.inc.F90"
499 721 : end procedure
500 : #endif
501 :
502 : #if IK3_ENABLED
503 831 : module procedure setReversedOld_D1_IK3
504 : use pm_kind, only: IKC => IK3
505 : #include "pm_arrayReverse@routines.inc.F90"
506 831 : end procedure
507 : #endif
508 :
509 : #if IK2_ENABLED
510 707 : module procedure setReversedOld_D1_IK2
511 : use pm_kind, only: IKC => IK2
512 : #include "pm_arrayReverse@routines.inc.F90"
513 707 : end procedure
514 : #endif
515 :
516 : #if IK1_ENABLED
517 677 : module procedure setReversedOld_D1_IK1
518 : use pm_kind, only: IKC => IK1
519 : #include "pm_arrayReverse@routines.inc.F90"
520 677 : end procedure
521 : #endif
522 :
523 : #undef IK_ENABLED
524 :
525 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526 :
527 : #define LK_ENABLED 1
528 :
529 : #if LK5_ENABLED
530 17 : module procedure setReversedOld_D1_LK5
531 : use pm_kind, only: LKC => LK5
532 : #include "pm_arrayReverse@routines.inc.F90"
533 17 : end procedure
534 : #endif
535 :
536 : #if LK4_ENABLED
537 17 : module procedure setReversedOld_D1_LK4
538 : use pm_kind, only: LKC => LK4
539 : #include "pm_arrayReverse@routines.inc.F90"
540 17 : end procedure
541 : #endif
542 :
543 : #if LK3_ENABLED
544 18 : module procedure setReversedOld_D1_LK3
545 : use pm_kind, only: LKC => LK3
546 : #include "pm_arrayReverse@routines.inc.F90"
547 18 : end procedure
548 : #endif
549 :
550 : #if LK2_ENABLED
551 17 : module procedure setReversedOld_D1_LK2
552 : use pm_kind, only: LKC => LK2
553 : #include "pm_arrayReverse@routines.inc.F90"
554 17 : end procedure
555 : #endif
556 :
557 : #if LK1_ENABLED
558 17 : module procedure setReversedOld_D1_LK1
559 : use pm_kind, only: LKC => LK1
560 : #include "pm_arrayReverse@routines.inc.F90"
561 17 : end procedure
562 : #endif
563 :
564 : #undef LK_ENABLED
565 :
566 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
567 :
568 : #define CK_ENABLED 1
569 :
570 : #if CK5_ENABLED
571 : module procedure setReversedOld_D1_CK5
572 : use pm_kind, only: CKC => CK5
573 : #include "pm_arrayReverse@routines.inc.F90"
574 : end procedure
575 : #endif
576 :
577 : #if CK4_ENABLED
578 666 : module procedure setReversedOld_D1_CK4
579 : use pm_kind, only: CKC => CK4
580 : #include "pm_arrayReverse@routines.inc.F90"
581 666 : end procedure
582 : #endif
583 :
584 : #if CK3_ENABLED
585 680 : module procedure setReversedOld_D1_CK3
586 : use pm_kind, only: CKC => CK3
587 : #include "pm_arrayReverse@routines.inc.F90"
588 680 : end procedure
589 : #endif
590 :
591 : #if CK2_ENABLED
592 698 : module procedure setReversedOld_D1_CK2
593 : use pm_kind, only: CKC => CK2
594 : #include "pm_arrayReverse@routines.inc.F90"
595 698 : end procedure
596 : #endif
597 :
598 : #if CK1_ENABLED
599 696 : module procedure setReversedOld_D1_CK1
600 : use pm_kind, only: CKC => CK1
601 : #include "pm_arrayReverse@routines.inc.F90"
602 696 : end procedure
603 : #endif
604 :
605 : #undef CK_ENABLED
606 :
607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608 :
609 : #define RK_ENABLED 1
610 :
611 : #if RK5_ENABLED
612 : module procedure setReversedOld_D1_RK5
613 : use pm_kind, only: RKC => RK5
614 : #include "pm_arrayReverse@routines.inc.F90"
615 : end procedure
616 : #endif
617 :
618 : #if RK4_ENABLED
619 812 : module procedure setReversedOld_D1_RK4
620 : use pm_kind, only: RKC => RK4
621 : #include "pm_arrayReverse@routines.inc.F90"
622 812 : end procedure
623 : #endif
624 :
625 : #if RK3_ENABLED
626 846 : module procedure setReversedOld_D1_RK3
627 : use pm_kind, only: RKC => RK3
628 : #include "pm_arrayReverse@routines.inc.F90"
629 846 : end procedure
630 : #endif
631 :
632 : #if RK2_ENABLED
633 910 : module procedure setReversedOld_D1_RK2
634 : use pm_kind, only: RKC => RK2
635 : #include "pm_arrayReverse@routines.inc.F90"
636 910 : end procedure
637 : #endif
638 :
639 : #if RK1_ENABLED
640 830 : module procedure setReversedOld_D1_RK1
641 : use pm_kind, only: RKC => RK1
642 : #include "pm_arrayReverse@routines.inc.F90"
643 830 : end procedure
644 : #endif
645 :
646 : #undef RK_ENABLED
647 :
648 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
649 :
650 : ! LCOV_EXCL_START
651 : #define PSSK_ENABLED 1
652 :
653 : #if SK5_ENABLED
654 : module procedure setReversedOld_D1_PSSK5
655 : use pm_kind, only: SKC => SK5
656 : #include "pm_arrayReverse@routines.inc.F90"
657 : end procedure
658 : #endif
659 :
660 : #if SK4_ENABLED
661 : module procedure setReversedOld_D1_PSSK4
662 : use pm_kind, only: SKC => SK4
663 : #include "pm_arrayReverse@routines.inc.F90"
664 : end procedure
665 : #endif
666 :
667 : #if SK3_ENABLED
668 : module procedure setReversedOld_D1_PSSK3
669 : use pm_kind, only: SKC => SK3
670 : #include "pm_arrayReverse@routines.inc.F90"
671 : end procedure
672 : #endif
673 :
674 : #if SK2_ENABLED
675 : module procedure setReversedOld_D1_PSSK2
676 : use pm_kind, only: SKC => SK2
677 : #include "pm_arrayReverse@routines.inc.F90"
678 : end procedure
679 : #endif
680 :
681 : #if SK1_ENABLED
682 : module procedure setReversedOld_D1_PSSK1
683 : use pm_kind, only: SKC => SK1
684 : #include "pm_arrayReverse@routines.inc.F90"
685 : end procedure
686 : #endif
687 :
688 : #undef PSSK_ENABLED
689 : ! LCOV_EXCL_STOP
690 :
691 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
692 :
693 : #undef D1_ENABLED
694 :
695 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
698 :
699 : #undef Old_ENABLED
700 :
701 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
702 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
703 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
704 :
705 : #define New_ENABLED 1
706 :
707 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
709 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
710 :
711 : #define D0_ENABLED 1
712 :
713 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
714 :
715 : #define SK_ENABLED 1
716 :
717 : #if SK5_ENABLED
718 : module procedure setReversedNew_D0_SK5
719 : use pm_kind, only: SKC => SK5
720 : #include "pm_arrayReverse@routines.inc.F90"
721 : end procedure
722 : #endif
723 :
724 : #if SK4_ENABLED
725 : module procedure setReversedNew_D0_SK4
726 : use pm_kind, only: SKC => SK4
727 : #include "pm_arrayReverse@routines.inc.F90"
728 : end procedure
729 : #endif
730 :
731 : #if SK3_ENABLED
732 : module procedure setReversedNew_D0_SK3
733 : use pm_kind, only: SKC => SK3
734 : #include "pm_arrayReverse@routines.inc.F90"
735 : end procedure
736 : #endif
737 :
738 : #if SK2_ENABLED
739 : module procedure setReversedNew_D0_SK2
740 : use pm_kind, only: SKC => SK2
741 : #include "pm_arrayReverse@routines.inc.F90"
742 : end procedure
743 : #endif
744 :
745 : #if SK1_ENABLED
746 4 : module procedure setReversedNew_D0_SK1
747 : use pm_kind, only: SKC => SK1 ! LCOV_EXCL_LINE
748 : #include "pm_arrayReverse@routines.inc.F90"
749 4 : end procedure
750 : #endif
751 :
752 : #undef SK_ENABLED
753 :
754 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
755 :
756 : #undef D0_ENABLED
757 :
758 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
761 :
762 : #define D1_ENABLED 1
763 :
764 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
765 :
766 : #define SK_ENABLED 1
767 :
768 : #if SK5_ENABLED
769 : module procedure setReversedNew_D1_SK5
770 : use pm_kind, only: SKC => SK5
771 : #include "pm_arrayReverse@routines.inc.F90"
772 : end procedure
773 : #endif
774 :
775 : #if SK4_ENABLED
776 : module procedure setReversedNew_D1_SK4
777 : use pm_kind, only: SKC => SK4
778 : #include "pm_arrayReverse@routines.inc.F90"
779 : end procedure
780 : #endif
781 :
782 : #if SK3_ENABLED
783 : module procedure setReversedNew_D1_SK3
784 : use pm_kind, only: SKC => SK3
785 : #include "pm_arrayReverse@routines.inc.F90"
786 : end procedure
787 : #endif
788 :
789 : #if SK2_ENABLED
790 : module procedure setReversedNew_D1_SK2
791 : use pm_kind, only: SKC => SK2
792 : #include "pm_arrayReverse@routines.inc.F90"
793 : end procedure
794 : #endif
795 :
796 : #if SK1_ENABLED
797 4 : module procedure setReversedNew_D1_SK1
798 : use pm_kind, only: SKC => SK1
799 : #include "pm_arrayReverse@routines.inc.F90"
800 4 : end procedure
801 : #endif
802 :
803 : #undef SK_ENABLED
804 :
805 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
806 :
807 : #define IK_ENABLED 1
808 :
809 : #if IK5_ENABLED
810 3 : module procedure setReversedNew_D1_IK5
811 : use pm_kind, only: IKC => IK5
812 : #include "pm_arrayReverse@routines.inc.F90"
813 3 : end procedure
814 : #endif
815 :
816 : #if IK4_ENABLED
817 3 : module procedure setReversedNew_D1_IK4
818 : use pm_kind, only: IKC => IK4
819 : #include "pm_arrayReverse@routines.inc.F90"
820 3 : end procedure
821 : #endif
822 :
823 : #if IK3_ENABLED
824 8 : module procedure setReversedNew_D1_IK3
825 : use pm_kind, only: IKC => IK3
826 : #include "pm_arrayReverse@routines.inc.F90"
827 8 : end procedure
828 : #endif
829 :
830 : #if IK2_ENABLED
831 3 : module procedure setReversedNew_D1_IK2
832 : use pm_kind, only: IKC => IK2
833 : #include "pm_arrayReverse@routines.inc.F90"
834 3 : end procedure
835 : #endif
836 :
837 : #if IK1_ENABLED
838 3 : module procedure setReversedNew_D1_IK1
839 : use pm_kind, only: IKC => IK1
840 : #include "pm_arrayReverse@routines.inc.F90"
841 3 : end procedure
842 : #endif
843 :
844 : #undef IK_ENABLED
845 :
846 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
847 :
848 : #define LK_ENABLED 1
849 :
850 : #if LK5_ENABLED
851 3 : module procedure setReversedNew_D1_LK5
852 : use pm_kind, only: LKC => LK5
853 : #include "pm_arrayReverse@routines.inc.F90"
854 3 : end procedure
855 : #endif
856 :
857 : #if LK4_ENABLED
858 3 : module procedure setReversedNew_D1_LK4
859 : use pm_kind, only: LKC => LK4
860 : #include "pm_arrayReverse@routines.inc.F90"
861 3 : end procedure
862 : #endif
863 :
864 : #if LK3_ENABLED
865 4 : module procedure setReversedNew_D1_LK3
866 : use pm_kind, only: LKC => LK3
867 : #include "pm_arrayReverse@routines.inc.F90"
868 4 : end procedure
869 : #endif
870 :
871 : #if LK2_ENABLED
872 3 : module procedure setReversedNew_D1_LK2
873 : use pm_kind, only: LKC => LK2
874 : #include "pm_arrayReverse@routines.inc.F90"
875 3 : end procedure
876 : #endif
877 :
878 : #if LK1_ENABLED
879 3 : module procedure setReversedNew_D1_LK1
880 : use pm_kind, only: LKC => LK1
881 : #include "pm_arrayReverse@routines.inc.F90"
882 3 : end procedure
883 : #endif
884 :
885 : #undef LK_ENABLED
886 :
887 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
888 :
889 : #define CK_ENABLED 1
890 :
891 : #if CK5_ENABLED
892 : module procedure setReversedNew_D1_CK5
893 : use pm_kind, only: CKC => CK5
894 : #include "pm_arrayReverse@routines.inc.F90"
895 : end procedure
896 : #endif
897 :
898 : #if CK4_ENABLED
899 3 : module procedure setReversedNew_D1_CK4
900 : use pm_kind, only: CKC => CK4
901 : #include "pm_arrayReverse@routines.inc.F90"
902 3 : end procedure
903 : #endif
904 :
905 : #if CK3_ENABLED
906 3 : module procedure setReversedNew_D1_CK3
907 : use pm_kind, only: CKC => CK3
908 : #include "pm_arrayReverse@routines.inc.F90"
909 3 : end procedure
910 : #endif
911 :
912 : #if CK2_ENABLED
913 4 : module procedure setReversedNew_D1_CK2
914 : use pm_kind, only: CKC => CK2
915 : #include "pm_arrayReverse@routines.inc.F90"
916 4 : end procedure
917 : #endif
918 :
919 : #if CK1_ENABLED
920 3 : module procedure setReversedNew_D1_CK1
921 : use pm_kind, only: CKC => CK1
922 : #include "pm_arrayReverse@routines.inc.F90"
923 3 : end procedure
924 : #endif
925 :
926 : #undef CK_ENABLED
927 :
928 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
929 :
930 : #define RK_ENABLED 1
931 :
932 : #if RK5_ENABLED
933 : module procedure setReversedNew_D1_RK5
934 : use pm_kind, only: RKC => RK5
935 : #include "pm_arrayReverse@routines.inc.F90"
936 : end procedure
937 : #endif
938 :
939 : #if RK4_ENABLED
940 3 : module procedure setReversedNew_D1_RK4
941 : use pm_kind, only: RKC => RK4
942 : #include "pm_arrayReverse@routines.inc.F90"
943 3 : end procedure
944 : #endif
945 :
946 : #if RK3_ENABLED
947 3 : module procedure setReversedNew_D1_RK3
948 : use pm_kind, only: RKC => RK3
949 : #include "pm_arrayReverse@routines.inc.F90"
950 3 : end procedure
951 : #endif
952 :
953 : #if RK2_ENABLED
954 4 : module procedure setReversedNew_D1_RK2
955 : use pm_kind, only: RKC => RK2
956 : #include "pm_arrayReverse@routines.inc.F90"
957 4 : end procedure
958 : #endif
959 :
960 : #if RK1_ENABLED
961 3 : module procedure setReversedNew_D1_RK1
962 : use pm_kind, only: RKC => RK1
963 : #include "pm_arrayReverse@routines.inc.F90"
964 3 : end procedure
965 : #endif
966 :
967 : #undef RK_ENABLED
968 :
969 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
970 :
971 : ! LCOV_EXCL_START
972 : #define PSSK_ENABLED 1
973 :
974 : #if SK5_ENABLED
975 : module procedure setReversedNew_D1_PSSK5
976 : use pm_kind, only: SKC => SK5
977 : #include "pm_arrayReverse@routines.inc.F90"
978 : end procedure
979 : #endif
980 :
981 : #if SK4_ENABLED
982 : module procedure setReversedNew_D1_PSSK4
983 : use pm_kind, only: SKC => SK4
984 : #include "pm_arrayReverse@routines.inc.F90"
985 : end procedure
986 : #endif
987 :
988 : #if SK3_ENABLED
989 : module procedure setReversedNew_D1_PSSK3
990 : use pm_kind, only: SKC => SK3
991 : #include "pm_arrayReverse@routines.inc.F90"
992 : end procedure
993 : #endif
994 :
995 : #if SK2_ENABLED
996 : module procedure setReversedNew_D1_PSSK2
997 : use pm_kind, only: SKC => SK2
998 : #include "pm_arrayReverse@routines.inc.F90"
999 : end procedure
1000 : #endif
1001 :
1002 : #if SK1_ENABLED
1003 : module procedure setReversedNew_D1_PSSK1
1004 : use pm_kind, only: SKC => SK1
1005 : #include "pm_arrayReverse@routines.inc.F90"
1006 : end procedure
1007 : #endif
1008 :
1009 : #undef PSSK_ENABLED
1010 : ! LCOV_EXCL_STOP
1011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1012 :
1013 : #undef D1_ENABLED
1014 :
1015 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1016 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1017 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1018 :
1019 : #undef New_ENABLED
1020 :
1021 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1022 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1023 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1024 :
1025 : #undef setReversed_ENABLED
1026 :
1027 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1028 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1029 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1030 :
1031 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1032 :
1033 : #undef CHECK_ASSERTION
1034 :
1035 : end submodule routines
|