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 procedures implementations of the generic interfaces of [pm_arrayUnique](@ref pm_arrayUnique).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayUnique) routines
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 : use pm_arrayRemap, only: getRemapped, setRemapped
40 : use pm_arraySort, only: setSorted
41 : use pm_array, only: reverse
42 :
43 : implicit none
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : contains
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 :
51 : #define isUnique_ENABLED 1
52 :
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define DefCom_ENABLED 1
58 :
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 :
63 : #define D0_ENABLED 1
64 :
65 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 :
67 : #define SK_ENABLED 1
68 :
69 : #if SK5_ENABLED
70 : module procedure isUniqueDefCom_D0_SK5
71 : use pm_kind, only: SKC => SK5
72 : #include "pm_arrayUnique@routines.inc.F90"
73 : end procedure
74 : #endif
75 :
76 : #if SK4_ENABLED
77 : module procedure isUniqueDefCom_D0_SK4
78 : use pm_kind, only: SKC => SK4
79 : #include "pm_arrayUnique@routines.inc.F90"
80 : end procedure
81 : #endif
82 :
83 : #if SK3_ENABLED
84 : module procedure isUniqueDefCom_D0_SK3
85 : use pm_kind, only: SKC => SK3
86 : #include "pm_arrayUnique@routines.inc.F90"
87 : end procedure
88 : #endif
89 :
90 : #if SK2_ENABLED
91 : module procedure isUniqueDefCom_D0_SK2
92 : use pm_kind, only: SKC => SK2
93 : #include "pm_arrayUnique@routines.inc.F90"
94 : end procedure
95 : #endif
96 :
97 : #if SK1_ENABLED
98 307 : module procedure isUniqueDefCom_D0_SK1
99 : use pm_kind, only: SKC => SK1
100 : #include "pm_arrayUnique@routines.inc.F90"
101 307 : end procedure
102 : #endif
103 :
104 : #undef SK_ENABLED
105 :
106 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
107 :
108 : #undef D0_ENABLED
109 :
110 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
111 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 :
114 : #define D1_ENABLED 1
115 :
116 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117 :
118 : #define SK_ENABLED 1
119 :
120 : #if SK5_ENABLED
121 : module procedure isUniqueDefCom_D1_SK5
122 : use pm_kind, only: SKC => SK5
123 : #include "pm_arrayUnique@routines.inc.F90"
124 : end procedure
125 : #endif
126 :
127 : #if SK4_ENABLED
128 : module procedure isUniqueDefCom_D1_SK4
129 : use pm_kind, only: SKC => SK4
130 : #include "pm_arrayUnique@routines.inc.F90"
131 : end procedure
132 : #endif
133 :
134 : #if SK3_ENABLED
135 : module procedure isUniqueDefCom_D1_SK3
136 : use pm_kind, only: SKC => SK3
137 : #include "pm_arrayUnique@routines.inc.F90"
138 : end procedure
139 : #endif
140 :
141 : #if SK2_ENABLED
142 : module procedure isUniqueDefCom_D1_SK2
143 : use pm_kind, only: SKC => SK2
144 : #include "pm_arrayUnique@routines.inc.F90"
145 : end procedure
146 : #endif
147 :
148 : #if SK1_ENABLED
149 307 : module procedure isUniqueDefCom_D1_SK1
150 : use pm_kind, only: SKC => SK1
151 : #include "pm_arrayUnique@routines.inc.F90"
152 307 : end procedure
153 : #endif
154 :
155 : #undef SK_ENABLED
156 :
157 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
158 :
159 : #define IK_ENABLED 1
160 :
161 : #if IK5_ENABLED
162 300 : module procedure isUniqueDefCom_D1_IK5
163 : use pm_kind, only: IKC => IK5
164 : #include "pm_arrayUnique@routines.inc.F90"
165 300 : end procedure
166 : #endif
167 :
168 : #if IK4_ENABLED
169 300 : module procedure isUniqueDefCom_D1_IK4
170 : use pm_kind, only: IKC => IK4
171 : #include "pm_arrayUnique@routines.inc.F90"
172 300 : end procedure
173 : #endif
174 :
175 : #if IK3_ENABLED
176 306 : module procedure isUniqueDefCom_D1_IK3
177 : use pm_kind, only: IKC => IK3
178 : #include "pm_arrayUnique@routines.inc.F90"
179 306 : end procedure
180 : #endif
181 :
182 : #if IK2_ENABLED
183 300 : module procedure isUniqueDefCom_D1_IK2
184 : use pm_kind, only: IKC => IK2
185 : #include "pm_arrayUnique@routines.inc.F90"
186 300 : end procedure
187 : #endif
188 :
189 : #if IK1_ENABLED
190 300 : module procedure isUniqueDefCom_D1_IK1
191 : use pm_kind, only: IKC => IK1
192 : #include "pm_arrayUnique@routines.inc.F90"
193 300 : end procedure
194 : #endif
195 :
196 : #undef IK_ENABLED
197 :
198 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199 :
200 : #define LK_ENABLED 1
201 :
202 : #if LK5_ENABLED
203 300 : module procedure isUniqueDefCom_D1_LK5
204 : use pm_kind, only: LKC => LK5
205 : #include "pm_arrayUnique@routines.inc.F90"
206 300 : end procedure
207 : #endif
208 :
209 : #if LK4_ENABLED
210 300 : module procedure isUniqueDefCom_D1_LK4
211 : use pm_kind, only: LKC => LK4
212 : #include "pm_arrayUnique@routines.inc.F90"
213 300 : end procedure
214 : #endif
215 :
216 : #if LK3_ENABLED
217 307 : module procedure isUniqueDefCom_D1_LK3
218 : use pm_kind, only: LKC => LK3
219 : #include "pm_arrayUnique@routines.inc.F90"
220 307 : end procedure
221 : #endif
222 :
223 : #if LK2_ENABLED
224 300 : module procedure isUniqueDefCom_D1_LK2
225 : use pm_kind, only: LKC => LK2
226 : #include "pm_arrayUnique@routines.inc.F90"
227 300 : end procedure
228 : #endif
229 :
230 : #if LK1_ENABLED
231 300 : module procedure isUniqueDefCom_D1_LK1
232 : use pm_kind, only: LKC => LK1
233 : #include "pm_arrayUnique@routines.inc.F90"
234 300 : end procedure
235 : #endif
236 :
237 : #undef LK_ENABLED
238 :
239 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
240 :
241 : #define CK_ENABLED 1
242 :
243 : #if CK5_ENABLED
244 : module procedure isUniqueDefCom_D1_CK5
245 : use pm_kind, only: CKC => CK5
246 : #include "pm_arrayUnique@routines.inc.F90"
247 : end procedure
248 : #endif
249 :
250 : #if CK4_ENABLED
251 300 : module procedure isUniqueDefCom_D1_CK4
252 : use pm_kind, only: CKC => CK4
253 : #include "pm_arrayUnique@routines.inc.F90"
254 300 : end procedure
255 : #endif
256 :
257 : #if CK3_ENABLED
258 300 : module procedure isUniqueDefCom_D1_CK3
259 : use pm_kind, only: CKC => CK3
260 : #include "pm_arrayUnique@routines.inc.F90"
261 300 : end procedure
262 : #endif
263 :
264 : #if CK2_ENABLED
265 300 : module procedure isUniqueDefCom_D1_CK2
266 : use pm_kind, only: CKC => CK2
267 : #include "pm_arrayUnique@routines.inc.F90"
268 300 : end procedure
269 : #endif
270 :
271 : #if CK1_ENABLED
272 306 : module procedure isUniqueDefCom_D1_CK1
273 : use pm_kind, only: CKC => CK1
274 : #include "pm_arrayUnique@routines.inc.F90"
275 306 : end procedure
276 : #endif
277 :
278 : #undef CK_ENABLED
279 :
280 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
281 :
282 : #define RK_ENABLED 1
283 :
284 : #if RK5_ENABLED
285 : module procedure isUniqueDefCom_D1_RK5
286 : use pm_kind, only: RKC => RK5
287 : #include "pm_arrayUnique@routines.inc.F90"
288 : end procedure
289 : #endif
290 :
291 : #if RK4_ENABLED
292 300 : module procedure isUniqueDefCom_D1_RK4
293 : use pm_kind, only: RKC => RK4
294 : #include "pm_arrayUnique@routines.inc.F90"
295 300 : end procedure
296 : #endif
297 :
298 : #if RK3_ENABLED
299 300 : module procedure isUniqueDefCom_D1_RK3
300 : use pm_kind, only: RKC => RK3
301 : #include "pm_arrayUnique@routines.inc.F90"
302 300 : end procedure
303 : #endif
304 :
305 : #if RK2_ENABLED
306 300 : module procedure isUniqueDefCom_D1_RK2
307 : use pm_kind, only: RKC => RK2
308 : #include "pm_arrayUnique@routines.inc.F90"
309 300 : end procedure
310 : #endif
311 :
312 : #if RK1_ENABLED
313 306 : module procedure isUniqueDefCom_D1_RK1
314 : use pm_kind, only: RKC => RK1
315 : #include "pm_arrayUnique@routines.inc.F90"
316 306 : end procedure
317 : #endif
318 :
319 : #undef RK_ENABLED
320 :
321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 :
323 : #undef D1_ENABLED
324 :
325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
326 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328 :
329 : #undef DefCom_ENABLED
330 :
331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 :
335 : #define CusCom_ENABLED 1
336 :
337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 :
341 : #define D0_ENABLED 1
342 :
343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344 :
345 : #define SK_ENABLED 1
346 :
347 : #if SK5_ENABLED
348 : module procedure isUniqueCusCom_D0_SK5
349 : use pm_kind, only: SKC => SK5
350 : #include "pm_arrayUnique@routines.inc.F90"
351 : end procedure
352 : #endif
353 :
354 : #if SK4_ENABLED
355 : module procedure isUniqueCusCom_D0_SK4
356 : use pm_kind, only: SKC => SK4
357 : #include "pm_arrayUnique@routines.inc.F90"
358 : end procedure
359 : #endif
360 :
361 : #if SK3_ENABLED
362 : module procedure isUniqueCusCom_D0_SK3
363 : use pm_kind, only: SKC => SK3
364 : #include "pm_arrayUnique@routines.inc.F90"
365 : end procedure
366 : #endif
367 :
368 : #if SK2_ENABLED
369 : module procedure isUniqueCusCom_D0_SK2
370 : use pm_kind, only: SKC => SK2
371 : #include "pm_arrayUnique@routines.inc.F90"
372 : end procedure
373 : #endif
374 :
375 : #if SK1_ENABLED
376 301 : module procedure isUniqueCusCom_D0_SK1
377 : use pm_kind, only: SKC => SK1
378 : #include "pm_arrayUnique@routines.inc.F90"
379 301 : end procedure
380 : #endif
381 :
382 : #undef SK_ENABLED
383 :
384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 :
386 : #undef D0_ENABLED
387 :
388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 :
392 : #define D1_ENABLED 1
393 :
394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395 :
396 : #define SK_ENABLED 1
397 :
398 : #if SK5_ENABLED
399 : module procedure isUniqueCusCom_D1_SK5
400 : use pm_kind, only: SKC => SK5
401 : #include "pm_arrayUnique@routines.inc.F90"
402 : end procedure
403 : #endif
404 :
405 : #if SK4_ENABLED
406 : module procedure isUniqueCusCom_D1_SK4
407 : use pm_kind, only: SKC => SK4
408 : #include "pm_arrayUnique@routines.inc.F90"
409 : end procedure
410 : #endif
411 :
412 : #if SK3_ENABLED
413 : module procedure isUniqueCusCom_D1_SK3
414 : use pm_kind, only: SKC => SK3
415 : #include "pm_arrayUnique@routines.inc.F90"
416 : end procedure
417 : #endif
418 :
419 : #if SK2_ENABLED
420 : module procedure isUniqueCusCom_D1_SK2
421 : use pm_kind, only: SKC => SK2
422 : #include "pm_arrayUnique@routines.inc.F90"
423 : end procedure
424 : #endif
425 :
426 : #if SK1_ENABLED
427 300 : module procedure isUniqueCusCom_D1_SK1
428 : use pm_kind, only: SKC => SK1
429 : #include "pm_arrayUnique@routines.inc.F90"
430 300 : end procedure
431 : #endif
432 :
433 : #undef SK_ENABLED
434 :
435 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436 :
437 : #define IK_ENABLED 1
438 :
439 : #if IK5_ENABLED
440 300 : module procedure isUniqueCusCom_D1_IK5
441 : use pm_kind, only: IKC => IK5
442 : #include "pm_arrayUnique@routines.inc.F90"
443 300 : end procedure
444 : #endif
445 :
446 : #if IK4_ENABLED
447 300 : module procedure isUniqueCusCom_D1_IK4
448 : use pm_kind, only: IKC => IK4
449 : #include "pm_arrayUnique@routines.inc.F90"
450 300 : end procedure
451 : #endif
452 :
453 : #if IK3_ENABLED
454 300 : module procedure isUniqueCusCom_D1_IK3
455 : use pm_kind, only: IKC => IK3
456 : #include "pm_arrayUnique@routines.inc.F90"
457 300 : end procedure
458 : #endif
459 :
460 : #if IK2_ENABLED
461 300 : module procedure isUniqueCusCom_D1_IK2
462 : use pm_kind, only: IKC => IK2
463 : #include "pm_arrayUnique@routines.inc.F90"
464 300 : end procedure
465 : #endif
466 :
467 : #if IK1_ENABLED
468 300 : module procedure isUniqueCusCom_D1_IK1
469 : use pm_kind, only: IKC => IK1
470 : #include "pm_arrayUnique@routines.inc.F90"
471 300 : end procedure
472 : #endif
473 :
474 : #undef IK_ENABLED
475 :
476 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
477 :
478 : #define LK_ENABLED 1
479 :
480 : #if LK5_ENABLED
481 300 : module procedure isUniqueCusCom_D1_LK5
482 : use pm_kind, only: LKC => LK5
483 : #include "pm_arrayUnique@routines.inc.F90"
484 300 : end procedure
485 : #endif
486 :
487 : #if LK4_ENABLED
488 300 : module procedure isUniqueCusCom_D1_LK4
489 : use pm_kind, only: LKC => LK4
490 : #include "pm_arrayUnique@routines.inc.F90"
491 300 : end procedure
492 : #endif
493 :
494 : #if LK3_ENABLED
495 300 : module procedure isUniqueCusCom_D1_LK3
496 : use pm_kind, only: LKC => LK3
497 : #include "pm_arrayUnique@routines.inc.F90"
498 300 : end procedure
499 : #endif
500 :
501 : #if LK2_ENABLED
502 300 : module procedure isUniqueCusCom_D1_LK2
503 : use pm_kind, only: LKC => LK2
504 : #include "pm_arrayUnique@routines.inc.F90"
505 300 : end procedure
506 : #endif
507 :
508 : #if LK1_ENABLED
509 300 : module procedure isUniqueCusCom_D1_LK1
510 : use pm_kind, only: LKC => LK1
511 : #include "pm_arrayUnique@routines.inc.F90"
512 300 : end procedure
513 : #endif
514 :
515 : #undef LK_ENABLED
516 :
517 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 :
519 : #define CK_ENABLED 1
520 :
521 : #if CK5_ENABLED
522 : module procedure isUniqueCusCom_D1_CK5
523 : use pm_kind, only: CKC => CK5
524 : #include "pm_arrayUnique@routines.inc.F90"
525 : end procedure
526 : #endif
527 :
528 : #if CK4_ENABLED
529 300 : module procedure isUniqueCusCom_D1_CK4
530 : use pm_kind, only: CKC => CK4
531 : #include "pm_arrayUnique@routines.inc.F90"
532 300 : end procedure
533 : #endif
534 :
535 : #if CK3_ENABLED
536 300 : module procedure isUniqueCusCom_D1_CK3
537 : use pm_kind, only: CKC => CK3
538 : #include "pm_arrayUnique@routines.inc.F90"
539 300 : end procedure
540 : #endif
541 :
542 : #if CK2_ENABLED
543 300 : module procedure isUniqueCusCom_D1_CK2
544 : use pm_kind, only: CKC => CK2
545 : #include "pm_arrayUnique@routines.inc.F90"
546 300 : end procedure
547 : #endif
548 :
549 : #if CK1_ENABLED
550 300 : module procedure isUniqueCusCom_D1_CK1
551 : use pm_kind, only: CKC => CK1
552 : #include "pm_arrayUnique@routines.inc.F90"
553 300 : end procedure
554 : #endif
555 :
556 : #undef CK_ENABLED
557 :
558 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
559 :
560 : #define RK_ENABLED 1
561 :
562 : #if RK5_ENABLED
563 : module procedure isUniqueCusCom_D1_RK5
564 : use pm_kind, only: RKC => RK5
565 : #include "pm_arrayUnique@routines.inc.F90"
566 : end procedure
567 : #endif
568 :
569 : #if RK4_ENABLED
570 300 : module procedure isUniqueCusCom_D1_RK4
571 : use pm_kind, only: RKC => RK4
572 : #include "pm_arrayUnique@routines.inc.F90"
573 300 : end procedure
574 : #endif
575 :
576 : #if RK3_ENABLED
577 300 : module procedure isUniqueCusCom_D1_RK3
578 : use pm_kind, only: RKC => RK3
579 : #include "pm_arrayUnique@routines.inc.F90"
580 300 : end procedure
581 : #endif
582 :
583 : #if RK2_ENABLED
584 301 : module procedure isUniqueCusCom_D1_RK2
585 : use pm_kind, only: RKC => RK2
586 : #include "pm_arrayUnique@routines.inc.F90"
587 301 : end procedure
588 : #endif
589 :
590 : #if RK1_ENABLED
591 300 : module procedure isUniqueCusCom_D1_RK1
592 : use pm_kind, only: RKC => RK1
593 : #include "pm_arrayUnique@routines.inc.F90"
594 300 : end procedure
595 : #endif
596 :
597 : #undef RK_ENABLED
598 :
599 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
600 :
601 : #undef D1_ENABLED
602 :
603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
604 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
605 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
606 :
607 : #undef CusCom_ENABLED
608 :
609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
612 :
613 : #undef isUnique_ENABLED
614 :
615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
616 :
617 : #define isUniqueAll_ENABLED 1
618 :
619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
622 :
623 : #define DefCom_ENABLED 1
624 :
625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
627 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628 :
629 : #define D0_ENABLED 1
630 :
631 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632 :
633 : #define SK_ENABLED 1
634 :
635 : #if SK5_ENABLED
636 : module procedure isUniqueAllDefCom_D0_SK5
637 : use pm_kind, only: SKC => SK5
638 : #include "pm_arrayUnique@routines.inc.F90"
639 : end procedure
640 : #endif
641 :
642 : #if SK4_ENABLED
643 : module procedure isUniqueAllDefCom_D0_SK4
644 : use pm_kind, only: SKC => SK4
645 : #include "pm_arrayUnique@routines.inc.F90"
646 : end procedure
647 : #endif
648 :
649 : #if SK3_ENABLED
650 : module procedure isUniqueAllDefCom_D0_SK3
651 : use pm_kind, only: SKC => SK3
652 : #include "pm_arrayUnique@routines.inc.F90"
653 : end procedure
654 : #endif
655 :
656 : #if SK2_ENABLED
657 : module procedure isUniqueAllDefCom_D0_SK2
658 : use pm_kind, only: SKC => SK2
659 : #include "pm_arrayUnique@routines.inc.F90"
660 : end procedure
661 : #endif
662 :
663 : #if SK1_ENABLED
664 330 : module procedure isUniqueAllDefCom_D0_SK1
665 : use pm_kind, only: SKC => SK1
666 : #include "pm_arrayUnique@routines.inc.F90"
667 : end procedure
668 : #endif
669 :
670 : #undef SK_ENABLED
671 :
672 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
673 :
674 : #undef D0_ENABLED
675 :
676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
678 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
679 :
680 : #define D1_ENABLED 1
681 :
682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683 :
684 : #define SK_ENABLED 1
685 :
686 : #if SK5_ENABLED
687 : module procedure isUniqueAllDefCom_D1_SK5
688 : use pm_kind, only: SKC => SK5
689 : #include "pm_arrayUnique@routines.inc.F90"
690 : end procedure
691 : #endif
692 :
693 : #if SK4_ENABLED
694 : module procedure isUniqueAllDefCom_D1_SK4
695 : use pm_kind, only: SKC => SK4
696 : #include "pm_arrayUnique@routines.inc.F90"
697 : end procedure
698 : #endif
699 :
700 : #if SK3_ENABLED
701 : module procedure isUniqueAllDefCom_D1_SK3
702 : use pm_kind, only: SKC => SK3
703 : #include "pm_arrayUnique@routines.inc.F90"
704 : end procedure
705 : #endif
706 :
707 : #if SK2_ENABLED
708 : module procedure isUniqueAllDefCom_D1_SK2
709 : use pm_kind, only: SKC => SK2
710 : #include "pm_arrayUnique@routines.inc.F90"
711 : end procedure
712 : #endif
713 :
714 : #if SK1_ENABLED
715 213 : module procedure isUniqueAllDefCom_D1_SK1
716 : use pm_kind, only: SKC => SK1
717 : #include "pm_arrayUnique@routines.inc.F90"
718 : end procedure
719 : #endif
720 :
721 : #undef SK_ENABLED
722 :
723 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724 :
725 : #define IK_ENABLED 1
726 :
727 : #if IK5_ENABLED
728 336 : module procedure isUniqueAllDefCom_D1_IK5
729 : use pm_kind, only: IKC => IK5
730 : #include "pm_arrayUnique@routines.inc.F90"
731 : end procedure
732 : #endif
733 :
734 : #if IK4_ENABLED
735 353 : module procedure isUniqueAllDefCom_D1_IK4
736 : use pm_kind, only: IKC => IK4
737 : #include "pm_arrayUnique@routines.inc.F90"
738 : end procedure
739 : #endif
740 :
741 : #if IK3_ENABLED
742 347 : module procedure isUniqueAllDefCom_D1_IK3
743 : use pm_kind, only: IKC => IK3
744 : #include "pm_arrayUnique@routines.inc.F90"
745 : end procedure
746 : #endif
747 :
748 : #if IK2_ENABLED
749 338 : module procedure isUniqueAllDefCom_D1_IK2
750 : use pm_kind, only: IKC => IK2
751 : #include "pm_arrayUnique@routines.inc.F90"
752 : end procedure
753 : #endif
754 :
755 : #if IK1_ENABLED
756 322 : module procedure isUniqueAllDefCom_D1_IK1
757 : use pm_kind, only: IKC => IK1
758 : #include "pm_arrayUnique@routines.inc.F90"
759 : end procedure
760 : #endif
761 :
762 : #undef IK_ENABLED
763 :
764 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
765 :
766 : #define LK_ENABLED 1
767 :
768 : #if LK5_ENABLED
769 220 : module procedure isUniqueAllDefCom_D1_LK5
770 : use pm_kind, only: LKC => LK5
771 : #include "pm_arrayUnique@routines.inc.F90"
772 : end procedure
773 : #endif
774 :
775 : #if LK4_ENABLED
776 225 : module procedure isUniqueAllDefCom_D1_LK4
777 : use pm_kind, only: LKC => LK4
778 : #include "pm_arrayUnique@routines.inc.F90"
779 : end procedure
780 : #endif
781 :
782 : #if LK3_ENABLED
783 232 : module procedure isUniqueAllDefCom_D1_LK3
784 : use pm_kind, only: LKC => LK3
785 : #include "pm_arrayUnique@routines.inc.F90"
786 : end procedure
787 : #endif
788 :
789 : #if LK2_ENABLED
790 211 : module procedure isUniqueAllDefCom_D1_LK2
791 : use pm_kind, only: LKC => LK2
792 : #include "pm_arrayUnique@routines.inc.F90"
793 : end procedure
794 : #endif
795 :
796 : #if LK1_ENABLED
797 223 : module procedure isUniqueAllDefCom_D1_LK1
798 : use pm_kind, only: LKC => LK1
799 : #include "pm_arrayUnique@routines.inc.F90"
800 : end procedure
801 : #endif
802 :
803 : #undef LK_ENABLED
804 :
805 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
806 :
807 : #define CK_ENABLED 1
808 :
809 : #if CK5_ENABLED
810 : module procedure isUniqueAllDefCom_D1_CK5
811 : use pm_kind, only: CKC => CK5
812 : #include "pm_arrayUnique@routines.inc.F90"
813 : end procedure
814 : #endif
815 :
816 : #if CK4_ENABLED
817 216 : module procedure isUniqueAllDefCom_D1_CK4
818 : use pm_kind, only: CKC => CK4
819 : #include "pm_arrayUnique@routines.inc.F90"
820 : end procedure
821 : #endif
822 :
823 : #if CK3_ENABLED
824 201 : module procedure isUniqueAllDefCom_D1_CK3
825 : use pm_kind, only: CKC => CK3
826 : #include "pm_arrayUnique@routines.inc.F90"
827 : end procedure
828 : #endif
829 :
830 : #if CK2_ENABLED
831 210 : module procedure isUniqueAllDefCom_D1_CK2
832 : use pm_kind, only: CKC => CK2
833 : #include "pm_arrayUnique@routines.inc.F90"
834 : end procedure
835 : #endif
836 :
837 : #if CK1_ENABLED
838 214 : module procedure isUniqueAllDefCom_D1_CK1
839 : use pm_kind, only: CKC => CK1
840 : #include "pm_arrayUnique@routines.inc.F90"
841 : end procedure
842 : #endif
843 :
844 : #undef CK_ENABLED
845 :
846 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
847 :
848 : #define RK_ENABLED 1
849 :
850 : #if RK5_ENABLED
851 : module procedure isUniqueAllDefCom_D1_RK5
852 : use pm_kind, only: RKC => RK5
853 : #include "pm_arrayUnique@routines.inc.F90"
854 : end procedure
855 : #endif
856 :
857 : #if RK4_ENABLED
858 343 : module procedure isUniqueAllDefCom_D1_RK4
859 : use pm_kind, only: RKC => RK4
860 : #include "pm_arrayUnique@routines.inc.F90"
861 : end procedure
862 : #endif
863 :
864 : #if RK3_ENABLED
865 347 : module procedure isUniqueAllDefCom_D1_RK3
866 : use pm_kind, only: RKC => RK3
867 : #include "pm_arrayUnique@routines.inc.F90"
868 : end procedure
869 : #endif
870 :
871 : #if RK2_ENABLED
872 334 : module procedure isUniqueAllDefCom_D1_RK2
873 : use pm_kind, only: RKC => RK2
874 : #include "pm_arrayUnique@routines.inc.F90"
875 : end procedure
876 : #endif
877 :
878 : #if RK1_ENABLED
879 341 : module procedure isUniqueAllDefCom_D1_RK1
880 : use pm_kind, only: RKC => RK1
881 : #include "pm_arrayUnique@routines.inc.F90"
882 : end procedure
883 : #endif
884 :
885 : #undef RK_ENABLED
886 :
887 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
888 :
889 : #undef D1_ENABLED
890 :
891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
893 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
894 :
895 : #undef DefCom_ENABLED
896 :
897 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
899 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
900 :
901 : #define CusCom_ENABLED 1
902 :
903 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
904 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
905 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906 :
907 : #define D0_ENABLED 1
908 :
909 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
910 :
911 : #define SK_ENABLED 1
912 :
913 : #if SK5_ENABLED
914 : module procedure isUniqueAllCusCom_D0_SK5
915 : use pm_kind, only: SKC => SK5
916 : #include "pm_arrayUnique@routines.inc.F90"
917 : end procedure
918 : #endif
919 :
920 : #if SK4_ENABLED
921 : module procedure isUniqueAllCusCom_D0_SK4
922 : use pm_kind, only: SKC => SK4
923 : #include "pm_arrayUnique@routines.inc.F90"
924 : end procedure
925 : #endif
926 :
927 : #if SK3_ENABLED
928 : module procedure isUniqueAllCusCom_D0_SK3
929 : use pm_kind, only: SKC => SK3
930 : #include "pm_arrayUnique@routines.inc.F90"
931 : end procedure
932 : #endif
933 :
934 : #if SK2_ENABLED
935 : module procedure isUniqueAllCusCom_D0_SK2
936 : use pm_kind, only: SKC => SK2
937 : #include "pm_arrayUnique@routines.inc.F90"
938 : end procedure
939 : #endif
940 :
941 : #if SK1_ENABLED
942 101 : module procedure isUniqueAllCusCom_D0_SK1
943 : use pm_kind, only: SKC => SK1
944 : #include "pm_arrayUnique@routines.inc.F90"
945 : end procedure
946 : #endif
947 :
948 : #undef SK_ENABLED
949 :
950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
951 :
952 : #undef D0_ENABLED
953 :
954 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
955 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
956 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
957 :
958 : #define D1_ENABLED 1
959 :
960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
961 :
962 : #define SK_ENABLED 1
963 :
964 : #if SK5_ENABLED
965 : module procedure isUniqueAllCusCom_D1_SK5
966 : use pm_kind, only: SKC => SK5
967 : #include "pm_arrayUnique@routines.inc.F90"
968 : end procedure
969 : #endif
970 :
971 : #if SK4_ENABLED
972 : module procedure isUniqueAllCusCom_D1_SK4
973 : use pm_kind, only: SKC => SK4
974 : #include "pm_arrayUnique@routines.inc.F90"
975 : end procedure
976 : #endif
977 :
978 : #if SK3_ENABLED
979 : module procedure isUniqueAllCusCom_D1_SK3
980 : use pm_kind, only: SKC => SK3
981 : #include "pm_arrayUnique@routines.inc.F90"
982 : end procedure
983 : #endif
984 :
985 : #if SK2_ENABLED
986 : module procedure isUniqueAllCusCom_D1_SK2
987 : use pm_kind, only: SKC => SK2
988 : #include "pm_arrayUnique@routines.inc.F90"
989 : end procedure
990 : #endif
991 :
992 : #if SK1_ENABLED
993 100 : module procedure isUniqueAllCusCom_D1_SK1
994 : use pm_kind, only: SKC => SK1
995 : #include "pm_arrayUnique@routines.inc.F90"
996 : end procedure
997 : #endif
998 :
999 : #undef SK_ENABLED
1000 :
1001 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002 :
1003 : #define IK_ENABLED 1
1004 :
1005 : #if IK5_ENABLED
1006 100 : module procedure isUniqueAllCusCom_D1_IK5
1007 : use pm_kind, only: IKC => IK5
1008 : #include "pm_arrayUnique@routines.inc.F90"
1009 : end procedure
1010 : #endif
1011 :
1012 : #if IK4_ENABLED
1013 100 : module procedure isUniqueAllCusCom_D1_IK4
1014 : use pm_kind, only: IKC => IK4
1015 : #include "pm_arrayUnique@routines.inc.F90"
1016 : end procedure
1017 : #endif
1018 :
1019 : #if IK3_ENABLED
1020 100 : module procedure isUniqueAllCusCom_D1_IK3
1021 : use pm_kind, only: IKC => IK3
1022 : #include "pm_arrayUnique@routines.inc.F90"
1023 : end procedure
1024 : #endif
1025 :
1026 : #if IK2_ENABLED
1027 100 : module procedure isUniqueAllCusCom_D1_IK2
1028 : use pm_kind, only: IKC => IK2
1029 : #include "pm_arrayUnique@routines.inc.F90"
1030 : end procedure
1031 : #endif
1032 :
1033 : #if IK1_ENABLED
1034 100 : module procedure isUniqueAllCusCom_D1_IK1
1035 : use pm_kind, only: IKC => IK1
1036 : #include "pm_arrayUnique@routines.inc.F90"
1037 : end procedure
1038 : #endif
1039 :
1040 : #undef IK_ENABLED
1041 :
1042 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1043 :
1044 : #define LK_ENABLED 1
1045 :
1046 : #if LK5_ENABLED
1047 100 : module procedure isUniqueAllCusCom_D1_LK5
1048 : use pm_kind, only: LKC => LK5
1049 : #include "pm_arrayUnique@routines.inc.F90"
1050 : end procedure
1051 : #endif
1052 :
1053 : #if LK4_ENABLED
1054 100 : module procedure isUniqueAllCusCom_D1_LK4
1055 : use pm_kind, only: LKC => LK4
1056 : #include "pm_arrayUnique@routines.inc.F90"
1057 : end procedure
1058 : #endif
1059 :
1060 : #if LK3_ENABLED
1061 100 : module procedure isUniqueAllCusCom_D1_LK3
1062 : use pm_kind, only: LKC => LK3
1063 : #include "pm_arrayUnique@routines.inc.F90"
1064 : end procedure
1065 : #endif
1066 :
1067 : #if LK2_ENABLED
1068 100 : module procedure isUniqueAllCusCom_D1_LK2
1069 : use pm_kind, only: LKC => LK2
1070 : #include "pm_arrayUnique@routines.inc.F90"
1071 : end procedure
1072 : #endif
1073 :
1074 : #if LK1_ENABLED
1075 100 : module procedure isUniqueAllCusCom_D1_LK1
1076 : use pm_kind, only: LKC => LK1
1077 : #include "pm_arrayUnique@routines.inc.F90"
1078 : end procedure
1079 : #endif
1080 :
1081 : #undef LK_ENABLED
1082 :
1083 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1084 :
1085 : #define CK_ENABLED 1
1086 :
1087 : #if CK5_ENABLED
1088 : module procedure isUniqueAllCusCom_D1_CK5
1089 : use pm_kind, only: CKC => CK5
1090 : #include "pm_arrayUnique@routines.inc.F90"
1091 : end procedure
1092 : #endif
1093 :
1094 : #if CK4_ENABLED
1095 100 : module procedure isUniqueAllCusCom_D1_CK4
1096 : use pm_kind, only: CKC => CK4
1097 : #include "pm_arrayUnique@routines.inc.F90"
1098 : end procedure
1099 : #endif
1100 :
1101 : #if CK3_ENABLED
1102 100 : module procedure isUniqueAllCusCom_D1_CK3
1103 : use pm_kind, only: CKC => CK3
1104 : #include "pm_arrayUnique@routines.inc.F90"
1105 : end procedure
1106 : #endif
1107 :
1108 : #if CK2_ENABLED
1109 100 : module procedure isUniqueAllCusCom_D1_CK2
1110 : use pm_kind, only: CKC => CK2
1111 : #include "pm_arrayUnique@routines.inc.F90"
1112 : end procedure
1113 : #endif
1114 :
1115 : #if CK1_ENABLED
1116 100 : module procedure isUniqueAllCusCom_D1_CK1
1117 : use pm_kind, only: CKC => CK1
1118 : #include "pm_arrayUnique@routines.inc.F90"
1119 : end procedure
1120 : #endif
1121 :
1122 : #undef CK_ENABLED
1123 :
1124 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1125 :
1126 : #define RK_ENABLED 1
1127 :
1128 : #if RK5_ENABLED
1129 : module procedure isUniqueAllCusCom_D1_RK5
1130 : use pm_kind, only: RKC => RK5
1131 : #include "pm_arrayUnique@routines.inc.F90"
1132 : end procedure
1133 : #endif
1134 :
1135 : #if RK4_ENABLED
1136 100 : module procedure isUniqueAllCusCom_D1_RK4
1137 : use pm_kind, only: RKC => RK4
1138 : #include "pm_arrayUnique@routines.inc.F90"
1139 : end procedure
1140 : #endif
1141 :
1142 : #if RK3_ENABLED
1143 100 : module procedure isUniqueAllCusCom_D1_RK3
1144 : use pm_kind, only: RKC => RK3
1145 : #include "pm_arrayUnique@routines.inc.F90"
1146 : end procedure
1147 : #endif
1148 :
1149 : #if RK2_ENABLED
1150 101 : module procedure isUniqueAllCusCom_D1_RK2
1151 : use pm_kind, only: RKC => RK2
1152 : #include "pm_arrayUnique@routines.inc.F90"
1153 : end procedure
1154 : #endif
1155 :
1156 : #if RK1_ENABLED
1157 100 : module procedure isUniqueAllCusCom_D1_RK1
1158 : use pm_kind, only: RKC => RK1
1159 : #include "pm_arrayUnique@routines.inc.F90"
1160 : end procedure
1161 : #endif
1162 :
1163 : #undef RK_ENABLED
1164 :
1165 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1166 :
1167 : #undef D1_ENABLED
1168 :
1169 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172 :
1173 : #undef CusCom_ENABLED
1174 :
1175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1176 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1178 :
1179 : #undef isUniqueAll_ENABLED
1180 :
1181 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1182 :
1183 : #define isUniqueAny_ENABLED 1
1184 :
1185 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1186 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1187 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1188 :
1189 : #define DefCom_ENABLED 1
1190 :
1191 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1192 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1194 :
1195 : #define D0_ENABLED 1
1196 :
1197 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1198 :
1199 : #define SK_ENABLED 1
1200 :
1201 : #if SK5_ENABLED
1202 : module procedure isUniqueAnyDefCom_D0_SK5
1203 : use pm_kind, only: SKC => SK5
1204 : #include "pm_arrayUnique@routines.inc.F90"
1205 : end procedure
1206 : #endif
1207 :
1208 : #if SK4_ENABLED
1209 : module procedure isUniqueAnyDefCom_D0_SK4
1210 : use pm_kind, only: SKC => SK4
1211 : #include "pm_arrayUnique@routines.inc.F90"
1212 : end procedure
1213 : #endif
1214 :
1215 : #if SK3_ENABLED
1216 : module procedure isUniqueAnyDefCom_D0_SK3
1217 : use pm_kind, only: SKC => SK3
1218 : #include "pm_arrayUnique@routines.inc.F90"
1219 : end procedure
1220 : #endif
1221 :
1222 : #if SK2_ENABLED
1223 : module procedure isUniqueAnyDefCom_D0_SK2
1224 : use pm_kind, only: SKC => SK2
1225 : #include "pm_arrayUnique@routines.inc.F90"
1226 : end procedure
1227 : #endif
1228 :
1229 : #if SK1_ENABLED
1230 107 : module procedure isUniqueAnyDefCom_D0_SK1
1231 : use pm_kind, only: SKC => SK1
1232 : #include "pm_arrayUnique@routines.inc.F90"
1233 : end procedure
1234 : #endif
1235 :
1236 : #undef SK_ENABLED
1237 :
1238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239 :
1240 : #undef D0_ENABLED
1241 :
1242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1243 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1245 :
1246 : #define D1_ENABLED 1
1247 :
1248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249 :
1250 : #define SK_ENABLED 1
1251 :
1252 : #if SK5_ENABLED
1253 : module procedure isUniqueAnyDefCom_D1_SK5
1254 : use pm_kind, only: SKC => SK5
1255 : #include "pm_arrayUnique@routines.inc.F90"
1256 : end procedure
1257 : #endif
1258 :
1259 : #if SK4_ENABLED
1260 : module procedure isUniqueAnyDefCom_D1_SK4
1261 : use pm_kind, only: SKC => SK4
1262 : #include "pm_arrayUnique@routines.inc.F90"
1263 : end procedure
1264 : #endif
1265 :
1266 : #if SK3_ENABLED
1267 : module procedure isUniqueAnyDefCom_D1_SK3
1268 : use pm_kind, only: SKC => SK3
1269 : #include "pm_arrayUnique@routines.inc.F90"
1270 : end procedure
1271 : #endif
1272 :
1273 : #if SK2_ENABLED
1274 : module procedure isUniqueAnyDefCom_D1_SK2
1275 : use pm_kind, only: SKC => SK2
1276 : #include "pm_arrayUnique@routines.inc.F90"
1277 : end procedure
1278 : #endif
1279 :
1280 : #if SK1_ENABLED
1281 107 : module procedure isUniqueAnyDefCom_D1_SK1
1282 : use pm_kind, only: SKC => SK1
1283 : #include "pm_arrayUnique@routines.inc.F90"
1284 : end procedure
1285 : #endif
1286 :
1287 : #undef SK_ENABLED
1288 :
1289 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290 :
1291 : #define IK_ENABLED 1
1292 :
1293 : #if IK5_ENABLED
1294 100 : module procedure isUniqueAnyDefCom_D1_IK5
1295 : use pm_kind, only: IKC => IK5
1296 : #include "pm_arrayUnique@routines.inc.F90"
1297 : end procedure
1298 : #endif
1299 :
1300 : #if IK4_ENABLED
1301 100 : module procedure isUniqueAnyDefCom_D1_IK4
1302 : use pm_kind, only: IKC => IK4
1303 : #include "pm_arrayUnique@routines.inc.F90"
1304 : end procedure
1305 : #endif
1306 :
1307 : #if IK3_ENABLED
1308 106 : module procedure isUniqueAnyDefCom_D1_IK3
1309 : use pm_kind, only: IKC => IK3
1310 : #include "pm_arrayUnique@routines.inc.F90"
1311 : end procedure
1312 : #endif
1313 :
1314 : #if IK2_ENABLED
1315 100 : module procedure isUniqueAnyDefCom_D1_IK2
1316 : use pm_kind, only: IKC => IK2
1317 : #include "pm_arrayUnique@routines.inc.F90"
1318 : end procedure
1319 : #endif
1320 :
1321 : #if IK1_ENABLED
1322 100 : module procedure isUniqueAnyDefCom_D1_IK1
1323 : use pm_kind, only: IKC => IK1
1324 : #include "pm_arrayUnique@routines.inc.F90"
1325 : end procedure
1326 : #endif
1327 :
1328 : #undef IK_ENABLED
1329 :
1330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1331 :
1332 : #define LK_ENABLED 1
1333 :
1334 : #if LK5_ENABLED
1335 100 : module procedure isUniqueAnyDefCom_D1_LK5
1336 : use pm_kind, only: LKC => LK5
1337 : #include "pm_arrayUnique@routines.inc.F90"
1338 : end procedure
1339 : #endif
1340 :
1341 : #if LK4_ENABLED
1342 100 : module procedure isUniqueAnyDefCom_D1_LK4
1343 : use pm_kind, only: LKC => LK4
1344 : #include "pm_arrayUnique@routines.inc.F90"
1345 : end procedure
1346 : #endif
1347 :
1348 : #if LK3_ENABLED
1349 107 : module procedure isUniqueAnyDefCom_D1_LK3
1350 : use pm_kind, only: LKC => LK3
1351 : #include "pm_arrayUnique@routines.inc.F90"
1352 : end procedure
1353 : #endif
1354 :
1355 : #if LK2_ENABLED
1356 100 : module procedure isUniqueAnyDefCom_D1_LK2
1357 : use pm_kind, only: LKC => LK2
1358 : #include "pm_arrayUnique@routines.inc.F90"
1359 : end procedure
1360 : #endif
1361 :
1362 : #if LK1_ENABLED
1363 100 : module procedure isUniqueAnyDefCom_D1_LK1
1364 : use pm_kind, only: LKC => LK1
1365 : #include "pm_arrayUnique@routines.inc.F90"
1366 : end procedure
1367 : #endif
1368 :
1369 : #undef LK_ENABLED
1370 :
1371 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1372 :
1373 : #define CK_ENABLED 1
1374 :
1375 : #if CK5_ENABLED
1376 : module procedure isUniqueAnyDefCom_D1_CK5
1377 : use pm_kind, only: CKC => CK5
1378 : #include "pm_arrayUnique@routines.inc.F90"
1379 : end procedure
1380 : #endif
1381 :
1382 : #if CK4_ENABLED
1383 100 : module procedure isUniqueAnyDefCom_D1_CK4
1384 : use pm_kind, only: CKC => CK4
1385 : #include "pm_arrayUnique@routines.inc.F90"
1386 : end procedure
1387 : #endif
1388 :
1389 : #if CK3_ENABLED
1390 100 : module procedure isUniqueAnyDefCom_D1_CK3
1391 : use pm_kind, only: CKC => CK3
1392 : #include "pm_arrayUnique@routines.inc.F90"
1393 : end procedure
1394 : #endif
1395 :
1396 : #if CK2_ENABLED
1397 100 : module procedure isUniqueAnyDefCom_D1_CK2
1398 : use pm_kind, only: CKC => CK2
1399 : #include "pm_arrayUnique@routines.inc.F90"
1400 : end procedure
1401 : #endif
1402 :
1403 : #if CK1_ENABLED
1404 106 : module procedure isUniqueAnyDefCom_D1_CK1
1405 : use pm_kind, only: CKC => CK1
1406 : #include "pm_arrayUnique@routines.inc.F90"
1407 : end procedure
1408 : #endif
1409 :
1410 : #undef CK_ENABLED
1411 :
1412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1413 :
1414 : #define RK_ENABLED 1
1415 :
1416 : #if RK5_ENABLED
1417 : module procedure isUniqueAnyDefCom_D1_RK5
1418 : use pm_kind, only: RKC => RK5
1419 : #include "pm_arrayUnique@routines.inc.F90"
1420 : end procedure
1421 : #endif
1422 :
1423 : #if RK4_ENABLED
1424 100 : module procedure isUniqueAnyDefCom_D1_RK4
1425 : use pm_kind, only: RKC => RK4
1426 : #include "pm_arrayUnique@routines.inc.F90"
1427 : end procedure
1428 : #endif
1429 :
1430 : #if RK3_ENABLED
1431 100 : module procedure isUniqueAnyDefCom_D1_RK3
1432 : use pm_kind, only: RKC => RK3
1433 : #include "pm_arrayUnique@routines.inc.F90"
1434 : end procedure
1435 : #endif
1436 :
1437 : #if RK2_ENABLED
1438 100 : module procedure isUniqueAnyDefCom_D1_RK2
1439 : use pm_kind, only: RKC => RK2
1440 : #include "pm_arrayUnique@routines.inc.F90"
1441 : end procedure
1442 : #endif
1443 :
1444 : #if RK1_ENABLED
1445 106 : module procedure isUniqueAnyDefCom_D1_RK1
1446 : use pm_kind, only: RKC => RK1
1447 : #include "pm_arrayUnique@routines.inc.F90"
1448 : end procedure
1449 : #endif
1450 :
1451 : #undef RK_ENABLED
1452 :
1453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1454 :
1455 : #undef D1_ENABLED
1456 :
1457 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1458 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1460 :
1461 : #undef DefCom_ENABLED
1462 :
1463 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1464 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1466 :
1467 : #define CusCom_ENABLED 1
1468 :
1469 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1470 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1471 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1472 :
1473 : #define D0_ENABLED 1
1474 :
1475 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1476 :
1477 : #define SK_ENABLED 1
1478 :
1479 : #if SK5_ENABLED
1480 : module procedure isUniqueAnyCusCom_D0_SK5
1481 : use pm_kind, only: SKC => SK5
1482 : #include "pm_arrayUnique@routines.inc.F90"
1483 : end procedure
1484 : #endif
1485 :
1486 : #if SK4_ENABLED
1487 : module procedure isUniqueAnyCusCom_D0_SK4
1488 : use pm_kind, only: SKC => SK4
1489 : #include "pm_arrayUnique@routines.inc.F90"
1490 : end procedure
1491 : #endif
1492 :
1493 : #if SK3_ENABLED
1494 : module procedure isUniqueAnyCusCom_D0_SK3
1495 : use pm_kind, only: SKC => SK3
1496 : #include "pm_arrayUnique@routines.inc.F90"
1497 : end procedure
1498 : #endif
1499 :
1500 : #if SK2_ENABLED
1501 : module procedure isUniqueAnyCusCom_D0_SK2
1502 : use pm_kind, only: SKC => SK2
1503 : #include "pm_arrayUnique@routines.inc.F90"
1504 : end procedure
1505 : #endif
1506 :
1507 : #if SK1_ENABLED
1508 101 : module procedure isUniqueAnyCusCom_D0_SK1
1509 : use pm_kind, only: SKC => SK1
1510 : #include "pm_arrayUnique@routines.inc.F90"
1511 : end procedure
1512 : #endif
1513 :
1514 : #undef SK_ENABLED
1515 :
1516 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1517 :
1518 : #undef D0_ENABLED
1519 :
1520 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1521 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1522 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1523 :
1524 : #define D1_ENABLED 1
1525 :
1526 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1527 :
1528 : #define SK_ENABLED 1
1529 :
1530 : #if SK5_ENABLED
1531 : module procedure isUniqueAnyCusCom_D1_SK5
1532 : use pm_kind, only: SKC => SK5
1533 : #include "pm_arrayUnique@routines.inc.F90"
1534 : end procedure
1535 : #endif
1536 :
1537 : #if SK4_ENABLED
1538 : module procedure isUniqueAnyCusCom_D1_SK4
1539 : use pm_kind, only: SKC => SK4
1540 : #include "pm_arrayUnique@routines.inc.F90"
1541 : end procedure
1542 : #endif
1543 :
1544 : #if SK3_ENABLED
1545 : module procedure isUniqueAnyCusCom_D1_SK3
1546 : use pm_kind, only: SKC => SK3
1547 : #include "pm_arrayUnique@routines.inc.F90"
1548 : end procedure
1549 : #endif
1550 :
1551 : #if SK2_ENABLED
1552 : module procedure isUniqueAnyCusCom_D1_SK2
1553 : use pm_kind, only: SKC => SK2
1554 : #include "pm_arrayUnique@routines.inc.F90"
1555 : end procedure
1556 : #endif
1557 :
1558 : #if SK1_ENABLED
1559 100 : module procedure isUniqueAnyCusCom_D1_SK1
1560 : use pm_kind, only: SKC => SK1
1561 : #include "pm_arrayUnique@routines.inc.F90"
1562 : end procedure
1563 : #endif
1564 :
1565 : #undef SK_ENABLED
1566 :
1567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1568 :
1569 : #define IK_ENABLED 1
1570 :
1571 : #if IK5_ENABLED
1572 100 : module procedure isUniqueAnyCusCom_D1_IK5
1573 : use pm_kind, only: IKC => IK5
1574 : #include "pm_arrayUnique@routines.inc.F90"
1575 : end procedure
1576 : #endif
1577 :
1578 : #if IK4_ENABLED
1579 100 : module procedure isUniqueAnyCusCom_D1_IK4
1580 : use pm_kind, only: IKC => IK4
1581 : #include "pm_arrayUnique@routines.inc.F90"
1582 : end procedure
1583 : #endif
1584 :
1585 : #if IK3_ENABLED
1586 100 : module procedure isUniqueAnyCusCom_D1_IK3
1587 : use pm_kind, only: IKC => IK3
1588 : #include "pm_arrayUnique@routines.inc.F90"
1589 : end procedure
1590 : #endif
1591 :
1592 : #if IK2_ENABLED
1593 100 : module procedure isUniqueAnyCusCom_D1_IK2
1594 : use pm_kind, only: IKC => IK2
1595 : #include "pm_arrayUnique@routines.inc.F90"
1596 : end procedure
1597 : #endif
1598 :
1599 : #if IK1_ENABLED
1600 100 : module procedure isUniqueAnyCusCom_D1_IK1
1601 : use pm_kind, only: IKC => IK1
1602 : #include "pm_arrayUnique@routines.inc.F90"
1603 : end procedure
1604 : #endif
1605 :
1606 : #undef IK_ENABLED
1607 :
1608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1609 :
1610 : #define LK_ENABLED 1
1611 :
1612 : #if LK5_ENABLED
1613 100 : module procedure isUniqueAnyCusCom_D1_LK5
1614 : use pm_kind, only: LKC => LK5
1615 : #include "pm_arrayUnique@routines.inc.F90"
1616 : end procedure
1617 : #endif
1618 :
1619 : #if LK4_ENABLED
1620 100 : module procedure isUniqueAnyCusCom_D1_LK4
1621 : use pm_kind, only: LKC => LK4
1622 : #include "pm_arrayUnique@routines.inc.F90"
1623 : end procedure
1624 : #endif
1625 :
1626 : #if LK3_ENABLED
1627 100 : module procedure isUniqueAnyCusCom_D1_LK3
1628 : use pm_kind, only: LKC => LK3
1629 : #include "pm_arrayUnique@routines.inc.F90"
1630 : end procedure
1631 : #endif
1632 :
1633 : #if LK2_ENABLED
1634 100 : module procedure isUniqueAnyCusCom_D1_LK2
1635 : use pm_kind, only: LKC => LK2
1636 : #include "pm_arrayUnique@routines.inc.F90"
1637 : end procedure
1638 : #endif
1639 :
1640 : #if LK1_ENABLED
1641 100 : module procedure isUniqueAnyCusCom_D1_LK1
1642 : use pm_kind, only: LKC => LK1
1643 : #include "pm_arrayUnique@routines.inc.F90"
1644 : end procedure
1645 : #endif
1646 :
1647 : #undef LK_ENABLED
1648 :
1649 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1650 :
1651 : #define CK_ENABLED 1
1652 :
1653 : #if CK5_ENABLED
1654 : module procedure isUniqueAnyCusCom_D1_CK5
1655 : use pm_kind, only: CKC => CK5
1656 : #include "pm_arrayUnique@routines.inc.F90"
1657 : end procedure
1658 : #endif
1659 :
1660 : #if CK4_ENABLED
1661 100 : module procedure isUniqueAnyCusCom_D1_CK4
1662 : use pm_kind, only: CKC => CK4
1663 : #include "pm_arrayUnique@routines.inc.F90"
1664 : end procedure
1665 : #endif
1666 :
1667 : #if CK3_ENABLED
1668 100 : module procedure isUniqueAnyCusCom_D1_CK3
1669 : use pm_kind, only: CKC => CK3
1670 : #include "pm_arrayUnique@routines.inc.F90"
1671 : end procedure
1672 : #endif
1673 :
1674 : #if CK2_ENABLED
1675 100 : module procedure isUniqueAnyCusCom_D1_CK2
1676 : use pm_kind, only: CKC => CK2
1677 : #include "pm_arrayUnique@routines.inc.F90"
1678 : end procedure
1679 : #endif
1680 :
1681 : #if CK1_ENABLED
1682 100 : module procedure isUniqueAnyCusCom_D1_CK1
1683 : use pm_kind, only: CKC => CK1
1684 : #include "pm_arrayUnique@routines.inc.F90"
1685 : end procedure
1686 : #endif
1687 :
1688 : #undef CK_ENABLED
1689 :
1690 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1691 :
1692 : #define RK_ENABLED 1
1693 :
1694 : #if RK5_ENABLED
1695 : module procedure isUniqueAnyCusCom_D1_RK5
1696 : use pm_kind, only: RKC => RK5
1697 : #include "pm_arrayUnique@routines.inc.F90"
1698 : end procedure
1699 : #endif
1700 :
1701 : #if RK4_ENABLED
1702 100 : module procedure isUniqueAnyCusCom_D1_RK4
1703 : use pm_kind, only: RKC => RK4
1704 : #include "pm_arrayUnique@routines.inc.F90"
1705 : end procedure
1706 : #endif
1707 :
1708 : #if RK3_ENABLED
1709 100 : module procedure isUniqueAnyCusCom_D1_RK3
1710 : use pm_kind, only: RKC => RK3
1711 : #include "pm_arrayUnique@routines.inc.F90"
1712 : end procedure
1713 : #endif
1714 :
1715 : #if RK2_ENABLED
1716 101 : module procedure isUniqueAnyCusCom_D1_RK2
1717 : use pm_kind, only: RKC => RK2
1718 : #include "pm_arrayUnique@routines.inc.F90"
1719 : end procedure
1720 : #endif
1721 :
1722 : #if RK1_ENABLED
1723 100 : module procedure isUniqueAnyCusCom_D1_RK1
1724 : use pm_kind, only: RKC => RK1
1725 : #include "pm_arrayUnique@routines.inc.F90"
1726 : end procedure
1727 : #endif
1728 :
1729 : #undef RK_ENABLED
1730 :
1731 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1732 :
1733 : #undef D1_ENABLED
1734 :
1735 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1736 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1737 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1738 :
1739 : #undef CusCom_ENABLED
1740 :
1741 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1742 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1743 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1744 :
1745 : #undef isUniqueAny_ENABLED
1746 :
1747 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1748 :
1749 : #define getUnique_ENABLED 1
1750 :
1751 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1752 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1753 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1754 :
1755 : #define UniArb_ENABLED 1
1756 :
1757 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1758 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1760 :
1761 : #define DefCom_ENABLED 1
1762 :
1763 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1764 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1766 :
1767 : #define D0_ENABLED 1
1768 :
1769 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1770 :
1771 : #define SK_ENABLED 1
1772 :
1773 : #if SK5_ENABLED
1774 : module procedure getUniArbDefCom_D0_SK5
1775 : use pm_kind, only: SKC => SK5
1776 : #include "pm_arrayUnique@routines.inc.F90"
1777 : end procedure
1778 : #endif
1779 :
1780 : #if SK4_ENABLED
1781 : module procedure getUniArbDefCom_D0_SK4
1782 : use pm_kind, only: SKC => SK4
1783 : #include "pm_arrayUnique@routines.inc.F90"
1784 : end procedure
1785 : #endif
1786 :
1787 : #if SK3_ENABLED
1788 : module procedure getUniArbDefCom_D0_SK3
1789 : use pm_kind, only: SKC => SK3
1790 : #include "pm_arrayUnique@routines.inc.F90"
1791 : end procedure
1792 : #endif
1793 :
1794 : #if SK2_ENABLED
1795 : module procedure getUniArbDefCom_D0_SK2
1796 : use pm_kind, only: SKC => SK2
1797 : #include "pm_arrayUnique@routines.inc.F90"
1798 : end procedure
1799 : #endif
1800 :
1801 : #if SK1_ENABLED
1802 218 : module procedure getUniArbDefCom_D0_SK1
1803 : use pm_kind, only: SKC => SK1
1804 : #include "pm_arrayUnique@routines.inc.F90"
1805 218 : end procedure
1806 : #endif
1807 :
1808 : #undef SK_ENABLED
1809 :
1810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1811 :
1812 : #undef D0_ENABLED
1813 :
1814 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1815 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1816 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1817 :
1818 : #define D1_ENABLED 1
1819 :
1820 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1821 :
1822 : #define SK_ENABLED 1
1823 :
1824 : #if SK5_ENABLED
1825 : module procedure getUniArbDefCom_D1_SK5
1826 : use pm_kind, only: SKC => SK5
1827 : #include "pm_arrayUnique@routines.inc.F90"
1828 : end procedure
1829 : #endif
1830 :
1831 : #if SK4_ENABLED
1832 : module procedure getUniArbDefCom_D1_SK4
1833 : use pm_kind, only: SKC => SK4
1834 : #include "pm_arrayUnique@routines.inc.F90"
1835 : end procedure
1836 : #endif
1837 :
1838 : #if SK3_ENABLED
1839 : module procedure getUniArbDefCom_D1_SK3
1840 : use pm_kind, only: SKC => SK3
1841 : #include "pm_arrayUnique@routines.inc.F90"
1842 : end procedure
1843 : #endif
1844 :
1845 : #if SK2_ENABLED
1846 : module procedure getUniArbDefCom_D1_SK2
1847 : use pm_kind, only: SKC => SK2
1848 : #include "pm_arrayUnique@routines.inc.F90"
1849 : end procedure
1850 : #endif
1851 :
1852 : #if SK1_ENABLED
1853 218 : module procedure getUniArbDefCom_D1_SK1
1854 : use pm_kind, only: SKC => SK1
1855 : #include "pm_arrayUnique@routines.inc.F90"
1856 218 : end procedure
1857 : #endif
1858 :
1859 : #undef SK_ENABLED
1860 :
1861 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1862 :
1863 : #define IK_ENABLED 1
1864 :
1865 : #if IK5_ENABLED
1866 468 : module procedure getUniArbDefCom_D1_IK5
1867 : use pm_kind, only: IKC => IK5
1868 : #include "pm_arrayUnique@routines.inc.F90"
1869 468 : end procedure
1870 : #endif
1871 :
1872 : #if IK4_ENABLED
1873 468 : module procedure getUniArbDefCom_D1_IK4
1874 : use pm_kind, only: IKC => IK4
1875 : #include "pm_arrayUnique@routines.inc.F90"
1876 468 : end procedure
1877 : #endif
1878 :
1879 : #if IK3_ENABLED
1880 95948 : module procedure getUniArbDefCom_D1_IK3
1881 : use pm_kind, only: IKC => IK3
1882 : #include "pm_arrayUnique@routines.inc.F90"
1883 95948 : end procedure
1884 : #endif
1885 :
1886 : #if IK2_ENABLED
1887 468 : module procedure getUniArbDefCom_D1_IK2
1888 : use pm_kind, only: IKC => IK2
1889 : #include "pm_arrayUnique@routines.inc.F90"
1890 468 : end procedure
1891 : #endif
1892 :
1893 : #if IK1_ENABLED
1894 468 : module procedure getUniArbDefCom_D1_IK1
1895 : use pm_kind, only: IKC => IK1
1896 : #include "pm_arrayUnique@routines.inc.F90"
1897 468 : end procedure
1898 : #endif
1899 :
1900 : #undef IK_ENABLED
1901 :
1902 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1903 :
1904 : #define LK_ENABLED 1
1905 :
1906 : #if LK5_ENABLED
1907 213 : module procedure getUniArbDefCom_D1_LK5
1908 : use pm_kind, only: LKC => LK5
1909 : #include "pm_arrayUnique@routines.inc.F90"
1910 213 : end procedure
1911 : #endif
1912 :
1913 : #if LK4_ENABLED
1914 213 : module procedure getUniArbDefCom_D1_LK4
1915 : use pm_kind, only: LKC => LK4
1916 : #include "pm_arrayUnique@routines.inc.F90"
1917 213 : end procedure
1918 : #endif
1919 :
1920 : #if LK3_ENABLED
1921 213 : module procedure getUniArbDefCom_D1_LK3
1922 : use pm_kind, only: LKC => LK3
1923 : #include "pm_arrayUnique@routines.inc.F90"
1924 213 : end procedure
1925 : #endif
1926 :
1927 : #if LK2_ENABLED
1928 213 : module procedure getUniArbDefCom_D1_LK2
1929 : use pm_kind, only: LKC => LK2
1930 : #include "pm_arrayUnique@routines.inc.F90"
1931 213 : end procedure
1932 : #endif
1933 :
1934 : #if LK1_ENABLED
1935 213 : module procedure getUniArbDefCom_D1_LK1
1936 : use pm_kind, only: LKC => LK1
1937 : #include "pm_arrayUnique@routines.inc.F90"
1938 213 : end procedure
1939 : #endif
1940 :
1941 : #undef LK_ENABLED
1942 :
1943 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1944 :
1945 : #define CK_ENABLED 1
1946 :
1947 : #if CK5_ENABLED
1948 : module procedure getUniArbDefCom_D1_CK5
1949 : use pm_kind, only: CKC => CK5
1950 : #include "pm_arrayUnique@routines.inc.F90"
1951 : end procedure
1952 : #endif
1953 :
1954 : #if CK4_ENABLED
1955 213 : module procedure getUniArbDefCom_D1_CK4
1956 : use pm_kind, only: CKC => CK4
1957 : #include "pm_arrayUnique@routines.inc.F90"
1958 213 : end procedure
1959 : #endif
1960 :
1961 : #if CK3_ENABLED
1962 213 : module procedure getUniArbDefCom_D1_CK3
1963 : use pm_kind, only: CKC => CK3
1964 : #include "pm_arrayUnique@routines.inc.F90"
1965 213 : end procedure
1966 : #endif
1967 :
1968 : #if CK2_ENABLED
1969 214 : module procedure getUniArbDefCom_D1_CK2
1970 : use pm_kind, only: CKC => CK2
1971 : #include "pm_arrayUnique@routines.inc.F90"
1972 214 : end procedure
1973 : #endif
1974 :
1975 : #if CK1_ENABLED
1976 215 : module procedure getUniArbDefCom_D1_CK1
1977 : use pm_kind, only: CKC => CK1
1978 : #include "pm_arrayUnique@routines.inc.F90"
1979 215 : end procedure
1980 : #endif
1981 :
1982 : #undef CK_ENABLED
1983 :
1984 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1985 :
1986 : #define RK_ENABLED 1
1987 :
1988 : #if RK5_ENABLED
1989 : module procedure getUniArbDefCom_D1_RK5
1990 : use pm_kind, only: RKC => RK5
1991 : #include "pm_arrayUnique@routines.inc.F90"
1992 : end procedure
1993 : #endif
1994 :
1995 : #if RK4_ENABLED
1996 213 : module procedure getUniArbDefCom_D1_RK4
1997 : use pm_kind, only: RKC => RK4
1998 : #include "pm_arrayUnique@routines.inc.F90"
1999 213 : end procedure
2000 : #endif
2001 :
2002 : #if RK3_ENABLED
2003 213 : module procedure getUniArbDefCom_D1_RK3
2004 : use pm_kind, only: RKC => RK3
2005 : #include "pm_arrayUnique@routines.inc.F90"
2006 213 : end procedure
2007 : #endif
2008 :
2009 : #if RK2_ENABLED
2010 214 : module procedure getUniArbDefCom_D1_RK2
2011 : use pm_kind, only: RKC => RK2
2012 : #include "pm_arrayUnique@routines.inc.F90"
2013 214 : end procedure
2014 : #endif
2015 :
2016 : #if RK1_ENABLED
2017 215 : module procedure getUniArbDefCom_D1_RK1
2018 : use pm_kind, only: RKC => RK1
2019 : #include "pm_arrayUnique@routines.inc.F90"
2020 215 : end procedure
2021 : #endif
2022 :
2023 : #undef RK_ENABLED
2024 :
2025 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2026 :
2027 : #undef D1_ENABLED
2028 :
2029 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2030 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2031 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2032 :
2033 : #undef DefCom_ENABLED
2034 :
2035 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2036 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2037 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2038 :
2039 : #define CusCom_ENABLED 1
2040 :
2041 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2042 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2044 :
2045 : #define D0_ENABLED 1
2046 :
2047 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2048 :
2049 : #define SK_ENABLED 1
2050 :
2051 : #if SK5_ENABLED
2052 : module procedure getUniArbCusCom_D0_SK5
2053 : use pm_kind, only: SKC => SK5
2054 : #include "pm_arrayUnique@routines.inc.F90"
2055 : end procedure
2056 : #endif
2057 :
2058 : #if SK4_ENABLED
2059 : module procedure getUniArbCusCom_D0_SK4
2060 : use pm_kind, only: SKC => SK4
2061 : #include "pm_arrayUnique@routines.inc.F90"
2062 : end procedure
2063 : #endif
2064 :
2065 : #if SK3_ENABLED
2066 : module procedure getUniArbCusCom_D0_SK3
2067 : use pm_kind, only: SKC => SK3
2068 : #include "pm_arrayUnique@routines.inc.F90"
2069 : end procedure
2070 : #endif
2071 :
2072 : #if SK2_ENABLED
2073 : module procedure getUniArbCusCom_D0_SK2
2074 : use pm_kind, only: SKC => SK2
2075 : #include "pm_arrayUnique@routines.inc.F90"
2076 : end procedure
2077 : #endif
2078 :
2079 : #if SK1_ENABLED
2080 6 : module procedure getUniArbCusCom_D0_SK1
2081 : use pm_kind, only: SKC => SK1
2082 : #include "pm_arrayUnique@routines.inc.F90"
2083 6 : end procedure
2084 : #endif
2085 :
2086 : #undef SK_ENABLED
2087 :
2088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2089 :
2090 : #undef D0_ENABLED
2091 :
2092 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2094 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2095 :
2096 : #define D1_ENABLED 1
2097 :
2098 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2099 :
2100 : #define SK_ENABLED 1
2101 :
2102 : #if SK5_ENABLED
2103 : module procedure getUniArbCusCom_D1_SK5
2104 : use pm_kind, only: SKC => SK5
2105 : #include "pm_arrayUnique@routines.inc.F90"
2106 : end procedure
2107 : #endif
2108 :
2109 : #if SK4_ENABLED
2110 : module procedure getUniArbCusCom_D1_SK4
2111 : use pm_kind, only: SKC => SK4
2112 : #include "pm_arrayUnique@routines.inc.F90"
2113 : end procedure
2114 : #endif
2115 :
2116 : #if SK3_ENABLED
2117 : module procedure getUniArbCusCom_D1_SK3
2118 : use pm_kind, only: SKC => SK3
2119 : #include "pm_arrayUnique@routines.inc.F90"
2120 : end procedure
2121 : #endif
2122 :
2123 : #if SK2_ENABLED
2124 : module procedure getUniArbCusCom_D1_SK2
2125 : use pm_kind, only: SKC => SK2
2126 : #include "pm_arrayUnique@routines.inc.F90"
2127 : end procedure
2128 : #endif
2129 :
2130 : #if SK1_ENABLED
2131 5 : module procedure getUniArbCusCom_D1_SK1
2132 : use pm_kind, only: SKC => SK1
2133 : #include "pm_arrayUnique@routines.inc.F90"
2134 5 : end procedure
2135 : #endif
2136 :
2137 : #undef SK_ENABLED
2138 :
2139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2140 :
2141 : #define IK_ENABLED 1
2142 :
2143 : #if IK5_ENABLED
2144 5 : module procedure getUniArbCusCom_D1_IK5
2145 : use pm_kind, only: IKC => IK5
2146 : #include "pm_arrayUnique@routines.inc.F90"
2147 5 : end procedure
2148 : #endif
2149 :
2150 : #if IK4_ENABLED
2151 5 : module procedure getUniArbCusCom_D1_IK4
2152 : use pm_kind, only: IKC => IK4
2153 : #include "pm_arrayUnique@routines.inc.F90"
2154 5 : end procedure
2155 : #endif
2156 :
2157 : #if IK3_ENABLED
2158 5 : module procedure getUniArbCusCom_D1_IK3
2159 : use pm_kind, only: IKC => IK3
2160 : #include "pm_arrayUnique@routines.inc.F90"
2161 5 : end procedure
2162 : #endif
2163 :
2164 : #if IK2_ENABLED
2165 5 : module procedure getUniArbCusCom_D1_IK2
2166 : use pm_kind, only: IKC => IK2
2167 : #include "pm_arrayUnique@routines.inc.F90"
2168 5 : end procedure
2169 : #endif
2170 :
2171 : #if IK1_ENABLED
2172 5 : module procedure getUniArbCusCom_D1_IK1
2173 : use pm_kind, only: IKC => IK1
2174 : #include "pm_arrayUnique@routines.inc.F90"
2175 5 : end procedure
2176 : #endif
2177 :
2178 : #undef IK_ENABLED
2179 :
2180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2181 :
2182 : #define LK_ENABLED 1
2183 :
2184 : #if LK5_ENABLED
2185 5 : module procedure getUniArbCusCom_D1_LK5
2186 : use pm_kind, only: LKC => LK5
2187 : #include "pm_arrayUnique@routines.inc.F90"
2188 5 : end procedure
2189 : #endif
2190 :
2191 : #if LK4_ENABLED
2192 5 : module procedure getUniArbCusCom_D1_LK4
2193 : use pm_kind, only: LKC => LK4
2194 : #include "pm_arrayUnique@routines.inc.F90"
2195 5 : end procedure
2196 : #endif
2197 :
2198 : #if LK3_ENABLED
2199 5 : module procedure getUniArbCusCom_D1_LK3
2200 : use pm_kind, only: LKC => LK3
2201 : #include "pm_arrayUnique@routines.inc.F90"
2202 5 : end procedure
2203 : #endif
2204 :
2205 : #if LK2_ENABLED
2206 5 : module procedure getUniArbCusCom_D1_LK2
2207 : use pm_kind, only: LKC => LK2
2208 : #include "pm_arrayUnique@routines.inc.F90"
2209 5 : end procedure
2210 : #endif
2211 :
2212 : #if LK1_ENABLED
2213 5 : module procedure getUniArbCusCom_D1_LK1
2214 : use pm_kind, only: LKC => LK1
2215 : #include "pm_arrayUnique@routines.inc.F90"
2216 5 : end procedure
2217 : #endif
2218 :
2219 : #undef LK_ENABLED
2220 :
2221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2222 :
2223 : #define CK_ENABLED 1
2224 :
2225 : #if CK5_ENABLED
2226 : module procedure getUniArbCusCom_D1_CK5
2227 : use pm_kind, only: CKC => CK5
2228 : #include "pm_arrayUnique@routines.inc.F90"
2229 : end procedure
2230 : #endif
2231 :
2232 : #if CK4_ENABLED
2233 5 : module procedure getUniArbCusCom_D1_CK4
2234 : use pm_kind, only: CKC => CK4
2235 : #include "pm_arrayUnique@routines.inc.F90"
2236 5 : end procedure
2237 : #endif
2238 :
2239 : #if CK3_ENABLED
2240 5 : module procedure getUniArbCusCom_D1_CK3
2241 : use pm_kind, only: CKC => CK3
2242 : #include "pm_arrayUnique@routines.inc.F90"
2243 5 : end procedure
2244 : #endif
2245 :
2246 : #if CK2_ENABLED
2247 5 : module procedure getUniArbCusCom_D1_CK2
2248 : use pm_kind, only: CKC => CK2
2249 : #include "pm_arrayUnique@routines.inc.F90"
2250 5 : end procedure
2251 : #endif
2252 :
2253 : #if CK1_ENABLED
2254 5 : module procedure getUniArbCusCom_D1_CK1
2255 : use pm_kind, only: CKC => CK1
2256 : #include "pm_arrayUnique@routines.inc.F90"
2257 5 : end procedure
2258 : #endif
2259 :
2260 : #undef CK_ENABLED
2261 :
2262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2263 :
2264 : #define RK_ENABLED 1
2265 :
2266 : #if RK5_ENABLED
2267 : module procedure getUniArbCusCom_D1_RK5
2268 : use pm_kind, only: RKC => RK5
2269 : #include "pm_arrayUnique@routines.inc.F90"
2270 : end procedure
2271 : #endif
2272 :
2273 : #if RK4_ENABLED
2274 5 : module procedure getUniArbCusCom_D1_RK4
2275 : use pm_kind, only: RKC => RK4
2276 : #include "pm_arrayUnique@routines.inc.F90"
2277 5 : end procedure
2278 : #endif
2279 :
2280 : #if RK3_ENABLED
2281 5 : module procedure getUniArbCusCom_D1_RK3
2282 : use pm_kind, only: RKC => RK3
2283 : #include "pm_arrayUnique@routines.inc.F90"
2284 5 : end procedure
2285 : #endif
2286 :
2287 : #if RK2_ENABLED
2288 6 : module procedure getUniArbCusCom_D1_RK2
2289 : use pm_kind, only: RKC => RK2
2290 : #include "pm_arrayUnique@routines.inc.F90"
2291 6 : end procedure
2292 : #endif
2293 :
2294 : #if RK1_ENABLED
2295 5 : module procedure getUniArbCusCom_D1_RK1
2296 : use pm_kind, only: RKC => RK1
2297 : #include "pm_arrayUnique@routines.inc.F90"
2298 5 : end procedure
2299 : #endif
2300 :
2301 : #undef RK_ENABLED
2302 :
2303 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2304 :
2305 : #undef D1_ENABLED
2306 :
2307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2308 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2309 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2310 :
2311 : #undef CusCom_ENABLED
2312 :
2313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2314 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2316 :
2317 : #undef UniArb_ENABLED
2318 :
2319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2320 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2322 :
2323 : #undef getUnique_ENABLED
2324 :
2325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2326 :
2327 : #define setUnique_ENABLED 1
2328 :
2329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2332 :
2333 : #define UniArb_ENABLED 1
2334 :
2335 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2336 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2338 :
2339 : #define DefCom_ENABLED 1
2340 :
2341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2342 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2344 :
2345 : #define D0_ENABLED 1
2346 :
2347 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2348 :
2349 : #define SK_ENABLED 1
2350 :
2351 : #if SK5_ENABLED
2352 : module procedure setUniArbDefCom_D0_SK5
2353 : use pm_kind, only: SKC => SK5
2354 : #include "pm_arrayUnique@routines.inc.F90"
2355 : end procedure
2356 : #endif
2357 :
2358 : #if SK4_ENABLED
2359 : module procedure setUniArbDefCom_D0_SK4
2360 : use pm_kind, only: SKC => SK4
2361 : #include "pm_arrayUnique@routines.inc.F90"
2362 : end procedure
2363 : #endif
2364 :
2365 : #if SK3_ENABLED
2366 : module procedure setUniArbDefCom_D0_SK3
2367 : use pm_kind, only: SKC => SK3
2368 : #include "pm_arrayUnique@routines.inc.F90"
2369 : end procedure
2370 : #endif
2371 :
2372 : #if SK2_ENABLED
2373 : module procedure setUniArbDefCom_D0_SK2
2374 : use pm_kind, only: SKC => SK2
2375 : #include "pm_arrayUnique@routines.inc.F90"
2376 : end procedure
2377 : #endif
2378 :
2379 : #if SK1_ENABLED
2380 41 : module procedure setUniArbDefCom_D0_SK1
2381 : use pm_kind, only: SKC => SK1
2382 : #include "pm_arrayUnique@routines.inc.F90"
2383 41 : end procedure
2384 : #endif
2385 :
2386 : #undef SK_ENABLED
2387 :
2388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2389 :
2390 : #undef D0_ENABLED
2391 :
2392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2395 :
2396 : #define D1_ENABLED 1
2397 :
2398 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2399 :
2400 : #define SK_ENABLED 1
2401 :
2402 : #if SK5_ENABLED
2403 : module procedure setUniArbDefCom_D1_SK5
2404 : use pm_kind, only: SKC => SK5
2405 : #include "pm_arrayUnique@routines.inc.F90"
2406 : end procedure
2407 : #endif
2408 :
2409 : #if SK4_ENABLED
2410 : module procedure setUniArbDefCom_D1_SK4
2411 : use pm_kind, only: SKC => SK4
2412 : #include "pm_arrayUnique@routines.inc.F90"
2413 : end procedure
2414 : #endif
2415 :
2416 : #if SK3_ENABLED
2417 : module procedure setUniArbDefCom_D1_SK3
2418 : use pm_kind, only: SKC => SK3
2419 : #include "pm_arrayUnique@routines.inc.F90"
2420 : end procedure
2421 : #endif
2422 :
2423 : #if SK2_ENABLED
2424 : module procedure setUniArbDefCom_D1_SK2
2425 : use pm_kind, only: SKC => SK2
2426 : #include "pm_arrayUnique@routines.inc.F90"
2427 : end procedure
2428 : #endif
2429 :
2430 : #if SK1_ENABLED
2431 49 : module procedure setUniArbDefCom_D1_SK1
2432 : use pm_kind, only: SKC => SK1
2433 : #include "pm_arrayUnique@routines.inc.F90"
2434 49 : end procedure
2435 : #endif
2436 :
2437 : #undef SK_ENABLED
2438 :
2439 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2440 :
2441 : #define IK_ENABLED 1
2442 :
2443 : #if IK5_ENABLED
2444 40 : module procedure setUniArbDefCom_D1_IK5
2445 : use pm_kind, only: IKC => IK5
2446 : #include "pm_arrayUnique@routines.inc.F90"
2447 40 : end procedure
2448 : #endif
2449 :
2450 : #if IK4_ENABLED
2451 40 : module procedure setUniArbDefCom_D1_IK4
2452 : use pm_kind, only: IKC => IK4
2453 : #include "pm_arrayUnique@routines.inc.F90"
2454 40 : end procedure
2455 : #endif
2456 :
2457 : #if IK3_ENABLED
2458 42 : module procedure setUniArbDefCom_D1_IK3
2459 : use pm_kind, only: IKC => IK3
2460 : #include "pm_arrayUnique@routines.inc.F90"
2461 42 : end procedure
2462 : #endif
2463 :
2464 : #if IK2_ENABLED
2465 40 : module procedure setUniArbDefCom_D1_IK2
2466 : use pm_kind, only: IKC => IK2
2467 : #include "pm_arrayUnique@routines.inc.F90"
2468 40 : end procedure
2469 : #endif
2470 :
2471 : #if IK1_ENABLED
2472 40 : module procedure setUniArbDefCom_D1_IK1
2473 : use pm_kind, only: IKC => IK1
2474 : #include "pm_arrayUnique@routines.inc.F90"
2475 40 : end procedure
2476 : #endif
2477 :
2478 : #undef IK_ENABLED
2479 :
2480 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2481 :
2482 : #define LK_ENABLED 1
2483 :
2484 : #if LK5_ENABLED
2485 40 : module procedure setUniArbDefCom_D1_LK5
2486 : use pm_kind, only: LKC => LK5
2487 : #include "pm_arrayUnique@routines.inc.F90"
2488 40 : end procedure
2489 : #endif
2490 :
2491 : #if LK4_ENABLED
2492 40 : module procedure setUniArbDefCom_D1_LK4
2493 : use pm_kind, only: LKC => LK4
2494 : #include "pm_arrayUnique@routines.inc.F90"
2495 40 : end procedure
2496 : #endif
2497 :
2498 : #if LK3_ENABLED
2499 40 : module procedure setUniArbDefCom_D1_LK3
2500 : use pm_kind, only: LKC => LK3
2501 : #include "pm_arrayUnique@routines.inc.F90"
2502 40 : end procedure
2503 : #endif
2504 :
2505 : #if LK2_ENABLED
2506 40 : module procedure setUniArbDefCom_D1_LK2
2507 : use pm_kind, only: LKC => LK2
2508 : #include "pm_arrayUnique@routines.inc.F90"
2509 40 : end procedure
2510 : #endif
2511 :
2512 : #if LK1_ENABLED
2513 40 : module procedure setUniArbDefCom_D1_LK1
2514 : use pm_kind, only: LKC => LK1
2515 : #include "pm_arrayUnique@routines.inc.F90"
2516 40 : end procedure
2517 : #endif
2518 :
2519 : #undef LK_ENABLED
2520 :
2521 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2522 :
2523 : #define CK_ENABLED 1
2524 :
2525 : #if CK5_ENABLED
2526 : module procedure setUniArbDefCom_D1_CK5
2527 : use pm_kind, only: CKC => CK5
2528 : #include "pm_arrayUnique@routines.inc.F90"
2529 : end procedure
2530 : #endif
2531 :
2532 : #if CK4_ENABLED
2533 40 : module procedure setUniArbDefCom_D1_CK4
2534 : use pm_kind, only: CKC => CK4
2535 : #include "pm_arrayUnique@routines.inc.F90"
2536 40 : end procedure
2537 : #endif
2538 :
2539 : #if CK3_ENABLED
2540 40 : module procedure setUniArbDefCom_D1_CK3
2541 : use pm_kind, only: CKC => CK3
2542 : #include "pm_arrayUnique@routines.inc.F90"
2543 40 : end procedure
2544 : #endif
2545 :
2546 : #if CK2_ENABLED
2547 41 : module procedure setUniArbDefCom_D1_CK2
2548 : use pm_kind, only: CKC => CK2
2549 : #include "pm_arrayUnique@routines.inc.F90"
2550 41 : end procedure
2551 : #endif
2552 :
2553 : #if CK1_ENABLED
2554 40 : module procedure setUniArbDefCom_D1_CK1
2555 : use pm_kind, only: CKC => CK1
2556 : #include "pm_arrayUnique@routines.inc.F90"
2557 40 : end procedure
2558 : #endif
2559 :
2560 : #undef CK_ENABLED
2561 :
2562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2563 :
2564 : #define RK_ENABLED 1
2565 :
2566 : #if RK5_ENABLED
2567 : module procedure setUniArbDefCom_D1_RK5
2568 : use pm_kind, only: RKC => RK5
2569 : #include "pm_arrayUnique@routines.inc.F90"
2570 : end procedure
2571 : #endif
2572 :
2573 : #if RK4_ENABLED
2574 40 : module procedure setUniArbDefCom_D1_RK4
2575 : use pm_kind, only: RKC => RK4
2576 : #include "pm_arrayUnique@routines.inc.F90"
2577 40 : end procedure
2578 : #endif
2579 :
2580 : #if RK3_ENABLED
2581 40 : module procedure setUniArbDefCom_D1_RK3
2582 : use pm_kind, only: RKC => RK3
2583 : #include "pm_arrayUnique@routines.inc.F90"
2584 40 : end procedure
2585 : #endif
2586 :
2587 : #if RK2_ENABLED
2588 41 : module procedure setUniArbDefCom_D1_RK2
2589 : use pm_kind, only: RKC => RK2
2590 : #include "pm_arrayUnique@routines.inc.F90"
2591 41 : end procedure
2592 : #endif
2593 :
2594 : #if RK1_ENABLED
2595 40 : module procedure setUniArbDefCom_D1_RK1
2596 : use pm_kind, only: RKC => RK1
2597 : #include "pm_arrayUnique@routines.inc.F90"
2598 40 : end procedure
2599 : #endif
2600 :
2601 : #undef RK_ENABLED
2602 :
2603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2604 :
2605 : #undef D1_ENABLED
2606 :
2607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2610 :
2611 : #undef DefCom_ENABLED
2612 :
2613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2614 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2616 :
2617 : #define CusCom_ENABLED 1
2618 :
2619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2622 :
2623 : #define D0_ENABLED 1
2624 :
2625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2626 :
2627 : #define SK_ENABLED 1
2628 :
2629 : #if SK5_ENABLED
2630 : module procedure setUniArbCusCom_D0_SK5
2631 : use pm_kind, only: SKC => SK5
2632 : #include "pm_arrayUnique@routines.inc.F90"
2633 : end procedure
2634 : #endif
2635 :
2636 : #if SK4_ENABLED
2637 : module procedure setUniArbCusCom_D0_SK4
2638 : use pm_kind, only: SKC => SK4
2639 : #include "pm_arrayUnique@routines.inc.F90"
2640 : end procedure
2641 : #endif
2642 :
2643 : #if SK3_ENABLED
2644 : module procedure setUniArbCusCom_D0_SK3
2645 : use pm_kind, only: SKC => SK3
2646 : #include "pm_arrayUnique@routines.inc.F90"
2647 : end procedure
2648 : #endif
2649 :
2650 : #if SK2_ENABLED
2651 : module procedure setUniArbCusCom_D0_SK2
2652 : use pm_kind, only: SKC => SK2
2653 : #include "pm_arrayUnique@routines.inc.F90"
2654 : end procedure
2655 : #endif
2656 :
2657 : #if SK1_ENABLED
2658 41 : module procedure setUniArbCusCom_D0_SK1
2659 : use pm_kind, only: SKC => SK1
2660 : #include "pm_arrayUnique@routines.inc.F90"
2661 41 : end procedure
2662 : #endif
2663 :
2664 : #undef SK_ENABLED
2665 :
2666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2667 :
2668 : #undef D0_ENABLED
2669 :
2670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2672 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2673 :
2674 : #define D1_ENABLED 1
2675 :
2676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2677 :
2678 : #define SK_ENABLED 1
2679 :
2680 : #if SK5_ENABLED
2681 : module procedure setUniArbCusCom_D1_SK5
2682 : use pm_kind, only: SKC => SK5
2683 : #include "pm_arrayUnique@routines.inc.F90"
2684 : end procedure
2685 : #endif
2686 :
2687 : #if SK4_ENABLED
2688 : module procedure setUniArbCusCom_D1_SK4
2689 : use pm_kind, only: SKC => SK4
2690 : #include "pm_arrayUnique@routines.inc.F90"
2691 : end procedure
2692 : #endif
2693 :
2694 : #if SK3_ENABLED
2695 : module procedure setUniArbCusCom_D1_SK3
2696 : use pm_kind, only: SKC => SK3
2697 : #include "pm_arrayUnique@routines.inc.F90"
2698 : end procedure
2699 : #endif
2700 :
2701 : #if SK2_ENABLED
2702 : module procedure setUniArbCusCom_D1_SK2
2703 : use pm_kind, only: SKC => SK2
2704 : #include "pm_arrayUnique@routines.inc.F90"
2705 : end procedure
2706 : #endif
2707 :
2708 : #if SK1_ENABLED
2709 48 : module procedure setUniArbCusCom_D1_SK1
2710 : use pm_kind, only: SKC => SK1
2711 : #include "pm_arrayUnique@routines.inc.F90"
2712 48 : end procedure
2713 : #endif
2714 :
2715 : #undef SK_ENABLED
2716 :
2717 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2718 :
2719 : #define IK_ENABLED 1
2720 :
2721 : #if IK5_ENABLED
2722 40 : module procedure setUniArbCusCom_D1_IK5
2723 : use pm_kind, only: IKC => IK5
2724 : #include "pm_arrayUnique@routines.inc.F90"
2725 40 : end procedure
2726 : #endif
2727 :
2728 : #if IK4_ENABLED
2729 40 : module procedure setUniArbCusCom_D1_IK4
2730 : use pm_kind, only: IKC => IK4
2731 : #include "pm_arrayUnique@routines.inc.F90"
2732 40 : end procedure
2733 : #endif
2734 :
2735 : #if IK3_ENABLED
2736 40 : module procedure setUniArbCusCom_D1_IK3
2737 : use pm_kind, only: IKC => IK3
2738 : #include "pm_arrayUnique@routines.inc.F90"
2739 40 : end procedure
2740 : #endif
2741 :
2742 : #if IK2_ENABLED
2743 40 : module procedure setUniArbCusCom_D1_IK2
2744 : use pm_kind, only: IKC => IK2
2745 : #include "pm_arrayUnique@routines.inc.F90"
2746 40 : end procedure
2747 : #endif
2748 :
2749 : #if IK1_ENABLED
2750 40 : module procedure setUniArbCusCom_D1_IK1
2751 : use pm_kind, only: IKC => IK1
2752 : #include "pm_arrayUnique@routines.inc.F90"
2753 40 : end procedure
2754 : #endif
2755 :
2756 : #undef IK_ENABLED
2757 :
2758 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2759 :
2760 : #define LK_ENABLED 1
2761 :
2762 : #if LK5_ENABLED
2763 40 : module procedure setUniArbCusCom_D1_LK5
2764 : use pm_kind, only: LKC => LK5
2765 : #include "pm_arrayUnique@routines.inc.F90"
2766 40 : end procedure
2767 : #endif
2768 :
2769 : #if LK4_ENABLED
2770 40 : module procedure setUniArbCusCom_D1_LK4
2771 : use pm_kind, only: LKC => LK4
2772 : #include "pm_arrayUnique@routines.inc.F90"
2773 40 : end procedure
2774 : #endif
2775 :
2776 : #if LK3_ENABLED
2777 40 : module procedure setUniArbCusCom_D1_LK3
2778 : use pm_kind, only: LKC => LK3
2779 : #include "pm_arrayUnique@routines.inc.F90"
2780 40 : end procedure
2781 : #endif
2782 :
2783 : #if LK2_ENABLED
2784 40 : module procedure setUniArbCusCom_D1_LK2
2785 : use pm_kind, only: LKC => LK2
2786 : #include "pm_arrayUnique@routines.inc.F90"
2787 40 : end procedure
2788 : #endif
2789 :
2790 : #if LK1_ENABLED
2791 40 : module procedure setUniArbCusCom_D1_LK1
2792 : use pm_kind, only: LKC => LK1
2793 : #include "pm_arrayUnique@routines.inc.F90"
2794 40 : end procedure
2795 : #endif
2796 :
2797 : #undef LK_ENABLED
2798 :
2799 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2800 :
2801 : #define CK_ENABLED 1
2802 :
2803 : #if CK5_ENABLED
2804 : module procedure setUniArbCusCom_D1_CK5
2805 : use pm_kind, only: CKC => CK5
2806 : #include "pm_arrayUnique@routines.inc.F90"
2807 : end procedure
2808 : #endif
2809 :
2810 : #if CK4_ENABLED
2811 40 : module procedure setUniArbCusCom_D1_CK4
2812 : use pm_kind, only: CKC => CK4
2813 : #include "pm_arrayUnique@routines.inc.F90"
2814 40 : end procedure
2815 : #endif
2816 :
2817 : #if CK3_ENABLED
2818 40 : module procedure setUniArbCusCom_D1_CK3
2819 : use pm_kind, only: CKC => CK3
2820 : #include "pm_arrayUnique@routines.inc.F90"
2821 40 : end procedure
2822 : #endif
2823 :
2824 : #if CK2_ENABLED
2825 40 : module procedure setUniArbCusCom_D1_CK2
2826 : use pm_kind, only: CKC => CK2
2827 : #include "pm_arrayUnique@routines.inc.F90"
2828 40 : end procedure
2829 : #endif
2830 :
2831 : #if CK1_ENABLED
2832 40 : module procedure setUniArbCusCom_D1_CK1
2833 : use pm_kind, only: CKC => CK1
2834 : #include "pm_arrayUnique@routines.inc.F90"
2835 40 : end procedure
2836 : #endif
2837 :
2838 : #undef CK_ENABLED
2839 :
2840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2841 :
2842 : #define RK_ENABLED 1
2843 :
2844 : #if RK5_ENABLED
2845 : module procedure setUniArbCusCom_D1_RK5
2846 : use pm_kind, only: RKC => RK5
2847 : #include "pm_arrayUnique@routines.inc.F90"
2848 : end procedure
2849 : #endif
2850 :
2851 : #if RK4_ENABLED
2852 40 : module procedure setUniArbCusCom_D1_RK4
2853 : use pm_kind, only: RKC => RK4
2854 : #include "pm_arrayUnique@routines.inc.F90"
2855 40 : end procedure
2856 : #endif
2857 :
2858 : #if RK3_ENABLED
2859 40 : module procedure setUniArbCusCom_D1_RK3
2860 : use pm_kind, only: RKC => RK3
2861 : #include "pm_arrayUnique@routines.inc.F90"
2862 40 : end procedure
2863 : #endif
2864 :
2865 : #if RK2_ENABLED
2866 41 : module procedure setUniArbCusCom_D1_RK2
2867 : use pm_kind, only: RKC => RK2
2868 : #include "pm_arrayUnique@routines.inc.F90"
2869 41 : end procedure
2870 : #endif
2871 :
2872 : #if RK1_ENABLED
2873 40 : module procedure setUniArbCusCom_D1_RK1
2874 : use pm_kind, only: RKC => RK1
2875 : #include "pm_arrayUnique@routines.inc.F90"
2876 40 : end procedure
2877 : #endif
2878 :
2879 : #undef RK_ENABLED
2880 :
2881 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2882 :
2883 : #undef D1_ENABLED
2884 :
2885 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2887 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2888 :
2889 : #undef CusCom_ENABLED
2890 :
2891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2893 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2894 :
2895 : #undef UniArb_ENABLED
2896 :
2897 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2898 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2899 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2900 :
2901 : #define UniFix_ENABLED 1
2902 :
2903 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2904 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2905 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2906 :
2907 : #define DefCom_ENABLED 1
2908 :
2909 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2910 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2911 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2912 :
2913 : #define D0_ENABLED 1
2914 :
2915 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2916 :
2917 : #define SK_ENABLED 1
2918 :
2919 : #if SK5_ENABLED
2920 : module procedure setUniFixDefCom_D0_SK5
2921 : use pm_kind, only: SKC => SK5
2922 : #include "pm_arrayUnique@routines.inc.F90"
2923 : end procedure
2924 : #endif
2925 :
2926 : #if SK4_ENABLED
2927 : module procedure setUniFixDefCom_D0_SK4
2928 : use pm_kind, only: SKC => SK4
2929 : #include "pm_arrayUnique@routines.inc.F90"
2930 : end procedure
2931 : #endif
2932 :
2933 : #if SK3_ENABLED
2934 : module procedure setUniFixDefCom_D0_SK3
2935 : use pm_kind, only: SKC => SK3
2936 : #include "pm_arrayUnique@routines.inc.F90"
2937 : end procedure
2938 : #endif
2939 :
2940 : #if SK2_ENABLED
2941 : module procedure setUniFixDefCom_D0_SK2
2942 : use pm_kind, only: SKC => SK2
2943 : #include "pm_arrayUnique@routines.inc.F90"
2944 : end procedure
2945 : #endif
2946 :
2947 : #if SK1_ENABLED
2948 87 : module procedure setUniFixDefCom_D0_SK1
2949 : use pm_kind, only: SKC => SK1
2950 : #include "pm_arrayUnique@routines.inc.F90"
2951 35 : end procedure
2952 : #endif
2953 :
2954 : #undef SK_ENABLED
2955 :
2956 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2957 :
2958 : #undef D0_ENABLED
2959 :
2960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2961 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2962 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2963 :
2964 : #define D1_ENABLED 1
2965 :
2966 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2967 :
2968 : #define SK_ENABLED 1
2969 :
2970 : #if SK5_ENABLED
2971 : module procedure setUniFixDefCom_D1_SK5
2972 : use pm_kind, only: SKC => SK5
2973 : #include "pm_arrayUnique@routines.inc.F90"
2974 : end procedure
2975 : #endif
2976 :
2977 : #if SK4_ENABLED
2978 : module procedure setUniFixDefCom_D1_SK4
2979 : use pm_kind, only: SKC => SK4
2980 : #include "pm_arrayUnique@routines.inc.F90"
2981 : end procedure
2982 : #endif
2983 :
2984 : #if SK3_ENABLED
2985 : module procedure setUniFixDefCom_D1_SK3
2986 : use pm_kind, only: SKC => SK3
2987 : #include "pm_arrayUnique@routines.inc.F90"
2988 : end procedure
2989 : #endif
2990 :
2991 : #if SK2_ENABLED
2992 : module procedure setUniFixDefCom_D1_SK2
2993 : use pm_kind, only: SKC => SK2
2994 : #include "pm_arrayUnique@routines.inc.F90"
2995 : end procedure
2996 : #endif
2997 :
2998 : #if SK1_ENABLED
2999 110 : module procedure setUniFixDefCom_D1_SK1
3000 : use pm_kind, only: SKC => SK1
3001 : #include "pm_arrayUnique@routines.inc.F90"
3002 42 : end procedure
3003 : #endif
3004 :
3005 : #undef SK_ENABLED
3006 :
3007 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3008 :
3009 : #define IK_ENABLED 1
3010 :
3011 : #if IK5_ENABLED
3012 87 : module procedure setUniFixDefCom_D1_IK5
3013 : use pm_kind, only: IKC => IK5
3014 : #include "pm_arrayUnique@routines.inc.F90"
3015 35 : end procedure
3016 : #endif
3017 :
3018 : #if IK4_ENABLED
3019 87 : module procedure setUniFixDefCom_D1_IK4
3020 : use pm_kind, only: IKC => IK4
3021 : #include "pm_arrayUnique@routines.inc.F90"
3022 35 : end procedure
3023 : #endif
3024 :
3025 : #if IK3_ENABLED
3026 100 : module procedure setUniFixDefCom_D1_IK3
3027 : use pm_kind, only: IKC => IK3
3028 : #include "pm_arrayUnique@routines.inc.F90"
3029 48 : end procedure
3030 : #endif
3031 :
3032 : #if IK2_ENABLED
3033 87 : module procedure setUniFixDefCom_D1_IK2
3034 : use pm_kind, only: IKC => IK2
3035 : #include "pm_arrayUnique@routines.inc.F90"
3036 35 : end procedure
3037 : #endif
3038 :
3039 : #if IK1_ENABLED
3040 87 : module procedure setUniFixDefCom_D1_IK1
3041 : use pm_kind, only: IKC => IK1
3042 : #include "pm_arrayUnique@routines.inc.F90"
3043 35 : end procedure
3044 : #endif
3045 :
3046 : #undef IK_ENABLED
3047 :
3048 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3049 :
3050 : #define LK_ENABLED 1
3051 :
3052 : #if LK5_ENABLED
3053 71 : module procedure setUniFixDefCom_D1_LK5
3054 : use pm_kind, only: LKC => LK5
3055 : #include "pm_arrayUnique@routines.inc.F90"
3056 35 : end procedure
3057 : #endif
3058 :
3059 : #if LK4_ENABLED
3060 71 : module procedure setUniFixDefCom_D1_LK4
3061 : use pm_kind, only: LKC => LK4
3062 : #include "pm_arrayUnique@routines.inc.F90"
3063 35 : end procedure
3064 : #endif
3065 :
3066 : #if LK3_ENABLED
3067 71 : module procedure setUniFixDefCom_D1_LK3
3068 : use pm_kind, only: LKC => LK3
3069 : #include "pm_arrayUnique@routines.inc.F90"
3070 35 : end procedure
3071 : #endif
3072 :
3073 : #if LK2_ENABLED
3074 71 : module procedure setUniFixDefCom_D1_LK2
3075 : use pm_kind, only: LKC => LK2
3076 : #include "pm_arrayUnique@routines.inc.F90"
3077 35 : end procedure
3078 : #endif
3079 :
3080 : #if LK1_ENABLED
3081 71 : module procedure setUniFixDefCom_D1_LK1
3082 : use pm_kind, only: LKC => LK1
3083 : #include "pm_arrayUnique@routines.inc.F90"
3084 35 : end procedure
3085 : #endif
3086 :
3087 : #undef LK_ENABLED
3088 :
3089 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3090 :
3091 : #define CK_ENABLED 1
3092 :
3093 : #if CK5_ENABLED
3094 : module procedure setUniFixDefCom_D1_CK5
3095 : use pm_kind, only: CKC => CK5
3096 : #include "pm_arrayUnique@routines.inc.F90"
3097 : end procedure
3098 : #endif
3099 :
3100 : #if CK4_ENABLED
3101 87 : module procedure setUniFixDefCom_D1_CK4
3102 : use pm_kind, only: CKC => CK4
3103 : #include "pm_arrayUnique@routines.inc.F90"
3104 35 : end procedure
3105 : #endif
3106 :
3107 : #if CK3_ENABLED
3108 87 : module procedure setUniFixDefCom_D1_CK3
3109 : use pm_kind, only: CKC => CK3
3110 : #include "pm_arrayUnique@routines.inc.F90"
3111 35 : end procedure
3112 : #endif
3113 :
3114 : #if CK2_ENABLED
3115 87 : module procedure setUniFixDefCom_D1_CK2
3116 : use pm_kind, only: CKC => CK2
3117 : #include "pm_arrayUnique@routines.inc.F90"
3118 35 : end procedure
3119 : #endif
3120 :
3121 : #if CK1_ENABLED
3122 87 : module procedure setUniFixDefCom_D1_CK1
3123 : use pm_kind, only: CKC => CK1
3124 : #include "pm_arrayUnique@routines.inc.F90"
3125 35 : end procedure
3126 : #endif
3127 :
3128 : #undef CK_ENABLED
3129 :
3130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3131 :
3132 : #define RK_ENABLED 1
3133 :
3134 : #if RK5_ENABLED
3135 : module procedure setUniFixDefCom_D1_RK5
3136 : use pm_kind, only: RKC => RK5
3137 : #include "pm_arrayUnique@routines.inc.F90"
3138 : end procedure
3139 : #endif
3140 :
3141 : #if RK4_ENABLED
3142 87 : module procedure setUniFixDefCom_D1_RK4
3143 : use pm_kind, only: RKC => RK4
3144 : #include "pm_arrayUnique@routines.inc.F90"
3145 35 : end procedure
3146 : #endif
3147 :
3148 : #if RK3_ENABLED
3149 87 : module procedure setUniFixDefCom_D1_RK3
3150 : use pm_kind, only: RKC => RK3
3151 : #include "pm_arrayUnique@routines.inc.F90"
3152 35 : end procedure
3153 : #endif
3154 :
3155 : #if RK2_ENABLED
3156 87 : module procedure setUniFixDefCom_D1_RK2
3157 : use pm_kind, only: RKC => RK2
3158 : #include "pm_arrayUnique@routines.inc.F90"
3159 35 : end procedure
3160 : #endif
3161 :
3162 : #if RK1_ENABLED
3163 87 : module procedure setUniFixDefCom_D1_RK1
3164 : use pm_kind, only: RKC => RK1
3165 : #include "pm_arrayUnique@routines.inc.F90"
3166 35 : end procedure
3167 : #endif
3168 :
3169 : #undef RK_ENABLED
3170 :
3171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3172 :
3173 : #undef D1_ENABLED
3174 :
3175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3176 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3178 :
3179 : #undef DefCom_ENABLED
3180 :
3181 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3182 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3184 :
3185 : #define CusCom_ENABLED 1
3186 :
3187 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3188 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3190 :
3191 : #define D0_ENABLED 1
3192 :
3193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3194 :
3195 : #define SK_ENABLED 1
3196 :
3197 : #if SK5_ENABLED
3198 : module procedure setUniFixCusCom_D0_SK5
3199 : use pm_kind, only: SKC => SK5
3200 : #include "pm_arrayUnique@routines.inc.F90"
3201 : end procedure
3202 : #endif
3203 :
3204 : #if SK4_ENABLED
3205 : module procedure setUniFixCusCom_D0_SK4
3206 : use pm_kind, only: SKC => SK4
3207 : #include "pm_arrayUnique@routines.inc.F90"
3208 : end procedure
3209 : #endif
3210 :
3211 : #if SK3_ENABLED
3212 : module procedure setUniFixCusCom_D0_SK3
3213 : use pm_kind, only: SKC => SK3
3214 : #include "pm_arrayUnique@routines.inc.F90"
3215 : end procedure
3216 : #endif
3217 :
3218 : #if SK2_ENABLED
3219 : module procedure setUniFixCusCom_D0_SK2
3220 : use pm_kind, only: SKC => SK2
3221 : #include "pm_arrayUnique@routines.inc.F90"
3222 : end procedure
3223 : #endif
3224 :
3225 : #if SK1_ENABLED
3226 87 : module procedure setUniFixCusCom_D0_SK1
3227 : use pm_kind, only: SKC => SK1
3228 : #include "pm_arrayUnique@routines.inc.F90"
3229 35 : end procedure
3230 : #endif
3231 :
3232 : #undef SK_ENABLED
3233 :
3234 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3235 :
3236 : #undef D0_ENABLED
3237 :
3238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3239 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3240 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3241 :
3242 : #define D1_ENABLED 1
3243 :
3244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3245 :
3246 : #define SK_ENABLED 1
3247 :
3248 : #if SK5_ENABLED
3249 : module procedure setUniFixCusCom_D1_SK5
3250 : use pm_kind, only: SKC => SK5
3251 : #include "pm_arrayUnique@routines.inc.F90"
3252 : end procedure
3253 : #endif
3254 :
3255 : #if SK4_ENABLED
3256 : module procedure setUniFixCusCom_D1_SK4
3257 : use pm_kind, only: SKC => SK4
3258 : #include "pm_arrayUnique@routines.inc.F90"
3259 : end procedure
3260 : #endif
3261 :
3262 : #if SK3_ENABLED
3263 : module procedure setUniFixCusCom_D1_SK3
3264 : use pm_kind, only: SKC => SK3
3265 : #include "pm_arrayUnique@routines.inc.F90"
3266 : end procedure
3267 : #endif
3268 :
3269 : #if SK2_ENABLED
3270 : module procedure setUniFixCusCom_D1_SK2
3271 : use pm_kind, only: SKC => SK2
3272 : #include "pm_arrayUnique@routines.inc.F90"
3273 : end procedure
3274 : #endif
3275 :
3276 : #if SK1_ENABLED
3277 110 : module procedure setUniFixCusCom_D1_SK1
3278 : use pm_kind, only: SKC => SK1
3279 : #include "pm_arrayUnique@routines.inc.F90"
3280 42 : end procedure
3281 : #endif
3282 :
3283 : #undef SK_ENABLED
3284 :
3285 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3286 :
3287 : #define IK_ENABLED 1
3288 :
3289 : #if IK5_ENABLED
3290 87 : module procedure setUniFixCusCom_D1_IK5
3291 : use pm_kind, only: IKC => IK5
3292 : #include "pm_arrayUnique@routines.inc.F90"
3293 35 : end procedure
3294 : #endif
3295 :
3296 : #if IK4_ENABLED
3297 87 : module procedure setUniFixCusCom_D1_IK4
3298 : use pm_kind, only: IKC => IK4
3299 : #include "pm_arrayUnique@routines.inc.F90"
3300 35 : end procedure
3301 : #endif
3302 :
3303 : #if IK3_ENABLED
3304 87 : module procedure setUniFixCusCom_D1_IK3
3305 : use pm_kind, only: IKC => IK3
3306 : #include "pm_arrayUnique@routines.inc.F90"
3307 35 : end procedure
3308 : #endif
3309 :
3310 : #if IK2_ENABLED
3311 87 : module procedure setUniFixCusCom_D1_IK2
3312 : use pm_kind, only: IKC => IK2
3313 : #include "pm_arrayUnique@routines.inc.F90"
3314 35 : end procedure
3315 : #endif
3316 :
3317 : #if IK1_ENABLED
3318 87 : module procedure setUniFixCusCom_D1_IK1
3319 : use pm_kind, only: IKC => IK1
3320 : #include "pm_arrayUnique@routines.inc.F90"
3321 35 : end procedure
3322 : #endif
3323 :
3324 : #undef IK_ENABLED
3325 :
3326 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3327 :
3328 : #define LK_ENABLED 1
3329 :
3330 : #if LK5_ENABLED
3331 71 : module procedure setUniFixCusCom_D1_LK5
3332 : use pm_kind, only: LKC => LK5
3333 : #include "pm_arrayUnique@routines.inc.F90"
3334 35 : end procedure
3335 : #endif
3336 :
3337 : #if LK4_ENABLED
3338 71 : module procedure setUniFixCusCom_D1_LK4
3339 : use pm_kind, only: LKC => LK4
3340 : #include "pm_arrayUnique@routines.inc.F90"
3341 35 : end procedure
3342 : #endif
3343 :
3344 : #if LK3_ENABLED
3345 71 : module procedure setUniFixCusCom_D1_LK3
3346 : use pm_kind, only: LKC => LK3
3347 : #include "pm_arrayUnique@routines.inc.F90"
3348 35 : end procedure
3349 : #endif
3350 :
3351 : #if LK2_ENABLED
3352 71 : module procedure setUniFixCusCom_D1_LK2
3353 : use pm_kind, only: LKC => LK2
3354 : #include "pm_arrayUnique@routines.inc.F90"
3355 35 : end procedure
3356 : #endif
3357 :
3358 : #if LK1_ENABLED
3359 71 : module procedure setUniFixCusCom_D1_LK1
3360 : use pm_kind, only: LKC => LK1
3361 : #include "pm_arrayUnique@routines.inc.F90"
3362 35 : end procedure
3363 : #endif
3364 :
3365 : #undef LK_ENABLED
3366 :
3367 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3368 :
3369 : #define CK_ENABLED 1
3370 :
3371 : #if CK5_ENABLED
3372 : module procedure setUniFixCusCom_D1_CK5
3373 : use pm_kind, only: CKC => CK5
3374 : #include "pm_arrayUnique@routines.inc.F90"
3375 : end procedure
3376 : #endif
3377 :
3378 : #if CK4_ENABLED
3379 87 : module procedure setUniFixCusCom_D1_CK4
3380 : use pm_kind, only: CKC => CK4
3381 : #include "pm_arrayUnique@routines.inc.F90"
3382 35 : end procedure
3383 : #endif
3384 :
3385 : #if CK3_ENABLED
3386 87 : module procedure setUniFixCusCom_D1_CK3
3387 : use pm_kind, only: CKC => CK3
3388 : #include "pm_arrayUnique@routines.inc.F90"
3389 35 : end procedure
3390 : #endif
3391 :
3392 : #if CK2_ENABLED
3393 87 : module procedure setUniFixCusCom_D1_CK2
3394 : use pm_kind, only: CKC => CK2
3395 : #include "pm_arrayUnique@routines.inc.F90"
3396 35 : end procedure
3397 : #endif
3398 :
3399 : #if CK1_ENABLED
3400 87 : module procedure setUniFixCusCom_D1_CK1
3401 : use pm_kind, only: CKC => CK1
3402 : #include "pm_arrayUnique@routines.inc.F90"
3403 35 : end procedure
3404 : #endif
3405 :
3406 : #undef CK_ENABLED
3407 :
3408 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3409 :
3410 : #define RK_ENABLED 1
3411 :
3412 : #if RK5_ENABLED
3413 : module procedure setUniFixCusCom_D1_RK5
3414 : use pm_kind, only: RKC => RK5
3415 : #include "pm_arrayUnique@routines.inc.F90"
3416 : end procedure
3417 : #endif
3418 :
3419 : #if RK4_ENABLED
3420 87 : module procedure setUniFixCusCom_D1_RK4
3421 : use pm_kind, only: RKC => RK4
3422 : #include "pm_arrayUnique@routines.inc.F90"
3423 35 : end procedure
3424 : #endif
3425 :
3426 : #if RK3_ENABLED
3427 87 : module procedure setUniFixCusCom_D1_RK3
3428 : use pm_kind, only: RKC => RK3
3429 : #include "pm_arrayUnique@routines.inc.F90"
3430 35 : end procedure
3431 : #endif
3432 :
3433 : #if RK2_ENABLED
3434 87 : module procedure setUniFixCusCom_D1_RK2
3435 : use pm_kind, only: RKC => RK2
3436 : #include "pm_arrayUnique@routines.inc.F90"
3437 35 : end procedure
3438 : #endif
3439 :
3440 : #if RK1_ENABLED
3441 87 : module procedure setUniFixCusCom_D1_RK1
3442 : use pm_kind, only: RKC => RK1
3443 : #include "pm_arrayUnique@routines.inc.F90"
3444 35 : end procedure
3445 : #endif
3446 :
3447 : #undef RK_ENABLED
3448 :
3449 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3450 :
3451 : #undef D1_ENABLED
3452 :
3453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3454 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3455 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3456 :
3457 : #undef CusCom_ENABLED
3458 :
3459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3460 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3461 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3462 :
3463 : #undef UniFix_ENABLED
3464 :
3465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3466 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3467 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3468 :
3469 : #undef setUnique_ENABLED
3470 :
3471 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3472 :
3473 : #undef CHECK_ASSERTION
3474 :
3475 : end submodule routines
|