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_arrayCenter](@ref pm_arrayCenter).
19 : !>
20 : !> \author
21 : !> \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
22 :
23 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24 :
25 : submodule (pm_arrayCenter) routines ! LCOV_EXCL_LINE
26 :
27 : #if CHECK_ENABLED
28 : use pm_err, only: getFine
29 : use pm_val2str, only: getStr
30 : use pm_err, only: setAsserted
31 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
32 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
33 : #else
34 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
35 : #endif
36 :
37 : implicit none
38 :
39 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40 :
41 : contains
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : #define getCentered_ENABLED 1
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define Asis_ENABLED 1
52 :
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define D0_ENABLED 1
58 :
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 :
61 : #define SK_ENABLED 1
62 :
63 : #if SK5_ENABLED
64 : module procedure getCenteredAsis_D0_SK5
65 : use pm_kind, only: SKC => SK5
66 : #include "pm_arrayCenter@routines.inc.F90"
67 : end procedure
68 : #endif
69 :
70 : #if SK4_ENABLED
71 : module procedure getCenteredAsis_D0_SK4
72 : use pm_kind, only: SKC => SK4
73 : #include "pm_arrayCenter@routines.inc.F90"
74 : end procedure
75 : #endif
76 :
77 : #if SK3_ENABLED
78 : module procedure getCenteredAsis_D0_SK3
79 : use pm_kind, only: SKC => SK3
80 : #include "pm_arrayCenter@routines.inc.F90"
81 : end procedure
82 : #endif
83 :
84 : #if SK2_ENABLED
85 : module procedure getCenteredAsis_D0_SK2
86 : use pm_kind, only: SKC => SK2
87 : #include "pm_arrayCenter@routines.inc.F90"
88 : end procedure
89 : #endif
90 :
91 : #if SK1_ENABLED
92 34 : module procedure getCenteredAsis_D0_SK1
93 : use pm_kind, only: SKC => SK1
94 : #include "pm_arrayCenter@routines.inc.F90"
95 34 : end procedure
96 : #endif
97 :
98 : #undef SK_ENABLED
99 :
100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 :
102 : #undef D0_ENABLED
103 :
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #define D1_ENABLED 1
109 :
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 :
112 : #define SK_ENABLED 1
113 :
114 : #if SK5_ENABLED
115 : module procedure getCenteredAsis_D1_SK5
116 : use pm_kind, only: SKC => SK5
117 : #include "pm_arrayCenter@routines.inc.F90"
118 : end procedure
119 : #endif
120 :
121 : #if SK4_ENABLED
122 : module procedure getCenteredAsis_D1_SK4
123 : use pm_kind, only: SKC => SK4
124 : #include "pm_arrayCenter@routines.inc.F90"
125 : end procedure
126 : #endif
127 :
128 : #if SK3_ENABLED
129 : module procedure getCenteredAsis_D1_SK3
130 : use pm_kind, only: SKC => SK3
131 : #include "pm_arrayCenter@routines.inc.F90"
132 : end procedure
133 : #endif
134 :
135 : #if SK2_ENABLED
136 : module procedure getCenteredAsis_D1_SK2
137 : use pm_kind, only: SKC => SK2
138 : #include "pm_arrayCenter@routines.inc.F90"
139 : end procedure
140 : #endif
141 :
142 : #if SK1_ENABLED
143 12 : module procedure getCenteredAsis_D1_SK1
144 : use pm_kind, only: SKC => SK1
145 : #include "pm_arrayCenter@routines.inc.F90"
146 12 : end procedure
147 : #endif
148 :
149 : #undef SK_ENABLED
150 :
151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152 :
153 : #define IK_ENABLED 1
154 :
155 : #if IK5_ENABLED
156 8 : module procedure getCenteredAsis_D1_IK5
157 : use pm_kind, only: IKC => IK5
158 : #include "pm_arrayCenter@routines.inc.F90"
159 8 : end procedure
160 : #endif
161 :
162 : #if IK4_ENABLED
163 8 : module procedure getCenteredAsis_D1_IK4
164 : use pm_kind, only: IKC => IK4
165 : #include "pm_arrayCenter@routines.inc.F90"
166 8 : end procedure
167 : #endif
168 :
169 : #if IK3_ENABLED
170 12 : module procedure getCenteredAsis_D1_IK3
171 : use pm_kind, only: IKC => IK3
172 : #include "pm_arrayCenter@routines.inc.F90"
173 12 : end procedure
174 : #endif
175 :
176 : #if IK2_ENABLED
177 8 : module procedure getCenteredAsis_D1_IK2
178 : use pm_kind, only: IKC => IK2
179 : #include "pm_arrayCenter@routines.inc.F90"
180 8 : end procedure
181 : #endif
182 :
183 : #if IK1_ENABLED
184 8 : module procedure getCenteredAsis_D1_IK1
185 : use pm_kind, only: IKC => IK1
186 : #include "pm_arrayCenter@routines.inc.F90"
187 8 : end procedure
188 : #endif
189 :
190 : #undef IK_ENABLED
191 :
192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193 :
194 : #define LK_ENABLED 1
195 :
196 : #define getCenteredAsis_D1_LK_ENABLED 1
197 :
198 : #if LK5_ENABLED
199 8 : module procedure getCenteredAsis_D1_LK5
200 : use pm_kind, only: LKC => LK5
201 : #include "pm_arrayCenter@routines.inc.F90"
202 8 : end procedure
203 : #endif
204 :
205 : #if LK4_ENABLED
206 8 : module procedure getCenteredAsis_D1_LK4
207 : use pm_kind, only: LKC => LK4
208 : #include "pm_arrayCenter@routines.inc.F90"
209 8 : end procedure
210 : #endif
211 :
212 : #if LK3_ENABLED
213 12 : module procedure getCenteredAsis_D1_LK3
214 : use pm_kind, only: LKC => LK3
215 : #include "pm_arrayCenter@routines.inc.F90"
216 12 : end procedure
217 : #endif
218 :
219 : #if LK2_ENABLED
220 8 : module procedure getCenteredAsis_D1_LK2
221 : use pm_kind, only: LKC => LK2
222 : #include "pm_arrayCenter@routines.inc.F90"
223 8 : end procedure
224 : #endif
225 :
226 : #if LK1_ENABLED
227 8 : module procedure getCenteredAsis_D1_LK1
228 : use pm_kind, only: LKC => LK1
229 : #include "pm_arrayCenter@routines.inc.F90"
230 8 : end procedure
231 : #endif
232 :
233 : #undef LK_ENABLED
234 :
235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
236 :
237 : #define CK_ENABLED 1
238 :
239 : #if CK3_ENABLED
240 8 : module procedure getCenteredAsis_D1_CK3
241 : use pm_kind, only: CKC => CK3
242 : #include "pm_arrayCenter@routines.inc.F90"
243 8 : end procedure
244 : #endif
245 :
246 : #if CK2_ENABLED
247 12 : module procedure getCenteredAsis_D1_CK2
248 : use pm_kind, only: CKC => CK2
249 : #include "pm_arrayCenter@routines.inc.F90"
250 12 : end procedure
251 : #endif
252 :
253 : #if CK1_ENABLED
254 8 : module procedure getCenteredAsis_D1_CK1
255 : use pm_kind, only: CKC => CK1
256 : #include "pm_arrayCenter@routines.inc.F90"
257 8 : end procedure
258 : #endif
259 :
260 : #if CK5_ENABLED
261 : module procedure getCenteredAsis_D1_CK5
262 : use pm_kind, only: CKC => CK5
263 : #include "pm_arrayCenter@routines.inc.F90"
264 : end procedure
265 : #endif
266 :
267 : #if CK4_ENABLED
268 8 : module procedure getCenteredAsis_D1_CK4
269 : use pm_kind, only: CKC => CK4
270 : #include "pm_arrayCenter@routines.inc.F90"
271 8 : 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 getCenteredAsis_D1_RK5
282 : use pm_kind, only: RKC => RK5
283 : #include "pm_arrayCenter@routines.inc.F90"
284 : end procedure
285 : #endif
286 :
287 : #if RK4_ENABLED
288 8 : module procedure getCenteredAsis_D1_RK4
289 : use pm_kind, only: RKC => RK4
290 : #include "pm_arrayCenter@routines.inc.F90"
291 8 : end procedure
292 : #endif
293 :
294 : #if RK3_ENABLED
295 8 : module procedure getCenteredAsis_D1_RK3
296 : use pm_kind, only: RKC => RK3
297 : #include "pm_arrayCenter@routines.inc.F90"
298 8 : end procedure
299 : #endif
300 :
301 : #if RK2_ENABLED
302 12 : module procedure getCenteredAsis_D1_RK2
303 : use pm_kind, only: RKC => RK2
304 : #include "pm_arrayCenter@routines.inc.F90"
305 12 : end procedure
306 : #endif
307 :
308 : #if RK1_ENABLED
309 8 : module procedure getCenteredAsis_D1_RK1
310 : use pm_kind, only: RKC => RK1
311 : #include "pm_arrayCenter@routines.inc.F90"
312 8 : end procedure
313 : #endif
314 :
315 : #undef RK_ENABLED
316 :
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 :
319 : #undef D1_ENABLED
320 :
321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 :
325 : #undef Asis_ENABLED
326 :
327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330 :
331 : #define Marg_ENABLED 1
332 :
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
335 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
336 :
337 : #define D0_ENABLED 1
338 :
339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 :
341 : #define SK_ENABLED 1
342 :
343 : #if SK5_ENABLED
344 : module procedure getCenteredMarg_D0_SK5
345 : use pm_kind, only: SKC => SK5
346 : #include "pm_arrayCenter@routines.inc.F90"
347 : end procedure
348 : #endif
349 :
350 : #if SK4_ENABLED
351 : module procedure getCenteredMarg_D0_SK4
352 : use pm_kind, only: SKC => SK4
353 : #include "pm_arrayCenter@routines.inc.F90"
354 : end procedure
355 : #endif
356 :
357 : #if SK3_ENABLED
358 : module procedure getCenteredMarg_D0_SK3
359 : use pm_kind, only: SKC => SK3
360 : #include "pm_arrayCenter@routines.inc.F90"
361 : end procedure
362 : #endif
363 :
364 : #if SK2_ENABLED
365 : module procedure getCenteredMarg_D0_SK2
366 : use pm_kind, only: SKC => SK2
367 : #include "pm_arrayCenter@routines.inc.F90"
368 : end procedure
369 : #endif
370 :
371 : #if SK1_ENABLED
372 38 : module procedure getCenteredMarg_D0_SK1
373 : use pm_kind, only: SKC => SK1
374 : #include "pm_arrayCenter@routines.inc.F90"
375 38 : end procedure
376 : #endif
377 :
378 : #undef SK_ENABLED
379 :
380 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
381 :
382 : #undef D0_ENABLED
383 :
384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
387 :
388 : #define D1_ENABLED 1
389 :
390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 :
392 : #define SK_ENABLED 1
393 :
394 : #if SK5_ENABLED
395 : module procedure getCenteredMarg_D1_SK5
396 : use pm_kind, only: SKC => SK5
397 : #include "pm_arrayCenter@routines.inc.F90"
398 : end procedure
399 : #endif
400 :
401 : #if SK4_ENABLED
402 : module procedure getCenteredMarg_D1_SK4
403 : use pm_kind, only: SKC => SK4
404 : #include "pm_arrayCenter@routines.inc.F90"
405 : end procedure
406 : #endif
407 :
408 : #if SK3_ENABLED
409 : module procedure getCenteredMarg_D1_SK3
410 : use pm_kind, only: SKC => SK3
411 : #include "pm_arrayCenter@routines.inc.F90"
412 : end procedure
413 : #endif
414 :
415 : #if SK2_ENABLED
416 : module procedure getCenteredMarg_D1_SK2
417 : use pm_kind, only: SKC => SK2
418 : #include "pm_arrayCenter@routines.inc.F90"
419 : end procedure
420 : #endif
421 :
422 : #if SK1_ENABLED
423 32 : module procedure getCenteredMarg_D1_SK1
424 : use pm_kind, only: SKC => SK1
425 : #include "pm_arrayCenter@routines.inc.F90"
426 32 : end procedure
427 : #endif
428 :
429 : #undef SK_ENABLED
430 :
431 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
432 :
433 : #define IK_ENABLED 1
434 :
435 : #if IK5_ENABLED
436 32 : module procedure getCenteredMarg_D1_IK5
437 : use pm_kind, only: IKC => IK5
438 : #include "pm_arrayCenter@routines.inc.F90"
439 32 : end procedure
440 : #endif
441 :
442 : #if IK4_ENABLED
443 32 : module procedure getCenteredMarg_D1_IK4
444 : use pm_kind, only: IKC => IK4
445 : #include "pm_arrayCenter@routines.inc.F90"
446 32 : end procedure
447 : #endif
448 :
449 : #if IK3_ENABLED
450 32 : module procedure getCenteredMarg_D1_IK3
451 : use pm_kind, only: IKC => IK3
452 : #include "pm_arrayCenter@routines.inc.F90"
453 32 : end procedure
454 : #endif
455 :
456 : #if IK2_ENABLED
457 32 : module procedure getCenteredMarg_D1_IK2
458 : use pm_kind, only: IKC => IK2
459 : #include "pm_arrayCenter@routines.inc.F90"
460 32 : end procedure
461 : #endif
462 :
463 : #if IK1_ENABLED
464 32 : module procedure getCenteredMarg_D1_IK1
465 : use pm_kind, only: IKC => IK1
466 : #include "pm_arrayCenter@routines.inc.F90"
467 32 : end procedure
468 : #endif
469 :
470 : #undef IK_ENABLED
471 :
472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473 :
474 : #define LK_ENABLED 1
475 :
476 : #define getCenteredMarg_D1_LK_ENABLED 1
477 :
478 : #if LK5_ENABLED
479 32 : module procedure getCenteredMarg_D1_LK5
480 : use pm_kind, only: LKC => LK5
481 : #include "pm_arrayCenter@routines.inc.F90"
482 32 : end procedure
483 : #endif
484 :
485 : #if LK4_ENABLED
486 32 : module procedure getCenteredMarg_D1_LK4
487 : use pm_kind, only: LKC => LK4
488 : #include "pm_arrayCenter@routines.inc.F90"
489 32 : end procedure
490 : #endif
491 :
492 : #if LK3_ENABLED
493 32 : module procedure getCenteredMarg_D1_LK3
494 : use pm_kind, only: LKC => LK3
495 : #include "pm_arrayCenter@routines.inc.F90"
496 32 : end procedure
497 : #endif
498 :
499 : #if LK2_ENABLED
500 32 : module procedure getCenteredMarg_D1_LK2
501 : use pm_kind, only: LKC => LK2
502 : #include "pm_arrayCenter@routines.inc.F90"
503 32 : end procedure
504 : #endif
505 :
506 : #if LK1_ENABLED
507 32 : module procedure getCenteredMarg_D1_LK1
508 : use pm_kind, only: LKC => LK1
509 : #include "pm_arrayCenter@routines.inc.F90"
510 32 : end procedure
511 : #endif
512 :
513 : #undef LK_ENABLED
514 :
515 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
516 :
517 : #define CK_ENABLED 1
518 :
519 : #if CK5_ENABLED
520 : module procedure getCenteredMarg_D1_CK5
521 : use pm_kind, only: CKC => CK5
522 : #include "pm_arrayCenter@routines.inc.F90"
523 : end procedure
524 : #endif
525 :
526 : #if CK4_ENABLED
527 32 : module procedure getCenteredMarg_D1_CK4
528 : use pm_kind, only: CKC => CK4
529 : #include "pm_arrayCenter@routines.inc.F90"
530 32 : end procedure
531 : #endif
532 :
533 : #if CK3_ENABLED
534 32 : module procedure getCenteredMarg_D1_CK3
535 : use pm_kind, only: CKC => CK3
536 : #include "pm_arrayCenter@routines.inc.F90"
537 32 : end procedure
538 : #endif
539 :
540 : #if CK2_ENABLED
541 32 : module procedure getCenteredMarg_D1_CK2
542 : use pm_kind, only: CKC => CK2
543 : #include "pm_arrayCenter@routines.inc.F90"
544 32 : end procedure
545 : #endif
546 :
547 : #if CK1_ENABLED
548 32 : module procedure getCenteredMarg_D1_CK1
549 : use pm_kind, only: CKC => CK1
550 : #include "pm_arrayCenter@routines.inc.F90"
551 32 : end procedure
552 : #endif
553 :
554 : #undef CK_ENABLED
555 :
556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557 :
558 : #define RK_ENABLED 1
559 :
560 : #if RK5_ENABLED
561 : module procedure getCenteredMarg_D1_RK5
562 : use pm_kind, only: RKC => RK5
563 : #include "pm_arrayCenter@routines.inc.F90"
564 : end procedure
565 : #endif
566 :
567 : #if RK4_ENABLED
568 32 : module procedure getCenteredMarg_D1_RK4
569 : use pm_kind, only: RKC => RK4
570 : #include "pm_arrayCenter@routines.inc.F90"
571 32 : end procedure
572 : #endif
573 :
574 : #if RK3_ENABLED
575 32 : module procedure getCenteredMarg_D1_RK3
576 : use pm_kind, only: RKC => RK3
577 : #include "pm_arrayCenter@routines.inc.F90"
578 32 : end procedure
579 : #endif
580 :
581 : #if RK2_ENABLED
582 32 : module procedure getCenteredMarg_D1_RK2
583 : use pm_kind, only: RKC => RK2
584 : #include "pm_arrayCenter@routines.inc.F90"
585 32 : end procedure
586 : #endif
587 :
588 : #if RK1_ENABLED
589 32 : module procedure getCenteredMarg_D1_RK1
590 : use pm_kind, only: RKC => RK1
591 : #include "pm_arrayCenter@routines.inc.F90"
592 32 : end procedure
593 : #endif
594 :
595 : #undef RK_ENABLED
596 :
597 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598 :
599 : #undef D1_ENABLED
600 :
601 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
604 :
605 : #undef Marg_ENABLED
606 :
607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 :
611 : #undef getCentered_ENABLED
612 :
613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
614 :
615 : #define setCentered_ENABLED 1
616 :
617 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
618 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
620 :
621 : #define Asis_ENABLED 1
622 :
623 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
624 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626 :
627 : #define D0_ENABLED 1
628 :
629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630 :
631 : #define SK_ENABLED 1
632 :
633 : #if SK5_ENABLED
634 : module procedure setCenteredAsis_D0_SK5
635 : use pm_kind, only: SKC => SK5
636 : #include "pm_arrayCenter@routines.inc.F90"
637 : end procedure
638 : #endif
639 :
640 : #if SK4_ENABLED
641 : module procedure setCenteredAsis_D0_SK4
642 : use pm_kind, only: SKC => SK4
643 : #include "pm_arrayCenter@routines.inc.F90"
644 : end procedure
645 : #endif
646 :
647 : #if SK3_ENABLED
648 : module procedure setCenteredAsis_D0_SK3
649 : use pm_kind, only: SKC => SK3
650 : #include "pm_arrayCenter@routines.inc.F90"
651 : end procedure
652 : #endif
653 :
654 : #if SK2_ENABLED
655 : module procedure setCenteredAsis_D0_SK2
656 : use pm_kind, only: SKC => SK2
657 : #include "pm_arrayCenter@routines.inc.F90"
658 : end procedure
659 : #endif
660 :
661 : #if SK1_ENABLED
662 26 : module procedure setCenteredAsis_D0_SK1
663 : use pm_kind, only: SKC => SK1
664 : #include "pm_arrayCenter@routines.inc.F90"
665 26 : end procedure
666 : #endif
667 :
668 : #undef SK_ENABLED
669 :
670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
671 :
672 : #undef D0_ENABLED
673 :
674 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
675 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677 :
678 : #define D1_ENABLED 1
679 :
680 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
681 :
682 : #define SK_ENABLED 1
683 :
684 : #if SK5_ENABLED
685 : module procedure setCenteredAsis_D1_SK5
686 : use pm_kind, only: SKC => SK5
687 : #include "pm_arrayCenter@routines.inc.F90"
688 : end procedure
689 : #endif
690 :
691 : #if SK4_ENABLED
692 : module procedure setCenteredAsis_D1_SK4
693 : use pm_kind, only: SKC => SK4
694 : #include "pm_arrayCenter@routines.inc.F90"
695 : end procedure
696 : #endif
697 :
698 : #if SK3_ENABLED
699 : module procedure setCenteredAsis_D1_SK3
700 : use pm_kind, only: SKC => SK3
701 : #include "pm_arrayCenter@routines.inc.F90"
702 : end procedure
703 : #endif
704 :
705 : #if SK2_ENABLED
706 : module procedure setCenteredAsis_D1_SK2
707 : use pm_kind, only: SKC => SK2
708 : #include "pm_arrayCenter@routines.inc.F90"
709 : end procedure
710 : #endif
711 :
712 : #if SK1_ENABLED
713 12 : module procedure setCenteredAsis_D1_SK1
714 : use pm_kind, only: SKC => SK1
715 : #include "pm_arrayCenter@routines.inc.F90"
716 12 : end procedure
717 : #endif
718 :
719 : #undef SK_ENABLED
720 :
721 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
722 :
723 : #define IK_ENABLED 1
724 :
725 : #if IK5_ENABLED
726 8 : module procedure setCenteredAsis_D1_IK5
727 : use pm_kind, only: IKC => IK5
728 : #include "pm_arrayCenter@routines.inc.F90"
729 8 : end procedure
730 : #endif
731 :
732 : #if IK4_ENABLED
733 8 : module procedure setCenteredAsis_D1_IK4
734 : use pm_kind, only: IKC => IK4
735 : #include "pm_arrayCenter@routines.inc.F90"
736 8 : end procedure
737 : #endif
738 :
739 : #if IK3_ENABLED
740 12 : module procedure setCenteredAsis_D1_IK3
741 : use pm_kind, only: IKC => IK3
742 : #include "pm_arrayCenter@routines.inc.F90"
743 12 : end procedure
744 : #endif
745 :
746 : #if IK2_ENABLED
747 8 : module procedure setCenteredAsis_D1_IK2
748 : use pm_kind, only: IKC => IK2
749 : #include "pm_arrayCenter@routines.inc.F90"
750 8 : end procedure
751 : #endif
752 :
753 : #if IK1_ENABLED
754 8 : module procedure setCenteredAsis_D1_IK1
755 : use pm_kind, only: IKC => IK1
756 : #include "pm_arrayCenter@routines.inc.F90"
757 8 : end procedure
758 : #endif
759 :
760 : #undef IK_ENABLED
761 :
762 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
763 :
764 : #define LK_ENABLED 1
765 :
766 : #define setCenteredAsis_D1_LK_ENABLED 1
767 :
768 : #if LK5_ENABLED
769 8 : module procedure setCenteredAsis_D1_LK5
770 : use pm_kind, only: LKC => LK5
771 : #include "pm_arrayCenter@routines.inc.F90"
772 8 : end procedure
773 : #endif
774 :
775 : #if LK4_ENABLED
776 8 : module procedure setCenteredAsis_D1_LK4
777 : use pm_kind, only: LKC => LK4
778 : #include "pm_arrayCenter@routines.inc.F90"
779 8 : end procedure
780 : #endif
781 :
782 : #if LK3_ENABLED
783 12 : module procedure setCenteredAsis_D1_LK3
784 : use pm_kind, only: LKC => LK3
785 : #include "pm_arrayCenter@routines.inc.F90"
786 12 : end procedure
787 : #endif
788 :
789 : #if LK2_ENABLED
790 8 : module procedure setCenteredAsis_D1_LK2
791 : use pm_kind, only: LKC => LK2
792 : #include "pm_arrayCenter@routines.inc.F90"
793 8 : end procedure
794 : #endif
795 :
796 : #if LK1_ENABLED
797 8 : module procedure setCenteredAsis_D1_LK1
798 : use pm_kind, only: LKC => LK1
799 : #include "pm_arrayCenter@routines.inc.F90"
800 8 : end procedure
801 : #endif
802 :
803 : #undef LK_ENABLED
804 :
805 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
806 :
807 : #define CK_ENABLED 1
808 :
809 : #if CK3_ENABLED
810 8 : module procedure setCenteredAsis_D1_CK3
811 : use pm_kind, only: CKC => CK3
812 : #include "pm_arrayCenter@routines.inc.F90"
813 8 : end procedure
814 : #endif
815 :
816 : #if CK2_ENABLED
817 12 : module procedure setCenteredAsis_D1_CK2
818 : use pm_kind, only: CKC => CK2
819 : #include "pm_arrayCenter@routines.inc.F90"
820 12 : end procedure
821 : #endif
822 :
823 : #if CK1_ENABLED
824 8 : module procedure setCenteredAsis_D1_CK1
825 : use pm_kind, only: CKC => CK1
826 : #include "pm_arrayCenter@routines.inc.F90"
827 8 : end procedure
828 : #endif
829 :
830 : #if CK5_ENABLED
831 : module procedure setCenteredAsis_D1_CK5
832 : use pm_kind, only: CKC => CK5
833 : #include "pm_arrayCenter@routines.inc.F90"
834 : end procedure
835 : #endif
836 :
837 : #if CK4_ENABLED
838 8 : module procedure setCenteredAsis_D1_CK4
839 : use pm_kind, only: CKC => CK4
840 : #include "pm_arrayCenter@routines.inc.F90"
841 8 : end procedure
842 : #endif
843 :
844 : #undef CK_ENABLED
845 :
846 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
847 :
848 : #define RK_ENABLED 1
849 :
850 : #if RK5_ENABLED
851 : module procedure setCenteredAsis_D1_RK5
852 : use pm_kind, only: RKC => RK5
853 : #include "pm_arrayCenter@routines.inc.F90"
854 : end procedure
855 : #endif
856 :
857 : #if RK4_ENABLED
858 8 : module procedure setCenteredAsis_D1_RK4
859 : use pm_kind, only: RKC => RK4
860 : #include "pm_arrayCenter@routines.inc.F90"
861 8 : end procedure
862 : #endif
863 :
864 : #if RK3_ENABLED
865 8 : module procedure setCenteredAsis_D1_RK3
866 : use pm_kind, only: RKC => RK3
867 : #include "pm_arrayCenter@routines.inc.F90"
868 8 : end procedure
869 : #endif
870 :
871 : #if RK2_ENABLED
872 12 : module procedure setCenteredAsis_D1_RK2
873 : use pm_kind, only: RKC => RK2
874 : #include "pm_arrayCenter@routines.inc.F90"
875 12 : end procedure
876 : #endif
877 :
878 : #if RK1_ENABLED
879 8 : module procedure setCenteredAsis_D1_RK1
880 : use pm_kind, only: RKC => RK1
881 : #include "pm_arrayCenter@routines.inc.F90"
882 8 : end procedure
883 : #endif
884 :
885 : #undef RK_ENABLED
886 :
887 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
888 :
889 : #undef D1_ENABLED
890 :
891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
893 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
894 :
895 : #undef Asis_ENABLED
896 :
897 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
899 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900 :
901 : #define Marg_ENABLED 1
902 :
903 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
904 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
905 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906 :
907 : #define D0_ENABLED 1
908 :
909 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910 :
911 : #define SK_ENABLED 1
912 :
913 : #if SK5_ENABLED
914 : module procedure setCenteredMarg_D0_SK5
915 : use pm_kind, only: SKC => SK5
916 : #include "pm_arrayCenter@routines.inc.F90"
917 : end procedure
918 : #endif
919 :
920 : #if SK4_ENABLED
921 : module procedure setCenteredMarg_D0_SK4
922 : use pm_kind, only: SKC => SK4
923 : #include "pm_arrayCenter@routines.inc.F90"
924 : end procedure
925 : #endif
926 :
927 : #if SK3_ENABLED
928 : module procedure setCenteredMarg_D0_SK3
929 : use pm_kind, only: SKC => SK3
930 : #include "pm_arrayCenter@routines.inc.F90"
931 : end procedure
932 : #endif
933 :
934 : #if SK2_ENABLED
935 : module procedure setCenteredMarg_D0_SK2
936 : use pm_kind, only: SKC => SK2
937 : #include "pm_arrayCenter@routines.inc.F90"
938 : end procedure
939 : #endif
940 :
941 : #if SK1_ENABLED
942 1590 : module procedure setCenteredMarg_D0_SK1
943 : use pm_kind, only: SKC => SK1
944 : #include "pm_arrayCenter@routines.inc.F90"
945 1590 : end procedure
946 : #endif
947 :
948 : #undef SK_ENABLED
949 :
950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
951 :
952 : #undef D0_ENABLED
953 :
954 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
956 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
957 :
958 : #define D1_ENABLED 1
959 :
960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
961 :
962 : #define SK_ENABLED 1
963 :
964 : #if SK5_ENABLED
965 : module procedure setCenteredMarg_D1_SK5
966 : use pm_kind, only: SKC => SK5
967 : #include "pm_arrayCenter@routines.inc.F90"
968 : end procedure
969 : #endif
970 :
971 : #if SK4_ENABLED
972 : module procedure setCenteredMarg_D1_SK4
973 : use pm_kind, only: SKC => SK4
974 : #include "pm_arrayCenter@routines.inc.F90"
975 : end procedure
976 : #endif
977 :
978 : #if SK3_ENABLED
979 : module procedure setCenteredMarg_D1_SK3
980 : use pm_kind, only: SKC => SK3
981 : #include "pm_arrayCenter@routines.inc.F90"
982 : end procedure
983 : #endif
984 :
985 : #if SK2_ENABLED
986 : module procedure setCenteredMarg_D1_SK2
987 : use pm_kind, only: SKC => SK2
988 : #include "pm_arrayCenter@routines.inc.F90"
989 : end procedure
990 : #endif
991 :
992 : #if SK1_ENABLED
993 32 : module procedure setCenteredMarg_D1_SK1
994 : use pm_kind, only: SKC => SK1
995 : #include "pm_arrayCenter@routines.inc.F90"
996 32 : end procedure
997 : #endif
998 :
999 : #undef SK_ENABLED
1000 :
1001 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002 :
1003 : #define IK_ENABLED 1
1004 :
1005 : #if IK5_ENABLED
1006 32 : module procedure setCenteredMarg_D1_IK5
1007 : use pm_kind, only: IKC => IK5
1008 : #include "pm_arrayCenter@routines.inc.F90"
1009 32 : end procedure
1010 : #endif
1011 :
1012 : #if IK4_ENABLED
1013 32 : module procedure setCenteredMarg_D1_IK4
1014 : use pm_kind, only: IKC => IK4
1015 : #include "pm_arrayCenter@routines.inc.F90"
1016 32 : end procedure
1017 : #endif
1018 :
1019 : #if IK3_ENABLED
1020 34 : module procedure setCenteredMarg_D1_IK3
1021 : use pm_kind, only: IKC => IK3
1022 : #include "pm_arrayCenter@routines.inc.F90"
1023 34 : end procedure
1024 : #endif
1025 :
1026 : #if IK2_ENABLED
1027 32 : module procedure setCenteredMarg_D1_IK2
1028 : use pm_kind, only: IKC => IK2
1029 : #include "pm_arrayCenter@routines.inc.F90"
1030 32 : end procedure
1031 : #endif
1032 :
1033 : #if IK1_ENABLED
1034 32 : module procedure setCenteredMarg_D1_IK1
1035 : use pm_kind, only: IKC => IK1
1036 : #include "pm_arrayCenter@routines.inc.F90"
1037 32 : end procedure
1038 : #endif
1039 :
1040 : #undef IK_ENABLED
1041 :
1042 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1043 :
1044 : #define LK_ENABLED 1
1045 :
1046 : #define setCenteredMarg_D1_LK_ENABLED 1
1047 :
1048 : #if LK5_ENABLED
1049 32 : module procedure setCenteredMarg_D1_LK5
1050 : use pm_kind, only: LKC => LK5
1051 : #include "pm_arrayCenter@routines.inc.F90"
1052 32 : end procedure
1053 : #endif
1054 :
1055 : #if LK4_ENABLED
1056 32 : module procedure setCenteredMarg_D1_LK4
1057 : use pm_kind, only: LKC => LK4
1058 : #include "pm_arrayCenter@routines.inc.F90"
1059 32 : end procedure
1060 : #endif
1061 :
1062 : #if LK3_ENABLED
1063 32 : module procedure setCenteredMarg_D1_LK3
1064 : use pm_kind, only: LKC => LK3
1065 : #include "pm_arrayCenter@routines.inc.F90"
1066 32 : end procedure
1067 : #endif
1068 :
1069 : #if LK2_ENABLED
1070 32 : module procedure setCenteredMarg_D1_LK2
1071 : use pm_kind, only: LKC => LK2
1072 : #include "pm_arrayCenter@routines.inc.F90"
1073 32 : end procedure
1074 : #endif
1075 :
1076 : #if LK1_ENABLED
1077 32 : module procedure setCenteredMarg_D1_LK1
1078 : use pm_kind, only: LKC => LK1
1079 : #include "pm_arrayCenter@routines.inc.F90"
1080 32 : end procedure
1081 : #endif
1082 :
1083 : #undef LK_ENABLED
1084 :
1085 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1086 :
1087 : #define CK_ENABLED 1
1088 :
1089 : #if CK5_ENABLED
1090 : module procedure setCenteredMarg_D1_CK5
1091 : use pm_kind, only: CKC => CK5
1092 : #include "pm_arrayCenter@routines.inc.F90"
1093 : end procedure
1094 : #endif
1095 :
1096 : #if CK4_ENABLED
1097 32 : module procedure setCenteredMarg_D1_CK4
1098 : use pm_kind, only: CKC => CK4
1099 : #include "pm_arrayCenter@routines.inc.F90"
1100 32 : end procedure
1101 : #endif
1102 :
1103 : #if CK3_ENABLED
1104 32 : module procedure setCenteredMarg_D1_CK3
1105 : use pm_kind, only: CKC => CK3
1106 : #include "pm_arrayCenter@routines.inc.F90"
1107 32 : end procedure
1108 : #endif
1109 :
1110 : #if CK2_ENABLED
1111 32 : module procedure setCenteredMarg_D1_CK2
1112 : use pm_kind, only: CKC => CK2
1113 : #include "pm_arrayCenter@routines.inc.F90"
1114 32 : end procedure
1115 : #endif
1116 :
1117 : #if CK1_ENABLED
1118 32 : module procedure setCenteredMarg_D1_CK1
1119 : use pm_kind, only: CKC => CK1
1120 : #include "pm_arrayCenter@routines.inc.F90"
1121 32 : end procedure
1122 : #endif
1123 :
1124 : #undef CK_ENABLED
1125 :
1126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1127 :
1128 : #define RK_ENABLED 1
1129 :
1130 : #if RK5_ENABLED
1131 : module procedure setCenteredMarg_D1_RK5
1132 : use pm_kind, only: RKC => RK5
1133 : #include "pm_arrayCenter@routines.inc.F90"
1134 : end procedure
1135 : #endif
1136 :
1137 : #if RK4_ENABLED
1138 32 : module procedure setCenteredMarg_D1_RK4
1139 : use pm_kind, only: RKC => RK4
1140 : #include "pm_arrayCenter@routines.inc.F90"
1141 32 : end procedure
1142 : #endif
1143 :
1144 : #if RK3_ENABLED
1145 32 : module procedure setCenteredMarg_D1_RK3
1146 : use pm_kind, only: RKC => RK3
1147 : #include "pm_arrayCenter@routines.inc.F90"
1148 32 : end procedure
1149 : #endif
1150 :
1151 : #if RK2_ENABLED
1152 32 : module procedure setCenteredMarg_D1_RK2
1153 : use pm_kind, only: RKC => RK2
1154 : #include "pm_arrayCenter@routines.inc.F90"
1155 32 : end procedure
1156 : #endif
1157 :
1158 : #if RK1_ENABLED
1159 32 : module procedure setCenteredMarg_D1_RK1
1160 : use pm_kind, only: RKC => RK1
1161 : #include "pm_arrayCenter@routines.inc.F90"
1162 32 : end procedure
1163 : #endif
1164 :
1165 : #undef RK_ENABLED
1166 :
1167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1168 :
1169 : #undef D1_ENABLED
1170 :
1171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1174 :
1175 : #undef Marg_ENABLED
1176 :
1177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1180 :
1181 : #undef setCentered_ENABLED
1182 :
1183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1184 :
1185 : #undef CHECK_ASSERTION
1186 :
1187 : end submodule routines
|