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_complexMinMax](@ref pm_complexMinMax).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_complexMinMax) 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 min_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define D0_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define CK_ENABLED 1
58 :
59 : #if CK5_ENABLED
60 : module procedure min_D0_CK5
61 : use pm_kind, only: CKC => CK5
62 : #include "pm_complexMinMax@routines.inc.F90"
63 : end procedure
64 : #endif
65 :
66 : #if CK4_ENABLED
67 45 : module procedure min_D0_CK4
68 : use pm_kind, only: CKC => CK4
69 : #include "pm_complexMinMax@routines.inc.F90"
70 45 : end procedure
71 : #endif
72 :
73 : #if CK3_ENABLED
74 0 : module procedure min_D0_CK3
75 : use pm_kind, only: CKC => CK3
76 : #include "pm_complexMinMax@routines.inc.F90"
77 0 : end procedure
78 : #endif
79 :
80 : #if CK2_ENABLED
81 45 : module procedure min_D0_CK2
82 : use pm_kind, only: CKC => CK2
83 : #include "pm_complexMinMax@routines.inc.F90"
84 45 : end procedure
85 : #endif
86 :
87 : #if CK1_ENABLED
88 35 : module procedure min_D0_CK1
89 : use pm_kind, only: CKC => CK1
90 : #include "pm_complexMinMax@routines.inc.F90"
91 35 : end procedure
92 : #endif
93 :
94 : #undef CK_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #undef D0_ENABLED
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 :
104 : #undef min_ENABLED
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #define max_ENABLED 1
109 :
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 :
114 : #define D0_ENABLED 1
115 :
116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117 :
118 : #define CK_ENABLED 1
119 :
120 : #if CK5_ENABLED
121 : module procedure max_D0_CK5
122 : use pm_kind, only: CKC => CK5
123 : #include "pm_complexMinMax@routines.inc.F90"
124 : end procedure
125 : #endif
126 :
127 : #if CK4_ENABLED
128 41 : module procedure max_D0_CK4
129 : use pm_kind, only: CKC => CK4
130 : #include "pm_complexMinMax@routines.inc.F90"
131 41 : end procedure
132 : #endif
133 :
134 : #if CK3_ENABLED
135 0 : module procedure max_D0_CK3
136 : use pm_kind, only: CKC => CK3
137 : #include "pm_complexMinMax@routines.inc.F90"
138 0 : end procedure
139 : #endif
140 :
141 : #if CK2_ENABLED
142 41 : module procedure max_D0_CK2
143 : use pm_kind, only: CKC => CK2
144 : #include "pm_complexMinMax@routines.inc.F90"
145 41 : end procedure
146 : #endif
147 :
148 : #if CK1_ENABLED
149 39 : module procedure max_D0_CK1
150 : use pm_kind, only: CKC => CK1
151 : #include "pm_complexMinMax@routines.inc.F90"
152 39 : end procedure
153 : #endif
154 :
155 : #undef CK_ENABLED
156 :
157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158 :
159 : #undef D0_ENABLED
160 :
161 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164 :
165 : #undef max_ENABLED
166 :
167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168 :
169 : #define minval_ENABLED 1
170 :
171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 :
175 : #define ALL_ENABLED 1
176 :
177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 :
181 : #define D1_ENABLED 1
182 :
183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184 :
185 : #define CK_ENABLED 1
186 :
187 : #if CK5_ENABLED
188 : module procedure minvalALL_D1_CK5
189 : use pm_kind, only: CKC => CK5
190 : #include "pm_complexMinMax@routines.inc.F90"
191 : end procedure
192 : #endif
193 :
194 : #if CK4_ENABLED
195 9430 : module procedure minvalALL_D1_CK4
196 : use pm_kind, only: CKC => CK4
197 : #include "pm_complexMinMax@routines.inc.F90"
198 9430 : end procedure
199 : #endif
200 :
201 : #if CK3_ENABLED
202 9840 : module procedure minvalALL_D1_CK3
203 : use pm_kind, only: CKC => CK3
204 : #include "pm_complexMinMax@routines.inc.F90"
205 9840 : end procedure
206 : #endif
207 :
208 : #if CK2_ENABLED
209 9436 : module procedure minvalALL_D1_CK2
210 : use pm_kind, only: CKC => CK2
211 : #include "pm_complexMinMax@routines.inc.F90"
212 9436 : end procedure
213 : #endif
214 :
215 : #if CK1_ENABLED
216 9450 : module procedure minvalALL_D1_CK1
217 : use pm_kind, only: CKC => CK1
218 : #include "pm_complexMinMax@routines.inc.F90"
219 9450 : end procedure
220 : #endif
221 :
222 : #undef CK_ENABLED
223 :
224 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225 :
226 : #undef D1_ENABLED
227 :
228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231 :
232 : #define D2_ENABLED 1
233 :
234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 :
236 : #define CK_ENABLED 1
237 :
238 : #if CK5_ENABLED
239 : module procedure minvalALL_D2_CK5
240 : use pm_kind, only: CKC => CK5
241 : #include "pm_complexMinMax@routines.inc.F90"
242 : end procedure
243 : #endif
244 :
245 : #if CK4_ENABLED
246 301 : module procedure minvalALL_D2_CK4
247 : use pm_kind, only: CKC => CK4
248 : #include "pm_complexMinMax@routines.inc.F90"
249 301 : end procedure
250 : #endif
251 :
252 : #if CK3_ENABLED
253 300 : module procedure minvalALL_D2_CK3
254 : use pm_kind, only: CKC => CK3
255 : #include "pm_complexMinMax@routines.inc.F90"
256 300 : end procedure
257 : #endif
258 :
259 : #if CK2_ENABLED
260 301 : module procedure minvalALL_D2_CK2
261 : use pm_kind, only: CKC => CK2
262 : #include "pm_complexMinMax@routines.inc.F90"
263 301 : end procedure
264 : #endif
265 :
266 : #if CK1_ENABLED
267 303 : module procedure minvalALL_D2_CK1
268 : use pm_kind, only: CKC => CK1
269 : #include "pm_complexMinMax@routines.inc.F90"
270 303 : end procedure
271 : #endif
272 :
273 : #undef CK_ENABLED
274 :
275 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276 :
277 : #undef D2_ENABLED
278 :
279 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
281 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282 :
283 : #undef ALL_ENABLED
284 :
285 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
286 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
288 :
289 : #define DIM_ENABLED 1
290 :
291 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
292 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
293 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
294 :
295 : #define D1_ENABLED 1
296 :
297 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298 :
299 : #define CK_ENABLED 1
300 :
301 : #if CK5_ENABLED
302 : module procedure minvalDIM_D1_CK5
303 : use pm_kind, only: CKC => CK5
304 : #include "pm_complexMinMax@routines.inc.F90"
305 : end procedure
306 : #endif
307 :
308 : #if CK4_ENABLED
309 602 : module procedure minvalDIM_D1_CK4
310 : use pm_kind, only: CKC => CK4
311 : #include "pm_complexMinMax@routines.inc.F90"
312 602 : end procedure
313 : #endif
314 :
315 : #if CK3_ENABLED
316 600 : module procedure minvalDIM_D1_CK3
317 : use pm_kind, only: CKC => CK3
318 : #include "pm_complexMinMax@routines.inc.F90"
319 600 : end procedure
320 : #endif
321 :
322 : #if CK2_ENABLED
323 602 : module procedure minvalDIM_D1_CK2
324 : use pm_kind, only: CKC => CK2
325 : #include "pm_complexMinMax@routines.inc.F90"
326 602 : end procedure
327 : #endif
328 :
329 : #if CK1_ENABLED
330 610 : module procedure minvalDIM_D1_CK1
331 : use pm_kind, only: CKC => CK1
332 : #include "pm_complexMinMax@routines.inc.F90"
333 610 : end procedure
334 : #endif
335 :
336 : #undef CK_ENABLED
337 :
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 :
340 : #undef D1_ENABLED
341 :
342 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 :
346 : #define D2_ENABLED 1
347 :
348 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
349 :
350 : #define CK_ENABLED 1
351 :
352 : #if CK5_ENABLED
353 : module procedure minvalDIM_D2_CK5
354 : use pm_kind, only: CKC => CK5
355 : #include "pm_complexMinMax@routines.inc.F90"
356 : end procedure
357 : #endif
358 :
359 : #if CK4_ENABLED
360 2702 : module procedure minvalDIM_D2_CK4
361 : use pm_kind, only: CKC => CK4
362 : #include "pm_complexMinMax@routines.inc.F90"
363 2702 : end procedure
364 : #endif
365 :
366 : #if CK3_ENABLED
367 2700 : module procedure minvalDIM_D2_CK3
368 : use pm_kind, only: CKC => CK3
369 : #include "pm_complexMinMax@routines.inc.F90"
370 2700 : end procedure
371 : #endif
372 :
373 : #if CK2_ENABLED
374 2702 : module procedure minvalDIM_D2_CK2
375 : use pm_kind, only: CKC => CK2
376 : #include "pm_complexMinMax@routines.inc.F90"
377 2702 : end procedure
378 : #endif
379 :
380 : #if CK1_ENABLED
381 2718 : module procedure minvalDIM_D2_CK1
382 : use pm_kind, only: CKC => CK1
383 : #include "pm_complexMinMax@routines.inc.F90"
384 2718 : end procedure
385 : #endif
386 :
387 : #undef CK_ENABLED
388 :
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 :
391 : #undef D2_ENABLED
392 :
393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 :
397 : #undef DIM_ENABLED
398 :
399 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402 :
403 : #undef minval_ENABLED
404 :
405 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406 :
407 : #define maxval_ENABLED 1
408 :
409 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
410 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
411 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
412 :
413 : #define ALL_ENABLED 1
414 :
415 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
418 :
419 : #define D1_ENABLED 1
420 :
421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422 :
423 : #define CK_ENABLED 1
424 :
425 : #if CK5_ENABLED
426 : module procedure maxvalALL_D1_CK5
427 : use pm_kind, only: CKC => CK5
428 : #include "pm_complexMinMax@routines.inc.F90"
429 : end procedure
430 : #endif
431 :
432 : #if CK4_ENABLED
433 9430 : module procedure maxvalALL_D1_CK4
434 : use pm_kind, only: CKC => CK4
435 : #include "pm_complexMinMax@routines.inc.F90"
436 9430 : end procedure
437 : #endif
438 :
439 : #if CK3_ENABLED
440 9840 : module procedure maxvalALL_D1_CK3
441 : use pm_kind, only: CKC => CK3
442 : #include "pm_complexMinMax@routines.inc.F90"
443 9840 : end procedure
444 : #endif
445 :
446 : #if CK2_ENABLED
447 9436 : module procedure maxvalALL_D1_CK2
448 : use pm_kind, only: CKC => CK2
449 : #include "pm_complexMinMax@routines.inc.F90"
450 9436 : end procedure
451 : #endif
452 :
453 : #if CK1_ENABLED
454 9450 : module procedure maxvalALL_D1_CK1
455 : use pm_kind, only: CKC => CK1
456 : #include "pm_complexMinMax@routines.inc.F90"
457 9450 : end procedure
458 : #endif
459 :
460 : #undef CK_ENABLED
461 :
462 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
463 :
464 : #undef D1_ENABLED
465 :
466 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
467 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
468 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
469 :
470 : #define D2_ENABLED 1
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 :
474 : #define CK_ENABLED 1
475 :
476 : #if CK5_ENABLED
477 : module procedure maxvalALL_D2_CK5
478 : use pm_kind, only: CKC => CK5
479 : #include "pm_complexMinMax@routines.inc.F90"
480 : end procedure
481 : #endif
482 :
483 : #if CK4_ENABLED
484 301 : module procedure maxvalALL_D2_CK4
485 : use pm_kind, only: CKC => CK4
486 : #include "pm_complexMinMax@routines.inc.F90"
487 301 : end procedure
488 : #endif
489 :
490 : #if CK3_ENABLED
491 300 : module procedure maxvalALL_D2_CK3
492 : use pm_kind, only: CKC => CK3
493 : #include "pm_complexMinMax@routines.inc.F90"
494 300 : end procedure
495 : #endif
496 :
497 : #if CK2_ENABLED
498 301 : module procedure maxvalALL_D2_CK2
499 : use pm_kind, only: CKC => CK2
500 : #include "pm_complexMinMax@routines.inc.F90"
501 301 : end procedure
502 : #endif
503 :
504 : #if CK1_ENABLED
505 303 : module procedure maxvalALL_D2_CK1
506 : use pm_kind, only: CKC => CK1
507 : #include "pm_complexMinMax@routines.inc.F90"
508 303 : end procedure
509 : #endif
510 :
511 : #undef CK_ENABLED
512 :
513 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
514 :
515 : #undef D2_ENABLED
516 :
517 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 :
521 : #undef ALL_ENABLED
522 :
523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
524 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526 :
527 : #define DIM_ENABLED 1
528 :
529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
531 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
532 :
533 : #define D1_ENABLED 1
534 :
535 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
536 :
537 : #define CK_ENABLED 1
538 :
539 : #if CK5_ENABLED
540 : module procedure maxvalDIM_D1_CK5
541 : use pm_kind, only: CKC => CK5
542 : #include "pm_complexMinMax@routines.inc.F90"
543 : end procedure
544 : #endif
545 :
546 : #if CK4_ENABLED
547 602 : module procedure maxvalDIM_D1_CK4
548 : use pm_kind, only: CKC => CK4
549 : #include "pm_complexMinMax@routines.inc.F90"
550 602 : end procedure
551 : #endif
552 :
553 : #if CK3_ENABLED
554 600 : module procedure maxvalDIM_D1_CK3
555 : use pm_kind, only: CKC => CK3
556 : #include "pm_complexMinMax@routines.inc.F90"
557 600 : end procedure
558 : #endif
559 :
560 : #if CK2_ENABLED
561 602 : module procedure maxvalDIM_D1_CK2
562 : use pm_kind, only: CKC => CK2
563 : #include "pm_complexMinMax@routines.inc.F90"
564 602 : end procedure
565 : #endif
566 :
567 : #if CK1_ENABLED
568 610 : module procedure maxvalDIM_D1_CK1
569 : use pm_kind, only: CKC => CK1
570 : #include "pm_complexMinMax@routines.inc.F90"
571 610 : end procedure
572 : #endif
573 :
574 : #undef CK_ENABLED
575 :
576 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
577 :
578 : #undef D1_ENABLED
579 :
580 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
582 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
583 :
584 : #define D2_ENABLED 1
585 :
586 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
587 :
588 : #define CK_ENABLED 1
589 :
590 : #if CK5_ENABLED
591 : module procedure maxvalDIM_D2_CK5
592 : use pm_kind, only: CKC => CK5
593 : #include "pm_complexMinMax@routines.inc.F90"
594 : end procedure
595 : #endif
596 :
597 : #if CK4_ENABLED
598 2702 : module procedure maxvalDIM_D2_CK4
599 : use pm_kind, only: CKC => CK4
600 : #include "pm_complexMinMax@routines.inc.F90"
601 2702 : end procedure
602 : #endif
603 :
604 : #if CK3_ENABLED
605 2700 : module procedure maxvalDIM_D2_CK3
606 : use pm_kind, only: CKC => CK3
607 : #include "pm_complexMinMax@routines.inc.F90"
608 2700 : end procedure
609 : #endif
610 :
611 : #if CK2_ENABLED
612 2702 : module procedure maxvalDIM_D2_CK2
613 : use pm_kind, only: CKC => CK2
614 : #include "pm_complexMinMax@routines.inc.F90"
615 2702 : end procedure
616 : #endif
617 :
618 : #if CK1_ENABLED
619 2718 : module procedure maxvalDIM_D2_CK1
620 : use pm_kind, only: CKC => CK1
621 : #include "pm_complexMinMax@routines.inc.F90"
622 2718 : end procedure
623 : #endif
624 :
625 : #undef CK_ENABLED
626 :
627 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628 :
629 : #undef D2_ENABLED
630 :
631 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634 :
635 : #undef DIM_ENABLED
636 :
637 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
640 :
641 : #undef maxval_ENABLED
642 :
643 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
644 :
645 : #define minloc_ENABLED 1
646 :
647 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
649 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
650 :
651 : #define ALL_ENABLED 1
652 :
653 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
654 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 :
657 : #define D1_ENABLED 1
658 :
659 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
660 :
661 : #define CK_ENABLED 1
662 :
663 : #if CK5_ENABLED
664 : module procedure minlocALL_D1_CK5
665 : use pm_kind, only: CKC => CK5
666 : #include "pm_complexMinMax@routines.inc.F90"
667 : end procedure
668 : #endif
669 :
670 : #if CK4_ENABLED
671 10 : module procedure minlocALL_D1_CK4
672 : use pm_kind, only: CKC => CK4
673 : #include "pm_complexMinMax@routines.inc.F90"
674 10 : end procedure
675 : #endif
676 :
677 : #if CK3_ENABLED
678 0 : module procedure minlocALL_D1_CK3
679 : use pm_kind, only: CKC => CK3
680 : #include "pm_complexMinMax@routines.inc.F90"
681 0 : end procedure
682 : #endif
683 :
684 : #if CK2_ENABLED
685 10 : module procedure minlocALL_D1_CK2
686 : use pm_kind, only: CKC => CK2
687 : #include "pm_complexMinMax@routines.inc.F90"
688 10 : end procedure
689 : #endif
690 :
691 : #if CK1_ENABLED
692 10 : module procedure minlocALL_D1_CK1
693 : use pm_kind, only: CKC => CK1
694 : #include "pm_complexMinMax@routines.inc.F90"
695 10 : end procedure
696 : #endif
697 :
698 : #undef CK_ENABLED
699 :
700 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
701 :
702 : #undef D1_ENABLED
703 :
704 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
705 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
706 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
707 :
708 : #define D2_ENABLED 1
709 :
710 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
711 :
712 : #define CK_ENABLED 1
713 :
714 : #if CK5_ENABLED
715 : module procedure minlocALL_D2_CK5
716 : use pm_kind, only: CKC => CK5
717 : #include "pm_complexMinMax@routines.inc.F90"
718 : end procedure
719 : #endif
720 :
721 : #if CK4_ENABLED
722 1 : module procedure minlocALL_D2_CK4
723 : use pm_kind, only: CKC => CK4
724 : #include "pm_complexMinMax@routines.inc.F90"
725 1 : end procedure
726 : #endif
727 :
728 : #if CK3_ENABLED
729 0 : module procedure minlocALL_D2_CK3
730 : use pm_kind, only: CKC => CK3
731 : #include "pm_complexMinMax@routines.inc.F90"
732 0 : end procedure
733 : #endif
734 :
735 : #if CK2_ENABLED
736 1 : module procedure minlocALL_D2_CK2
737 : use pm_kind, only: CKC => CK2
738 : #include "pm_complexMinMax@routines.inc.F90"
739 1 : end procedure
740 : #endif
741 :
742 : #if CK1_ENABLED
743 1 : module procedure minlocALL_D2_CK1
744 : use pm_kind, only: CKC => CK1
745 : #include "pm_complexMinMax@routines.inc.F90"
746 1 : end procedure
747 : #endif
748 :
749 : #undef CK_ENABLED
750 :
751 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 :
753 : #undef D2_ENABLED
754 :
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
758 :
759 : #undef ALL_ENABLED
760 :
761 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
762 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
763 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
764 :
765 : #define DIM_ENABLED 1
766 :
767 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
768 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
769 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
770 :
771 : #define D1_ENABLED 1
772 :
773 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
774 :
775 : #define CK_ENABLED 1
776 :
777 : #if CK5_ENABLED
778 : module procedure minlocDIM_D1_CK5
779 : use pm_kind, only: CKC => CK5
780 : #include "pm_complexMinMax@routines.inc.F90"
781 : end procedure
782 : #endif
783 :
784 : #if CK4_ENABLED
785 2 : module procedure minlocDIM_D1_CK4
786 : use pm_kind, only: CKC => CK4
787 : #include "pm_complexMinMax@routines.inc.F90"
788 2 : end procedure
789 : #endif
790 :
791 : #if CK3_ENABLED
792 0 : module procedure minlocDIM_D1_CK3
793 : use pm_kind, only: CKC => CK3
794 : #include "pm_complexMinMax@routines.inc.F90"
795 0 : end procedure
796 : #endif
797 :
798 : #if CK2_ENABLED
799 2 : module procedure minlocDIM_D1_CK2
800 : use pm_kind, only: CKC => CK2
801 : #include "pm_complexMinMax@routines.inc.F90"
802 2 : end procedure
803 : #endif
804 :
805 : #if CK1_ENABLED
806 2 : module procedure minlocDIM_D1_CK1
807 : use pm_kind, only: CKC => CK1
808 : #include "pm_complexMinMax@routines.inc.F90"
809 2 : end procedure
810 : #endif
811 :
812 : #undef CK_ENABLED
813 :
814 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
815 :
816 : #undef D1_ENABLED
817 :
818 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
819 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
820 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
821 :
822 : #define D2_ENABLED 1
823 :
824 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
825 :
826 : #define CK_ENABLED 1
827 :
828 : #if CK5_ENABLED
829 : module procedure minlocDIM_D2_CK5
830 : use pm_kind, only: CKC => CK5
831 : #include "pm_complexMinMax@routines.inc.F90"
832 : end procedure
833 : #endif
834 :
835 : #if CK4_ENABLED
836 2 : module procedure minlocDIM_D2_CK4
837 : use pm_kind, only: CKC => CK4
838 : #include "pm_complexMinMax@routines.inc.F90"
839 2 : end procedure
840 : #endif
841 :
842 : #if CK3_ENABLED
843 0 : module procedure minlocDIM_D2_CK3
844 : use pm_kind, only: CKC => CK3
845 : #include "pm_complexMinMax@routines.inc.F90"
846 0 : end procedure
847 : #endif
848 :
849 : #if CK2_ENABLED
850 2 : module procedure minlocDIM_D2_CK2
851 : use pm_kind, only: CKC => CK2
852 : #include "pm_complexMinMax@routines.inc.F90"
853 2 : end procedure
854 : #endif
855 :
856 : #if CK1_ENABLED
857 2 : module procedure minlocDIM_D2_CK1
858 : use pm_kind, only: CKC => CK1
859 : #include "pm_complexMinMax@routines.inc.F90"
860 2 : end procedure
861 : #endif
862 :
863 : #undef CK_ENABLED
864 :
865 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
866 :
867 : #undef D2_ENABLED
868 :
869 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
870 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
871 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
872 :
873 : #undef DIM_ENABLED
874 :
875 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
876 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
877 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
878 :
879 : #undef minloc_ENABLED
880 :
881 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
882 :
883 : #define maxloc_ENABLED 1
884 :
885 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
887 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
888 :
889 : #define ALL_ENABLED 1
890 :
891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
893 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
894 :
895 : #define D1_ENABLED 1
896 :
897 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898 :
899 : #define CK_ENABLED 1
900 :
901 : #if CK5_ENABLED
902 : module procedure maxlocALL_D1_CK5
903 : use pm_kind, only: CKC => CK5
904 : #include "pm_complexMinMax@routines.inc.F90"
905 : end procedure
906 : #endif
907 :
908 : #if CK4_ENABLED
909 10 : module procedure maxlocALL_D1_CK4
910 : use pm_kind, only: CKC => CK4
911 : #include "pm_complexMinMax@routines.inc.F90"
912 10 : end procedure
913 : #endif
914 :
915 : #if CK3_ENABLED
916 0 : module procedure maxlocALL_D1_CK3
917 : use pm_kind, only: CKC => CK3
918 : #include "pm_complexMinMax@routines.inc.F90"
919 0 : end procedure
920 : #endif
921 :
922 : #if CK2_ENABLED
923 10 : module procedure maxlocALL_D1_CK2
924 : use pm_kind, only: CKC => CK2
925 : #include "pm_complexMinMax@routines.inc.F90"
926 10 : end procedure
927 : #endif
928 :
929 : #if CK1_ENABLED
930 10 : module procedure maxlocALL_D1_CK1
931 : use pm_kind, only: CKC => CK1
932 : #include "pm_complexMinMax@routines.inc.F90"
933 10 : end procedure
934 : #endif
935 :
936 : #undef CK_ENABLED
937 :
938 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
939 :
940 : #undef D1_ENABLED
941 :
942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
943 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
944 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
945 :
946 : #define D2_ENABLED 1
947 :
948 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
949 :
950 : #define CK_ENABLED 1
951 :
952 : #if CK5_ENABLED
953 : module procedure maxlocALL_D2_CK5
954 : use pm_kind, only: CKC => CK5
955 : #include "pm_complexMinMax@routines.inc.F90"
956 : end procedure
957 : #endif
958 :
959 : #if CK4_ENABLED
960 1 : module procedure maxlocALL_D2_CK4
961 : use pm_kind, only: CKC => CK4
962 : #include "pm_complexMinMax@routines.inc.F90"
963 1 : end procedure
964 : #endif
965 :
966 : #if CK3_ENABLED
967 0 : module procedure maxlocALL_D2_CK3
968 : use pm_kind, only: CKC => CK3
969 : #include "pm_complexMinMax@routines.inc.F90"
970 0 : end procedure
971 : #endif
972 :
973 : #if CK2_ENABLED
974 1 : module procedure maxlocALL_D2_CK2
975 : use pm_kind, only: CKC => CK2
976 : #include "pm_complexMinMax@routines.inc.F90"
977 1 : end procedure
978 : #endif
979 :
980 : #if CK1_ENABLED
981 1 : module procedure maxlocALL_D2_CK1
982 : use pm_kind, only: CKC => CK1
983 : #include "pm_complexMinMax@routines.inc.F90"
984 1 : end procedure
985 : #endif
986 :
987 : #undef CK_ENABLED
988 :
989 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
990 :
991 : #undef D2_ENABLED
992 :
993 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
994 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
995 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
996 :
997 : #undef ALL_ENABLED
998 :
999 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1000 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1001 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002 :
1003 : #define DIM_ENABLED 1
1004 :
1005 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1006 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1007 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1008 :
1009 : #define D1_ENABLED 1
1010 :
1011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1012 :
1013 : #define CK_ENABLED 1
1014 :
1015 : #if CK5_ENABLED
1016 : module procedure maxlocDIM_D1_CK5
1017 : use pm_kind, only: CKC => CK5
1018 : #include "pm_complexMinMax@routines.inc.F90"
1019 : end procedure
1020 : #endif
1021 :
1022 : #if CK4_ENABLED
1023 2 : module procedure maxlocDIM_D1_CK4
1024 : use pm_kind, only: CKC => CK4
1025 : #include "pm_complexMinMax@routines.inc.F90"
1026 2 : end procedure
1027 : #endif
1028 :
1029 : #if CK3_ENABLED
1030 0 : module procedure maxlocDIM_D1_CK3
1031 : use pm_kind, only: CKC => CK3
1032 : #include "pm_complexMinMax@routines.inc.F90"
1033 0 : end procedure
1034 : #endif
1035 :
1036 : #if CK2_ENABLED
1037 2 : module procedure maxlocDIM_D1_CK2
1038 : use pm_kind, only: CKC => CK2
1039 : #include "pm_complexMinMax@routines.inc.F90"
1040 2 : end procedure
1041 : #endif
1042 :
1043 : #if CK1_ENABLED
1044 2 : module procedure maxlocDIM_D1_CK1
1045 : use pm_kind, only: CKC => CK1
1046 : #include "pm_complexMinMax@routines.inc.F90"
1047 2 : end procedure
1048 : #endif
1049 :
1050 : #undef CK_ENABLED
1051 :
1052 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1053 :
1054 : #undef D1_ENABLED
1055 :
1056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1058 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1059 :
1060 : #define D2_ENABLED 1
1061 :
1062 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1063 :
1064 : #define CK_ENABLED 1
1065 :
1066 : #if CK5_ENABLED
1067 : module procedure maxlocDIM_D2_CK5
1068 : use pm_kind, only: CKC => CK5
1069 : #include "pm_complexMinMax@routines.inc.F90"
1070 : end procedure
1071 : #endif
1072 :
1073 : #if CK4_ENABLED
1074 2 : module procedure maxlocDIM_D2_CK4
1075 : use pm_kind, only: CKC => CK4
1076 : #include "pm_complexMinMax@routines.inc.F90"
1077 2 : end procedure
1078 : #endif
1079 :
1080 : #if CK3_ENABLED
1081 0 : module procedure maxlocDIM_D2_CK3
1082 : use pm_kind, only: CKC => CK3
1083 : #include "pm_complexMinMax@routines.inc.F90"
1084 0 : end procedure
1085 : #endif
1086 :
1087 : #if CK2_ENABLED
1088 2 : module procedure maxlocDIM_D2_CK2
1089 : use pm_kind, only: CKC => CK2
1090 : #include "pm_complexMinMax@routines.inc.F90"
1091 2 : end procedure
1092 : #endif
1093 :
1094 : #if CK1_ENABLED
1095 2 : module procedure maxlocDIM_D2_CK1
1096 : use pm_kind, only: CKC => CK1
1097 : #include "pm_complexMinMax@routines.inc.F90"
1098 2 : end procedure
1099 : #endif
1100 :
1101 : #undef CK_ENABLED
1102 :
1103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1104 :
1105 : #undef D2_ENABLED
1106 :
1107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1110 :
1111 : #undef DIM_ENABLED
1112 :
1113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1115 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1116 :
1117 : #undef maxloc_ENABLED
1118 :
1119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1120 :
1121 : #undef CHECK_ASSERTION
1122 :
1123 : end submodule routines
|