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_arrayStrip](@ref pm_arrayStrip).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, 3:48 AM, October 13, 2017, Institute for Computational Engineering and Sciences, Austin, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayStrip) 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 getStripped_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define SB_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 :
59 : #define DefCom_ENABLED 1
60 :
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64 :
65 : #define D0_D0_ENABLED 1
66 :
67 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 :
69 : #define SK_ENABLED 1
70 :
71 : #if SK5_ENABLED
72 : module procedure getStrippedDefComB_D0_D0_SK5
73 : use pm_kind, only: SKC => SK5
74 : #include "pm_arrayStrip@routines.inc.F90"
75 : end procedure
76 : #endif
77 :
78 : #if SK4_ENABLED
79 : module procedure getStrippedDefComB_D0_D0_SK4
80 : use pm_kind, only: SKC => SK4
81 : #include "pm_arrayStrip@routines.inc.F90"
82 : end procedure
83 : #endif
84 :
85 : #if SK3_ENABLED
86 : module procedure getStrippedDefComB_D0_D0_SK3
87 : use pm_kind, only: SKC => SK3
88 : #include "pm_arrayStrip@routines.inc.F90"
89 : end procedure
90 : #endif
91 :
92 : #if SK2_ENABLED
93 : module procedure getStrippedDefComB_D0_D0_SK2
94 : use pm_kind, only: SKC => SK2
95 : #include "pm_arrayStrip@routines.inc.F90"
96 : end procedure
97 : #endif
98 :
99 : #if SK1_ENABLED
100 194204 : module procedure getStrippedDefComB_D0_D0_SK1
101 : use pm_kind, only: SKC => SK1
102 : #include "pm_arrayStrip@routines.inc.F90"
103 194204 : end procedure
104 : #endif
105 :
106 : #undef SK_ENABLED
107 :
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #undef D0_D0_ENABLED
111 :
112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115 :
116 : #define D1_D0_ENABLED 1
117 :
118 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119 :
120 : #define SK_ENABLED 1
121 :
122 : #if SK5_ENABLED
123 : module procedure getStrippedDefComB_D1_D0_SK5
124 : use pm_kind, only: SKC => SK5
125 : #include "pm_arrayStrip@routines.inc.F90"
126 : end procedure
127 : #endif
128 :
129 : #if SK4_ENABLED
130 : module procedure getStrippedDefComB_D1_D0_SK4
131 : use pm_kind, only: SKC => SK4
132 : #include "pm_arrayStrip@routines.inc.F90"
133 : end procedure
134 : #endif
135 :
136 : #if SK3_ENABLED
137 : module procedure getStrippedDefComB_D1_D0_SK3
138 : use pm_kind, only: SKC => SK3
139 : #include "pm_arrayStrip@routines.inc.F90"
140 : end procedure
141 : #endif
142 :
143 : #if SK2_ENABLED
144 : module procedure getStrippedDefComB_D1_D0_SK2
145 : use pm_kind, only: SKC => SK2
146 : #include "pm_arrayStrip@routines.inc.F90"
147 : end procedure
148 : #endif
149 :
150 : #if SK1_ENABLED
151 906 : module procedure getStrippedDefComB_D1_D0_SK1
152 : use pm_kind, only: SKC => SK1
153 : #include "pm_arrayStrip@routines.inc.F90"
154 906 : end procedure
155 : #endif
156 :
157 : #undef SK_ENABLED
158 :
159 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160 :
161 : #define IK_ENABLED 1
162 :
163 : #if IK5_ENABLED
164 900 : module procedure getStrippedDefComB_D1_D0_IK5
165 : use pm_kind, only: IKC => IK5
166 : #include "pm_arrayStrip@routines.inc.F90"
167 900 : end procedure
168 : #endif
169 :
170 : #if IK4_ENABLED
171 900 : module procedure getStrippedDefComB_D1_D0_IK4
172 : use pm_kind, only: IKC => IK4
173 : #include "pm_arrayStrip@routines.inc.F90"
174 900 : end procedure
175 : #endif
176 :
177 : #if IK3_ENABLED
178 904 : module procedure getStrippedDefComB_D1_D0_IK3
179 : use pm_kind, only: IKC => IK3
180 : #include "pm_arrayStrip@routines.inc.F90"
181 904 : end procedure
182 : #endif
183 :
184 : #if IK2_ENABLED
185 900 : module procedure getStrippedDefComB_D1_D0_IK2
186 : use pm_kind, only: IKC => IK2
187 : #include "pm_arrayStrip@routines.inc.F90"
188 900 : end procedure
189 : #endif
190 :
191 : #if IK1_ENABLED
192 900 : module procedure getStrippedDefComB_D1_D0_IK1
193 : use pm_kind, only: IKC => IK1
194 : #include "pm_arrayStrip@routines.inc.F90"
195 900 : end procedure
196 : #endif
197 :
198 : #undef IK_ENABLED
199 :
200 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 :
202 : #define LK_ENABLED 1
203 :
204 : #if LK5_ENABLED
205 900 : module procedure getStrippedDefComB_D1_D0_LK5
206 : use pm_kind, only: LKC => LK5
207 : #include "pm_arrayStrip@routines.inc.F90"
208 900 : end procedure
209 : #endif
210 :
211 : #if LK4_ENABLED
212 900 : module procedure getStrippedDefComB_D1_D0_LK4
213 : use pm_kind, only: LKC => LK4
214 : #include "pm_arrayStrip@routines.inc.F90"
215 900 : end procedure
216 : #endif
217 :
218 : #if LK3_ENABLED
219 904 : module procedure getStrippedDefComB_D1_D0_LK3
220 : use pm_kind, only: LKC => LK3
221 : #include "pm_arrayStrip@routines.inc.F90"
222 904 : end procedure
223 : #endif
224 :
225 : #if LK2_ENABLED
226 900 : module procedure getStrippedDefComB_D1_D0_LK2
227 : use pm_kind, only: LKC => LK2
228 : #include "pm_arrayStrip@routines.inc.F90"
229 900 : end procedure
230 : #endif
231 :
232 : #if LK1_ENABLED
233 900 : module procedure getStrippedDefComB_D1_D0_LK1
234 : use pm_kind, only: LKC => LK1
235 : #include "pm_arrayStrip@routines.inc.F90"
236 900 : end procedure
237 : #endif
238 :
239 : #undef LK_ENABLED
240 :
241 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
242 :
243 : #define CK_ENABLED 1
244 :
245 : #if CK5_ENABLED
246 : module procedure getStrippedDefComB_D1_D0_CK5
247 : use pm_kind, only: CKC => CK5
248 : #include "pm_arrayStrip@routines.inc.F90"
249 : end procedure
250 : #endif
251 :
252 : #if CK4_ENABLED
253 900 : module procedure getStrippedDefComB_D1_D0_CK4
254 : use pm_kind, only: CKC => CK4
255 : #include "pm_arrayStrip@routines.inc.F90"
256 900 : end procedure
257 : #endif
258 :
259 : #if CK3_ENABLED
260 900 : module procedure getStrippedDefComB_D1_D0_CK3
261 : use pm_kind, only: CKC => CK3
262 : #include "pm_arrayStrip@routines.inc.F90"
263 900 : end procedure
264 : #endif
265 :
266 : #if CK2_ENABLED
267 900 : module procedure getStrippedDefComB_D1_D0_CK2
268 : use pm_kind, only: CKC => CK2
269 : #include "pm_arrayStrip@routines.inc.F90"
270 900 : end procedure
271 : #endif
272 :
273 : #if CK1_ENABLED
274 904 : module procedure getStrippedDefComB_D1_D0_CK1
275 : use pm_kind, only: CKC => CK1
276 : #include "pm_arrayStrip@routines.inc.F90"
277 904 : end procedure
278 : #endif
279 :
280 : #undef CK_ENABLED
281 :
282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 :
284 : #define RK_ENABLED 1
285 :
286 : #if RK5_ENABLED
287 : module procedure getStrippedDefComB_D1_D0_RK5
288 : use pm_kind, only: RKC => RK5
289 : #include "pm_arrayStrip@routines.inc.F90"
290 : end procedure
291 : #endif
292 :
293 : #if RK4_ENABLED
294 900 : module procedure getStrippedDefComB_D1_D0_RK4
295 : use pm_kind, only: RKC => RK4
296 : #include "pm_arrayStrip@routines.inc.F90"
297 900 : end procedure
298 : #endif
299 :
300 : #if RK3_ENABLED
301 900 : module procedure getStrippedDefComB_D1_D0_RK3
302 : use pm_kind, only: RKC => RK3
303 : #include "pm_arrayStrip@routines.inc.F90"
304 900 : end procedure
305 : #endif
306 :
307 : #if RK2_ENABLED
308 900 : module procedure getStrippedDefComB_D1_D0_RK2
309 : use pm_kind, only: RKC => RK2
310 : #include "pm_arrayStrip@routines.inc.F90"
311 900 : end procedure
312 : #endif
313 :
314 : #if RK1_ENABLED
315 902 : module procedure getStrippedDefComB_D1_D0_RK1
316 : use pm_kind, only: RKC => RK1
317 : #include "pm_arrayStrip@routines.inc.F90"
318 902 : end procedure
319 : #endif
320 :
321 : #undef RK_ENABLED
322 :
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 :
325 : #undef D1_D0_ENABLED
326 :
327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330 :
331 : #define D1_D1_ENABLED 1
332 :
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 :
335 : #define SK_ENABLED 1
336 :
337 : #if SK5_ENABLED
338 : module procedure getStrippedDefComB_D1_D1_SK5
339 : use pm_kind, only: SKC => SK5
340 : #include "pm_arrayStrip@routines.inc.F90"
341 : end procedure
342 : #endif
343 :
344 : #if SK4_ENABLED
345 : module procedure getStrippedDefComB_D1_D1_SK4
346 : use pm_kind, only: SKC => SK4
347 : #include "pm_arrayStrip@routines.inc.F90"
348 : end procedure
349 : #endif
350 :
351 : #if SK3_ENABLED
352 : module procedure getStrippedDefComB_D1_D1_SK3
353 : use pm_kind, only: SKC => SK3
354 : #include "pm_arrayStrip@routines.inc.F90"
355 : end procedure
356 : #endif
357 :
358 : #if SK2_ENABLED
359 : module procedure getStrippedDefComB_D1_D1_SK2
360 : use pm_kind, only: SKC => SK2
361 : #include "pm_arrayStrip@routines.inc.F90"
362 : end procedure
363 : #endif
364 :
365 : #if SK1_ENABLED
366 912 : module procedure getStrippedDefComB_D1_D1_SK1
367 : use pm_kind, only: SKC => SK1
368 : #include "pm_arrayStrip@routines.inc.F90"
369 912 : end procedure
370 : #endif
371 :
372 : #undef SK_ENABLED
373 :
374 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
375 :
376 : #define IK_ENABLED 1
377 :
378 : #if IK5_ENABLED
379 900 : module procedure getStrippedDefComB_D1_D1_IK5
380 : use pm_kind, only: IKC => IK5
381 : #include "pm_arrayStrip@routines.inc.F90"
382 900 : end procedure
383 : #endif
384 :
385 : #if IK4_ENABLED
386 900 : module procedure getStrippedDefComB_D1_D1_IK4
387 : use pm_kind, only: IKC => IK4
388 : #include "pm_arrayStrip@routines.inc.F90"
389 900 : end procedure
390 : #endif
391 :
392 : #if IK3_ENABLED
393 913 : module procedure getStrippedDefComB_D1_D1_IK3
394 : use pm_kind, only: IKC => IK3
395 : #include "pm_arrayStrip@routines.inc.F90"
396 913 : end procedure
397 : #endif
398 :
399 : #if IK2_ENABLED
400 900 : module procedure getStrippedDefComB_D1_D1_IK2
401 : use pm_kind, only: IKC => IK2
402 : #include "pm_arrayStrip@routines.inc.F90"
403 900 : end procedure
404 : #endif
405 :
406 : #if IK1_ENABLED
407 900 : module procedure getStrippedDefComB_D1_D1_IK1
408 : use pm_kind, only: IKC => IK1
409 : #include "pm_arrayStrip@routines.inc.F90"
410 900 : end procedure
411 : #endif
412 :
413 : #undef IK_ENABLED
414 :
415 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416 :
417 : #define LK_ENABLED 1
418 :
419 : #if LK5_ENABLED
420 900 : module procedure getStrippedDefComB_D1_D1_LK5
421 : use pm_kind, only: LKC => LK5
422 : #include "pm_arrayStrip@routines.inc.F90"
423 900 : end procedure
424 : #endif
425 :
426 : #if LK4_ENABLED
427 900 : module procedure getStrippedDefComB_D1_D1_LK4
428 : use pm_kind, only: LKC => LK4
429 : #include "pm_arrayStrip@routines.inc.F90"
430 900 : end procedure
431 : #endif
432 :
433 : #if LK3_ENABLED
434 914 : module procedure getStrippedDefComB_D1_D1_LK3
435 : use pm_kind, only: LKC => LK3
436 : #include "pm_arrayStrip@routines.inc.F90"
437 914 : end procedure
438 : #endif
439 :
440 : #if LK2_ENABLED
441 900 : module procedure getStrippedDefComB_D1_D1_LK2
442 : use pm_kind, only: LKC => LK2
443 : #include "pm_arrayStrip@routines.inc.F90"
444 900 : end procedure
445 : #endif
446 :
447 : #if LK1_ENABLED
448 900 : module procedure getStrippedDefComB_D1_D1_LK1
449 : use pm_kind, only: LKC => LK1
450 : #include "pm_arrayStrip@routines.inc.F90"
451 900 : end procedure
452 : #endif
453 :
454 : #undef LK_ENABLED
455 :
456 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
457 :
458 : #define CK_ENABLED 1
459 :
460 : #if CK5_ENABLED
461 : module procedure getStrippedDefComB_D1_D1_CK5
462 : use pm_kind, only: CKC => CK5
463 : #include "pm_arrayStrip@routines.inc.F90"
464 : end procedure
465 : #endif
466 :
467 : #if CK4_ENABLED
468 900 : module procedure getStrippedDefComB_D1_D1_CK4
469 : use pm_kind, only: CKC => CK4
470 : #include "pm_arrayStrip@routines.inc.F90"
471 900 : end procedure
472 : #endif
473 :
474 : #if CK3_ENABLED
475 900 : module procedure getStrippedDefComB_D1_D1_CK3
476 : use pm_kind, only: CKC => CK3
477 : #include "pm_arrayStrip@routines.inc.F90"
478 900 : end procedure
479 : #endif
480 :
481 : #if CK2_ENABLED
482 900 : module procedure getStrippedDefComB_D1_D1_CK2
483 : use pm_kind, only: CKC => CK2
484 : #include "pm_arrayStrip@routines.inc.F90"
485 900 : end procedure
486 : #endif
487 :
488 : #if CK1_ENABLED
489 914 : module procedure getStrippedDefComB_D1_D1_CK1
490 : use pm_kind, only: CKC => CK1
491 : #include "pm_arrayStrip@routines.inc.F90"
492 914 : end procedure
493 : #endif
494 :
495 : #undef CK_ENABLED
496 :
497 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
498 :
499 : #define RK_ENABLED 1
500 :
501 : #if RK5_ENABLED
502 : module procedure getStrippedDefComB_D1_D1_RK5
503 : use pm_kind, only: RKC => RK5
504 : #include "pm_arrayStrip@routines.inc.F90"
505 : end procedure
506 : #endif
507 :
508 : #if RK4_ENABLED
509 900 : module procedure getStrippedDefComB_D1_D1_RK4
510 : use pm_kind, only: RKC => RK4
511 : #include "pm_arrayStrip@routines.inc.F90"
512 900 : end procedure
513 : #endif
514 :
515 : #if RK3_ENABLED
516 900 : module procedure getStrippedDefComB_D1_D1_RK3
517 : use pm_kind, only: RKC => RK3
518 : #include "pm_arrayStrip@routines.inc.F90"
519 900 : end procedure
520 : #endif
521 :
522 : #if RK2_ENABLED
523 900 : module procedure getStrippedDefComB_D1_D1_RK2
524 : use pm_kind, only: RKC => RK2
525 : #include "pm_arrayStrip@routines.inc.F90"
526 900 : end procedure
527 : #endif
528 :
529 : #if RK1_ENABLED
530 914 : module procedure getStrippedDefComB_D1_D1_RK1
531 : use pm_kind, only: RKC => RK1
532 : #include "pm_arrayStrip@routines.inc.F90"
533 914 : end procedure
534 : #endif
535 :
536 : #undef RK_ENABLED
537 :
538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539 :
540 : #undef D1_D1_ENABLED
541 :
542 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 :
546 : #undef DefCom_ENABLED
547 :
548 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 :
552 : #define CusCom_ENABLED 1
553 :
554 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
555 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557 :
558 : #define D0_D0_ENABLED 1
559 :
560 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561 :
562 : #define SK_ENABLED 1
563 :
564 : #if SK5_ENABLED
565 : module procedure getStrippedCusComLR_D0_D0_SK5
566 : use pm_kind, only: SKC => SK5
567 : #include "pm_arrayStrip@routines.inc.F90"
568 : end procedure
569 : #endif
570 :
571 : #if SK4_ENABLED
572 : module procedure getStrippedCusComLR_D0_D0_SK4
573 : use pm_kind, only: SKC => SK4
574 : #include "pm_arrayStrip@routines.inc.F90"
575 : end procedure
576 : #endif
577 :
578 : #if SK3_ENABLED
579 : module procedure getStrippedCusComLR_D0_D0_SK3
580 : use pm_kind, only: SKC => SK3
581 : #include "pm_arrayStrip@routines.inc.F90"
582 : end procedure
583 : #endif
584 :
585 : #if SK2_ENABLED
586 : module procedure getStrippedCusComLR_D0_D0_SK2
587 : use pm_kind, only: SKC => SK2
588 : #include "pm_arrayStrip@routines.inc.F90"
589 : end procedure
590 : #endif
591 :
592 : #if SK1_ENABLED
593 301 : module procedure getStrippedCusComLR_D0_D0_SK1
594 : use pm_kind, only: SKC => SK1
595 : #include "pm_arrayStrip@routines.inc.F90"
596 301 : end procedure
597 : #endif
598 :
599 : #undef SK_ENABLED
600 :
601 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
602 :
603 : #undef D0_D0_ENABLED
604 :
605 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
606 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608 :
609 : #define D1_D0_ENABLED 1
610 :
611 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
612 :
613 : #define SK_ENABLED 1
614 :
615 : #if SK5_ENABLED
616 : module procedure getStrippedCusComLR_D1_D0_SK5
617 : use pm_kind, only: SKC => SK5
618 : #include "pm_arrayStrip@routines.inc.F90"
619 : end procedure
620 : #endif
621 :
622 : #if SK4_ENABLED
623 : module procedure getStrippedCusComLR_D1_D0_SK4
624 : use pm_kind, only: SKC => SK4
625 : #include "pm_arrayStrip@routines.inc.F90"
626 : end procedure
627 : #endif
628 :
629 : #if SK3_ENABLED
630 : module procedure getStrippedCusComLR_D1_D0_SK3
631 : use pm_kind, only: SKC => SK3
632 : #include "pm_arrayStrip@routines.inc.F90"
633 : end procedure
634 : #endif
635 :
636 : #if SK2_ENABLED
637 : module procedure getStrippedCusComLR_D1_D0_SK2
638 : use pm_kind, only: SKC => SK2
639 : #include "pm_arrayStrip@routines.inc.F90"
640 : end procedure
641 : #endif
642 :
643 : #if SK1_ENABLED
644 302 : module procedure getStrippedCusComLR_D1_D0_SK1
645 : use pm_kind, only: SKC => SK1
646 : #include "pm_arrayStrip@routines.inc.F90"
647 302 : end procedure
648 : #endif
649 :
650 : #undef SK_ENABLED
651 :
652 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
653 :
654 : #define IK_ENABLED 1
655 :
656 : #if IK5_ENABLED
657 300 : module procedure getStrippedCusComLR_D1_D0_IK5
658 : use pm_kind, only: IKC => IK5
659 : #include "pm_arrayStrip@routines.inc.F90"
660 300 : end procedure
661 : #endif
662 :
663 : #if IK4_ENABLED
664 300 : module procedure getStrippedCusComLR_D1_D0_IK4
665 : use pm_kind, only: IKC => IK4
666 : #include "pm_arrayStrip@routines.inc.F90"
667 300 : end procedure
668 : #endif
669 :
670 : #if IK3_ENABLED
671 302 : module procedure getStrippedCusComLR_D1_D0_IK3
672 : use pm_kind, only: IKC => IK3
673 : #include "pm_arrayStrip@routines.inc.F90"
674 302 : end procedure
675 : #endif
676 :
677 : #if IK2_ENABLED
678 300 : module procedure getStrippedCusComLR_D1_D0_IK2
679 : use pm_kind, only: IKC => IK2
680 : #include "pm_arrayStrip@routines.inc.F90"
681 300 : end procedure
682 : #endif
683 :
684 : #if IK1_ENABLED
685 300 : module procedure getStrippedCusComLR_D1_D0_IK1
686 : use pm_kind, only: IKC => IK1
687 : #include "pm_arrayStrip@routines.inc.F90"
688 300 : end procedure
689 : #endif
690 :
691 : #undef IK_ENABLED
692 :
693 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
694 :
695 : #define LK_ENABLED 1
696 :
697 : #if LK5_ENABLED
698 300 : module procedure getStrippedCusComLR_D1_D0_LK5
699 : use pm_kind, only: LKC => LK5
700 : #include "pm_arrayStrip@routines.inc.F90"
701 300 : end procedure
702 : #endif
703 :
704 : #if LK4_ENABLED
705 300 : module procedure getStrippedCusComLR_D1_D0_LK4
706 : use pm_kind, only: LKC => LK4
707 : #include "pm_arrayStrip@routines.inc.F90"
708 300 : end procedure
709 : #endif
710 :
711 : #if LK3_ENABLED
712 302 : module procedure getStrippedCusComLR_D1_D0_LK3
713 : use pm_kind, only: LKC => LK3
714 : #include "pm_arrayStrip@routines.inc.F90"
715 302 : end procedure
716 : #endif
717 :
718 : #if LK2_ENABLED
719 300 : module procedure getStrippedCusComLR_D1_D0_LK2
720 : use pm_kind, only: LKC => LK2
721 : #include "pm_arrayStrip@routines.inc.F90"
722 300 : end procedure
723 : #endif
724 :
725 : #if LK1_ENABLED
726 300 : module procedure getStrippedCusComLR_D1_D0_LK1
727 : use pm_kind, only: LKC => LK1
728 : #include "pm_arrayStrip@routines.inc.F90"
729 300 : end procedure
730 : #endif
731 :
732 : #undef LK_ENABLED
733 :
734 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735 :
736 : #define CK_ENABLED 1
737 :
738 : #if CK5_ENABLED
739 : module procedure getStrippedCusComLR_D1_D0_CK5
740 : use pm_kind, only: CKC => CK5
741 : #include "pm_arrayStrip@routines.inc.F90"
742 : end procedure
743 : #endif
744 :
745 : #if CK4_ENABLED
746 300 : module procedure getStrippedCusComLR_D1_D0_CK4
747 : use pm_kind, only: CKC => CK4
748 : #include "pm_arrayStrip@routines.inc.F90"
749 300 : end procedure
750 : #endif
751 :
752 : #if CK3_ENABLED
753 300 : module procedure getStrippedCusComLR_D1_D0_CK3
754 : use pm_kind, only: CKC => CK3
755 : #include "pm_arrayStrip@routines.inc.F90"
756 300 : end procedure
757 : #endif
758 :
759 : #if CK2_ENABLED
760 300 : module procedure getStrippedCusComLR_D1_D0_CK2
761 : use pm_kind, only: CKC => CK2
762 : #include "pm_arrayStrip@routines.inc.F90"
763 300 : end procedure
764 : #endif
765 :
766 : #if CK1_ENABLED
767 302 : module procedure getStrippedCusComLR_D1_D0_CK1
768 : use pm_kind, only: CKC => CK1
769 : #include "pm_arrayStrip@routines.inc.F90"
770 302 : end procedure
771 : #endif
772 :
773 : #undef CK_ENABLED
774 :
775 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
776 :
777 : #define RK_ENABLED 1
778 :
779 : #if RK5_ENABLED
780 : module procedure getStrippedCusComLR_D1_D0_RK5
781 : use pm_kind, only: RKC => RK5
782 : #include "pm_arrayStrip@routines.inc.F90"
783 : end procedure
784 : #endif
785 :
786 : #if RK4_ENABLED
787 300 : module procedure getStrippedCusComLR_D1_D0_RK4
788 : use pm_kind, only: RKC => RK4
789 : #include "pm_arrayStrip@routines.inc.F90"
790 300 : end procedure
791 : #endif
792 :
793 : #if RK3_ENABLED
794 300 : module procedure getStrippedCusComLR_D1_D0_RK3
795 : use pm_kind, only: RKC => RK3
796 : #include "pm_arrayStrip@routines.inc.F90"
797 300 : end procedure
798 : #endif
799 :
800 : #if RK2_ENABLED
801 300 : module procedure getStrippedCusComLR_D1_D0_RK2
802 : use pm_kind, only: RKC => RK2
803 : #include "pm_arrayStrip@routines.inc.F90"
804 300 : end procedure
805 : #endif
806 :
807 : #if RK1_ENABLED
808 301 : module procedure getStrippedCusComLR_D1_D0_RK1
809 : use pm_kind, only: RKC => RK1
810 : #include "pm_arrayStrip@routines.inc.F90"
811 301 : end procedure
812 : #endif
813 :
814 : #undef RK_ENABLED
815 :
816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
817 :
818 : #undef D1_D0_ENABLED
819 :
820 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
821 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
822 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
823 :
824 : #define D1_D1_ENABLED 1
825 :
826 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
827 :
828 : #define SK_ENABLED 1
829 :
830 : #if SK5_ENABLED
831 : module procedure getStrippedCusComLR_D1_D1_SK5
832 : use pm_kind, only: SKC => SK5
833 : #include "pm_arrayStrip@routines.inc.F90"
834 : end procedure
835 : #endif
836 :
837 : #if SK4_ENABLED
838 : module procedure getStrippedCusComLR_D1_D1_SK4
839 : use pm_kind, only: SKC => SK4
840 : #include "pm_arrayStrip@routines.inc.F90"
841 : end procedure
842 : #endif
843 :
844 : #if SK3_ENABLED
845 : module procedure getStrippedCusComLR_D1_D1_SK3
846 : use pm_kind, only: SKC => SK3
847 : #include "pm_arrayStrip@routines.inc.F90"
848 : end procedure
849 : #endif
850 :
851 : #if SK2_ENABLED
852 : module procedure getStrippedCusComLR_D1_D1_SK2
853 : use pm_kind, only: SKC => SK2
854 : #include "pm_arrayStrip@routines.inc.F90"
855 : end procedure
856 : #endif
857 :
858 : #if SK1_ENABLED
859 302 : module procedure getStrippedCusComLR_D1_D1_SK1
860 : use pm_kind, only: SKC => SK1
861 : #include "pm_arrayStrip@routines.inc.F90"
862 302 : end procedure
863 : #endif
864 :
865 : #undef SK_ENABLED
866 :
867 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
868 :
869 : #define IK_ENABLED 1
870 :
871 : #if IK5_ENABLED
872 300 : module procedure getStrippedCusComLR_D1_D1_IK5
873 : use pm_kind, only: IKC => IK5
874 : #include "pm_arrayStrip@routines.inc.F90"
875 300 : end procedure
876 : #endif
877 :
878 : #if IK4_ENABLED
879 300 : module procedure getStrippedCusComLR_D1_D1_IK4
880 : use pm_kind, only: IKC => IK4
881 : #include "pm_arrayStrip@routines.inc.F90"
882 300 : end procedure
883 : #endif
884 :
885 : #if IK3_ENABLED
886 302 : module procedure getStrippedCusComLR_D1_D1_IK3
887 : use pm_kind, only: IKC => IK3
888 : #include "pm_arrayStrip@routines.inc.F90"
889 302 : end procedure
890 : #endif
891 :
892 : #if IK2_ENABLED
893 300 : module procedure getStrippedCusComLR_D1_D1_IK2
894 : use pm_kind, only: IKC => IK2
895 : #include "pm_arrayStrip@routines.inc.F90"
896 300 : end procedure
897 : #endif
898 :
899 : #if IK1_ENABLED
900 300 : module procedure getStrippedCusComLR_D1_D1_IK1
901 : use pm_kind, only: IKC => IK1
902 : #include "pm_arrayStrip@routines.inc.F90"
903 300 : end procedure
904 : #endif
905 :
906 : #undef IK_ENABLED
907 :
908 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
909 :
910 : #define LK_ENABLED 1
911 :
912 : #if LK5_ENABLED
913 300 : module procedure getStrippedCusComLR_D1_D1_LK5
914 : use pm_kind, only: LKC => LK5
915 : #include "pm_arrayStrip@routines.inc.F90"
916 300 : end procedure
917 : #endif
918 :
919 : #if LK4_ENABLED
920 300 : module procedure getStrippedCusComLR_D1_D1_LK4
921 : use pm_kind, only: LKC => LK4
922 : #include "pm_arrayStrip@routines.inc.F90"
923 300 : end procedure
924 : #endif
925 :
926 : #if LK3_ENABLED
927 302 : module procedure getStrippedCusComLR_D1_D1_LK3
928 : use pm_kind, only: LKC => LK3
929 : #include "pm_arrayStrip@routines.inc.F90"
930 302 : end procedure
931 : #endif
932 :
933 : #if LK2_ENABLED
934 300 : module procedure getStrippedCusComLR_D1_D1_LK2
935 : use pm_kind, only: LKC => LK2
936 : #include "pm_arrayStrip@routines.inc.F90"
937 300 : end procedure
938 : #endif
939 :
940 : #if LK1_ENABLED
941 300 : module procedure getStrippedCusComLR_D1_D1_LK1
942 : use pm_kind, only: LKC => LK1
943 : #include "pm_arrayStrip@routines.inc.F90"
944 300 : end procedure
945 : #endif
946 :
947 : #undef LK_ENABLED
948 :
949 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
950 :
951 : #define CK_ENABLED 1
952 :
953 : #if CK5_ENABLED
954 : module procedure getStrippedCusComLR_D1_D1_CK5
955 : use pm_kind, only: CKC => CK5
956 : #include "pm_arrayStrip@routines.inc.F90"
957 : end procedure
958 : #endif
959 :
960 : #if CK4_ENABLED
961 300 : module procedure getStrippedCusComLR_D1_D1_CK4
962 : use pm_kind, only: CKC => CK4
963 : #include "pm_arrayStrip@routines.inc.F90"
964 300 : end procedure
965 : #endif
966 :
967 : #if CK3_ENABLED
968 300 : module procedure getStrippedCusComLR_D1_D1_CK3
969 : use pm_kind, only: CKC => CK3
970 : #include "pm_arrayStrip@routines.inc.F90"
971 300 : end procedure
972 : #endif
973 :
974 : #if CK2_ENABLED
975 300 : module procedure getStrippedCusComLR_D1_D1_CK2
976 : use pm_kind, only: CKC => CK2
977 : #include "pm_arrayStrip@routines.inc.F90"
978 300 : end procedure
979 : #endif
980 :
981 : #if CK1_ENABLED
982 302 : module procedure getStrippedCusComLR_D1_D1_CK1
983 : use pm_kind, only: CKC => CK1
984 : #include "pm_arrayStrip@routines.inc.F90"
985 302 : end procedure
986 : #endif
987 :
988 : #undef CK_ENABLED
989 :
990 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
991 :
992 : #define RK_ENABLED 1
993 :
994 : #if RK5_ENABLED
995 : module procedure getStrippedCusComLR_D1_D1_RK5
996 : use pm_kind, only: RKC => RK5
997 : #include "pm_arrayStrip@routines.inc.F90"
998 : end procedure
999 : #endif
1000 :
1001 : #if RK4_ENABLED
1002 300 : module procedure getStrippedCusComLR_D1_D1_RK4
1003 : use pm_kind, only: RKC => RK4
1004 : #include "pm_arrayStrip@routines.inc.F90"
1005 300 : end procedure
1006 : #endif
1007 :
1008 : #if RK3_ENABLED
1009 300 : module procedure getStrippedCusComLR_D1_D1_RK3
1010 : use pm_kind, only: RKC => RK3
1011 : #include "pm_arrayStrip@routines.inc.F90"
1012 300 : end procedure
1013 : #endif
1014 :
1015 : #if RK2_ENABLED
1016 300 : module procedure getStrippedCusComLR_D1_D1_RK2
1017 : use pm_kind, only: RKC => RK2
1018 : #include "pm_arrayStrip@routines.inc.F90"
1019 300 : end procedure
1020 : #endif
1021 :
1022 : #if RK1_ENABLED
1023 302 : module procedure getStrippedCusComLR_D1_D1_RK1
1024 : use pm_kind, only: RKC => RK1
1025 : #include "pm_arrayStrip@routines.inc.F90"
1026 302 : end procedure
1027 : #endif
1028 :
1029 : #undef RK_ENABLED
1030 :
1031 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1032 :
1033 : #undef D1_D1_ENABLED
1034 :
1035 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1036 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038 :
1039 : #undef CusCom_ENABLED
1040 :
1041 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1042 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1044 :
1045 : #undef SB_ENABLED
1046 :
1047 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1048 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1050 :
1051 : #undef getStripped_ENABLED
1052 :
1053 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1054 :
1055 : #define getStripped_ENABLED 1
1056 :
1057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1058 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1059 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1060 :
1061 : #define SL_ENABLED 1
1062 :
1063 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1064 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1066 :
1067 : #define DefCom_ENABLED 1
1068 :
1069 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1070 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1072 :
1073 : #define D0_D0_ENABLED 1
1074 :
1075 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1076 :
1077 : #define SK_ENABLED 1
1078 :
1079 : #if SK5_ENABLED
1080 : module procedure getStrippedDefComSL_D0_D0_SK5
1081 : use pm_kind, only: SKC => SK5
1082 : #include "pm_arrayStrip@routines.inc.F90"
1083 : end procedure
1084 : #endif
1085 :
1086 : #if SK4_ENABLED
1087 : module procedure getStrippedDefComSL_D0_D0_SK4
1088 : use pm_kind, only: SKC => SK4
1089 : #include "pm_arrayStrip@routines.inc.F90"
1090 : end procedure
1091 : #endif
1092 :
1093 : #if SK3_ENABLED
1094 : module procedure getStrippedDefComSL_D0_D0_SK3
1095 : use pm_kind, only: SKC => SK3
1096 : #include "pm_arrayStrip@routines.inc.F90"
1097 : end procedure
1098 : #endif
1099 :
1100 : #if SK2_ENABLED
1101 : module procedure getStrippedDefComSL_D0_D0_SK2
1102 : use pm_kind, only: SKC => SK2
1103 : #include "pm_arrayStrip@routines.inc.F90"
1104 : end procedure
1105 : #endif
1106 :
1107 : #if SK1_ENABLED
1108 306 : module procedure getStrippedDefComSL_D0_D0_SK1
1109 : use pm_kind, only: SKC => SK1
1110 : #include "pm_arrayStrip@routines.inc.F90"
1111 306 : end procedure
1112 : #endif
1113 :
1114 : #undef SK_ENABLED
1115 :
1116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1117 :
1118 : #undef D0_D0_ENABLED
1119 :
1120 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1121 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1122 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1123 :
1124 : #define D1_D0_ENABLED 1
1125 :
1126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1127 :
1128 : #define SK_ENABLED 1
1129 :
1130 : #if SK5_ENABLED
1131 : module procedure getStrippedDefComSL_D1_D0_SK5
1132 : use pm_kind, only: SKC => SK5
1133 : #include "pm_arrayStrip@routines.inc.F90"
1134 : end procedure
1135 : #endif
1136 :
1137 : #if SK4_ENABLED
1138 : module procedure getStrippedDefComSL_D1_D0_SK4
1139 : use pm_kind, only: SKC => SK4
1140 : #include "pm_arrayStrip@routines.inc.F90"
1141 : end procedure
1142 : #endif
1143 :
1144 : #if SK3_ENABLED
1145 : module procedure getStrippedDefComSL_D1_D0_SK3
1146 : use pm_kind, only: SKC => SK3
1147 : #include "pm_arrayStrip@routines.inc.F90"
1148 : end procedure
1149 : #endif
1150 :
1151 : #if SK2_ENABLED
1152 : module procedure getStrippedDefComSL_D1_D0_SK2
1153 : use pm_kind, only: SKC => SK2
1154 : #include "pm_arrayStrip@routines.inc.F90"
1155 : end procedure
1156 : #endif
1157 :
1158 : #if SK1_ENABLED
1159 303 : module procedure getStrippedDefComSL_D1_D0_SK1
1160 : use pm_kind, only: SKC => SK1
1161 : #include "pm_arrayStrip@routines.inc.F90"
1162 303 : end procedure
1163 : #endif
1164 :
1165 : #undef SK_ENABLED
1166 :
1167 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1168 :
1169 : #define IK_ENABLED 1
1170 :
1171 : #if IK5_ENABLED
1172 300 : module procedure getStrippedDefComSL_D1_D0_IK5
1173 : use pm_kind, only: IKC => IK5
1174 : #include "pm_arrayStrip@routines.inc.F90"
1175 300 : end procedure
1176 : #endif
1177 :
1178 : #if IK4_ENABLED
1179 300 : module procedure getStrippedDefComSL_D1_D0_IK4
1180 : use pm_kind, only: IKC => IK4
1181 : #include "pm_arrayStrip@routines.inc.F90"
1182 300 : end procedure
1183 : #endif
1184 :
1185 : #if IK3_ENABLED
1186 302 : module procedure getStrippedDefComSL_D1_D0_IK3
1187 : use pm_kind, only: IKC => IK3
1188 : #include "pm_arrayStrip@routines.inc.F90"
1189 302 : end procedure
1190 : #endif
1191 :
1192 : #if IK2_ENABLED
1193 300 : module procedure getStrippedDefComSL_D1_D0_IK2
1194 : use pm_kind, only: IKC => IK2
1195 : #include "pm_arrayStrip@routines.inc.F90"
1196 300 : end procedure
1197 : #endif
1198 :
1199 : #if IK1_ENABLED
1200 300 : module procedure getStrippedDefComSL_D1_D0_IK1
1201 : use pm_kind, only: IKC => IK1
1202 : #include "pm_arrayStrip@routines.inc.F90"
1203 300 : end procedure
1204 : #endif
1205 :
1206 : #undef IK_ENABLED
1207 :
1208 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1209 :
1210 : #define LK_ENABLED 1
1211 :
1212 : #if LK5_ENABLED
1213 300 : module procedure getStrippedDefComSL_D1_D0_LK5
1214 : use pm_kind, only: LKC => LK5
1215 : #include "pm_arrayStrip@routines.inc.F90"
1216 300 : end procedure
1217 : #endif
1218 :
1219 : #if LK4_ENABLED
1220 300 : module procedure getStrippedDefComSL_D1_D0_LK4
1221 : use pm_kind, only: LKC => LK4
1222 : #include "pm_arrayStrip@routines.inc.F90"
1223 300 : end procedure
1224 : #endif
1225 :
1226 : #if LK3_ENABLED
1227 302 : module procedure getStrippedDefComSL_D1_D0_LK3
1228 : use pm_kind, only: LKC => LK3
1229 : #include "pm_arrayStrip@routines.inc.F90"
1230 302 : end procedure
1231 : #endif
1232 :
1233 : #if LK2_ENABLED
1234 300 : module procedure getStrippedDefComSL_D1_D0_LK2
1235 : use pm_kind, only: LKC => LK2
1236 : #include "pm_arrayStrip@routines.inc.F90"
1237 300 : end procedure
1238 : #endif
1239 :
1240 : #if LK1_ENABLED
1241 300 : module procedure getStrippedDefComSL_D1_D0_LK1
1242 : use pm_kind, only: LKC => LK1
1243 : #include "pm_arrayStrip@routines.inc.F90"
1244 300 : end procedure
1245 : #endif
1246 :
1247 : #undef LK_ENABLED
1248 :
1249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1250 :
1251 : #define CK_ENABLED 1
1252 :
1253 : #if CK5_ENABLED
1254 : module procedure getStrippedDefComSL_D1_D0_CK5
1255 : use pm_kind, only: CKC => CK5
1256 : #include "pm_arrayStrip@routines.inc.F90"
1257 : end procedure
1258 : #endif
1259 :
1260 : #if CK4_ENABLED
1261 300 : module procedure getStrippedDefComSL_D1_D0_CK4
1262 : use pm_kind, only: CKC => CK4
1263 : #include "pm_arrayStrip@routines.inc.F90"
1264 300 : end procedure
1265 : #endif
1266 :
1267 : #if CK3_ENABLED
1268 300 : module procedure getStrippedDefComSL_D1_D0_CK3
1269 : use pm_kind, only: CKC => CK3
1270 : #include "pm_arrayStrip@routines.inc.F90"
1271 300 : end procedure
1272 : #endif
1273 :
1274 : #if CK2_ENABLED
1275 300 : module procedure getStrippedDefComSL_D1_D0_CK2
1276 : use pm_kind, only: CKC => CK2
1277 : #include "pm_arrayStrip@routines.inc.F90"
1278 300 : end procedure
1279 : #endif
1280 :
1281 : #if CK1_ENABLED
1282 302 : module procedure getStrippedDefComSL_D1_D0_CK1
1283 : use pm_kind, only: CKC => CK1
1284 : #include "pm_arrayStrip@routines.inc.F90"
1285 302 : end procedure
1286 : #endif
1287 :
1288 : #undef CK_ENABLED
1289 :
1290 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1291 :
1292 : #define RK_ENABLED 1
1293 :
1294 : #if RK5_ENABLED
1295 : module procedure getStrippedDefComSL_D1_D0_RK5
1296 : use pm_kind, only: RKC => RK5
1297 : #include "pm_arrayStrip@routines.inc.F90"
1298 : end procedure
1299 : #endif
1300 :
1301 : #if RK4_ENABLED
1302 300 : module procedure getStrippedDefComSL_D1_D0_RK4
1303 : use pm_kind, only: RKC => RK4
1304 : #include "pm_arrayStrip@routines.inc.F90"
1305 300 : end procedure
1306 : #endif
1307 :
1308 : #if RK3_ENABLED
1309 300 : module procedure getStrippedDefComSL_D1_D0_RK3
1310 : use pm_kind, only: RKC => RK3
1311 : #include "pm_arrayStrip@routines.inc.F90"
1312 300 : end procedure
1313 : #endif
1314 :
1315 : #if RK2_ENABLED
1316 300 : module procedure getStrippedDefComSL_D1_D0_RK2
1317 : use pm_kind, only: RKC => RK2
1318 : #include "pm_arrayStrip@routines.inc.F90"
1319 300 : end procedure
1320 : #endif
1321 :
1322 : #if RK1_ENABLED
1323 301 : module procedure getStrippedDefComSL_D1_D0_RK1
1324 : use pm_kind, only: RKC => RK1
1325 : #include "pm_arrayStrip@routines.inc.F90"
1326 301 : end procedure
1327 : #endif
1328 :
1329 : #undef RK_ENABLED
1330 :
1331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1332 :
1333 : #undef D1_D0_ENABLED
1334 :
1335 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1336 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1338 :
1339 : #define D1_D1_ENABLED 1
1340 :
1341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1342 :
1343 : #define SK_ENABLED 1
1344 :
1345 : #if SK5_ENABLED
1346 : module procedure getStrippedDefComSL_D1_D1_SK5
1347 : use pm_kind, only: SKC => SK5
1348 : #include "pm_arrayStrip@routines.inc.F90"
1349 : end procedure
1350 : #endif
1351 :
1352 : #if SK4_ENABLED
1353 : module procedure getStrippedDefComSL_D1_D1_SK4
1354 : use pm_kind, only: SKC => SK4
1355 : #include "pm_arrayStrip@routines.inc.F90"
1356 : end procedure
1357 : #endif
1358 :
1359 : #if SK3_ENABLED
1360 : module procedure getStrippedDefComSL_D1_D1_SK3
1361 : use pm_kind, only: SKC => SK3
1362 : #include "pm_arrayStrip@routines.inc.F90"
1363 : end procedure
1364 : #endif
1365 :
1366 : #if SK2_ENABLED
1367 : module procedure getStrippedDefComSL_D1_D1_SK2
1368 : use pm_kind, only: SKC => SK2
1369 : #include "pm_arrayStrip@routines.inc.F90"
1370 : end procedure
1371 : #endif
1372 :
1373 : #if SK1_ENABLED
1374 306 : module procedure getStrippedDefComSL_D1_D1_SK1
1375 : use pm_kind, only: SKC => SK1
1376 : #include "pm_arrayStrip@routines.inc.F90"
1377 306 : end procedure
1378 : #endif
1379 :
1380 : #undef SK_ENABLED
1381 :
1382 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1383 :
1384 : #define IK_ENABLED 1
1385 :
1386 : #if IK5_ENABLED
1387 300 : module procedure getStrippedDefComSL_D1_D1_IK5
1388 : use pm_kind, only: IKC => IK5
1389 : #include "pm_arrayStrip@routines.inc.F90"
1390 300 : end procedure
1391 : #endif
1392 :
1393 : #if IK4_ENABLED
1394 300 : module procedure getStrippedDefComSL_D1_D1_IK4
1395 : use pm_kind, only: IKC => IK4
1396 : #include "pm_arrayStrip@routines.inc.F90"
1397 300 : end procedure
1398 : #endif
1399 :
1400 : #if IK3_ENABLED
1401 306 : module procedure getStrippedDefComSL_D1_D1_IK3
1402 : use pm_kind, only: IKC => IK3
1403 : #include "pm_arrayStrip@routines.inc.F90"
1404 306 : end procedure
1405 : #endif
1406 :
1407 : #if IK2_ENABLED
1408 300 : module procedure getStrippedDefComSL_D1_D1_IK2
1409 : use pm_kind, only: IKC => IK2
1410 : #include "pm_arrayStrip@routines.inc.F90"
1411 300 : end procedure
1412 : #endif
1413 :
1414 : #if IK1_ENABLED
1415 300 : module procedure getStrippedDefComSL_D1_D1_IK1
1416 : use pm_kind, only: IKC => IK1
1417 : #include "pm_arrayStrip@routines.inc.F90"
1418 300 : end procedure
1419 : #endif
1420 :
1421 : #undef IK_ENABLED
1422 :
1423 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1424 :
1425 : #define LK_ENABLED 1
1426 :
1427 : #if LK5_ENABLED
1428 300 : module procedure getStrippedDefComSL_D1_D1_LK5
1429 : use pm_kind, only: LKC => LK5
1430 : #include "pm_arrayStrip@routines.inc.F90"
1431 300 : end procedure
1432 : #endif
1433 :
1434 : #if LK4_ENABLED
1435 300 : module procedure getStrippedDefComSL_D1_D1_LK4
1436 : use pm_kind, only: LKC => LK4
1437 : #include "pm_arrayStrip@routines.inc.F90"
1438 300 : end procedure
1439 : #endif
1440 :
1441 : #if LK3_ENABLED
1442 307 : module procedure getStrippedDefComSL_D1_D1_LK3
1443 : use pm_kind, only: LKC => LK3
1444 : #include "pm_arrayStrip@routines.inc.F90"
1445 307 : end procedure
1446 : #endif
1447 :
1448 : #if LK2_ENABLED
1449 300 : module procedure getStrippedDefComSL_D1_D1_LK2
1450 : use pm_kind, only: LKC => LK2
1451 : #include "pm_arrayStrip@routines.inc.F90"
1452 300 : end procedure
1453 : #endif
1454 :
1455 : #if LK1_ENABLED
1456 300 : module procedure getStrippedDefComSL_D1_D1_LK1
1457 : use pm_kind, only: LKC => LK1
1458 : #include "pm_arrayStrip@routines.inc.F90"
1459 300 : end procedure
1460 : #endif
1461 :
1462 : #undef LK_ENABLED
1463 :
1464 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465 :
1466 : #define CK_ENABLED 1
1467 :
1468 : #if CK5_ENABLED
1469 : module procedure getStrippedDefComSL_D1_D1_CK5
1470 : use pm_kind, only: CKC => CK5
1471 : #include "pm_arrayStrip@routines.inc.F90"
1472 : end procedure
1473 : #endif
1474 :
1475 : #if CK4_ENABLED
1476 300 : module procedure getStrippedDefComSL_D1_D1_CK4
1477 : use pm_kind, only: CKC => CK4
1478 : #include "pm_arrayStrip@routines.inc.F90"
1479 300 : end procedure
1480 : #endif
1481 :
1482 : #if CK3_ENABLED
1483 300 : module procedure getStrippedDefComSL_D1_D1_CK3
1484 : use pm_kind, only: CKC => CK3
1485 : #include "pm_arrayStrip@routines.inc.F90"
1486 300 : end procedure
1487 : #endif
1488 :
1489 : #if CK2_ENABLED
1490 300 : module procedure getStrippedDefComSL_D1_D1_CK2
1491 : use pm_kind, only: CKC => CK2
1492 : #include "pm_arrayStrip@routines.inc.F90"
1493 300 : end procedure
1494 : #endif
1495 :
1496 : #if CK1_ENABLED
1497 307 : module procedure getStrippedDefComSL_D1_D1_CK1
1498 : use pm_kind, only: CKC => CK1
1499 : #include "pm_arrayStrip@routines.inc.F90"
1500 307 : end procedure
1501 : #endif
1502 :
1503 : #undef CK_ENABLED
1504 :
1505 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1506 :
1507 : #define RK_ENABLED 1
1508 :
1509 : #if RK5_ENABLED
1510 : module procedure getStrippedDefComSL_D1_D1_RK5
1511 : use pm_kind, only: RKC => RK5
1512 : #include "pm_arrayStrip@routines.inc.F90"
1513 : end procedure
1514 : #endif
1515 :
1516 : #if RK4_ENABLED
1517 300 : module procedure getStrippedDefComSL_D1_D1_RK4
1518 : use pm_kind, only: RKC => RK4
1519 : #include "pm_arrayStrip@routines.inc.F90"
1520 300 : end procedure
1521 : #endif
1522 :
1523 : #if RK3_ENABLED
1524 300 : module procedure getStrippedDefComSL_D1_D1_RK3
1525 : use pm_kind, only: RKC => RK3
1526 : #include "pm_arrayStrip@routines.inc.F90"
1527 300 : end procedure
1528 : #endif
1529 :
1530 : #if RK2_ENABLED
1531 300 : module procedure getStrippedDefComSL_D1_D1_RK2
1532 : use pm_kind, only: RKC => RK2
1533 : #include "pm_arrayStrip@routines.inc.F90"
1534 300 : end procedure
1535 : #endif
1536 :
1537 : #if RK1_ENABLED
1538 307 : module procedure getStrippedDefComSL_D1_D1_RK1
1539 : use pm_kind, only: RKC => RK1
1540 : #include "pm_arrayStrip@routines.inc.F90"
1541 307 : end procedure
1542 : #endif
1543 :
1544 : #undef RK_ENABLED
1545 :
1546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1547 :
1548 : #undef D1_D1_ENABLED
1549 :
1550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1551 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1552 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1553 :
1554 : #undef DefCom_ENABLED
1555 :
1556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1557 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1559 :
1560 : #define CusCom_ENABLED 1
1561 :
1562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1563 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1564 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1565 :
1566 : #define D0_D0_ENABLED 1
1567 :
1568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1569 :
1570 : #define SK_ENABLED 1
1571 :
1572 : #if SK5_ENABLED
1573 : module procedure getStrippedCusComSL_D0_D0_SK5
1574 : use pm_kind, only: SKC => SK5
1575 : #include "pm_arrayStrip@routines.inc.F90"
1576 : end procedure
1577 : #endif
1578 :
1579 : #if SK4_ENABLED
1580 : module procedure getStrippedCusComSL_D0_D0_SK4
1581 : use pm_kind, only: SKC => SK4
1582 : #include "pm_arrayStrip@routines.inc.F90"
1583 : end procedure
1584 : #endif
1585 :
1586 : #if SK3_ENABLED
1587 : module procedure getStrippedCusComSL_D0_D0_SK3
1588 : use pm_kind, only: SKC => SK3
1589 : #include "pm_arrayStrip@routines.inc.F90"
1590 : end procedure
1591 : #endif
1592 :
1593 : #if SK2_ENABLED
1594 : module procedure getStrippedCusComSL_D0_D0_SK2
1595 : use pm_kind, only: SKC => SK2
1596 : #include "pm_arrayStrip@routines.inc.F90"
1597 : end procedure
1598 : #endif
1599 :
1600 : #if SK1_ENABLED
1601 300 : module procedure getStrippedCusComSL_D0_D0_SK1
1602 : use pm_kind, only: SKC => SK1
1603 : #include "pm_arrayStrip@routines.inc.F90"
1604 300 : end procedure
1605 : #endif
1606 :
1607 : #undef SK_ENABLED
1608 :
1609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1610 :
1611 : #undef D0_D0_ENABLED
1612 :
1613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1614 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1616 :
1617 : #define D1_D0_ENABLED 1
1618 :
1619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1620 :
1621 : #define SK_ENABLED 1
1622 :
1623 : #if SK5_ENABLED
1624 : module procedure getStrippedCusComSL_D1_D0_SK5
1625 : use pm_kind, only: SKC => SK5
1626 : #include "pm_arrayStrip@routines.inc.F90"
1627 : end procedure
1628 : #endif
1629 :
1630 : #if SK4_ENABLED
1631 : module procedure getStrippedCusComSL_D1_D0_SK4
1632 : use pm_kind, only: SKC => SK4
1633 : #include "pm_arrayStrip@routines.inc.F90"
1634 : end procedure
1635 : #endif
1636 :
1637 : #if SK3_ENABLED
1638 : module procedure getStrippedCusComSL_D1_D0_SK3
1639 : use pm_kind, only: SKC => SK3
1640 : #include "pm_arrayStrip@routines.inc.F90"
1641 : end procedure
1642 : #endif
1643 :
1644 : #if SK2_ENABLED
1645 : module procedure getStrippedCusComSL_D1_D0_SK2
1646 : use pm_kind, only: SKC => SK2
1647 : #include "pm_arrayStrip@routines.inc.F90"
1648 : end procedure
1649 : #endif
1650 :
1651 : #if SK1_ENABLED
1652 301 : module procedure getStrippedCusComSL_D1_D0_SK1
1653 : use pm_kind, only: SKC => SK1
1654 : #include "pm_arrayStrip@routines.inc.F90"
1655 301 : end procedure
1656 : #endif
1657 :
1658 : #undef SK_ENABLED
1659 :
1660 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1661 :
1662 : #define IK_ENABLED 1
1663 :
1664 : #if IK5_ENABLED
1665 300 : module procedure getStrippedCusComSL_D1_D0_IK5
1666 : use pm_kind, only: IKC => IK5
1667 : #include "pm_arrayStrip@routines.inc.F90"
1668 300 : end procedure
1669 : #endif
1670 :
1671 : #if IK4_ENABLED
1672 300 : module procedure getStrippedCusComSL_D1_D0_IK4
1673 : use pm_kind, only: IKC => IK4
1674 : #include "pm_arrayStrip@routines.inc.F90"
1675 300 : end procedure
1676 : #endif
1677 :
1678 : #if IK3_ENABLED
1679 301 : module procedure getStrippedCusComSL_D1_D0_IK3
1680 : use pm_kind, only: IKC => IK3
1681 : #include "pm_arrayStrip@routines.inc.F90"
1682 301 : end procedure
1683 : #endif
1684 :
1685 : #if IK2_ENABLED
1686 300 : module procedure getStrippedCusComSL_D1_D0_IK2
1687 : use pm_kind, only: IKC => IK2
1688 : #include "pm_arrayStrip@routines.inc.F90"
1689 300 : end procedure
1690 : #endif
1691 :
1692 : #if IK1_ENABLED
1693 300 : module procedure getStrippedCusComSL_D1_D0_IK1
1694 : use pm_kind, only: IKC => IK1
1695 : #include "pm_arrayStrip@routines.inc.F90"
1696 300 : end procedure
1697 : #endif
1698 :
1699 : #undef IK_ENABLED
1700 :
1701 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1702 :
1703 : #define LK_ENABLED 1
1704 :
1705 : #if LK5_ENABLED
1706 300 : module procedure getStrippedCusComSL_D1_D0_LK5
1707 : use pm_kind, only: LKC => LK5
1708 : #include "pm_arrayStrip@routines.inc.F90"
1709 300 : end procedure
1710 : #endif
1711 :
1712 : #if LK4_ENABLED
1713 300 : module procedure getStrippedCusComSL_D1_D0_LK4
1714 : use pm_kind, only: LKC => LK4
1715 : #include "pm_arrayStrip@routines.inc.F90"
1716 300 : end procedure
1717 : #endif
1718 :
1719 : #if LK3_ENABLED
1720 301 : module procedure getStrippedCusComSL_D1_D0_LK3
1721 : use pm_kind, only: LKC => LK3
1722 : #include "pm_arrayStrip@routines.inc.F90"
1723 301 : end procedure
1724 : #endif
1725 :
1726 : #if LK2_ENABLED
1727 300 : module procedure getStrippedCusComSL_D1_D0_LK2
1728 : use pm_kind, only: LKC => LK2
1729 : #include "pm_arrayStrip@routines.inc.F90"
1730 300 : end procedure
1731 : #endif
1732 :
1733 : #if LK1_ENABLED
1734 300 : module procedure getStrippedCusComSL_D1_D0_LK1
1735 : use pm_kind, only: LKC => LK1
1736 : #include "pm_arrayStrip@routines.inc.F90"
1737 300 : end procedure
1738 : #endif
1739 :
1740 : #undef LK_ENABLED
1741 :
1742 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1743 :
1744 : #define CK_ENABLED 1
1745 :
1746 : #if CK5_ENABLED
1747 : module procedure getStrippedCusComSL_D1_D0_CK5
1748 : use pm_kind, only: CKC => CK5
1749 : #include "pm_arrayStrip@routines.inc.F90"
1750 : end procedure
1751 : #endif
1752 :
1753 : #if CK4_ENABLED
1754 300 : module procedure getStrippedCusComSL_D1_D0_CK4
1755 : use pm_kind, only: CKC => CK4
1756 : #include "pm_arrayStrip@routines.inc.F90"
1757 300 : end procedure
1758 : #endif
1759 :
1760 : #if CK3_ENABLED
1761 300 : module procedure getStrippedCusComSL_D1_D0_CK3
1762 : use pm_kind, only: CKC => CK3
1763 : #include "pm_arrayStrip@routines.inc.F90"
1764 300 : end procedure
1765 : #endif
1766 :
1767 : #if CK2_ENABLED
1768 300 : module procedure getStrippedCusComSL_D1_D0_CK2
1769 : use pm_kind, only: CKC => CK2
1770 : #include "pm_arrayStrip@routines.inc.F90"
1771 300 : end procedure
1772 : #endif
1773 :
1774 : #if CK1_ENABLED
1775 301 : module procedure getStrippedCusComSL_D1_D0_CK1
1776 : use pm_kind, only: CKC => CK1
1777 : #include "pm_arrayStrip@routines.inc.F90"
1778 301 : end procedure
1779 : #endif
1780 :
1781 : #undef CK_ENABLED
1782 :
1783 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1784 :
1785 : #define RK_ENABLED 1
1786 :
1787 : #if RK5_ENABLED
1788 : module procedure getStrippedCusComSL_D1_D0_RK5
1789 : use pm_kind, only: RKC => RK5
1790 : #include "pm_arrayStrip@routines.inc.F90"
1791 : end procedure
1792 : #endif
1793 :
1794 : #if RK4_ENABLED
1795 300 : module procedure getStrippedCusComSL_D1_D0_RK4
1796 : use pm_kind, only: RKC => RK4
1797 : #include "pm_arrayStrip@routines.inc.F90"
1798 300 : end procedure
1799 : #endif
1800 :
1801 : #if RK3_ENABLED
1802 300 : module procedure getStrippedCusComSL_D1_D0_RK3
1803 : use pm_kind, only: RKC => RK3
1804 : #include "pm_arrayStrip@routines.inc.F90"
1805 300 : end procedure
1806 : #endif
1807 :
1808 : #if RK2_ENABLED
1809 300 : module procedure getStrippedCusComSL_D1_D0_RK2
1810 : use pm_kind, only: RKC => RK2
1811 : #include "pm_arrayStrip@routines.inc.F90"
1812 300 : end procedure
1813 : #endif
1814 :
1815 : #if RK1_ENABLED
1816 300 : module procedure getStrippedCusComSL_D1_D0_RK1
1817 : use pm_kind, only: RKC => RK1
1818 : #include "pm_arrayStrip@routines.inc.F90"
1819 300 : end procedure
1820 : #endif
1821 :
1822 : #undef RK_ENABLED
1823 :
1824 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1825 :
1826 : #undef D1_D0_ENABLED
1827 :
1828 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1829 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1830 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1831 :
1832 : #define D1_D1_ENABLED 1
1833 :
1834 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1835 :
1836 : #define SK_ENABLED 1
1837 :
1838 : #if SK5_ENABLED
1839 : module procedure getStrippedCusComSL_D1_D1_SK5
1840 : use pm_kind, only: SKC => SK5
1841 : #include "pm_arrayStrip@routines.inc.F90"
1842 : end procedure
1843 : #endif
1844 :
1845 : #if SK4_ENABLED
1846 : module procedure getStrippedCusComSL_D1_D1_SK4
1847 : use pm_kind, only: SKC => SK4
1848 : #include "pm_arrayStrip@routines.inc.F90"
1849 : end procedure
1850 : #endif
1851 :
1852 : #if SK3_ENABLED
1853 : module procedure getStrippedCusComSL_D1_D1_SK3
1854 : use pm_kind, only: SKC => SK3
1855 : #include "pm_arrayStrip@routines.inc.F90"
1856 : end procedure
1857 : #endif
1858 :
1859 : #if SK2_ENABLED
1860 : module procedure getStrippedCusComSL_D1_D1_SK2
1861 : use pm_kind, only: SKC => SK2
1862 : #include "pm_arrayStrip@routines.inc.F90"
1863 : end procedure
1864 : #endif
1865 :
1866 : #if SK1_ENABLED
1867 301 : module procedure getStrippedCusComSL_D1_D1_SK1
1868 : use pm_kind, only: SKC => SK1
1869 : #include "pm_arrayStrip@routines.inc.F90"
1870 301 : end procedure
1871 : #endif
1872 :
1873 : #undef SK_ENABLED
1874 :
1875 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1876 :
1877 : #define IK_ENABLED 1
1878 :
1879 : #if IK5_ENABLED
1880 300 : module procedure getStrippedCusComSL_D1_D1_IK5
1881 : use pm_kind, only: IKC => IK5
1882 : #include "pm_arrayStrip@routines.inc.F90"
1883 300 : end procedure
1884 : #endif
1885 :
1886 : #if IK4_ENABLED
1887 300 : module procedure getStrippedCusComSL_D1_D1_IK4
1888 : use pm_kind, only: IKC => IK4
1889 : #include "pm_arrayStrip@routines.inc.F90"
1890 300 : end procedure
1891 : #endif
1892 :
1893 : #if IK3_ENABLED
1894 301 : module procedure getStrippedCusComSL_D1_D1_IK3
1895 : use pm_kind, only: IKC => IK3
1896 : #include "pm_arrayStrip@routines.inc.F90"
1897 301 : end procedure
1898 : #endif
1899 :
1900 : #if IK2_ENABLED
1901 300 : module procedure getStrippedCusComSL_D1_D1_IK2
1902 : use pm_kind, only: IKC => IK2
1903 : #include "pm_arrayStrip@routines.inc.F90"
1904 300 : end procedure
1905 : #endif
1906 :
1907 : #if IK1_ENABLED
1908 300 : module procedure getStrippedCusComSL_D1_D1_IK1
1909 : use pm_kind, only: IKC => IK1
1910 : #include "pm_arrayStrip@routines.inc.F90"
1911 300 : end procedure
1912 : #endif
1913 :
1914 : #undef IK_ENABLED
1915 :
1916 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1917 :
1918 : #define LK_ENABLED 1
1919 :
1920 : #if LK5_ENABLED
1921 300 : module procedure getStrippedCusComSL_D1_D1_LK5
1922 : use pm_kind, only: LKC => LK5
1923 : #include "pm_arrayStrip@routines.inc.F90"
1924 300 : end procedure
1925 : #endif
1926 :
1927 : #if LK4_ENABLED
1928 300 : module procedure getStrippedCusComSL_D1_D1_LK4
1929 : use pm_kind, only: LKC => LK4
1930 : #include "pm_arrayStrip@routines.inc.F90"
1931 300 : end procedure
1932 : #endif
1933 :
1934 : #if LK3_ENABLED
1935 301 : module procedure getStrippedCusComSL_D1_D1_LK3
1936 : use pm_kind, only: LKC => LK3
1937 : #include "pm_arrayStrip@routines.inc.F90"
1938 301 : end procedure
1939 : #endif
1940 :
1941 : #if LK2_ENABLED
1942 300 : module procedure getStrippedCusComSL_D1_D1_LK2
1943 : use pm_kind, only: LKC => LK2
1944 : #include "pm_arrayStrip@routines.inc.F90"
1945 300 : end procedure
1946 : #endif
1947 :
1948 : #if LK1_ENABLED
1949 300 : module procedure getStrippedCusComSL_D1_D1_LK1
1950 : use pm_kind, only: LKC => LK1
1951 : #include "pm_arrayStrip@routines.inc.F90"
1952 300 : end procedure
1953 : #endif
1954 :
1955 : #undef LK_ENABLED
1956 :
1957 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1958 :
1959 : #define CK_ENABLED 1
1960 :
1961 : #if CK5_ENABLED
1962 : module procedure getStrippedCusComSL_D1_D1_CK5
1963 : use pm_kind, only: CKC => CK5
1964 : #include "pm_arrayStrip@routines.inc.F90"
1965 : end procedure
1966 : #endif
1967 :
1968 : #if CK4_ENABLED
1969 300 : module procedure getStrippedCusComSL_D1_D1_CK4
1970 : use pm_kind, only: CKC => CK4
1971 : #include "pm_arrayStrip@routines.inc.F90"
1972 300 : end procedure
1973 : #endif
1974 :
1975 : #if CK3_ENABLED
1976 300 : module procedure getStrippedCusComSL_D1_D1_CK3
1977 : use pm_kind, only: CKC => CK3
1978 : #include "pm_arrayStrip@routines.inc.F90"
1979 300 : end procedure
1980 : #endif
1981 :
1982 : #if CK2_ENABLED
1983 300 : module procedure getStrippedCusComSL_D1_D1_CK2
1984 : use pm_kind, only: CKC => CK2
1985 : #include "pm_arrayStrip@routines.inc.F90"
1986 300 : end procedure
1987 : #endif
1988 :
1989 : #if CK1_ENABLED
1990 301 : module procedure getStrippedCusComSL_D1_D1_CK1
1991 : use pm_kind, only: CKC => CK1
1992 : #include "pm_arrayStrip@routines.inc.F90"
1993 301 : end procedure
1994 : #endif
1995 :
1996 : #undef CK_ENABLED
1997 :
1998 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1999 :
2000 : #define RK_ENABLED 1
2001 :
2002 : #if RK5_ENABLED
2003 : module procedure getStrippedCusComSL_D1_D1_RK5
2004 : use pm_kind, only: RKC => RK5
2005 : #include "pm_arrayStrip@routines.inc.F90"
2006 : end procedure
2007 : #endif
2008 :
2009 : #if RK4_ENABLED
2010 300 : module procedure getStrippedCusComSL_D1_D1_RK4
2011 : use pm_kind, only: RKC => RK4
2012 : #include "pm_arrayStrip@routines.inc.F90"
2013 300 : end procedure
2014 : #endif
2015 :
2016 : #if RK3_ENABLED
2017 300 : module procedure getStrippedCusComSL_D1_D1_RK3
2018 : use pm_kind, only: RKC => RK3
2019 : #include "pm_arrayStrip@routines.inc.F90"
2020 300 : end procedure
2021 : #endif
2022 :
2023 : #if RK2_ENABLED
2024 300 : module procedure getStrippedCusComSL_D1_D1_RK2
2025 : use pm_kind, only: RKC => RK2
2026 : #include "pm_arrayStrip@routines.inc.F90"
2027 300 : end procedure
2028 : #endif
2029 :
2030 : #if RK1_ENABLED
2031 301 : module procedure getStrippedCusComSL_D1_D1_RK1
2032 : use pm_kind, only: RKC => RK1
2033 : #include "pm_arrayStrip@routines.inc.F90"
2034 301 : end procedure
2035 : #endif
2036 :
2037 : #undef RK_ENABLED
2038 :
2039 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2040 :
2041 : #undef D1_D1_ENABLED
2042 :
2043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2044 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2045 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2046 :
2047 : #undef CusCom_ENABLED
2048 :
2049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2050 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2051 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2052 :
2053 : #undef SL_ENABLED
2054 :
2055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058 :
2059 : #undef getStripped_ENABLED
2060 :
2061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2062 :
2063 : #define getStripped_ENABLED 1
2064 :
2065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2066 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2067 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2068 :
2069 : #define SR_ENABLED 1
2070 :
2071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2072 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2073 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2074 :
2075 : #define DefCom_ENABLED 1
2076 :
2077 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2078 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2079 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2080 :
2081 : #define D0_D0_ENABLED 1
2082 :
2083 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2084 :
2085 : #define SK_ENABLED 1
2086 :
2087 : #if SK5_ENABLED
2088 : module procedure getStrippedDefComSR_D0_D0_SK5
2089 : use pm_kind, only: SKC => SK5
2090 : #include "pm_arrayStrip@routines.inc.F90"
2091 : end procedure
2092 : #endif
2093 :
2094 : #if SK4_ENABLED
2095 : module procedure getStrippedDefComSR_D0_D0_SK4
2096 : use pm_kind, only: SKC => SK4
2097 : #include "pm_arrayStrip@routines.inc.F90"
2098 : end procedure
2099 : #endif
2100 :
2101 : #if SK3_ENABLED
2102 : module procedure getStrippedDefComSR_D0_D0_SK3
2103 : use pm_kind, only: SKC => SK3
2104 : #include "pm_arrayStrip@routines.inc.F90"
2105 : end procedure
2106 : #endif
2107 :
2108 : #if SK2_ENABLED
2109 : module procedure getStrippedDefComSR_D0_D0_SK2
2110 : use pm_kind, only: SKC => SK2
2111 : #include "pm_arrayStrip@routines.inc.F90"
2112 : end procedure
2113 : #endif
2114 :
2115 : #if SK1_ENABLED
2116 332 : module procedure getStrippedDefComSR_D0_D0_SK1
2117 : use pm_kind, only: SKC => SK1
2118 : #include "pm_arrayStrip@routines.inc.F90"
2119 332 : end procedure
2120 : #endif
2121 :
2122 : #undef SK_ENABLED
2123 :
2124 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2125 :
2126 : #undef D0_D0_ENABLED
2127 :
2128 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2129 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2131 :
2132 : #define D1_D0_ENABLED 1
2133 :
2134 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2135 :
2136 : #define SK_ENABLED 1
2137 :
2138 : #if SK5_ENABLED
2139 : module procedure getStrippedDefComSR_D1_D0_SK5
2140 : use pm_kind, only: SKC => SK5
2141 : #include "pm_arrayStrip@routines.inc.F90"
2142 : end procedure
2143 : #endif
2144 :
2145 : #if SK4_ENABLED
2146 : module procedure getStrippedDefComSR_D1_D0_SK4
2147 : use pm_kind, only: SKC => SK4
2148 : #include "pm_arrayStrip@routines.inc.F90"
2149 : end procedure
2150 : #endif
2151 :
2152 : #if SK3_ENABLED
2153 : module procedure getStrippedDefComSR_D1_D0_SK3
2154 : use pm_kind, only: SKC => SK3
2155 : #include "pm_arrayStrip@routines.inc.F90"
2156 : end procedure
2157 : #endif
2158 :
2159 : #if SK2_ENABLED
2160 : module procedure getStrippedDefComSR_D1_D0_SK2
2161 : use pm_kind, only: SKC => SK2
2162 : #include "pm_arrayStrip@routines.inc.F90"
2163 : end procedure
2164 : #endif
2165 :
2166 : #if SK1_ENABLED
2167 303 : module procedure getStrippedDefComSR_D1_D0_SK1
2168 : use pm_kind, only: SKC => SK1
2169 : #include "pm_arrayStrip@routines.inc.F90"
2170 303 : end procedure
2171 : #endif
2172 :
2173 : #undef SK_ENABLED
2174 :
2175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2176 :
2177 : #define IK_ENABLED 1
2178 :
2179 : #if IK5_ENABLED
2180 300 : module procedure getStrippedDefComSR_D1_D0_IK5
2181 : use pm_kind, only: IKC => IK5
2182 : #include "pm_arrayStrip@routines.inc.F90"
2183 300 : end procedure
2184 : #endif
2185 :
2186 : #if IK4_ENABLED
2187 300 : module procedure getStrippedDefComSR_D1_D0_IK4
2188 : use pm_kind, only: IKC => IK4
2189 : #include "pm_arrayStrip@routines.inc.F90"
2190 300 : end procedure
2191 : #endif
2192 :
2193 : #if IK3_ENABLED
2194 302 : module procedure getStrippedDefComSR_D1_D0_IK3
2195 : use pm_kind, only: IKC => IK3
2196 : #include "pm_arrayStrip@routines.inc.F90"
2197 302 : end procedure
2198 : #endif
2199 :
2200 : #if IK2_ENABLED
2201 300 : module procedure getStrippedDefComSR_D1_D0_IK2
2202 : use pm_kind, only: IKC => IK2
2203 : #include "pm_arrayStrip@routines.inc.F90"
2204 300 : end procedure
2205 : #endif
2206 :
2207 : #if IK1_ENABLED
2208 300 : module procedure getStrippedDefComSR_D1_D0_IK1
2209 : use pm_kind, only: IKC => IK1
2210 : #include "pm_arrayStrip@routines.inc.F90"
2211 300 : end procedure
2212 : #endif
2213 :
2214 : #undef IK_ENABLED
2215 :
2216 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2217 :
2218 : #define LK_ENABLED 1
2219 :
2220 : #if LK5_ENABLED
2221 300 : module procedure getStrippedDefComSR_D1_D0_LK5
2222 : use pm_kind, only: LKC => LK5
2223 : #include "pm_arrayStrip@routines.inc.F90"
2224 300 : end procedure
2225 : #endif
2226 :
2227 : #if LK4_ENABLED
2228 300 : module procedure getStrippedDefComSR_D1_D0_LK4
2229 : use pm_kind, only: LKC => LK4
2230 : #include "pm_arrayStrip@routines.inc.F90"
2231 300 : end procedure
2232 : #endif
2233 :
2234 : #if LK3_ENABLED
2235 302 : module procedure getStrippedDefComSR_D1_D0_LK3
2236 : use pm_kind, only: LKC => LK3
2237 : #include "pm_arrayStrip@routines.inc.F90"
2238 302 : end procedure
2239 : #endif
2240 :
2241 : #if LK2_ENABLED
2242 300 : module procedure getStrippedDefComSR_D1_D0_LK2
2243 : use pm_kind, only: LKC => LK2
2244 : #include "pm_arrayStrip@routines.inc.F90"
2245 300 : end procedure
2246 : #endif
2247 :
2248 : #if LK1_ENABLED
2249 300 : module procedure getStrippedDefComSR_D1_D0_LK1
2250 : use pm_kind, only: LKC => LK1
2251 : #include "pm_arrayStrip@routines.inc.F90"
2252 300 : end procedure
2253 : #endif
2254 :
2255 : #undef LK_ENABLED
2256 :
2257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2258 :
2259 : #define CK_ENABLED 1
2260 :
2261 : #if CK5_ENABLED
2262 : module procedure getStrippedDefComSR_D1_D0_CK5
2263 : use pm_kind, only: CKC => CK5
2264 : #include "pm_arrayStrip@routines.inc.F90"
2265 : end procedure
2266 : #endif
2267 :
2268 : #if CK4_ENABLED
2269 300 : module procedure getStrippedDefComSR_D1_D0_CK4
2270 : use pm_kind, only: CKC => CK4
2271 : #include "pm_arrayStrip@routines.inc.F90"
2272 300 : end procedure
2273 : #endif
2274 :
2275 : #if CK3_ENABLED
2276 300 : module procedure getStrippedDefComSR_D1_D0_CK3
2277 : use pm_kind, only: CKC => CK3
2278 : #include "pm_arrayStrip@routines.inc.F90"
2279 300 : end procedure
2280 : #endif
2281 :
2282 : #if CK2_ENABLED
2283 300 : module procedure getStrippedDefComSR_D1_D0_CK2
2284 : use pm_kind, only: CKC => CK2
2285 : #include "pm_arrayStrip@routines.inc.F90"
2286 300 : end procedure
2287 : #endif
2288 :
2289 : #if CK1_ENABLED
2290 302 : module procedure getStrippedDefComSR_D1_D0_CK1
2291 : use pm_kind, only: CKC => CK1
2292 : #include "pm_arrayStrip@routines.inc.F90"
2293 302 : end procedure
2294 : #endif
2295 :
2296 : #undef CK_ENABLED
2297 :
2298 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2299 :
2300 : #define RK_ENABLED 1
2301 :
2302 : #if RK5_ENABLED
2303 : module procedure getStrippedDefComSR_D1_D0_RK5
2304 : use pm_kind, only: RKC => RK5
2305 : #include "pm_arrayStrip@routines.inc.F90"
2306 : end procedure
2307 : #endif
2308 :
2309 : #if RK4_ENABLED
2310 300 : module procedure getStrippedDefComSR_D1_D0_RK4
2311 : use pm_kind, only: RKC => RK4
2312 : #include "pm_arrayStrip@routines.inc.F90"
2313 300 : end procedure
2314 : #endif
2315 :
2316 : #if RK3_ENABLED
2317 300 : module procedure getStrippedDefComSR_D1_D0_RK3
2318 : use pm_kind, only: RKC => RK3
2319 : #include "pm_arrayStrip@routines.inc.F90"
2320 300 : end procedure
2321 : #endif
2322 :
2323 : #if RK2_ENABLED
2324 300 : module procedure getStrippedDefComSR_D1_D0_RK2
2325 : use pm_kind, only: RKC => RK2
2326 : #include "pm_arrayStrip@routines.inc.F90"
2327 300 : end procedure
2328 : #endif
2329 :
2330 : #if RK1_ENABLED
2331 301 : module procedure getStrippedDefComSR_D1_D0_RK1
2332 : use pm_kind, only: RKC => RK1
2333 : #include "pm_arrayStrip@routines.inc.F90"
2334 301 : end procedure
2335 : #endif
2336 :
2337 : #undef RK_ENABLED
2338 :
2339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2340 :
2341 : #undef D1_D0_ENABLED
2342 :
2343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2344 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2346 :
2347 : #define D1_D1_ENABLED 1
2348 :
2349 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2350 :
2351 : #define SK_ENABLED 1
2352 :
2353 : #if SK5_ENABLED
2354 : module procedure getStrippedDefComSR_D1_D1_SK5
2355 : use pm_kind, only: SKC => SK5
2356 : #include "pm_arrayStrip@routines.inc.F90"
2357 : end procedure
2358 : #endif
2359 :
2360 : #if SK4_ENABLED
2361 : module procedure getStrippedDefComSR_D1_D1_SK4
2362 : use pm_kind, only: SKC => SK4
2363 : #include "pm_arrayStrip@routines.inc.F90"
2364 : end procedure
2365 : #endif
2366 :
2367 : #if SK3_ENABLED
2368 : module procedure getStrippedDefComSR_D1_D1_SK3
2369 : use pm_kind, only: SKC => SK3
2370 : #include "pm_arrayStrip@routines.inc.F90"
2371 : end procedure
2372 : #endif
2373 :
2374 : #if SK2_ENABLED
2375 : module procedure getStrippedDefComSR_D1_D1_SK2
2376 : use pm_kind, only: SKC => SK2
2377 : #include "pm_arrayStrip@routines.inc.F90"
2378 : end procedure
2379 : #endif
2380 :
2381 : #if SK1_ENABLED
2382 306 : module procedure getStrippedDefComSR_D1_D1_SK1
2383 : use pm_kind, only: SKC => SK1
2384 : #include "pm_arrayStrip@routines.inc.F90"
2385 306 : end procedure
2386 : #endif
2387 :
2388 : #undef SK_ENABLED
2389 :
2390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2391 :
2392 : #define IK_ENABLED 1
2393 :
2394 : #if IK5_ENABLED
2395 300 : module procedure getStrippedDefComSR_D1_D1_IK5
2396 : use pm_kind, only: IKC => IK5
2397 : #include "pm_arrayStrip@routines.inc.F90"
2398 300 : end procedure
2399 : #endif
2400 :
2401 : #if IK4_ENABLED
2402 300 : module procedure getStrippedDefComSR_D1_D1_IK4
2403 : use pm_kind, only: IKC => IK4
2404 : #include "pm_arrayStrip@routines.inc.F90"
2405 300 : end procedure
2406 : #endif
2407 :
2408 : #if IK3_ENABLED
2409 306 : module procedure getStrippedDefComSR_D1_D1_IK3
2410 : use pm_kind, only: IKC => IK3
2411 : #include "pm_arrayStrip@routines.inc.F90"
2412 306 : end procedure
2413 : #endif
2414 :
2415 : #if IK2_ENABLED
2416 300 : module procedure getStrippedDefComSR_D1_D1_IK2
2417 : use pm_kind, only: IKC => IK2
2418 : #include "pm_arrayStrip@routines.inc.F90"
2419 300 : end procedure
2420 : #endif
2421 :
2422 : #if IK1_ENABLED
2423 300 : module procedure getStrippedDefComSR_D1_D1_IK1
2424 : use pm_kind, only: IKC => IK1
2425 : #include "pm_arrayStrip@routines.inc.F90"
2426 300 : end procedure
2427 : #endif
2428 :
2429 : #undef IK_ENABLED
2430 :
2431 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2432 :
2433 : #define LK_ENABLED 1
2434 :
2435 : #if LK5_ENABLED
2436 300 : module procedure getStrippedDefComSR_D1_D1_LK5
2437 : use pm_kind, only: LKC => LK5
2438 : #include "pm_arrayStrip@routines.inc.F90"
2439 300 : end procedure
2440 : #endif
2441 :
2442 : #if LK4_ENABLED
2443 300 : module procedure getStrippedDefComSR_D1_D1_LK4
2444 : use pm_kind, only: LKC => LK4
2445 : #include "pm_arrayStrip@routines.inc.F90"
2446 300 : end procedure
2447 : #endif
2448 :
2449 : #if LK3_ENABLED
2450 307 : module procedure getStrippedDefComSR_D1_D1_LK3
2451 : use pm_kind, only: LKC => LK3
2452 : #include "pm_arrayStrip@routines.inc.F90"
2453 307 : end procedure
2454 : #endif
2455 :
2456 : #if LK2_ENABLED
2457 300 : module procedure getStrippedDefComSR_D1_D1_LK2
2458 : use pm_kind, only: LKC => LK2
2459 : #include "pm_arrayStrip@routines.inc.F90"
2460 300 : end procedure
2461 : #endif
2462 :
2463 : #if LK1_ENABLED
2464 300 : module procedure getStrippedDefComSR_D1_D1_LK1
2465 : use pm_kind, only: LKC => LK1
2466 : #include "pm_arrayStrip@routines.inc.F90"
2467 300 : end procedure
2468 : #endif
2469 :
2470 : #undef LK_ENABLED
2471 :
2472 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2473 :
2474 : #define CK_ENABLED 1
2475 :
2476 : #if CK5_ENABLED
2477 : module procedure getStrippedDefComSR_D1_D1_CK5
2478 : use pm_kind, only: CKC => CK5
2479 : #include "pm_arrayStrip@routines.inc.F90"
2480 : end procedure
2481 : #endif
2482 :
2483 : #if CK4_ENABLED
2484 300 : module procedure getStrippedDefComSR_D1_D1_CK4
2485 : use pm_kind, only: CKC => CK4
2486 : #include "pm_arrayStrip@routines.inc.F90"
2487 300 : end procedure
2488 : #endif
2489 :
2490 : #if CK3_ENABLED
2491 300 : module procedure getStrippedDefComSR_D1_D1_CK3
2492 : use pm_kind, only: CKC => CK3
2493 : #include "pm_arrayStrip@routines.inc.F90"
2494 300 : end procedure
2495 : #endif
2496 :
2497 : #if CK2_ENABLED
2498 300 : module procedure getStrippedDefComSR_D1_D1_CK2
2499 : use pm_kind, only: CKC => CK2
2500 : #include "pm_arrayStrip@routines.inc.F90"
2501 300 : end procedure
2502 : #endif
2503 :
2504 : #if CK1_ENABLED
2505 307 : module procedure getStrippedDefComSR_D1_D1_CK1
2506 : use pm_kind, only: CKC => CK1
2507 : #include "pm_arrayStrip@routines.inc.F90"
2508 307 : end procedure
2509 : #endif
2510 :
2511 : #undef CK_ENABLED
2512 :
2513 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2514 :
2515 : #define RK_ENABLED 1
2516 :
2517 : #if RK5_ENABLED
2518 : module procedure getStrippedDefComSR_D1_D1_RK5
2519 : use pm_kind, only: RKC => RK5
2520 : #include "pm_arrayStrip@routines.inc.F90"
2521 : end procedure
2522 : #endif
2523 :
2524 : #if RK4_ENABLED
2525 300 : module procedure getStrippedDefComSR_D1_D1_RK4
2526 : use pm_kind, only: RKC => RK4
2527 : #include "pm_arrayStrip@routines.inc.F90"
2528 300 : end procedure
2529 : #endif
2530 :
2531 : #if RK3_ENABLED
2532 300 : module procedure getStrippedDefComSR_D1_D1_RK3
2533 : use pm_kind, only: RKC => RK3
2534 : #include "pm_arrayStrip@routines.inc.F90"
2535 300 : end procedure
2536 : #endif
2537 :
2538 : #if RK2_ENABLED
2539 300 : module procedure getStrippedDefComSR_D1_D1_RK2
2540 : use pm_kind, only: RKC => RK2
2541 : #include "pm_arrayStrip@routines.inc.F90"
2542 300 : end procedure
2543 : #endif
2544 :
2545 : #if RK1_ENABLED
2546 307 : module procedure getStrippedDefComSR_D1_D1_RK1
2547 : use pm_kind, only: RKC => RK1
2548 : #include "pm_arrayStrip@routines.inc.F90"
2549 307 : end procedure
2550 : #endif
2551 :
2552 : #undef RK_ENABLED
2553 :
2554 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2555 :
2556 : #undef D1_D1_ENABLED
2557 :
2558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2559 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2560 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2561 :
2562 : #undef DefCom_ENABLED
2563 :
2564 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2565 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2566 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2567 :
2568 : #define CusCom_ENABLED 1
2569 :
2570 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2571 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2572 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2573 :
2574 : #define D0_D0_ENABLED 1
2575 :
2576 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2577 :
2578 : #define SK_ENABLED 1
2579 :
2580 : #if SK5_ENABLED
2581 : module procedure getStrippedCusComSR_D0_D0_SK5
2582 : use pm_kind, only: SKC => SK5
2583 : #include "pm_arrayStrip@routines.inc.F90"
2584 : end procedure
2585 : #endif
2586 :
2587 : #if SK4_ENABLED
2588 : module procedure getStrippedCusComSR_D0_D0_SK4
2589 : use pm_kind, only: SKC => SK4
2590 : #include "pm_arrayStrip@routines.inc.F90"
2591 : end procedure
2592 : #endif
2593 :
2594 : #if SK3_ENABLED
2595 : module procedure getStrippedCusComSR_D0_D0_SK3
2596 : use pm_kind, only: SKC => SK3
2597 : #include "pm_arrayStrip@routines.inc.F90"
2598 : end procedure
2599 : #endif
2600 :
2601 : #if SK2_ENABLED
2602 : module procedure getStrippedCusComSR_D0_D0_SK2
2603 : use pm_kind, only: SKC => SK2
2604 : #include "pm_arrayStrip@routines.inc.F90"
2605 : end procedure
2606 : #endif
2607 :
2608 : #if SK1_ENABLED
2609 300 : module procedure getStrippedCusComSR_D0_D0_SK1
2610 : use pm_kind, only: SKC => SK1
2611 : #include "pm_arrayStrip@routines.inc.F90"
2612 300 : end procedure
2613 : #endif
2614 :
2615 : #undef SK_ENABLED
2616 :
2617 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2618 :
2619 : #undef D0_D0_ENABLED
2620 :
2621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2623 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2624 :
2625 : #define D1_D0_ENABLED 1
2626 :
2627 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2628 :
2629 : #define SK_ENABLED 1
2630 :
2631 : #if SK5_ENABLED
2632 : module procedure getStrippedCusComSR_D1_D0_SK5
2633 : use pm_kind, only: SKC => SK5
2634 : #include "pm_arrayStrip@routines.inc.F90"
2635 : end procedure
2636 : #endif
2637 :
2638 : #if SK4_ENABLED
2639 : module procedure getStrippedCusComSR_D1_D0_SK4
2640 : use pm_kind, only: SKC => SK4
2641 : #include "pm_arrayStrip@routines.inc.F90"
2642 : end procedure
2643 : #endif
2644 :
2645 : #if SK3_ENABLED
2646 : module procedure getStrippedCusComSR_D1_D0_SK3
2647 : use pm_kind, only: SKC => SK3
2648 : #include "pm_arrayStrip@routines.inc.F90"
2649 : end procedure
2650 : #endif
2651 :
2652 : #if SK2_ENABLED
2653 : module procedure getStrippedCusComSR_D1_D0_SK2
2654 : use pm_kind, only: SKC => SK2
2655 : #include "pm_arrayStrip@routines.inc.F90"
2656 : end procedure
2657 : #endif
2658 :
2659 : #if SK1_ENABLED
2660 301 : module procedure getStrippedCusComSR_D1_D0_SK1
2661 : use pm_kind, only: SKC => SK1
2662 : #include "pm_arrayStrip@routines.inc.F90"
2663 301 : end procedure
2664 : #endif
2665 :
2666 : #undef SK_ENABLED
2667 :
2668 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2669 :
2670 : #define IK_ENABLED 1
2671 :
2672 : #if IK5_ENABLED
2673 300 : module procedure getStrippedCusComSR_D1_D0_IK5
2674 : use pm_kind, only: IKC => IK5
2675 : #include "pm_arrayStrip@routines.inc.F90"
2676 300 : end procedure
2677 : #endif
2678 :
2679 : #if IK4_ENABLED
2680 300 : module procedure getStrippedCusComSR_D1_D0_IK4
2681 : use pm_kind, only: IKC => IK4
2682 : #include "pm_arrayStrip@routines.inc.F90"
2683 300 : end procedure
2684 : #endif
2685 :
2686 : #if IK3_ENABLED
2687 301 : module procedure getStrippedCusComSR_D1_D0_IK3
2688 : use pm_kind, only: IKC => IK3
2689 : #include "pm_arrayStrip@routines.inc.F90"
2690 301 : end procedure
2691 : #endif
2692 :
2693 : #if IK2_ENABLED
2694 300 : module procedure getStrippedCusComSR_D1_D0_IK2
2695 : use pm_kind, only: IKC => IK2
2696 : #include "pm_arrayStrip@routines.inc.F90"
2697 300 : end procedure
2698 : #endif
2699 :
2700 : #if IK1_ENABLED
2701 300 : module procedure getStrippedCusComSR_D1_D0_IK1
2702 : use pm_kind, only: IKC => IK1
2703 : #include "pm_arrayStrip@routines.inc.F90"
2704 300 : end procedure
2705 : #endif
2706 :
2707 : #undef IK_ENABLED
2708 :
2709 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2710 :
2711 : #define LK_ENABLED 1
2712 :
2713 : #if LK5_ENABLED
2714 300 : module procedure getStrippedCusComSR_D1_D0_LK5
2715 : use pm_kind, only: LKC => LK5
2716 : #include "pm_arrayStrip@routines.inc.F90"
2717 300 : end procedure
2718 : #endif
2719 :
2720 : #if LK4_ENABLED
2721 300 : module procedure getStrippedCusComSR_D1_D0_LK4
2722 : use pm_kind, only: LKC => LK4
2723 : #include "pm_arrayStrip@routines.inc.F90"
2724 300 : end procedure
2725 : #endif
2726 :
2727 : #if LK3_ENABLED
2728 301 : module procedure getStrippedCusComSR_D1_D0_LK3
2729 : use pm_kind, only: LKC => LK3
2730 : #include "pm_arrayStrip@routines.inc.F90"
2731 301 : end procedure
2732 : #endif
2733 :
2734 : #if LK2_ENABLED
2735 300 : module procedure getStrippedCusComSR_D1_D0_LK2
2736 : use pm_kind, only: LKC => LK2
2737 : #include "pm_arrayStrip@routines.inc.F90"
2738 300 : end procedure
2739 : #endif
2740 :
2741 : #if LK1_ENABLED
2742 300 : module procedure getStrippedCusComSR_D1_D0_LK1
2743 : use pm_kind, only: LKC => LK1
2744 : #include "pm_arrayStrip@routines.inc.F90"
2745 300 : end procedure
2746 : #endif
2747 :
2748 : #undef LK_ENABLED
2749 :
2750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2751 :
2752 : #define CK_ENABLED 1
2753 :
2754 : #if CK5_ENABLED
2755 : module procedure getStrippedCusComSR_D1_D0_CK5
2756 : use pm_kind, only: CKC => CK5
2757 : #include "pm_arrayStrip@routines.inc.F90"
2758 : end procedure
2759 : #endif
2760 :
2761 : #if CK4_ENABLED
2762 300 : module procedure getStrippedCusComSR_D1_D0_CK4
2763 : use pm_kind, only: CKC => CK4
2764 : #include "pm_arrayStrip@routines.inc.F90"
2765 300 : end procedure
2766 : #endif
2767 :
2768 : #if CK3_ENABLED
2769 300 : module procedure getStrippedCusComSR_D1_D0_CK3
2770 : use pm_kind, only: CKC => CK3
2771 : #include "pm_arrayStrip@routines.inc.F90"
2772 300 : end procedure
2773 : #endif
2774 :
2775 : #if CK2_ENABLED
2776 300 : module procedure getStrippedCusComSR_D1_D0_CK2
2777 : use pm_kind, only: CKC => CK2
2778 : #include "pm_arrayStrip@routines.inc.F90"
2779 300 : end procedure
2780 : #endif
2781 :
2782 : #if CK1_ENABLED
2783 301 : module procedure getStrippedCusComSR_D1_D0_CK1
2784 : use pm_kind, only: CKC => CK1
2785 : #include "pm_arrayStrip@routines.inc.F90"
2786 301 : end procedure
2787 : #endif
2788 :
2789 : #undef CK_ENABLED
2790 :
2791 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2792 :
2793 : #define RK_ENABLED 1
2794 :
2795 : #if RK5_ENABLED
2796 : module procedure getStrippedCusComSR_D1_D0_RK5
2797 : use pm_kind, only: RKC => RK5
2798 : #include "pm_arrayStrip@routines.inc.F90"
2799 : end procedure
2800 : #endif
2801 :
2802 : #if RK4_ENABLED
2803 300 : module procedure getStrippedCusComSR_D1_D0_RK4
2804 : use pm_kind, only: RKC => RK4
2805 : #include "pm_arrayStrip@routines.inc.F90"
2806 300 : end procedure
2807 : #endif
2808 :
2809 : #if RK3_ENABLED
2810 300 : module procedure getStrippedCusComSR_D1_D0_RK3
2811 : use pm_kind, only: RKC => RK3
2812 : #include "pm_arrayStrip@routines.inc.F90"
2813 300 : end procedure
2814 : #endif
2815 :
2816 : #if RK2_ENABLED
2817 300 : module procedure getStrippedCusComSR_D1_D0_RK2
2818 : use pm_kind, only: RKC => RK2
2819 : #include "pm_arrayStrip@routines.inc.F90"
2820 300 : end procedure
2821 : #endif
2822 :
2823 : #if RK1_ENABLED
2824 300 : module procedure getStrippedCusComSR_D1_D0_RK1
2825 : use pm_kind, only: RKC => RK1
2826 : #include "pm_arrayStrip@routines.inc.F90"
2827 300 : end procedure
2828 : #endif
2829 :
2830 : #undef RK_ENABLED
2831 :
2832 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2833 :
2834 : #undef D1_D0_ENABLED
2835 :
2836 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2837 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2838 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2839 :
2840 : #define D1_D1_ENABLED 1
2841 :
2842 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2843 :
2844 : #define SK_ENABLED 1
2845 :
2846 : #if SK5_ENABLED
2847 : module procedure getStrippedCusComSR_D1_D1_SK5
2848 : use pm_kind, only: SKC => SK5
2849 : #include "pm_arrayStrip@routines.inc.F90"
2850 : end procedure
2851 : #endif
2852 :
2853 : #if SK4_ENABLED
2854 : module procedure getStrippedCusComSR_D1_D1_SK4
2855 : use pm_kind, only: SKC => SK4
2856 : #include "pm_arrayStrip@routines.inc.F90"
2857 : end procedure
2858 : #endif
2859 :
2860 : #if SK3_ENABLED
2861 : module procedure getStrippedCusComSR_D1_D1_SK3
2862 : use pm_kind, only: SKC => SK3
2863 : #include "pm_arrayStrip@routines.inc.F90"
2864 : end procedure
2865 : #endif
2866 :
2867 : #if SK2_ENABLED
2868 : module procedure getStrippedCusComSR_D1_D1_SK2
2869 : use pm_kind, only: SKC => SK2
2870 : #include "pm_arrayStrip@routines.inc.F90"
2871 : end procedure
2872 : #endif
2873 :
2874 : #if SK1_ENABLED
2875 301 : module procedure getStrippedCusComSR_D1_D1_SK1
2876 : use pm_kind, only: SKC => SK1
2877 : #include "pm_arrayStrip@routines.inc.F90"
2878 301 : end procedure
2879 : #endif
2880 :
2881 : #undef SK_ENABLED
2882 :
2883 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2884 :
2885 : #define IK_ENABLED 1
2886 :
2887 : #if IK5_ENABLED
2888 300 : module procedure getStrippedCusComSR_D1_D1_IK5
2889 : use pm_kind, only: IKC => IK5
2890 : #include "pm_arrayStrip@routines.inc.F90"
2891 300 : end procedure
2892 : #endif
2893 :
2894 : #if IK4_ENABLED
2895 300 : module procedure getStrippedCusComSR_D1_D1_IK4
2896 : use pm_kind, only: IKC => IK4
2897 : #include "pm_arrayStrip@routines.inc.F90"
2898 300 : end procedure
2899 : #endif
2900 :
2901 : #if IK3_ENABLED
2902 301 : module procedure getStrippedCusComSR_D1_D1_IK3
2903 : use pm_kind, only: IKC => IK3
2904 : #include "pm_arrayStrip@routines.inc.F90"
2905 301 : end procedure
2906 : #endif
2907 :
2908 : #if IK2_ENABLED
2909 300 : module procedure getStrippedCusComSR_D1_D1_IK2
2910 : use pm_kind, only: IKC => IK2
2911 : #include "pm_arrayStrip@routines.inc.F90"
2912 300 : end procedure
2913 : #endif
2914 :
2915 : #if IK1_ENABLED
2916 300 : module procedure getStrippedCusComSR_D1_D1_IK1
2917 : use pm_kind, only: IKC => IK1
2918 : #include "pm_arrayStrip@routines.inc.F90"
2919 300 : end procedure
2920 : #endif
2921 :
2922 : #undef IK_ENABLED
2923 :
2924 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2925 :
2926 : #define LK_ENABLED 1
2927 :
2928 : #if LK5_ENABLED
2929 300 : module procedure getStrippedCusComSR_D1_D1_LK5
2930 : use pm_kind, only: LKC => LK5
2931 : #include "pm_arrayStrip@routines.inc.F90"
2932 300 : end procedure
2933 : #endif
2934 :
2935 : #if LK4_ENABLED
2936 300 : module procedure getStrippedCusComSR_D1_D1_LK4
2937 : use pm_kind, only: LKC => LK4
2938 : #include "pm_arrayStrip@routines.inc.F90"
2939 300 : end procedure
2940 : #endif
2941 :
2942 : #if LK3_ENABLED
2943 301 : module procedure getStrippedCusComSR_D1_D1_LK3
2944 : use pm_kind, only: LKC => LK3
2945 : #include "pm_arrayStrip@routines.inc.F90"
2946 301 : end procedure
2947 : #endif
2948 :
2949 : #if LK2_ENABLED
2950 300 : module procedure getStrippedCusComSR_D1_D1_LK2
2951 : use pm_kind, only: LKC => LK2
2952 : #include "pm_arrayStrip@routines.inc.F90"
2953 300 : end procedure
2954 : #endif
2955 :
2956 : #if LK1_ENABLED
2957 300 : module procedure getStrippedCusComSR_D1_D1_LK1
2958 : use pm_kind, only: LKC => LK1
2959 : #include "pm_arrayStrip@routines.inc.F90"
2960 300 : end procedure
2961 : #endif
2962 :
2963 : #undef LK_ENABLED
2964 :
2965 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2966 :
2967 : #define CK_ENABLED 1
2968 :
2969 : #if CK5_ENABLED
2970 : module procedure getStrippedCusComSR_D1_D1_CK5
2971 : use pm_kind, only: CKC => CK5
2972 : #include "pm_arrayStrip@routines.inc.F90"
2973 : end procedure
2974 : #endif
2975 :
2976 : #if CK4_ENABLED
2977 300 : module procedure getStrippedCusComSR_D1_D1_CK4
2978 : use pm_kind, only: CKC => CK4
2979 : #include "pm_arrayStrip@routines.inc.F90"
2980 300 : end procedure
2981 : #endif
2982 :
2983 : #if CK3_ENABLED
2984 300 : module procedure getStrippedCusComSR_D1_D1_CK3
2985 : use pm_kind, only: CKC => CK3
2986 : #include "pm_arrayStrip@routines.inc.F90"
2987 300 : end procedure
2988 : #endif
2989 :
2990 : #if CK2_ENABLED
2991 300 : module procedure getStrippedCusComSR_D1_D1_CK2
2992 : use pm_kind, only: CKC => CK2
2993 : #include "pm_arrayStrip@routines.inc.F90"
2994 300 : end procedure
2995 : #endif
2996 :
2997 : #if CK1_ENABLED
2998 301 : module procedure getStrippedCusComSR_D1_D1_CK1
2999 : use pm_kind, only: CKC => CK1
3000 : #include "pm_arrayStrip@routines.inc.F90"
3001 301 : end procedure
3002 : #endif
3003 :
3004 : #undef CK_ENABLED
3005 :
3006 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3007 :
3008 : #define RK_ENABLED 1
3009 :
3010 : #if RK5_ENABLED
3011 : module procedure getStrippedCusComSR_D1_D1_RK5
3012 : use pm_kind, only: RKC => RK5
3013 : #include "pm_arrayStrip@routines.inc.F90"
3014 : end procedure
3015 : #endif
3016 :
3017 : #if RK4_ENABLED
3018 300 : module procedure getStrippedCusComSR_D1_D1_RK4
3019 : use pm_kind, only: RKC => RK4
3020 : #include "pm_arrayStrip@routines.inc.F90"
3021 300 : end procedure
3022 : #endif
3023 :
3024 : #if RK3_ENABLED
3025 300 : module procedure getStrippedCusComSR_D1_D1_RK3
3026 : use pm_kind, only: RKC => RK3
3027 : #include "pm_arrayStrip@routines.inc.F90"
3028 300 : end procedure
3029 : #endif
3030 :
3031 : #if RK2_ENABLED
3032 300 : module procedure getStrippedCusComSR_D1_D1_RK2
3033 : use pm_kind, only: RKC => RK2
3034 : #include "pm_arrayStrip@routines.inc.F90"
3035 300 : end procedure
3036 : #endif
3037 :
3038 : #if RK1_ENABLED
3039 301 : module procedure getStrippedCusComSR_D1_D1_RK1
3040 : use pm_kind, only: RKC => RK1
3041 : #include "pm_arrayStrip@routines.inc.F90"
3042 301 : end procedure
3043 : #endif
3044 :
3045 : #undef RK_ENABLED
3046 :
3047 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3048 :
3049 : #undef D1_D1_ENABLED
3050 :
3051 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3052 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3053 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3054 :
3055 : #undef CusCom_ENABLED
3056 :
3057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3058 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3059 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3060 :
3061 : #undef SR_ENABLED
3062 :
3063 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3064 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3066 :
3067 : #undef getStripped_ENABLED
3068 :
3069 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3070 :
3071 : #define getSIL_ENABLED 1
3072 :
3073 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3074 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3075 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3076 :
3077 : #define DefCom_ENABLED 1
3078 :
3079 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3080 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3081 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3082 :
3083 : #define D0_D0_ENABLED 1
3084 :
3085 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3086 :
3087 : #define SK_ENABLED 1
3088 :
3089 : #if SK5_ENABLED
3090 : module procedure getSILDefCom_D0_D0_SK5
3091 : use pm_kind, only: SKC => SK5
3092 : #include "pm_arrayStrip@routines.inc.F90"
3093 : end procedure
3094 : #endif
3095 :
3096 : #if SK4_ENABLED
3097 : module procedure getSILDefCom_D0_D0_SK4
3098 : use pm_kind, only: SKC => SK4
3099 : #include "pm_arrayStrip@routines.inc.F90"
3100 : end procedure
3101 : #endif
3102 :
3103 : #if SK3_ENABLED
3104 : module procedure getSILDefCom_D0_D0_SK3
3105 : use pm_kind, only: SKC => SK3
3106 : #include "pm_arrayStrip@routines.inc.F90"
3107 : end procedure
3108 : #endif
3109 :
3110 : #if SK2_ENABLED
3111 : module procedure getSILDefCom_D0_D0_SK2
3112 : use pm_kind, only: SKC => SK2
3113 : #include "pm_arrayStrip@routines.inc.F90"
3114 : end procedure
3115 : #endif
3116 :
3117 : #if SK1_ENABLED
3118 582896 : module procedure getSILDefCom_D0_D0_SK1
3119 : use pm_kind, only: SKC => SK1
3120 : #include "pm_arrayStrip@routines.inc.F90"
3121 : end procedure
3122 : #endif
3123 :
3124 : #undef SK_ENABLED
3125 :
3126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3127 :
3128 : #undef D0_D0_ENABLED
3129 :
3130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3133 :
3134 : #define D1_D0_ENABLED 1
3135 :
3136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3137 :
3138 : #define SK_ENABLED 1
3139 :
3140 : #if SK5_ENABLED
3141 : module procedure getSILDefCom_D1_D0_SK5
3142 : use pm_kind, only: SKC => SK5
3143 : #include "pm_arrayStrip@routines.inc.F90"
3144 : end procedure
3145 : #endif
3146 :
3147 : #if SK4_ENABLED
3148 : module procedure getSILDefCom_D1_D0_SK4
3149 : use pm_kind, only: SKC => SK4
3150 : #include "pm_arrayStrip@routines.inc.F90"
3151 : end procedure
3152 : #endif
3153 :
3154 : #if SK3_ENABLED
3155 : module procedure getSILDefCom_D1_D0_SK3
3156 : use pm_kind, only: SKC => SK3
3157 : #include "pm_arrayStrip@routines.inc.F90"
3158 : end procedure
3159 : #endif
3160 :
3161 : #if SK2_ENABLED
3162 : module procedure getSILDefCom_D1_D0_SK2
3163 : use pm_kind, only: SKC => SK2
3164 : #include "pm_arrayStrip@routines.inc.F90"
3165 : end procedure
3166 : #endif
3167 :
3168 : #if SK1_ENABLED
3169 2012 : module procedure getSILDefCom_D1_D0_SK1
3170 : use pm_kind, only: SKC => SK1
3171 : #include "pm_arrayStrip@routines.inc.F90"
3172 : end procedure
3173 : #endif
3174 :
3175 : #undef SK_ENABLED
3176 :
3177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3178 :
3179 : #define IK_ENABLED 1
3180 :
3181 : #if IK5_ENABLED
3182 2000 : module procedure getSILDefCom_D1_D0_IK5
3183 : use pm_kind, only: IKC => IK5
3184 : #include "pm_arrayStrip@routines.inc.F90"
3185 : end procedure
3186 : #endif
3187 :
3188 : #if IK4_ENABLED
3189 2000 : module procedure getSILDefCom_D1_D0_IK4
3190 : use pm_kind, only: IKC => IK4
3191 : #include "pm_arrayStrip@routines.inc.F90"
3192 : end procedure
3193 : #endif
3194 :
3195 : #if IK3_ENABLED
3196 2008 : module procedure getSILDefCom_D1_D0_IK3
3197 : use pm_kind, only: IKC => IK3
3198 : #include "pm_arrayStrip@routines.inc.F90"
3199 : end procedure
3200 : #endif
3201 :
3202 : #if IK2_ENABLED
3203 2000 : module procedure getSILDefCom_D1_D0_IK2
3204 : use pm_kind, only: IKC => IK2
3205 : #include "pm_arrayStrip@routines.inc.F90"
3206 : end procedure
3207 : #endif
3208 :
3209 : #if IK1_ENABLED
3210 2000 : module procedure getSILDefCom_D1_D0_IK1
3211 : use pm_kind, only: IKC => IK1
3212 : #include "pm_arrayStrip@routines.inc.F90"
3213 : end procedure
3214 : #endif
3215 :
3216 : #undef IK_ENABLED
3217 :
3218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3219 :
3220 : #define LK_ENABLED 1
3221 :
3222 : #if LK5_ENABLED
3223 2000 : module procedure getSILDefCom_D1_D0_LK5
3224 : use pm_kind, only: LKC => LK5
3225 : #include "pm_arrayStrip@routines.inc.F90"
3226 : end procedure
3227 : #endif
3228 :
3229 : #if LK4_ENABLED
3230 2000 : module procedure getSILDefCom_D1_D0_LK4
3231 : use pm_kind, only: LKC => LK4
3232 : #include "pm_arrayStrip@routines.inc.F90"
3233 : end procedure
3234 : #endif
3235 :
3236 : #if LK3_ENABLED
3237 2008 : module procedure getSILDefCom_D1_D0_LK3
3238 : use pm_kind, only: LKC => LK3
3239 : #include "pm_arrayStrip@routines.inc.F90"
3240 : end procedure
3241 : #endif
3242 :
3243 : #if LK2_ENABLED
3244 2000 : module procedure getSILDefCom_D1_D0_LK2
3245 : use pm_kind, only: LKC => LK2
3246 : #include "pm_arrayStrip@routines.inc.F90"
3247 : end procedure
3248 : #endif
3249 :
3250 : #if LK1_ENABLED
3251 2000 : module procedure getSILDefCom_D1_D0_LK1
3252 : use pm_kind, only: LKC => LK1
3253 : #include "pm_arrayStrip@routines.inc.F90"
3254 : end procedure
3255 : #endif
3256 :
3257 : #undef LK_ENABLED
3258 :
3259 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3260 :
3261 : #define CK_ENABLED 1
3262 :
3263 : #if CK5_ENABLED
3264 : module procedure getSILDefCom_D1_D0_CK5
3265 : use pm_kind, only: CKC => CK5
3266 : #include "pm_arrayStrip@routines.inc.F90"
3267 : end procedure
3268 : #endif
3269 :
3270 : #if CK4_ENABLED
3271 2000 : module procedure getSILDefCom_D1_D0_CK4
3272 : use pm_kind, only: CKC => CK4
3273 : #include "pm_arrayStrip@routines.inc.F90"
3274 : end procedure
3275 : #endif
3276 :
3277 : #if CK3_ENABLED
3278 2000 : module procedure getSILDefCom_D1_D0_CK3
3279 : use pm_kind, only: CKC => CK3
3280 : #include "pm_arrayStrip@routines.inc.F90"
3281 : end procedure
3282 : #endif
3283 :
3284 : #if CK2_ENABLED
3285 2000 : module procedure getSILDefCom_D1_D0_CK2
3286 : use pm_kind, only: CKC => CK2
3287 : #include "pm_arrayStrip@routines.inc.F90"
3288 : end procedure
3289 : #endif
3290 :
3291 : #if CK1_ENABLED
3292 2008 : module procedure getSILDefCom_D1_D0_CK1
3293 : use pm_kind, only: CKC => CK1
3294 : #include "pm_arrayStrip@routines.inc.F90"
3295 : end procedure
3296 : #endif
3297 :
3298 : #undef CK_ENABLED
3299 :
3300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3301 :
3302 : #define RK_ENABLED 1
3303 :
3304 : #if RK5_ENABLED
3305 : module procedure getSILDefCom_D1_D0_RK5
3306 : use pm_kind, only: RKC => RK5
3307 : #include "pm_arrayStrip@routines.inc.F90"
3308 : end procedure
3309 : #endif
3310 :
3311 : #if RK4_ENABLED
3312 2000 : module procedure getSILDefCom_D1_D0_RK4
3313 : use pm_kind, only: RKC => RK4
3314 : #include "pm_arrayStrip@routines.inc.F90"
3315 : end procedure
3316 : #endif
3317 :
3318 : #if RK3_ENABLED
3319 2000 : module procedure getSILDefCom_D1_D0_RK3
3320 : use pm_kind, only: RKC => RK3
3321 : #include "pm_arrayStrip@routines.inc.F90"
3322 : end procedure
3323 : #endif
3324 :
3325 : #if RK2_ENABLED
3326 2000 : module procedure getSILDefCom_D1_D0_RK2
3327 : use pm_kind, only: RKC => RK2
3328 : #include "pm_arrayStrip@routines.inc.F90"
3329 : end procedure
3330 : #endif
3331 :
3332 : #if RK1_ENABLED
3333 2005 : module procedure getSILDefCom_D1_D0_RK1
3334 : use pm_kind, only: RKC => RK1
3335 : #include "pm_arrayStrip@routines.inc.F90"
3336 : end procedure
3337 : #endif
3338 :
3339 : #undef RK_ENABLED
3340 :
3341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3342 :
3343 : #undef D1_D0_ENABLED
3344 :
3345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3346 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3347 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3348 :
3349 : #define D1_D1_ENABLED 1
3350 :
3351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3352 :
3353 : #define SK_ENABLED 1
3354 :
3355 : #if SK5_ENABLED
3356 : module procedure getSILDefCom_D1_D1_SK5
3357 : use pm_kind, only: SKC => SK5
3358 : #include "pm_arrayStrip@routines.inc.F90"
3359 : end procedure
3360 : #endif
3361 :
3362 : #if SK4_ENABLED
3363 : module procedure getSILDefCom_D1_D1_SK4
3364 : use pm_kind, only: SKC => SK4
3365 : #include "pm_arrayStrip@routines.inc.F90"
3366 : end procedure
3367 : #endif
3368 :
3369 : #if SK3_ENABLED
3370 : module procedure getSILDefCom_D1_D1_SK3
3371 : use pm_kind, only: SKC => SK3
3372 : #include "pm_arrayStrip@routines.inc.F90"
3373 : end procedure
3374 : #endif
3375 :
3376 : #if SK2_ENABLED
3377 : module procedure getSILDefCom_D1_D1_SK2
3378 : use pm_kind, only: SKC => SK2
3379 : #include "pm_arrayStrip@routines.inc.F90"
3380 : end procedure
3381 : #endif
3382 :
3383 : #if SK1_ENABLED
3384 2032 : module procedure getSILDefCom_D1_D1_SK1
3385 : use pm_kind, only: SKC => SK1
3386 : #include "pm_arrayStrip@routines.inc.F90"
3387 : end procedure
3388 : #endif
3389 :
3390 : #undef SK_ENABLED
3391 :
3392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3393 :
3394 : #define IK_ENABLED 1
3395 :
3396 : #if IK5_ENABLED
3397 2008 : module procedure getSILDefCom_D1_D1_IK5
3398 : use pm_kind, only: IKC => IK5
3399 : #include "pm_arrayStrip@routines.inc.F90"
3400 : end procedure
3401 : #endif
3402 :
3403 : #if IK4_ENABLED
3404 2008 : module procedure getSILDefCom_D1_D1_IK4
3405 : use pm_kind, only: IKC => IK4
3406 : #include "pm_arrayStrip@routines.inc.F90"
3407 : end procedure
3408 : #endif
3409 :
3410 : #if IK3_ENABLED
3411 2034 : module procedure getSILDefCom_D1_D1_IK3
3412 : use pm_kind, only: IKC => IK3
3413 : #include "pm_arrayStrip@routines.inc.F90"
3414 : end procedure
3415 : #endif
3416 :
3417 : #if IK2_ENABLED
3418 2008 : module procedure getSILDefCom_D1_D1_IK2
3419 : use pm_kind, only: IKC => IK2
3420 : #include "pm_arrayStrip@routines.inc.F90"
3421 : end procedure
3422 : #endif
3423 :
3424 : #if IK1_ENABLED
3425 2008 : module procedure getSILDefCom_D1_D1_IK1
3426 : use pm_kind, only: IKC => IK1
3427 : #include "pm_arrayStrip@routines.inc.F90"
3428 : end procedure
3429 : #endif
3430 :
3431 : #undef IK_ENABLED
3432 :
3433 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3434 :
3435 : #define LK_ENABLED 1
3436 :
3437 : #if LK5_ENABLED
3438 2008 : module procedure getSILDefCom_D1_D1_LK5
3439 : use pm_kind, only: LKC => LK5
3440 : #include "pm_arrayStrip@routines.inc.F90"
3441 : end procedure
3442 : #endif
3443 :
3444 : #if LK4_ENABLED
3445 2008 : module procedure getSILDefCom_D1_D1_LK4
3446 : use pm_kind, only: LKC => LK4
3447 : #include "pm_arrayStrip@routines.inc.F90"
3448 : end procedure
3449 : #endif
3450 :
3451 : #if LK3_ENABLED
3452 2036 : module procedure getSILDefCom_D1_D1_LK3
3453 : use pm_kind, only: LKC => LK3
3454 : #include "pm_arrayStrip@routines.inc.F90"
3455 : end procedure
3456 : #endif
3457 :
3458 : #if LK2_ENABLED
3459 2008 : module procedure getSILDefCom_D1_D1_LK2
3460 : use pm_kind, only: LKC => LK2
3461 : #include "pm_arrayStrip@routines.inc.F90"
3462 : end procedure
3463 : #endif
3464 :
3465 : #if LK1_ENABLED
3466 2008 : module procedure getSILDefCom_D1_D1_LK1
3467 : use pm_kind, only: LKC => LK1
3468 : #include "pm_arrayStrip@routines.inc.F90"
3469 : end procedure
3470 : #endif
3471 :
3472 : #undef LK_ENABLED
3473 :
3474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3475 :
3476 : #define CK_ENABLED 1
3477 :
3478 : #if CK5_ENABLED
3479 : module procedure getSILDefCom_D1_D1_CK5
3480 : use pm_kind, only: CKC => CK5
3481 : #include "pm_arrayStrip@routines.inc.F90"
3482 : end procedure
3483 : #endif
3484 :
3485 : #if CK4_ENABLED
3486 2008 : module procedure getSILDefCom_D1_D1_CK4
3487 : use pm_kind, only: CKC => CK4
3488 : #include "pm_arrayStrip@routines.inc.F90"
3489 : end procedure
3490 : #endif
3491 :
3492 : #if CK3_ENABLED
3493 2008 : module procedure getSILDefCom_D1_D1_CK3
3494 : use pm_kind, only: CKC => CK3
3495 : #include "pm_arrayStrip@routines.inc.F90"
3496 : end procedure
3497 : #endif
3498 :
3499 : #if CK2_ENABLED
3500 2008 : module procedure getSILDefCom_D1_D1_CK2
3501 : use pm_kind, only: CKC => CK2
3502 : #include "pm_arrayStrip@routines.inc.F90"
3503 : end procedure
3504 : #endif
3505 :
3506 : #if CK1_ENABLED
3507 2036 : module procedure getSILDefCom_D1_D1_CK1
3508 : use pm_kind, only: CKC => CK1
3509 : #include "pm_arrayStrip@routines.inc.F90"
3510 : end procedure
3511 : #endif
3512 :
3513 : #undef CK_ENABLED
3514 :
3515 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3516 :
3517 : #define RK_ENABLED 1
3518 :
3519 : #if RK5_ENABLED
3520 : module procedure getSILDefCom_D1_D1_RK5
3521 : use pm_kind, only: RKC => RK5
3522 : #include "pm_arrayStrip@routines.inc.F90"
3523 : end procedure
3524 : #endif
3525 :
3526 : #if RK4_ENABLED
3527 2008 : module procedure getSILDefCom_D1_D1_RK4
3528 : use pm_kind, only: RKC => RK4
3529 : #include "pm_arrayStrip@routines.inc.F90"
3530 : end procedure
3531 : #endif
3532 :
3533 : #if RK3_ENABLED
3534 2008 : module procedure getSILDefCom_D1_D1_RK3
3535 : use pm_kind, only: RKC => RK3
3536 : #include "pm_arrayStrip@routines.inc.F90"
3537 : end procedure
3538 : #endif
3539 :
3540 : #if RK2_ENABLED
3541 2008 : module procedure getSILDefCom_D1_D1_RK2
3542 : use pm_kind, only: RKC => RK2
3543 : #include "pm_arrayStrip@routines.inc.F90"
3544 : end procedure
3545 : #endif
3546 :
3547 : #if RK1_ENABLED
3548 2036 : module procedure getSILDefCom_D1_D1_RK1
3549 : use pm_kind, only: RKC => RK1
3550 : #include "pm_arrayStrip@routines.inc.F90"
3551 : end procedure
3552 : #endif
3553 :
3554 : #undef RK_ENABLED
3555 :
3556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3557 :
3558 : #undef D1_D1_ENABLED
3559 :
3560 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3561 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3563 :
3564 : #undef DefCom_ENABLED
3565 :
3566 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3569 :
3570 : #define CusCom_ENABLED 1
3571 :
3572 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3573 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3574 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3575 :
3576 : #define D0_D0_ENABLED 1
3577 :
3578 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3579 :
3580 : #define SK_ENABLED 1
3581 :
3582 : #if SK5_ENABLED
3583 : module procedure getSILCusCom_D0_D0_SK5
3584 : use pm_kind, only: SKC => SK5
3585 : #include "pm_arrayStrip@routines.inc.F90"
3586 : end procedure
3587 : #endif
3588 :
3589 : #if SK4_ENABLED
3590 : module procedure getSILCusCom_D0_D0_SK4
3591 : use pm_kind, only: SKC => SK4
3592 : #include "pm_arrayStrip@routines.inc.F90"
3593 : end procedure
3594 : #endif
3595 :
3596 : #if SK3_ENABLED
3597 : module procedure getSILCusCom_D0_D0_SK3
3598 : use pm_kind, only: SKC => SK3
3599 : #include "pm_arrayStrip@routines.inc.F90"
3600 : end procedure
3601 : #endif
3602 :
3603 : #if SK2_ENABLED
3604 : module procedure getSILCusCom_D0_D0_SK2
3605 : use pm_kind, only: SKC => SK2
3606 : #include "pm_arrayStrip@routines.inc.F90"
3607 : end procedure
3608 : #endif
3609 :
3610 : #if SK1_ENABLED
3611 1210 : module procedure getSILCusCom_D0_D0_SK1
3612 : use pm_kind, only: SKC => SK1
3613 : #include "pm_arrayStrip@routines.inc.F90"
3614 : end procedure
3615 : #endif
3616 :
3617 : #undef SK_ENABLED
3618 :
3619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3620 :
3621 : #undef D0_D0_ENABLED
3622 :
3623 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3624 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3626 :
3627 : #define D1_D0_ENABLED 1
3628 :
3629 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3630 :
3631 : #define SK_ENABLED 1
3632 :
3633 : #if SK5_ENABLED
3634 : module procedure getSILCusCom_D1_D0_SK5
3635 : use pm_kind, only: SKC => SK5
3636 : #include "pm_arrayStrip@routines.inc.F90"
3637 : end procedure
3638 : #endif
3639 :
3640 : #if SK4_ENABLED
3641 : module procedure getSILCusCom_D1_D0_SK4
3642 : use pm_kind, only: SKC => SK4
3643 : #include "pm_arrayStrip@routines.inc.F90"
3644 : end procedure
3645 : #endif
3646 :
3647 : #if SK3_ENABLED
3648 : module procedure getSILCusCom_D1_D0_SK3
3649 : use pm_kind, only: SKC => SK3
3650 : #include "pm_arrayStrip@routines.inc.F90"
3651 : end procedure
3652 : #endif
3653 :
3654 : #if SK2_ENABLED
3655 : module procedure getSILCusCom_D1_D0_SK2
3656 : use pm_kind, only: SKC => SK2
3657 : #include "pm_arrayStrip@routines.inc.F90"
3658 : end procedure
3659 : #endif
3660 :
3661 : #if SK1_ENABLED
3662 1404 : module procedure getSILCusCom_D1_D0_SK1
3663 : use pm_kind, only: SKC => SK1
3664 : #include "pm_arrayStrip@routines.inc.F90"
3665 : end procedure
3666 : #endif
3667 :
3668 : #undef SK_ENABLED
3669 :
3670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3671 :
3672 : #define IK_ENABLED 1
3673 :
3674 : #if IK5_ENABLED
3675 1400 : module procedure getSILCusCom_D1_D0_IK5
3676 : use pm_kind, only: IKC => IK5
3677 : #include "pm_arrayStrip@routines.inc.F90"
3678 : end procedure
3679 : #endif
3680 :
3681 : #if IK4_ENABLED
3682 1400 : module procedure getSILCusCom_D1_D0_IK4
3683 : use pm_kind, only: IKC => IK4
3684 : #include "pm_arrayStrip@routines.inc.F90"
3685 : end procedure
3686 : #endif
3687 :
3688 : #if IK3_ENABLED
3689 1404 : module procedure getSILCusCom_D1_D0_IK3
3690 : use pm_kind, only: IKC => IK3
3691 : #include "pm_arrayStrip@routines.inc.F90"
3692 : end procedure
3693 : #endif
3694 :
3695 : #if IK2_ENABLED
3696 1400 : module procedure getSILCusCom_D1_D0_IK2
3697 : use pm_kind, only: IKC => IK2
3698 : #include "pm_arrayStrip@routines.inc.F90"
3699 : end procedure
3700 : #endif
3701 :
3702 : #if IK1_ENABLED
3703 1400 : module procedure getSILCusCom_D1_D0_IK1
3704 : use pm_kind, only: IKC => IK1
3705 : #include "pm_arrayStrip@routines.inc.F90"
3706 : end procedure
3707 : #endif
3708 :
3709 : #undef IK_ENABLED
3710 :
3711 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3712 :
3713 : #define LK_ENABLED 1
3714 :
3715 : #if LK5_ENABLED
3716 1400 : module procedure getSILCusCom_D1_D0_LK5
3717 : use pm_kind, only: LKC => LK5
3718 : #include "pm_arrayStrip@routines.inc.F90"
3719 : end procedure
3720 : #endif
3721 :
3722 : #if LK4_ENABLED
3723 1400 : module procedure getSILCusCom_D1_D0_LK4
3724 : use pm_kind, only: LKC => LK4
3725 : #include "pm_arrayStrip@routines.inc.F90"
3726 : end procedure
3727 : #endif
3728 :
3729 : #if LK3_ENABLED
3730 1404 : module procedure getSILCusCom_D1_D0_LK3
3731 : use pm_kind, only: LKC => LK3
3732 : #include "pm_arrayStrip@routines.inc.F90"
3733 : end procedure
3734 : #endif
3735 :
3736 : #if LK2_ENABLED
3737 1400 : module procedure getSILCusCom_D1_D0_LK2
3738 : use pm_kind, only: LKC => LK2
3739 : #include "pm_arrayStrip@routines.inc.F90"
3740 : end procedure
3741 : #endif
3742 :
3743 : #if LK1_ENABLED
3744 1400 : module procedure getSILCusCom_D1_D0_LK1
3745 : use pm_kind, only: LKC => LK1
3746 : #include "pm_arrayStrip@routines.inc.F90"
3747 : end procedure
3748 : #endif
3749 :
3750 : #undef LK_ENABLED
3751 :
3752 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3753 :
3754 : #define CK_ENABLED 1
3755 :
3756 : #if CK5_ENABLED
3757 : module procedure getSILCusCom_D1_D0_CK5
3758 : use pm_kind, only: CKC => CK5
3759 : #include "pm_arrayStrip@routines.inc.F90"
3760 : end procedure
3761 : #endif
3762 :
3763 : #if CK4_ENABLED
3764 1400 : module procedure getSILCusCom_D1_D0_CK4
3765 : use pm_kind, only: CKC => CK4
3766 : #include "pm_arrayStrip@routines.inc.F90"
3767 : end procedure
3768 : #endif
3769 :
3770 : #if CK3_ENABLED
3771 1400 : module procedure getSILCusCom_D1_D0_CK3
3772 : use pm_kind, only: CKC => CK3
3773 : #include "pm_arrayStrip@routines.inc.F90"
3774 : end procedure
3775 : #endif
3776 :
3777 : #if CK2_ENABLED
3778 1400 : module procedure getSILCusCom_D1_D0_CK2
3779 : use pm_kind, only: CKC => CK2
3780 : #include "pm_arrayStrip@routines.inc.F90"
3781 : end procedure
3782 : #endif
3783 :
3784 : #if CK1_ENABLED
3785 1404 : module procedure getSILCusCom_D1_D0_CK1
3786 : use pm_kind, only: CKC => CK1
3787 : #include "pm_arrayStrip@routines.inc.F90"
3788 : end procedure
3789 : #endif
3790 :
3791 : #undef CK_ENABLED
3792 :
3793 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3794 :
3795 : #define RK_ENABLED 1
3796 :
3797 : #if RK5_ENABLED
3798 : module procedure getSILCusCom_D1_D0_RK5
3799 : use pm_kind, only: RKC => RK5
3800 : #include "pm_arrayStrip@routines.inc.F90"
3801 : end procedure
3802 : #endif
3803 :
3804 : #if RK4_ENABLED
3805 1400 : module procedure getSILCusCom_D1_D0_RK4
3806 : use pm_kind, only: RKC => RK4
3807 : #include "pm_arrayStrip@routines.inc.F90"
3808 : end procedure
3809 : #endif
3810 :
3811 : #if RK3_ENABLED
3812 1400 : module procedure getSILCusCom_D1_D0_RK3
3813 : use pm_kind, only: RKC => RK3
3814 : #include "pm_arrayStrip@routines.inc.F90"
3815 : end procedure
3816 : #endif
3817 :
3818 : #if RK2_ENABLED
3819 1400 : module procedure getSILCusCom_D1_D0_RK2
3820 : use pm_kind, only: RKC => RK2
3821 : #include "pm_arrayStrip@routines.inc.F90"
3822 : end procedure
3823 : #endif
3824 :
3825 : #if RK1_ENABLED
3826 1402 : module procedure getSILCusCom_D1_D0_RK1
3827 : use pm_kind, only: RKC => RK1
3828 : #include "pm_arrayStrip@routines.inc.F90"
3829 : end procedure
3830 : #endif
3831 :
3832 : #undef RK_ENABLED
3833 :
3834 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3835 :
3836 : #undef D1_D0_ENABLED
3837 :
3838 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3839 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3841 :
3842 : #define D1_D1_ENABLED 1
3843 :
3844 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3845 :
3846 : #define SK_ENABLED 1
3847 :
3848 : #if SK5_ENABLED
3849 : module procedure getSILCusCom_D1_D1_SK5
3850 : use pm_kind, only: SKC => SK5
3851 : #include "pm_arrayStrip@routines.inc.F90"
3852 : end procedure
3853 : #endif
3854 :
3855 : #if SK4_ENABLED
3856 : module procedure getSILCusCom_D1_D1_SK4
3857 : use pm_kind, only: SKC => SK4
3858 : #include "pm_arrayStrip@routines.inc.F90"
3859 : end procedure
3860 : #endif
3861 :
3862 : #if SK3_ENABLED
3863 : module procedure getSILCusCom_D1_D1_SK3
3864 : use pm_kind, only: SKC => SK3
3865 : #include "pm_arrayStrip@routines.inc.F90"
3866 : end procedure
3867 : #endif
3868 :
3869 : #if SK2_ENABLED
3870 : module procedure getSILCusCom_D1_D1_SK2
3871 : use pm_kind, only: SKC => SK2
3872 : #include "pm_arrayStrip@routines.inc.F90"
3873 : end procedure
3874 : #endif
3875 :
3876 : #if SK1_ENABLED
3877 1412 : module procedure getSILCusCom_D1_D1_SK1
3878 : use pm_kind, only: SKC => SK1
3879 : #include "pm_arrayStrip@routines.inc.F90"
3880 : end procedure
3881 : #endif
3882 :
3883 : #undef SK_ENABLED
3884 :
3885 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3886 :
3887 : #define IK_ENABLED 1
3888 :
3889 : #if IK5_ENABLED
3890 1408 : module procedure getSILCusCom_D1_D1_IK5
3891 : use pm_kind, only: IKC => IK5
3892 : #include "pm_arrayStrip@routines.inc.F90"
3893 : end procedure
3894 : #endif
3895 :
3896 : #if IK4_ENABLED
3897 1408 : module procedure getSILCusCom_D1_D1_IK4
3898 : use pm_kind, only: IKC => IK4
3899 : #include "pm_arrayStrip@routines.inc.F90"
3900 : end procedure
3901 : #endif
3902 :
3903 : #if IK3_ENABLED
3904 1412 : module procedure getSILCusCom_D1_D1_IK3
3905 : use pm_kind, only: IKC => IK3
3906 : #include "pm_arrayStrip@routines.inc.F90"
3907 : end procedure
3908 : #endif
3909 :
3910 : #if IK2_ENABLED
3911 1408 : module procedure getSILCusCom_D1_D1_IK2
3912 : use pm_kind, only: IKC => IK2
3913 : #include "pm_arrayStrip@routines.inc.F90"
3914 : end procedure
3915 : #endif
3916 :
3917 : #if IK1_ENABLED
3918 1408 : module procedure getSILCusCom_D1_D1_IK1
3919 : use pm_kind, only: IKC => IK1
3920 : #include "pm_arrayStrip@routines.inc.F90"
3921 : end procedure
3922 : #endif
3923 :
3924 : #undef IK_ENABLED
3925 :
3926 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3927 :
3928 : #define LK_ENABLED 1
3929 :
3930 : #if LK5_ENABLED
3931 1408 : module procedure getSILCusCom_D1_D1_LK5
3932 : use pm_kind, only: LKC => LK5
3933 : #include "pm_arrayStrip@routines.inc.F90"
3934 : end procedure
3935 : #endif
3936 :
3937 : #if LK4_ENABLED
3938 1408 : module procedure getSILCusCom_D1_D1_LK4
3939 : use pm_kind, only: LKC => LK4
3940 : #include "pm_arrayStrip@routines.inc.F90"
3941 : end procedure
3942 : #endif
3943 :
3944 : #if LK3_ENABLED
3945 1412 : module procedure getSILCusCom_D1_D1_LK3
3946 : use pm_kind, only: LKC => LK3
3947 : #include "pm_arrayStrip@routines.inc.F90"
3948 : end procedure
3949 : #endif
3950 :
3951 : #if LK2_ENABLED
3952 1408 : module procedure getSILCusCom_D1_D1_LK2
3953 : use pm_kind, only: LKC => LK2
3954 : #include "pm_arrayStrip@routines.inc.F90"
3955 : end procedure
3956 : #endif
3957 :
3958 : #if LK1_ENABLED
3959 1408 : module procedure getSILCusCom_D1_D1_LK1
3960 : use pm_kind, only: LKC => LK1
3961 : #include "pm_arrayStrip@routines.inc.F90"
3962 : end procedure
3963 : #endif
3964 :
3965 : #undef LK_ENABLED
3966 :
3967 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3968 :
3969 : #define CK_ENABLED 1
3970 :
3971 : #if CK5_ENABLED
3972 : module procedure getSILCusCom_D1_D1_CK5
3973 : use pm_kind, only: CKC => CK5
3974 : #include "pm_arrayStrip@routines.inc.F90"
3975 : end procedure
3976 : #endif
3977 :
3978 : #if CK4_ENABLED
3979 1408 : module procedure getSILCusCom_D1_D1_CK4
3980 : use pm_kind, only: CKC => CK4
3981 : #include "pm_arrayStrip@routines.inc.F90"
3982 : end procedure
3983 : #endif
3984 :
3985 : #if CK3_ENABLED
3986 1408 : module procedure getSILCusCom_D1_D1_CK3
3987 : use pm_kind, only: CKC => CK3
3988 : #include "pm_arrayStrip@routines.inc.F90"
3989 : end procedure
3990 : #endif
3991 :
3992 : #if CK2_ENABLED
3993 1408 : module procedure getSILCusCom_D1_D1_CK2
3994 : use pm_kind, only: CKC => CK2
3995 : #include "pm_arrayStrip@routines.inc.F90"
3996 : end procedure
3997 : #endif
3998 :
3999 : #if CK1_ENABLED
4000 1412 : module procedure getSILCusCom_D1_D1_CK1
4001 : use pm_kind, only: CKC => CK1
4002 : #include "pm_arrayStrip@routines.inc.F90"
4003 : end procedure
4004 : #endif
4005 :
4006 : #undef CK_ENABLED
4007 :
4008 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4009 :
4010 : #define RK_ENABLED 1
4011 :
4012 : #if RK5_ENABLED
4013 : module procedure getSILCusCom_D1_D1_RK5
4014 : use pm_kind, only: RKC => RK5
4015 : #include "pm_arrayStrip@routines.inc.F90"
4016 : end procedure
4017 : #endif
4018 :
4019 : #if RK4_ENABLED
4020 1408 : module procedure getSILCusCom_D1_D1_RK4
4021 : use pm_kind, only: RKC => RK4
4022 : #include "pm_arrayStrip@routines.inc.F90"
4023 : end procedure
4024 : #endif
4025 :
4026 : #if RK3_ENABLED
4027 1408 : module procedure getSILCusCom_D1_D1_RK3
4028 : use pm_kind, only: RKC => RK3
4029 : #include "pm_arrayStrip@routines.inc.F90"
4030 : end procedure
4031 : #endif
4032 :
4033 : #if RK2_ENABLED
4034 1408 : module procedure getSILCusCom_D1_D1_RK2
4035 : use pm_kind, only: RKC => RK2
4036 : #include "pm_arrayStrip@routines.inc.F90"
4037 : end procedure
4038 : #endif
4039 :
4040 : #if RK1_ENABLED
4041 1412 : module procedure getSILCusCom_D1_D1_RK1
4042 : use pm_kind, only: RKC => RK1
4043 : #include "pm_arrayStrip@routines.inc.F90"
4044 : end procedure
4045 : #endif
4046 :
4047 : #undef RK_ENABLED
4048 :
4049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4050 :
4051 : #undef D1_D1_ENABLED
4052 :
4053 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4054 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4056 :
4057 : #undef CusCom_ENABLED
4058 :
4059 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4060 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4062 :
4063 : #undef getSIL_ENABLED
4064 :
4065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4066 :
4067 : #define getSIR_ENABLED 1
4068 :
4069 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4070 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4072 :
4073 : #define DefCom_ENABLED 1
4074 :
4075 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4076 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4077 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4078 :
4079 : #define D0_D0_ENABLED 1
4080 :
4081 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4082 :
4083 : #define SK_ENABLED 1
4084 :
4085 : #if SK5_ENABLED
4086 : module procedure getSIRDefCom_D0_D0_SK5
4087 : use pm_kind, only: SKC => SK5
4088 : #include "pm_arrayStrip@routines.inc.F90"
4089 : end procedure
4090 : #endif
4091 :
4092 : #if SK4_ENABLED
4093 : module procedure getSIRDefCom_D0_D0_SK4
4094 : use pm_kind, only: SKC => SK4
4095 : #include "pm_arrayStrip@routines.inc.F90"
4096 : end procedure
4097 : #endif
4098 :
4099 : #if SK3_ENABLED
4100 : module procedure getSIRDefCom_D0_D0_SK3
4101 : use pm_kind, only: SKC => SK3
4102 : #include "pm_arrayStrip@routines.inc.F90"
4103 : end procedure
4104 : #endif
4105 :
4106 : #if SK2_ENABLED
4107 : module procedure getSIRDefCom_D0_D0_SK2
4108 : use pm_kind, only: SKC => SK2
4109 : #include "pm_arrayStrip@routines.inc.F90"
4110 : end procedure
4111 : #endif
4112 :
4113 : #if SK1_ENABLED
4114 582922 : module procedure getSIRDefCom_D0_D0_SK1
4115 : use pm_kind, only: SKC => SK1
4116 : #include "pm_arrayStrip@routines.inc.F90"
4117 : end procedure
4118 : #endif
4119 :
4120 : #undef SK_ENABLED
4121 :
4122 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4123 :
4124 : #undef D0_D0_ENABLED
4125 :
4126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4127 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4128 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4129 :
4130 : #define D1_D0_ENABLED 1
4131 :
4132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4133 :
4134 : #define SK_ENABLED 1
4135 :
4136 : #if SK5_ENABLED
4137 : module procedure getSIRDefCom_D1_D0_SK5
4138 : use pm_kind, only: SKC => SK5
4139 : #include "pm_arrayStrip@routines.inc.F90"
4140 : end procedure
4141 : #endif
4142 :
4143 : #if SK4_ENABLED
4144 : module procedure getSIRDefCom_D1_D0_SK4
4145 : use pm_kind, only: SKC => SK4
4146 : #include "pm_arrayStrip@routines.inc.F90"
4147 : end procedure
4148 : #endif
4149 :
4150 : #if SK3_ENABLED
4151 : module procedure getSIRDefCom_D1_D0_SK3
4152 : use pm_kind, only: SKC => SK3
4153 : #include "pm_arrayStrip@routines.inc.F90"
4154 : end procedure
4155 : #endif
4156 :
4157 : #if SK2_ENABLED
4158 : module procedure getSIRDefCom_D1_D0_SK2
4159 : use pm_kind, only: SKC => SK2
4160 : #include "pm_arrayStrip@routines.inc.F90"
4161 : end procedure
4162 : #endif
4163 :
4164 : #if SK1_ENABLED
4165 2012 : module procedure getSIRDefCom_D1_D0_SK1
4166 : use pm_kind, only: SKC => SK1
4167 : #include "pm_arrayStrip@routines.inc.F90"
4168 : end procedure
4169 : #endif
4170 :
4171 : #undef SK_ENABLED
4172 :
4173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4174 :
4175 : #define IK_ENABLED 1
4176 :
4177 : #if IK5_ENABLED
4178 2000 : module procedure getSIRDefCom_D1_D0_IK5
4179 : use pm_kind, only: IKC => IK5
4180 : #include "pm_arrayStrip@routines.inc.F90"
4181 : end procedure
4182 : #endif
4183 :
4184 : #if IK4_ENABLED
4185 2000 : module procedure getSIRDefCom_D1_D0_IK4
4186 : use pm_kind, only: IKC => IK4
4187 : #include "pm_arrayStrip@routines.inc.F90"
4188 : end procedure
4189 : #endif
4190 :
4191 : #if IK3_ENABLED
4192 2008 : module procedure getSIRDefCom_D1_D0_IK3
4193 : use pm_kind, only: IKC => IK3
4194 : #include "pm_arrayStrip@routines.inc.F90"
4195 : end procedure
4196 : #endif
4197 :
4198 : #if IK2_ENABLED
4199 2000 : module procedure getSIRDefCom_D1_D0_IK2
4200 : use pm_kind, only: IKC => IK2
4201 : #include "pm_arrayStrip@routines.inc.F90"
4202 : end procedure
4203 : #endif
4204 :
4205 : #if IK1_ENABLED
4206 2000 : module procedure getSIRDefCom_D1_D0_IK1
4207 : use pm_kind, only: IKC => IK1
4208 : #include "pm_arrayStrip@routines.inc.F90"
4209 : end procedure
4210 : #endif
4211 :
4212 : #undef IK_ENABLED
4213 :
4214 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4215 :
4216 : #define LK_ENABLED 1
4217 :
4218 : #if LK5_ENABLED
4219 2000 : module procedure getSIRDefCom_D1_D0_LK5
4220 : use pm_kind, only: LKC => LK5
4221 : #include "pm_arrayStrip@routines.inc.F90"
4222 : end procedure
4223 : #endif
4224 :
4225 : #if LK4_ENABLED
4226 2000 : module procedure getSIRDefCom_D1_D0_LK4
4227 : use pm_kind, only: LKC => LK4
4228 : #include "pm_arrayStrip@routines.inc.F90"
4229 : end procedure
4230 : #endif
4231 :
4232 : #if LK3_ENABLED
4233 2008 : module procedure getSIRDefCom_D1_D0_LK3
4234 : use pm_kind, only: LKC => LK3
4235 : #include "pm_arrayStrip@routines.inc.F90"
4236 : end procedure
4237 : #endif
4238 :
4239 : #if LK2_ENABLED
4240 2000 : module procedure getSIRDefCom_D1_D0_LK2
4241 : use pm_kind, only: LKC => LK2
4242 : #include "pm_arrayStrip@routines.inc.F90"
4243 : end procedure
4244 : #endif
4245 :
4246 : #if LK1_ENABLED
4247 2000 : module procedure getSIRDefCom_D1_D0_LK1
4248 : use pm_kind, only: LKC => LK1
4249 : #include "pm_arrayStrip@routines.inc.F90"
4250 : end procedure
4251 : #endif
4252 :
4253 : #undef LK_ENABLED
4254 :
4255 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4256 :
4257 : #define CK_ENABLED 1
4258 :
4259 : #if CK5_ENABLED
4260 : module procedure getSIRDefCom_D1_D0_CK5
4261 : use pm_kind, only: CKC => CK5
4262 : #include "pm_arrayStrip@routines.inc.F90"
4263 : end procedure
4264 : #endif
4265 :
4266 : #if CK4_ENABLED
4267 2000 : module procedure getSIRDefCom_D1_D0_CK4
4268 : use pm_kind, only: CKC => CK4
4269 : #include "pm_arrayStrip@routines.inc.F90"
4270 : end procedure
4271 : #endif
4272 :
4273 : #if CK3_ENABLED
4274 2000 : module procedure getSIRDefCom_D1_D0_CK3
4275 : use pm_kind, only: CKC => CK3
4276 : #include "pm_arrayStrip@routines.inc.F90"
4277 : end procedure
4278 : #endif
4279 :
4280 : #if CK2_ENABLED
4281 2000 : module procedure getSIRDefCom_D1_D0_CK2
4282 : use pm_kind, only: CKC => CK2
4283 : #include "pm_arrayStrip@routines.inc.F90"
4284 : end procedure
4285 : #endif
4286 :
4287 : #if CK1_ENABLED
4288 2008 : module procedure getSIRDefCom_D1_D0_CK1
4289 : use pm_kind, only: CKC => CK1
4290 : #include "pm_arrayStrip@routines.inc.F90"
4291 : end procedure
4292 : #endif
4293 :
4294 : #undef CK_ENABLED
4295 :
4296 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4297 :
4298 : #define RK_ENABLED 1
4299 :
4300 : #if RK5_ENABLED
4301 : module procedure getSIRDefCom_D1_D0_RK5
4302 : use pm_kind, only: RKC => RK5
4303 : #include "pm_arrayStrip@routines.inc.F90"
4304 : end procedure
4305 : #endif
4306 :
4307 : #if RK4_ENABLED
4308 2000 : module procedure getSIRDefCom_D1_D0_RK4
4309 : use pm_kind, only: RKC => RK4
4310 : #include "pm_arrayStrip@routines.inc.F90"
4311 : end procedure
4312 : #endif
4313 :
4314 : #if RK3_ENABLED
4315 2000 : module procedure getSIRDefCom_D1_D0_RK3
4316 : use pm_kind, only: RKC => RK3
4317 : #include "pm_arrayStrip@routines.inc.F90"
4318 : end procedure
4319 : #endif
4320 :
4321 : #if RK2_ENABLED
4322 2000 : module procedure getSIRDefCom_D1_D0_RK2
4323 : use pm_kind, only: RKC => RK2
4324 : #include "pm_arrayStrip@routines.inc.F90"
4325 : end procedure
4326 : #endif
4327 :
4328 : #if RK1_ENABLED
4329 2005 : module procedure getSIRDefCom_D1_D0_RK1
4330 : use pm_kind, only: RKC => RK1
4331 : #include "pm_arrayStrip@routines.inc.F90"
4332 : end procedure
4333 : #endif
4334 :
4335 : #undef RK_ENABLED
4336 :
4337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4338 :
4339 : #undef D1_D0_ENABLED
4340 :
4341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4342 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4344 :
4345 : #define D1_D1_ENABLED 1
4346 :
4347 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4348 :
4349 : #define SK_ENABLED 1
4350 :
4351 : #if SK5_ENABLED
4352 : module procedure getSIRDefCom_D1_D1_SK5
4353 : use pm_kind, only: SKC => SK5
4354 : #include "pm_arrayStrip@routines.inc.F90"
4355 : end procedure
4356 : #endif
4357 :
4358 : #if SK4_ENABLED
4359 : module procedure getSIRDefCom_D1_D1_SK4
4360 : use pm_kind, only: SKC => SK4
4361 : #include "pm_arrayStrip@routines.inc.F90"
4362 : end procedure
4363 : #endif
4364 :
4365 : #if SK3_ENABLED
4366 : module procedure getSIRDefCom_D1_D1_SK3
4367 : use pm_kind, only: SKC => SK3
4368 : #include "pm_arrayStrip@routines.inc.F90"
4369 : end procedure
4370 : #endif
4371 :
4372 : #if SK2_ENABLED
4373 : module procedure getSIRDefCom_D1_D1_SK2
4374 : use pm_kind, only: SKC => SK2
4375 : #include "pm_arrayStrip@routines.inc.F90"
4376 : end procedure
4377 : #endif
4378 :
4379 : #if SK1_ENABLED
4380 2032 : module procedure getSIRDefCom_D1_D1_SK1
4381 : use pm_kind, only: SKC => SK1
4382 : #include "pm_arrayStrip@routines.inc.F90"
4383 : end procedure
4384 : #endif
4385 :
4386 : #undef SK_ENABLED
4387 :
4388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4389 :
4390 : #define IK_ENABLED 1
4391 :
4392 : #if IK5_ENABLED
4393 2008 : module procedure getSIRDefCom_D1_D1_IK5
4394 : use pm_kind, only: IKC => IK5
4395 : #include "pm_arrayStrip@routines.inc.F90"
4396 : end procedure
4397 : #endif
4398 :
4399 : #if IK4_ENABLED
4400 2008 : module procedure getSIRDefCom_D1_D1_IK4
4401 : use pm_kind, only: IKC => IK4
4402 : #include "pm_arrayStrip@routines.inc.F90"
4403 : end procedure
4404 : #endif
4405 :
4406 : #if IK3_ENABLED
4407 2034 : module procedure getSIRDefCom_D1_D1_IK3
4408 : use pm_kind, only: IKC => IK3
4409 : #include "pm_arrayStrip@routines.inc.F90"
4410 : end procedure
4411 : #endif
4412 :
4413 : #if IK2_ENABLED
4414 2008 : module procedure getSIRDefCom_D1_D1_IK2
4415 : use pm_kind, only: IKC => IK2
4416 : #include "pm_arrayStrip@routines.inc.F90"
4417 : end procedure
4418 : #endif
4419 :
4420 : #if IK1_ENABLED
4421 2008 : module procedure getSIRDefCom_D1_D1_IK1
4422 : use pm_kind, only: IKC => IK1
4423 : #include "pm_arrayStrip@routines.inc.F90"
4424 : end procedure
4425 : #endif
4426 :
4427 : #undef IK_ENABLED
4428 :
4429 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4430 :
4431 : #define LK_ENABLED 1
4432 :
4433 : #if LK5_ENABLED
4434 2008 : module procedure getSIRDefCom_D1_D1_LK5
4435 : use pm_kind, only: LKC => LK5
4436 : #include "pm_arrayStrip@routines.inc.F90"
4437 : end procedure
4438 : #endif
4439 :
4440 : #if LK4_ENABLED
4441 2008 : module procedure getSIRDefCom_D1_D1_LK4
4442 : use pm_kind, only: LKC => LK4
4443 : #include "pm_arrayStrip@routines.inc.F90"
4444 : end procedure
4445 : #endif
4446 :
4447 : #if LK3_ENABLED
4448 2036 : module procedure getSIRDefCom_D1_D1_LK3
4449 : use pm_kind, only: LKC => LK3
4450 : #include "pm_arrayStrip@routines.inc.F90"
4451 : end procedure
4452 : #endif
4453 :
4454 : #if LK2_ENABLED
4455 2008 : module procedure getSIRDefCom_D1_D1_LK2
4456 : use pm_kind, only: LKC => LK2
4457 : #include "pm_arrayStrip@routines.inc.F90"
4458 : end procedure
4459 : #endif
4460 :
4461 : #if LK1_ENABLED
4462 2008 : module procedure getSIRDefCom_D1_D1_LK1
4463 : use pm_kind, only: LKC => LK1
4464 : #include "pm_arrayStrip@routines.inc.F90"
4465 : end procedure
4466 : #endif
4467 :
4468 : #undef LK_ENABLED
4469 :
4470 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4471 :
4472 : #define CK_ENABLED 1
4473 :
4474 : #if CK5_ENABLED
4475 : module procedure getSIRDefCom_D1_D1_CK5
4476 : use pm_kind, only: CKC => CK5
4477 : #include "pm_arrayStrip@routines.inc.F90"
4478 : end procedure
4479 : #endif
4480 :
4481 : #if CK4_ENABLED
4482 2008 : module procedure getSIRDefCom_D1_D1_CK4
4483 : use pm_kind, only: CKC => CK4
4484 : #include "pm_arrayStrip@routines.inc.F90"
4485 : end procedure
4486 : #endif
4487 :
4488 : #if CK3_ENABLED
4489 2008 : module procedure getSIRDefCom_D1_D1_CK3
4490 : use pm_kind, only: CKC => CK3
4491 : #include "pm_arrayStrip@routines.inc.F90"
4492 : end procedure
4493 : #endif
4494 :
4495 : #if CK2_ENABLED
4496 2008 : module procedure getSIRDefCom_D1_D1_CK2
4497 : use pm_kind, only: CKC => CK2
4498 : #include "pm_arrayStrip@routines.inc.F90"
4499 : end procedure
4500 : #endif
4501 :
4502 : #if CK1_ENABLED
4503 2036 : module procedure getSIRDefCom_D1_D1_CK1
4504 : use pm_kind, only: CKC => CK1
4505 : #include "pm_arrayStrip@routines.inc.F90"
4506 : end procedure
4507 : #endif
4508 :
4509 : #undef CK_ENABLED
4510 :
4511 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4512 :
4513 : #define RK_ENABLED 1
4514 :
4515 : #if RK5_ENABLED
4516 : module procedure getSIRDefCom_D1_D1_RK5
4517 : use pm_kind, only: RKC => RK5
4518 : #include "pm_arrayStrip@routines.inc.F90"
4519 : end procedure
4520 : #endif
4521 :
4522 : #if RK4_ENABLED
4523 2008 : module procedure getSIRDefCom_D1_D1_RK4
4524 : use pm_kind, only: RKC => RK4
4525 : #include "pm_arrayStrip@routines.inc.F90"
4526 : end procedure
4527 : #endif
4528 :
4529 : #if RK3_ENABLED
4530 2008 : module procedure getSIRDefCom_D1_D1_RK3
4531 : use pm_kind, only: RKC => RK3
4532 : #include "pm_arrayStrip@routines.inc.F90"
4533 : end procedure
4534 : #endif
4535 :
4536 : #if RK2_ENABLED
4537 2008 : module procedure getSIRDefCom_D1_D1_RK2
4538 : use pm_kind, only: RKC => RK2
4539 : #include "pm_arrayStrip@routines.inc.F90"
4540 : end procedure
4541 : #endif
4542 :
4543 : #if RK1_ENABLED
4544 2036 : module procedure getSIRDefCom_D1_D1_RK1
4545 : use pm_kind, only: RKC => RK1
4546 : #include "pm_arrayStrip@routines.inc.F90"
4547 : end procedure
4548 : #endif
4549 :
4550 : #undef RK_ENABLED
4551 :
4552 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4553 :
4554 : #undef D1_D1_ENABLED
4555 :
4556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4557 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4559 :
4560 : #undef DefCom_ENABLED
4561 :
4562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4563 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4564 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4565 :
4566 : #define CusCom_ENABLED 1
4567 :
4568 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4569 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4570 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4571 :
4572 : #define D0_D0_ENABLED 1
4573 :
4574 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4575 :
4576 : #define SK_ENABLED 1
4577 :
4578 : #if SK5_ENABLED
4579 : module procedure getSIRCusCom_D0_D0_SK5
4580 : use pm_kind, only: SKC => SK5
4581 : #include "pm_arrayStrip@routines.inc.F90"
4582 : end procedure
4583 : #endif
4584 :
4585 : #if SK4_ENABLED
4586 : module procedure getSIRCusCom_D0_D0_SK4
4587 : use pm_kind, only: SKC => SK4
4588 : #include "pm_arrayStrip@routines.inc.F90"
4589 : end procedure
4590 : #endif
4591 :
4592 : #if SK3_ENABLED
4593 : module procedure getSIRCusCom_D0_D0_SK3
4594 : use pm_kind, only: SKC => SK3
4595 : #include "pm_arrayStrip@routines.inc.F90"
4596 : end procedure
4597 : #endif
4598 :
4599 : #if SK2_ENABLED
4600 : module procedure getSIRCusCom_D0_D0_SK2
4601 : use pm_kind, only: SKC => SK2
4602 : #include "pm_arrayStrip@routines.inc.F90"
4603 : end procedure
4604 : #endif
4605 :
4606 : #if SK1_ENABLED
4607 1210 : module procedure getSIRCusCom_D0_D0_SK1
4608 : use pm_kind, only: SKC => SK1
4609 : #include "pm_arrayStrip@routines.inc.F90"
4610 : end procedure
4611 : #endif
4612 :
4613 : #undef SK_ENABLED
4614 :
4615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4616 :
4617 : #undef D0_D0_ENABLED
4618 :
4619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4622 :
4623 : #define D1_D0_ENABLED 1
4624 :
4625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4626 :
4627 : #define SK_ENABLED 1
4628 :
4629 : #if SK5_ENABLED
4630 : module procedure getSIRCusCom_D1_D0_SK5
4631 : use pm_kind, only: SKC => SK5
4632 : #include "pm_arrayStrip@routines.inc.F90"
4633 : end procedure
4634 : #endif
4635 :
4636 : #if SK4_ENABLED
4637 : module procedure getSIRCusCom_D1_D0_SK4
4638 : use pm_kind, only: SKC => SK4
4639 : #include "pm_arrayStrip@routines.inc.F90"
4640 : end procedure
4641 : #endif
4642 :
4643 : #if SK3_ENABLED
4644 : module procedure getSIRCusCom_D1_D0_SK3
4645 : use pm_kind, only: SKC => SK3
4646 : #include "pm_arrayStrip@routines.inc.F90"
4647 : end procedure
4648 : #endif
4649 :
4650 : #if SK2_ENABLED
4651 : module procedure getSIRCusCom_D1_D0_SK2
4652 : use pm_kind, only: SKC => SK2
4653 : #include "pm_arrayStrip@routines.inc.F90"
4654 : end procedure
4655 : #endif
4656 :
4657 : #if SK1_ENABLED
4658 1404 : module procedure getSIRCusCom_D1_D0_SK1
4659 : use pm_kind, only: SKC => SK1
4660 : #include "pm_arrayStrip@routines.inc.F90"
4661 : end procedure
4662 : #endif
4663 :
4664 : #undef SK_ENABLED
4665 :
4666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4667 :
4668 : #define IK_ENABLED 1
4669 :
4670 : #if IK5_ENABLED
4671 1400 : module procedure getSIRCusCom_D1_D0_IK5
4672 : use pm_kind, only: IKC => IK5
4673 : #include "pm_arrayStrip@routines.inc.F90"
4674 : end procedure
4675 : #endif
4676 :
4677 : #if IK4_ENABLED
4678 1400 : module procedure getSIRCusCom_D1_D0_IK4
4679 : use pm_kind, only: IKC => IK4
4680 : #include "pm_arrayStrip@routines.inc.F90"
4681 : end procedure
4682 : #endif
4683 :
4684 : #if IK3_ENABLED
4685 1404 : module procedure getSIRCusCom_D1_D0_IK3
4686 : use pm_kind, only: IKC => IK3
4687 : #include "pm_arrayStrip@routines.inc.F90"
4688 : end procedure
4689 : #endif
4690 :
4691 : #if IK2_ENABLED
4692 1400 : module procedure getSIRCusCom_D1_D0_IK2
4693 : use pm_kind, only: IKC => IK2
4694 : #include "pm_arrayStrip@routines.inc.F90"
4695 : end procedure
4696 : #endif
4697 :
4698 : #if IK1_ENABLED
4699 1400 : module procedure getSIRCusCom_D1_D0_IK1
4700 : use pm_kind, only: IKC => IK1
4701 : #include "pm_arrayStrip@routines.inc.F90"
4702 : end procedure
4703 : #endif
4704 :
4705 : #undef IK_ENABLED
4706 :
4707 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4708 :
4709 : #define LK_ENABLED 1
4710 :
4711 : #if LK5_ENABLED
4712 1400 : module procedure getSIRCusCom_D1_D0_LK5
4713 : use pm_kind, only: LKC => LK5
4714 : #include "pm_arrayStrip@routines.inc.F90"
4715 : end procedure
4716 : #endif
4717 :
4718 : #if LK4_ENABLED
4719 1400 : module procedure getSIRCusCom_D1_D0_LK4
4720 : use pm_kind, only: LKC => LK4
4721 : #include "pm_arrayStrip@routines.inc.F90"
4722 : end procedure
4723 : #endif
4724 :
4725 : #if LK3_ENABLED
4726 1404 : module procedure getSIRCusCom_D1_D0_LK3
4727 : use pm_kind, only: LKC => LK3
4728 : #include "pm_arrayStrip@routines.inc.F90"
4729 : end procedure
4730 : #endif
4731 :
4732 : #if LK2_ENABLED
4733 1400 : module procedure getSIRCusCom_D1_D0_LK2
4734 : use pm_kind, only: LKC => LK2
4735 : #include "pm_arrayStrip@routines.inc.F90"
4736 : end procedure
4737 : #endif
4738 :
4739 : #if LK1_ENABLED
4740 1400 : module procedure getSIRCusCom_D1_D0_LK1
4741 : use pm_kind, only: LKC => LK1
4742 : #include "pm_arrayStrip@routines.inc.F90"
4743 : end procedure
4744 : #endif
4745 :
4746 : #undef LK_ENABLED
4747 :
4748 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4749 :
4750 : #define CK_ENABLED 1
4751 :
4752 : #if CK5_ENABLED
4753 : module procedure getSIRCusCom_D1_D0_CK5
4754 : use pm_kind, only: CKC => CK5
4755 : #include "pm_arrayStrip@routines.inc.F90"
4756 : end procedure
4757 : #endif
4758 :
4759 : #if CK4_ENABLED
4760 1400 : module procedure getSIRCusCom_D1_D0_CK4
4761 : use pm_kind, only: CKC => CK4
4762 : #include "pm_arrayStrip@routines.inc.F90"
4763 : end procedure
4764 : #endif
4765 :
4766 : #if CK3_ENABLED
4767 1400 : module procedure getSIRCusCom_D1_D0_CK3
4768 : use pm_kind, only: CKC => CK3
4769 : #include "pm_arrayStrip@routines.inc.F90"
4770 : end procedure
4771 : #endif
4772 :
4773 : #if CK2_ENABLED
4774 1400 : module procedure getSIRCusCom_D1_D0_CK2
4775 : use pm_kind, only: CKC => CK2
4776 : #include "pm_arrayStrip@routines.inc.F90"
4777 : end procedure
4778 : #endif
4779 :
4780 : #if CK1_ENABLED
4781 1404 : module procedure getSIRCusCom_D1_D0_CK1
4782 : use pm_kind, only: CKC => CK1
4783 : #include "pm_arrayStrip@routines.inc.F90"
4784 : end procedure
4785 : #endif
4786 :
4787 : #undef CK_ENABLED
4788 :
4789 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4790 :
4791 : #define RK_ENABLED 1
4792 :
4793 : #if RK5_ENABLED
4794 : module procedure getSIRCusCom_D1_D0_RK5
4795 : use pm_kind, only: RKC => RK5
4796 : #include "pm_arrayStrip@routines.inc.F90"
4797 : end procedure
4798 : #endif
4799 :
4800 : #if RK4_ENABLED
4801 1400 : module procedure getSIRCusCom_D1_D0_RK4
4802 : use pm_kind, only: RKC => RK4
4803 : #include "pm_arrayStrip@routines.inc.F90"
4804 : end procedure
4805 : #endif
4806 :
4807 : #if RK3_ENABLED
4808 1400 : module procedure getSIRCusCom_D1_D0_RK3
4809 : use pm_kind, only: RKC => RK3
4810 : #include "pm_arrayStrip@routines.inc.F90"
4811 : end procedure
4812 : #endif
4813 :
4814 : #if RK2_ENABLED
4815 1400 : module procedure getSIRCusCom_D1_D0_RK2
4816 : use pm_kind, only: RKC => RK2
4817 : #include "pm_arrayStrip@routines.inc.F90"
4818 : end procedure
4819 : #endif
4820 :
4821 : #if RK1_ENABLED
4822 1402 : module procedure getSIRCusCom_D1_D0_RK1
4823 : use pm_kind, only: RKC => RK1
4824 : #include "pm_arrayStrip@routines.inc.F90"
4825 : end procedure
4826 : #endif
4827 :
4828 : #undef RK_ENABLED
4829 :
4830 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4831 :
4832 : #undef D1_D0_ENABLED
4833 :
4834 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4835 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4836 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4837 :
4838 : #define D1_D1_ENABLED 1
4839 :
4840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4841 :
4842 : #define SK_ENABLED 1
4843 :
4844 : #if SK5_ENABLED
4845 : module procedure getSIRCusCom_D1_D1_SK5
4846 : use pm_kind, only: SKC => SK5
4847 : #include "pm_arrayStrip@routines.inc.F90"
4848 : end procedure
4849 : #endif
4850 :
4851 : #if SK4_ENABLED
4852 : module procedure getSIRCusCom_D1_D1_SK4
4853 : use pm_kind, only: SKC => SK4
4854 : #include "pm_arrayStrip@routines.inc.F90"
4855 : end procedure
4856 : #endif
4857 :
4858 : #if SK3_ENABLED
4859 : module procedure getSIRCusCom_D1_D1_SK3
4860 : use pm_kind, only: SKC => SK3
4861 : #include "pm_arrayStrip@routines.inc.F90"
4862 : end procedure
4863 : #endif
4864 :
4865 : #if SK2_ENABLED
4866 : module procedure getSIRCusCom_D1_D1_SK2
4867 : use pm_kind, only: SKC => SK2
4868 : #include "pm_arrayStrip@routines.inc.F90"
4869 : end procedure
4870 : #endif
4871 :
4872 : #if SK1_ENABLED
4873 1412 : module procedure getSIRCusCom_D1_D1_SK1
4874 : use pm_kind, only: SKC => SK1
4875 : #include "pm_arrayStrip@routines.inc.F90"
4876 : end procedure
4877 : #endif
4878 :
4879 : #undef SK_ENABLED
4880 :
4881 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4882 :
4883 : #define IK_ENABLED 1
4884 :
4885 : #if IK5_ENABLED
4886 1408 : module procedure getSIRCusCom_D1_D1_IK5
4887 : use pm_kind, only: IKC => IK5
4888 : #include "pm_arrayStrip@routines.inc.F90"
4889 : end procedure
4890 : #endif
4891 :
4892 : #if IK4_ENABLED
4893 1408 : module procedure getSIRCusCom_D1_D1_IK4
4894 : use pm_kind, only: IKC => IK4
4895 : #include "pm_arrayStrip@routines.inc.F90"
4896 : end procedure
4897 : #endif
4898 :
4899 : #if IK3_ENABLED
4900 1412 : module procedure getSIRCusCom_D1_D1_IK3
4901 : use pm_kind, only: IKC => IK3
4902 : #include "pm_arrayStrip@routines.inc.F90"
4903 : end procedure
4904 : #endif
4905 :
4906 : #if IK2_ENABLED
4907 1408 : module procedure getSIRCusCom_D1_D1_IK2
4908 : use pm_kind, only: IKC => IK2
4909 : #include "pm_arrayStrip@routines.inc.F90"
4910 : end procedure
4911 : #endif
4912 :
4913 : #if IK1_ENABLED
4914 1408 : module procedure getSIRCusCom_D1_D1_IK1
4915 : use pm_kind, only: IKC => IK1
4916 : #include "pm_arrayStrip@routines.inc.F90"
4917 : end procedure
4918 : #endif
4919 :
4920 : #undef IK_ENABLED
4921 :
4922 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4923 :
4924 : #define LK_ENABLED 1
4925 :
4926 : #if LK5_ENABLED
4927 1408 : module procedure getSIRCusCom_D1_D1_LK5
4928 : use pm_kind, only: LKC => LK5
4929 : #include "pm_arrayStrip@routines.inc.F90"
4930 : end procedure
4931 : #endif
4932 :
4933 : #if LK4_ENABLED
4934 1408 : module procedure getSIRCusCom_D1_D1_LK4
4935 : use pm_kind, only: LKC => LK4
4936 : #include "pm_arrayStrip@routines.inc.F90"
4937 : end procedure
4938 : #endif
4939 :
4940 : #if LK3_ENABLED
4941 1412 : module procedure getSIRCusCom_D1_D1_LK3
4942 : use pm_kind, only: LKC => LK3
4943 : #include "pm_arrayStrip@routines.inc.F90"
4944 : end procedure
4945 : #endif
4946 :
4947 : #if LK2_ENABLED
4948 1408 : module procedure getSIRCusCom_D1_D1_LK2
4949 : use pm_kind, only: LKC => LK2
4950 : #include "pm_arrayStrip@routines.inc.F90"
4951 : end procedure
4952 : #endif
4953 :
4954 : #if LK1_ENABLED
4955 1408 : module procedure getSIRCusCom_D1_D1_LK1
4956 : use pm_kind, only: LKC => LK1
4957 : #include "pm_arrayStrip@routines.inc.F90"
4958 : end procedure
4959 : #endif
4960 :
4961 : #undef LK_ENABLED
4962 :
4963 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4964 :
4965 : #define CK_ENABLED 1
4966 :
4967 : #if CK5_ENABLED
4968 : module procedure getSIRCusCom_D1_D1_CK5
4969 : use pm_kind, only: CKC => CK5
4970 : #include "pm_arrayStrip@routines.inc.F90"
4971 : end procedure
4972 : #endif
4973 :
4974 : #if CK4_ENABLED
4975 1408 : module procedure getSIRCusCom_D1_D1_CK4
4976 : use pm_kind, only: CKC => CK4
4977 : #include "pm_arrayStrip@routines.inc.F90"
4978 : end procedure
4979 : #endif
4980 :
4981 : #if CK3_ENABLED
4982 1408 : module procedure getSIRCusCom_D1_D1_CK3
4983 : use pm_kind, only: CKC => CK3
4984 : #include "pm_arrayStrip@routines.inc.F90"
4985 : end procedure
4986 : #endif
4987 :
4988 : #if CK2_ENABLED
4989 1408 : module procedure getSIRCusCom_D1_D1_CK2
4990 : use pm_kind, only: CKC => CK2
4991 : #include "pm_arrayStrip@routines.inc.F90"
4992 : end procedure
4993 : #endif
4994 :
4995 : #if CK1_ENABLED
4996 1412 : module procedure getSIRCusCom_D1_D1_CK1
4997 : use pm_kind, only: CKC => CK1
4998 : #include "pm_arrayStrip@routines.inc.F90"
4999 : end procedure
5000 : #endif
5001 :
5002 : #undef CK_ENABLED
5003 :
5004 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5005 :
5006 : #define RK_ENABLED 1
5007 :
5008 : #if RK5_ENABLED
5009 : module procedure getSIRCusCom_D1_D1_RK5
5010 : use pm_kind, only: RKC => RK5
5011 : #include "pm_arrayStrip@routines.inc.F90"
5012 : end procedure
5013 : #endif
5014 :
5015 : #if RK4_ENABLED
5016 1408 : module procedure getSIRCusCom_D1_D1_RK4
5017 : use pm_kind, only: RKC => RK4
5018 : #include "pm_arrayStrip@routines.inc.F90"
5019 : end procedure
5020 : #endif
5021 :
5022 : #if RK3_ENABLED
5023 1408 : module procedure getSIRCusCom_D1_D1_RK3
5024 : use pm_kind, only: RKC => RK3
5025 : #include "pm_arrayStrip@routines.inc.F90"
5026 : end procedure
5027 : #endif
5028 :
5029 : #if RK2_ENABLED
5030 1408 : module procedure getSIRCusCom_D1_D1_RK2
5031 : use pm_kind, only: RKC => RK2
5032 : #include "pm_arrayStrip@routines.inc.F90"
5033 : end procedure
5034 : #endif
5035 :
5036 : #if RK1_ENABLED
5037 1412 : module procedure getSIRCusCom_D1_D1_RK1
5038 : use pm_kind, only: RKC => RK1
5039 : #include "pm_arrayStrip@routines.inc.F90"
5040 : end procedure
5041 : #endif
5042 :
5043 : #undef RK_ENABLED
5044 :
5045 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5046 :
5047 : #undef D1_D1_ENABLED
5048 :
5049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5050 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5051 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5052 :
5053 : #undef CusCom_ENABLED
5054 :
5055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5058 :
5059 : #undef getSIR_ENABLED
5060 :
5061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5062 :
5063 : #undef CHECK_ASSERTION
5064 :
5065 : end submodule routines
|