Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This file contains procedure implementations of [test_pm_arrayUnique](@ref test_pm_arrayUnique).
19 : !>
20 : !> \fintest
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 (test_pm_arrayUnique) routines ! LCOV_EXCL_LINE
28 :
29 : use pm_io, only: display_type
30 : use pm_container, only: cvi_type
31 : use pm_distUnif, only: getUnifRand
32 : use pm_arrayRemap , only: setRemapped
33 : use pm_arrayChoice, only: getChoice
34 : use pm_arrayRange, only: getRange
35 : use pm_str, only: getCharVec
36 : implicit none
37 :
38 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39 :
40 : contains
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : #define isUnique_ENABLED 1
45 :
46 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 :
50 : #define D0_ENABLED 1
51 :
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 :
54 : #define SK_ENABLED 1
55 :
56 : #if SK5_ENABLED
57 : module procedure test_isUnique_D0_SK5_1
58 : use pm_kind, only: SKC => SK5
59 : #include "test_pm_arrayUnique@routines.inc.F90"
60 : end procedure
61 : #endif
62 :
63 : #if SK4_ENABLED
64 : module procedure test_isUnique_D0_SK4_1
65 : use pm_kind, only: SKC => SK4
66 : #include "test_pm_arrayUnique@routines.inc.F90"
67 : end procedure
68 : #endif
69 :
70 : #if SK3_ENABLED
71 : module procedure test_isUnique_D0_SK3_1
72 : use pm_kind, only: SKC => SK3
73 : #include "test_pm_arrayUnique@routines.inc.F90"
74 : end procedure
75 : #endif
76 :
77 : #if SK2_ENABLED
78 : module procedure test_isUnique_D0_SK2_1
79 : use pm_kind, only: SKC => SK2
80 : #include "test_pm_arrayUnique@routines.inc.F90"
81 : end procedure
82 : #endif
83 :
84 : #if SK1_ENABLED
85 1 : module procedure test_isUnique_D0_SK1_1
86 : use pm_kind, only: SKC => SK1
87 : #include "test_pm_arrayUnique@routines.inc.F90"
88 : end procedure
89 : #endif
90 :
91 : #undef SK_ENABLED
92 :
93 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94 :
95 : #undef D0_ENABLED
96 :
97 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100 :
101 : #define D1_ENABLED 1
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 :
105 : #define SK_ENABLED 1
106 :
107 : #if SK5_ENABLED
108 : module procedure test_isUnique_D1_SK5_1
109 : use pm_kind, only: SKC => SK5
110 : #include "test_pm_arrayUnique@routines.inc.F90"
111 : end procedure
112 : #endif
113 :
114 : #if SK4_ENABLED
115 : module procedure test_isUnique_D1_SK4_1
116 : use pm_kind, only: SKC => SK4
117 : #include "test_pm_arrayUnique@routines.inc.F90"
118 : end procedure
119 : #endif
120 :
121 : #if SK3_ENABLED
122 : module procedure test_isUnique_D1_SK3_1
123 : use pm_kind, only: SKC => SK3
124 : #include "test_pm_arrayUnique@routines.inc.F90"
125 : end procedure
126 : #endif
127 :
128 : #if SK2_ENABLED
129 : module procedure test_isUnique_D1_SK2_1
130 : use pm_kind, only: SKC => SK2
131 : #include "test_pm_arrayUnique@routines.inc.F90"
132 : end procedure
133 : #endif
134 :
135 : #if SK1_ENABLED
136 1 : module procedure test_isUnique_D1_SK1_1
137 : use pm_kind, only: SKC => SK1
138 : #include "test_pm_arrayUnique@routines.inc.F90"
139 : end procedure
140 : #endif
141 :
142 : #undef SK_ENABLED
143 :
144 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 :
146 : #define IK_ENABLED 1
147 :
148 : #if IK5_ENABLED
149 1 : module procedure test_isUnique_D1_IK5_1
150 : use pm_kind, only: IKC => IK5
151 : #include "test_pm_arrayUnique@routines.inc.F90"
152 : end procedure
153 : #endif
154 :
155 : #if IK4_ENABLED
156 1 : module procedure test_isUnique_D1_IK4_1
157 : use pm_kind, only: IKC => IK4
158 : #include "test_pm_arrayUnique@routines.inc.F90"
159 : end procedure
160 : #endif
161 :
162 : #if IK3_ENABLED
163 1 : module procedure test_isUnique_D1_IK3_1
164 : use pm_kind, only: IKC => IK3
165 : #include "test_pm_arrayUnique@routines.inc.F90"
166 : end procedure
167 : #endif
168 :
169 : #if IK2_ENABLED
170 1 : module procedure test_isUnique_D1_IK2_1
171 : use pm_kind, only: IKC => IK2
172 : #include "test_pm_arrayUnique@routines.inc.F90"
173 : end procedure
174 : #endif
175 :
176 : #if IK1_ENABLED
177 1 : module procedure test_isUnique_D1_IK1_1
178 : use pm_kind, only: IKC => IK1
179 : #include "test_pm_arrayUnique@routines.inc.F90"
180 : end procedure
181 : #endif
182 :
183 : #undef IK_ENABLED
184 :
185 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186 :
187 : #define LK_ENABLED 1
188 :
189 : #if LK5_ENABLED
190 1 : module procedure test_isUnique_D1_LK5_1
191 : use pm_kind, only: LKC => LK5
192 : #include "test_pm_arrayUnique@routines.inc.F90"
193 : end procedure
194 : #endif
195 :
196 : #if LK4_ENABLED
197 1 : module procedure test_isUnique_D1_LK4_1
198 : use pm_kind, only: LKC => LK4
199 : #include "test_pm_arrayUnique@routines.inc.F90"
200 : end procedure
201 : #endif
202 :
203 : #if LK3_ENABLED
204 1 : module procedure test_isUnique_D1_LK3_1
205 : use pm_kind, only: LKC => LK3
206 : #include "test_pm_arrayUnique@routines.inc.F90"
207 : end procedure
208 : #endif
209 :
210 : #if LK2_ENABLED
211 1 : module procedure test_isUnique_D1_LK2_1
212 : use pm_kind, only: LKC => LK2
213 : #include "test_pm_arrayUnique@routines.inc.F90"
214 : end procedure
215 : #endif
216 :
217 : #if LK1_ENABLED
218 1 : module procedure test_isUnique_D1_LK1_1
219 : use pm_kind, only: LKC => LK1
220 : #include "test_pm_arrayUnique@routines.inc.F90"
221 : end procedure
222 : #endif
223 :
224 : #undef LK_ENABLED
225 :
226 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
227 :
228 : #define CK_ENABLED 1
229 :
230 : #if CK5_ENABLED
231 : module procedure test_isUnique_D1_CK5_1
232 : use pm_kind, only: CKC => CK5
233 : #include "test_pm_arrayUnique@routines.inc.F90"
234 : end procedure
235 : #endif
236 :
237 : #if CK4_ENABLED
238 1 : module procedure test_isUnique_D1_CK4_1
239 : use pm_kind, only: CKC => CK4
240 : #include "test_pm_arrayUnique@routines.inc.F90"
241 : end procedure
242 : #endif
243 :
244 : #if CK3_ENABLED
245 1 : module procedure test_isUnique_D1_CK3_1
246 : use pm_kind, only: CKC => CK3
247 : #include "test_pm_arrayUnique@routines.inc.F90"
248 : end procedure
249 : #endif
250 :
251 : #if CK2_ENABLED
252 1 : module procedure test_isUnique_D1_CK2_1
253 : use pm_kind, only: CKC => CK2
254 : #include "test_pm_arrayUnique@routines.inc.F90"
255 : end procedure
256 : #endif
257 :
258 : #if CK1_ENABLED
259 1 : module procedure test_isUnique_D1_CK1_1
260 : use pm_kind, only: CKC => CK1
261 : #include "test_pm_arrayUnique@routines.inc.F90"
262 : end procedure
263 : #endif
264 :
265 : #undef CK_ENABLED
266 :
267 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
268 :
269 : #define RK_ENABLED 1
270 :
271 : #if RK5_ENABLED
272 : module procedure test_isUnique_D1_RK5_1
273 : use pm_kind, only: RKC => RK5
274 : #include "test_pm_arrayUnique@routines.inc.F90"
275 : end procedure
276 : #endif
277 :
278 : #if RK4_ENABLED
279 1 : module procedure test_isUnique_D1_RK4_1
280 : use pm_kind, only: RKC => RK4
281 : #include "test_pm_arrayUnique@routines.inc.F90"
282 : end procedure
283 : #endif
284 :
285 : #if RK3_ENABLED
286 1 : module procedure test_isUnique_D1_RK3_1
287 : use pm_kind, only: RKC => RK3
288 : #include "test_pm_arrayUnique@routines.inc.F90"
289 : end procedure
290 : #endif
291 :
292 : #if RK2_ENABLED
293 1 : module procedure test_isUnique_D1_RK2_1
294 : use pm_kind, only: RKC => RK2
295 : #include "test_pm_arrayUnique@routines.inc.F90"
296 : end procedure
297 : #endif
298 :
299 : #if RK1_ENABLED
300 1 : module procedure test_isUnique_D1_RK1_1
301 : use pm_kind, only: RKC => RK1
302 : #include "test_pm_arrayUnique@routines.inc.F90"
303 : end procedure
304 : #endif
305 :
306 : #undef RK_ENABLED
307 :
308 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
309 :
310 : #undef D1_ENABLED
311 :
312 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
315 :
316 : #undef isUnique_ENABLED
317 :
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 :
320 : #define isUniqueAll_ENABLED 1
321 :
322 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
325 :
326 : #define D0_ENABLED 1
327 :
328 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 :
330 : #define SK_ENABLED 1
331 :
332 : #if SK5_ENABLED
333 : module procedure test_isUniqueAll_D0_SK5_1
334 : use pm_kind, only: SKC => SK5
335 : #include "test_pm_arrayUnique@routines.inc.F90"
336 : end procedure
337 : #endif
338 :
339 : #if SK4_ENABLED
340 : module procedure test_isUniqueAll_D0_SK4_1
341 : use pm_kind, only: SKC => SK4
342 : #include "test_pm_arrayUnique@routines.inc.F90"
343 : end procedure
344 : #endif
345 :
346 : #if SK3_ENABLED
347 : module procedure test_isUniqueAll_D0_SK3_1
348 : use pm_kind, only: SKC => SK3
349 : #include "test_pm_arrayUnique@routines.inc.F90"
350 : end procedure
351 : #endif
352 :
353 : #if SK2_ENABLED
354 : module procedure test_isUniqueAll_D0_SK2_1
355 : use pm_kind, only: SKC => SK2
356 : #include "test_pm_arrayUnique@routines.inc.F90"
357 : end procedure
358 : #endif
359 :
360 : #if SK1_ENABLED
361 1 : module procedure test_isUniqueAll_D0_SK1_1
362 : use pm_kind, only: SKC => SK1
363 : #include "test_pm_arrayUnique@routines.inc.F90"
364 : end procedure
365 : #endif
366 :
367 : #undef SK_ENABLED
368 :
369 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
370 :
371 : #undef D0_ENABLED
372 :
373 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
374 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
375 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
376 :
377 : #define D1_ENABLED 1
378 :
379 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380 :
381 : #define SK_ENABLED 1
382 :
383 : #if SK5_ENABLED
384 : module procedure test_isUniqueAll_D1_SK5_1
385 : use pm_kind, only: SKC => SK5
386 : #include "test_pm_arrayUnique@routines.inc.F90"
387 : end procedure
388 : #endif
389 :
390 : #if SK4_ENABLED
391 : module procedure test_isUniqueAll_D1_SK4_1
392 : use pm_kind, only: SKC => SK4
393 : #include "test_pm_arrayUnique@routines.inc.F90"
394 : end procedure
395 : #endif
396 :
397 : #if SK3_ENABLED
398 : module procedure test_isUniqueAll_D1_SK3_1
399 : use pm_kind, only: SKC => SK3
400 : #include "test_pm_arrayUnique@routines.inc.F90"
401 : end procedure
402 : #endif
403 :
404 : #if SK2_ENABLED
405 : module procedure test_isUniqueAll_D1_SK2_1
406 : use pm_kind, only: SKC => SK2
407 : #include "test_pm_arrayUnique@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if SK1_ENABLED
412 1 : module procedure test_isUniqueAll_D1_SK1_1
413 : use pm_kind, only: SKC => SK1
414 : #include "test_pm_arrayUnique@routines.inc.F90"
415 : end procedure
416 : #endif
417 :
418 : #undef SK_ENABLED
419 :
420 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
421 :
422 : #define IK_ENABLED 1
423 :
424 : #if IK5_ENABLED
425 1 : module procedure test_isUniqueAll_D1_IK5_1
426 : use pm_kind, only: IKC => IK5
427 : #include "test_pm_arrayUnique@routines.inc.F90"
428 : end procedure
429 : #endif
430 :
431 : #if IK4_ENABLED
432 1 : module procedure test_isUniqueAll_D1_IK4_1
433 : use pm_kind, only: IKC => IK4
434 : #include "test_pm_arrayUnique@routines.inc.F90"
435 : end procedure
436 : #endif
437 :
438 : #if IK3_ENABLED
439 1 : module procedure test_isUniqueAll_D1_IK3_1
440 : use pm_kind, only: IKC => IK3
441 : #include "test_pm_arrayUnique@routines.inc.F90"
442 : end procedure
443 : #endif
444 :
445 : #if IK2_ENABLED
446 1 : module procedure test_isUniqueAll_D1_IK2_1
447 : use pm_kind, only: IKC => IK2
448 : #include "test_pm_arrayUnique@routines.inc.F90"
449 : end procedure
450 : #endif
451 :
452 : #if IK1_ENABLED
453 1 : module procedure test_isUniqueAll_D1_IK1_1
454 : use pm_kind, only: IKC => IK1
455 : #include "test_pm_arrayUnique@routines.inc.F90"
456 : end procedure
457 : #endif
458 :
459 : #undef IK_ENABLED
460 :
461 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
462 :
463 : #define LK_ENABLED 1
464 :
465 : #if LK5_ENABLED
466 1 : module procedure test_isUniqueAll_D1_LK5_1
467 : use pm_kind, only: LKC => LK5
468 : #include "test_pm_arrayUnique@routines.inc.F90"
469 : end procedure
470 : #endif
471 :
472 : #if LK4_ENABLED
473 1 : module procedure test_isUniqueAll_D1_LK4_1
474 : use pm_kind, only: LKC => LK4
475 : #include "test_pm_arrayUnique@routines.inc.F90"
476 : end procedure
477 : #endif
478 :
479 : #if LK3_ENABLED
480 1 : module procedure test_isUniqueAll_D1_LK3_1
481 : use pm_kind, only: LKC => LK3
482 : #include "test_pm_arrayUnique@routines.inc.F90"
483 : end procedure
484 : #endif
485 :
486 : #if LK2_ENABLED
487 1 : module procedure test_isUniqueAll_D1_LK2_1
488 : use pm_kind, only: LKC => LK2
489 : #include "test_pm_arrayUnique@routines.inc.F90"
490 : end procedure
491 : #endif
492 :
493 : #if LK1_ENABLED
494 1 : module procedure test_isUniqueAll_D1_LK1_1
495 : use pm_kind, only: LKC => LK1
496 : #include "test_pm_arrayUnique@routines.inc.F90"
497 : end procedure
498 : #endif
499 :
500 : #undef LK_ENABLED
501 :
502 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503 :
504 : #define CK_ENABLED 1
505 :
506 : #if CK5_ENABLED
507 : module procedure test_isUniqueAll_D1_CK5_1
508 : use pm_kind, only: CKC => CK5
509 : #include "test_pm_arrayUnique@routines.inc.F90"
510 : end procedure
511 : #endif
512 :
513 : #if CK4_ENABLED
514 1 : module procedure test_isUniqueAll_D1_CK4_1
515 : use pm_kind, only: CKC => CK4
516 : #include "test_pm_arrayUnique@routines.inc.F90"
517 : end procedure
518 : #endif
519 :
520 : #if CK3_ENABLED
521 1 : module procedure test_isUniqueAll_D1_CK3_1
522 : use pm_kind, only: CKC => CK3
523 : #include "test_pm_arrayUnique@routines.inc.F90"
524 : end procedure
525 : #endif
526 :
527 : #if CK2_ENABLED
528 1 : module procedure test_isUniqueAll_D1_CK2_1
529 : use pm_kind, only: CKC => CK2
530 : #include "test_pm_arrayUnique@routines.inc.F90"
531 : end procedure
532 : #endif
533 :
534 : #if CK1_ENABLED
535 1 : module procedure test_isUniqueAll_D1_CK1_1
536 : use pm_kind, only: CKC => CK1
537 : #include "test_pm_arrayUnique@routines.inc.F90"
538 : end procedure
539 : #endif
540 :
541 : #undef CK_ENABLED
542 :
543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 :
545 : #define RK_ENABLED 1
546 :
547 : #if RK5_ENABLED
548 : module procedure test_isUniqueAll_D1_RK5_1
549 : use pm_kind, only: RKC => RK5
550 : #include "test_pm_arrayUnique@routines.inc.F90"
551 : end procedure
552 : #endif
553 :
554 : #if RK4_ENABLED
555 1 : module procedure test_isUniqueAll_D1_RK4_1
556 : use pm_kind, only: RKC => RK4
557 : #include "test_pm_arrayUnique@routines.inc.F90"
558 : end procedure
559 : #endif
560 :
561 : #if RK3_ENABLED
562 1 : module procedure test_isUniqueAll_D1_RK3_1
563 : use pm_kind, only: RKC => RK3
564 : #include "test_pm_arrayUnique@routines.inc.F90"
565 : end procedure
566 : #endif
567 :
568 : #if RK2_ENABLED
569 1 : module procedure test_isUniqueAll_D1_RK2_1
570 : use pm_kind, only: RKC => RK2
571 : #include "test_pm_arrayUnique@routines.inc.F90"
572 : end procedure
573 : #endif
574 :
575 : #if RK1_ENABLED
576 1 : module procedure test_isUniqueAll_D1_RK1_1
577 : use pm_kind, only: RKC => RK1
578 : #include "test_pm_arrayUnique@routines.inc.F90"
579 : end procedure
580 : #endif
581 :
582 : #undef RK_ENABLED
583 :
584 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585 :
586 : #undef D1_ENABLED
587 :
588 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
591 :
592 : #undef isUniqueAll_ENABLED
593 :
594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
595 :
596 : #define isUniqueAny_ENABLED 1
597 :
598 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
599 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
600 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
601 :
602 : #define D0_ENABLED 1
603 :
604 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
605 :
606 : #define SK_ENABLED 1
607 :
608 : #if SK5_ENABLED
609 : module procedure test_isUniqueAny_D0_SK5_1
610 : use pm_kind, only: SKC => SK5
611 : #include "test_pm_arrayUnique@routines.inc.F90"
612 : end procedure
613 : #endif
614 :
615 : #if SK4_ENABLED
616 : module procedure test_isUniqueAny_D0_SK4_1
617 : use pm_kind, only: SKC => SK4
618 : #include "test_pm_arrayUnique@routines.inc.F90"
619 : end procedure
620 : #endif
621 :
622 : #if SK3_ENABLED
623 : module procedure test_isUniqueAny_D0_SK3_1
624 : use pm_kind, only: SKC => SK3
625 : #include "test_pm_arrayUnique@routines.inc.F90"
626 : end procedure
627 : #endif
628 :
629 : #if SK2_ENABLED
630 : module procedure test_isUniqueAny_D0_SK2_1
631 : use pm_kind, only: SKC => SK2
632 : #include "test_pm_arrayUnique@routines.inc.F90"
633 : end procedure
634 : #endif
635 :
636 : #if SK1_ENABLED
637 1 : module procedure test_isUniqueAny_D0_SK1_1
638 : use pm_kind, only: SKC => SK1
639 : #include "test_pm_arrayUnique@routines.inc.F90"
640 : end procedure
641 : #endif
642 :
643 : #undef SK_ENABLED
644 :
645 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
646 :
647 : #undef D0_ENABLED
648 :
649 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
650 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
651 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652 :
653 : #define D1_ENABLED 1
654 :
655 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
656 :
657 : #define SK_ENABLED 1
658 :
659 : #if SK5_ENABLED
660 : module procedure test_isUniqueAny_D1_SK5_1
661 : use pm_kind, only: SKC => SK5
662 : #include "test_pm_arrayUnique@routines.inc.F90"
663 : end procedure
664 : #endif
665 :
666 : #if SK4_ENABLED
667 : module procedure test_isUniqueAny_D1_SK4_1
668 : use pm_kind, only: SKC => SK4
669 : #include "test_pm_arrayUnique@routines.inc.F90"
670 : end procedure
671 : #endif
672 :
673 : #if SK3_ENABLED
674 : module procedure test_isUniqueAny_D1_SK3_1
675 : use pm_kind, only: SKC => SK3
676 : #include "test_pm_arrayUnique@routines.inc.F90"
677 : end procedure
678 : #endif
679 :
680 : #if SK2_ENABLED
681 : module procedure test_isUniqueAny_D1_SK2_1
682 : use pm_kind, only: SKC => SK2
683 : #include "test_pm_arrayUnique@routines.inc.F90"
684 : end procedure
685 : #endif
686 :
687 : #if SK1_ENABLED
688 1 : module procedure test_isUniqueAny_D1_SK1_1
689 : use pm_kind, only: SKC => SK1
690 : #include "test_pm_arrayUnique@routines.inc.F90"
691 : end procedure
692 : #endif
693 :
694 : #undef SK_ENABLED
695 :
696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697 :
698 : #define IK_ENABLED 1
699 :
700 : #if IK5_ENABLED
701 1 : module procedure test_isUniqueAny_D1_IK5_1
702 : use pm_kind, only: IKC => IK5
703 : #include "test_pm_arrayUnique@routines.inc.F90"
704 : end procedure
705 : #endif
706 :
707 : #if IK4_ENABLED
708 1 : module procedure test_isUniqueAny_D1_IK4_1
709 : use pm_kind, only: IKC => IK4
710 : #include "test_pm_arrayUnique@routines.inc.F90"
711 : end procedure
712 : #endif
713 :
714 : #if IK3_ENABLED
715 1 : module procedure test_isUniqueAny_D1_IK3_1
716 : use pm_kind, only: IKC => IK3
717 : #include "test_pm_arrayUnique@routines.inc.F90"
718 : end procedure
719 : #endif
720 :
721 : #if IK2_ENABLED
722 1 : module procedure test_isUniqueAny_D1_IK2_1
723 : use pm_kind, only: IKC => IK2
724 : #include "test_pm_arrayUnique@routines.inc.F90"
725 : end procedure
726 : #endif
727 :
728 : #if IK1_ENABLED
729 1 : module procedure test_isUniqueAny_D1_IK1_1
730 : use pm_kind, only: IKC => IK1
731 : #include "test_pm_arrayUnique@routines.inc.F90"
732 : end procedure
733 : #endif
734 :
735 : #undef IK_ENABLED
736 :
737 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
738 :
739 : #define LK_ENABLED 1
740 :
741 : #if LK5_ENABLED
742 1 : module procedure test_isUniqueAny_D1_LK5_1
743 : use pm_kind, only: LKC => LK5
744 : #include "test_pm_arrayUnique@routines.inc.F90"
745 : end procedure
746 : #endif
747 :
748 : #if LK4_ENABLED
749 1 : module procedure test_isUniqueAny_D1_LK4_1
750 : use pm_kind, only: LKC => LK4
751 : #include "test_pm_arrayUnique@routines.inc.F90"
752 : end procedure
753 : #endif
754 :
755 : #if LK3_ENABLED
756 1 : module procedure test_isUniqueAny_D1_LK3_1
757 : use pm_kind, only: LKC => LK3
758 : #include "test_pm_arrayUnique@routines.inc.F90"
759 : end procedure
760 : #endif
761 :
762 : #if LK2_ENABLED
763 1 : module procedure test_isUniqueAny_D1_LK2_1
764 : use pm_kind, only: LKC => LK2
765 : #include "test_pm_arrayUnique@routines.inc.F90"
766 : end procedure
767 : #endif
768 :
769 : #if LK1_ENABLED
770 1 : module procedure test_isUniqueAny_D1_LK1_1
771 : use pm_kind, only: LKC => LK1
772 : #include "test_pm_arrayUnique@routines.inc.F90"
773 : end procedure
774 : #endif
775 :
776 : #undef LK_ENABLED
777 :
778 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
779 :
780 : #define CK_ENABLED 1
781 :
782 : #if CK5_ENABLED
783 : module procedure test_isUniqueAny_D1_CK5_1
784 : use pm_kind, only: CKC => CK5
785 : #include "test_pm_arrayUnique@routines.inc.F90"
786 : end procedure
787 : #endif
788 :
789 : #if CK4_ENABLED
790 1 : module procedure test_isUniqueAny_D1_CK4_1
791 : use pm_kind, only: CKC => CK4
792 : #include "test_pm_arrayUnique@routines.inc.F90"
793 : end procedure
794 : #endif
795 :
796 : #if CK3_ENABLED
797 1 : module procedure test_isUniqueAny_D1_CK3_1
798 : use pm_kind, only: CKC => CK3
799 : #include "test_pm_arrayUnique@routines.inc.F90"
800 : end procedure
801 : #endif
802 :
803 : #if CK2_ENABLED
804 1 : module procedure test_isUniqueAny_D1_CK2_1
805 : use pm_kind, only: CKC => CK2
806 : #include "test_pm_arrayUnique@routines.inc.F90"
807 : end procedure
808 : #endif
809 :
810 : #if CK1_ENABLED
811 1 : module procedure test_isUniqueAny_D1_CK1_1
812 : use pm_kind, only: CKC => CK1
813 : #include "test_pm_arrayUnique@routines.inc.F90"
814 : end procedure
815 : #endif
816 :
817 : #undef CK_ENABLED
818 :
819 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
820 :
821 : #define RK_ENABLED 1
822 :
823 : #if RK5_ENABLED
824 : module procedure test_isUniqueAny_D1_RK5_1
825 : use pm_kind, only: RKC => RK5
826 : #include "test_pm_arrayUnique@routines.inc.F90"
827 : end procedure
828 : #endif
829 :
830 : #if RK4_ENABLED
831 1 : module procedure test_isUniqueAny_D1_RK4_1
832 : use pm_kind, only: RKC => RK4
833 : #include "test_pm_arrayUnique@routines.inc.F90"
834 : end procedure
835 : #endif
836 :
837 : #if RK3_ENABLED
838 1 : module procedure test_isUniqueAny_D1_RK3_1
839 : use pm_kind, only: RKC => RK3
840 : #include "test_pm_arrayUnique@routines.inc.F90"
841 : end procedure
842 : #endif
843 :
844 : #if RK2_ENABLED
845 1 : module procedure test_isUniqueAny_D1_RK2_1
846 : use pm_kind, only: RKC => RK2
847 : #include "test_pm_arrayUnique@routines.inc.F90"
848 : end procedure
849 : #endif
850 :
851 : #if RK1_ENABLED
852 1 : module procedure test_isUniqueAny_D1_RK1_1
853 : use pm_kind, only: RKC => RK1
854 : #include "test_pm_arrayUnique@routines.inc.F90"
855 : end procedure
856 : #endif
857 :
858 : #undef RK_ENABLED
859 :
860 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861 :
862 : #undef D1_ENABLED
863 :
864 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
865 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
866 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
867 :
868 : #undef isUniqueAny_ENABLED
869 :
870 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
871 :
872 : #define getUnique_ENABLED 1
873 :
874 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
875 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
876 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
877 :
878 : #define D0_ENABLED 1
879 :
880 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
881 :
882 : #define SK_ENABLED 1
883 :
884 : #if SK5_ENABLED
885 : module procedure test_getUnique_D0_SK5_1
886 : use pm_kind, only: SKC => SK5
887 : #include "test_pm_arrayUnique@routines.inc.F90"
888 : end procedure
889 : #endif
890 :
891 : #if SK4_ENABLED
892 : module procedure test_getUnique_D0_SK4_1
893 : use pm_kind, only: SKC => SK4
894 : #include "test_pm_arrayUnique@routines.inc.F90"
895 : end procedure
896 : #endif
897 :
898 : #if SK3_ENABLED
899 : module procedure test_getUnique_D0_SK3_1
900 : use pm_kind, only: SKC => SK3
901 : #include "test_pm_arrayUnique@routines.inc.F90"
902 : end procedure
903 : #endif
904 :
905 : #if SK2_ENABLED
906 : module procedure test_getUnique_D0_SK2_1
907 : use pm_kind, only: SKC => SK2
908 : #include "test_pm_arrayUnique@routines.inc.F90"
909 : end procedure
910 : #endif
911 :
912 : #if SK1_ENABLED
913 1 : module procedure test_getUnique_D0_SK1_1
914 : use pm_kind, only: SKC => SK1
915 : #include "test_pm_arrayUnique@routines.inc.F90"
916 : end procedure
917 : #endif
918 :
919 : #undef SK_ENABLED
920 :
921 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
922 :
923 : #undef D0_ENABLED
924 :
925 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
926 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
927 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
928 :
929 : #define D1_ENABLED 1
930 :
931 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
932 :
933 : #define SK_ENABLED 1
934 :
935 : #if SK5_ENABLED
936 : module procedure test_getUnique_D1_SK5_1
937 : use pm_kind, only: SKC => SK5
938 : #include "test_pm_arrayUnique@routines.inc.F90"
939 : end procedure
940 : #endif
941 :
942 : #if SK4_ENABLED
943 : module procedure test_getUnique_D1_SK4_1
944 : use pm_kind, only: SKC => SK4
945 : #include "test_pm_arrayUnique@routines.inc.F90"
946 : end procedure
947 : #endif
948 :
949 : #if SK3_ENABLED
950 : module procedure test_getUnique_D1_SK3_1
951 : use pm_kind, only: SKC => SK3
952 : #include "test_pm_arrayUnique@routines.inc.F90"
953 : end procedure
954 : #endif
955 :
956 : #if SK2_ENABLED
957 : module procedure test_getUnique_D1_SK2_1
958 : use pm_kind, only: SKC => SK2
959 : #include "test_pm_arrayUnique@routines.inc.F90"
960 : end procedure
961 : #endif
962 :
963 : #if SK1_ENABLED
964 1 : module procedure test_getUnique_D1_SK1_1
965 : use pm_kind, only: SKC => SK1
966 : #include "test_pm_arrayUnique@routines.inc.F90"
967 : end procedure
968 : #endif
969 :
970 : #undef SK_ENABLED
971 :
972 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
973 :
974 : #define IK_ENABLED 1
975 :
976 : #if IK5_ENABLED
977 1 : module procedure test_getUnique_D1_IK5_1
978 : use pm_kind, only: IKC => IK5
979 : #include "test_pm_arrayUnique@routines.inc.F90"
980 : end procedure
981 : #endif
982 :
983 : #if IK4_ENABLED
984 1 : module procedure test_getUnique_D1_IK4_1
985 : use pm_kind, only: IKC => IK4
986 : #include "test_pm_arrayUnique@routines.inc.F90"
987 : end procedure
988 : #endif
989 :
990 : #if IK3_ENABLED
991 1 : module procedure test_getUnique_D1_IK3_1
992 : use pm_kind, only: IKC => IK3
993 : #include "test_pm_arrayUnique@routines.inc.F90"
994 : end procedure
995 : #endif
996 :
997 : #if IK2_ENABLED
998 1 : module procedure test_getUnique_D1_IK2_1
999 : use pm_kind, only: IKC => IK2
1000 : #include "test_pm_arrayUnique@routines.inc.F90"
1001 : end procedure
1002 : #endif
1003 :
1004 : #if IK1_ENABLED
1005 1 : module procedure test_getUnique_D1_IK1_1
1006 : use pm_kind, only: IKC => IK1
1007 : #include "test_pm_arrayUnique@routines.inc.F90"
1008 : end procedure
1009 : #endif
1010 :
1011 : #undef IK_ENABLED
1012 :
1013 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1014 :
1015 : #define LK_ENABLED 1
1016 :
1017 : #if LK5_ENABLED
1018 1 : module procedure test_getUnique_D1_LK5_1
1019 : use pm_kind, only: LKC => LK5
1020 : #include "test_pm_arrayUnique@routines.inc.F90"
1021 : end procedure
1022 : #endif
1023 :
1024 : #if LK4_ENABLED
1025 1 : module procedure test_getUnique_D1_LK4_1
1026 : use pm_kind, only: LKC => LK4
1027 : #include "test_pm_arrayUnique@routines.inc.F90"
1028 : end procedure
1029 : #endif
1030 :
1031 : #if LK3_ENABLED
1032 1 : module procedure test_getUnique_D1_LK3_1
1033 : use pm_kind, only: LKC => LK3
1034 : #include "test_pm_arrayUnique@routines.inc.F90"
1035 : end procedure
1036 : #endif
1037 :
1038 : #if LK2_ENABLED
1039 1 : module procedure test_getUnique_D1_LK2_1
1040 : use pm_kind, only: LKC => LK2
1041 : #include "test_pm_arrayUnique@routines.inc.F90"
1042 : end procedure
1043 : #endif
1044 :
1045 : #if LK1_ENABLED
1046 1 : module procedure test_getUnique_D1_LK1_1
1047 : use pm_kind, only: LKC => LK1
1048 : #include "test_pm_arrayUnique@routines.inc.F90"
1049 : end procedure
1050 : #endif
1051 :
1052 : #undef LK_ENABLED
1053 :
1054 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1055 :
1056 : #define CK_ENABLED 1
1057 :
1058 : #if CK5_ENABLED
1059 : module procedure test_getUnique_D1_CK5_1
1060 : use pm_kind, only: CKC => CK5
1061 : #include "test_pm_arrayUnique@routines.inc.F90"
1062 : end procedure
1063 : #endif
1064 :
1065 : #if CK4_ENABLED
1066 1 : module procedure test_getUnique_D1_CK4_1
1067 : use pm_kind, only: CKC => CK4
1068 : #include "test_pm_arrayUnique@routines.inc.F90"
1069 : end procedure
1070 : #endif
1071 :
1072 : #if CK3_ENABLED
1073 1 : module procedure test_getUnique_D1_CK3_1
1074 : use pm_kind, only: CKC => CK3
1075 : #include "test_pm_arrayUnique@routines.inc.F90"
1076 : end procedure
1077 : #endif
1078 :
1079 : #if CK2_ENABLED
1080 1 : module procedure test_getUnique_D1_CK2_1
1081 : use pm_kind, only: CKC => CK2
1082 : #include "test_pm_arrayUnique@routines.inc.F90"
1083 : end procedure
1084 : #endif
1085 :
1086 : #if CK1_ENABLED
1087 1 : module procedure test_getUnique_D1_CK1_1
1088 : use pm_kind, only: CKC => CK1
1089 : #include "test_pm_arrayUnique@routines.inc.F90"
1090 : end procedure
1091 : #endif
1092 :
1093 : #undef CK_ENABLED
1094 :
1095 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1096 :
1097 : #define RK_ENABLED 1
1098 :
1099 : #if RK5_ENABLED
1100 : module procedure test_getUnique_D1_RK5_1
1101 : use pm_kind, only: RKC => RK5
1102 : #include "test_pm_arrayUnique@routines.inc.F90"
1103 : end procedure
1104 : #endif
1105 :
1106 : #if RK4_ENABLED
1107 1 : module procedure test_getUnique_D1_RK4_1
1108 : use pm_kind, only: RKC => RK4
1109 : #include "test_pm_arrayUnique@routines.inc.F90"
1110 : end procedure
1111 : #endif
1112 :
1113 : #if RK3_ENABLED
1114 1 : module procedure test_getUnique_D1_RK3_1
1115 : use pm_kind, only: RKC => RK3
1116 : #include "test_pm_arrayUnique@routines.inc.F90"
1117 : end procedure
1118 : #endif
1119 :
1120 : #if RK2_ENABLED
1121 1 : module procedure test_getUnique_D1_RK2_1
1122 : use pm_kind, only: RKC => RK2
1123 : #include "test_pm_arrayUnique@routines.inc.F90"
1124 : end procedure
1125 : #endif
1126 :
1127 : #if RK1_ENABLED
1128 1 : module procedure test_getUnique_D1_RK1_1
1129 : use pm_kind, only: RKC => RK1
1130 : #include "test_pm_arrayUnique@routines.inc.F90"
1131 : end procedure
1132 : #endif
1133 :
1134 : #undef RK_ENABLED
1135 :
1136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1137 :
1138 : #undef D1_ENABLED
1139 :
1140 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1141 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1142 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1143 :
1144 : #undef getUnique_ENABLED
1145 :
1146 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1147 :
1148 : #define setUnique_ENABLED 1
1149 :
1150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1152 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1153 :
1154 : #define D0_ENABLED 1
1155 :
1156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1157 :
1158 : #define SK_ENABLED 1
1159 :
1160 : #if SK5_ENABLED
1161 : module procedure test_setUnique_D0_SK5_1
1162 : use pm_kind, only: SKC => SK5
1163 : #include "test_pm_arrayUnique@routines.inc.F90"
1164 : end procedure
1165 : #endif
1166 :
1167 : #if SK4_ENABLED
1168 : module procedure test_setUnique_D0_SK4_1
1169 : use pm_kind, only: SKC => SK4
1170 : #include "test_pm_arrayUnique@routines.inc.F90"
1171 : end procedure
1172 : #endif
1173 :
1174 : #if SK3_ENABLED
1175 : module procedure test_setUnique_D0_SK3_1
1176 : use pm_kind, only: SKC => SK3
1177 : #include "test_pm_arrayUnique@routines.inc.F90"
1178 : end procedure
1179 : #endif
1180 :
1181 : #if SK2_ENABLED
1182 : module procedure test_setUnique_D0_SK2_1
1183 : use pm_kind, only: SKC => SK2
1184 : #include "test_pm_arrayUnique@routines.inc.F90"
1185 : end procedure
1186 : #endif
1187 :
1188 : #if SK1_ENABLED
1189 1 : module procedure test_setUnique_D0_SK1_1
1190 : use pm_kind, only: SKC => SK1
1191 : #include "test_pm_arrayUnique@routines.inc.F90"
1192 : end procedure
1193 : #endif
1194 :
1195 : #undef SK_ENABLED
1196 :
1197 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1198 :
1199 : #undef D0_ENABLED
1200 :
1201 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1202 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1203 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1204 :
1205 : #define D1_ENABLED 1
1206 :
1207 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1208 :
1209 : #define SK_ENABLED 1
1210 :
1211 : #if SK5_ENABLED
1212 : module procedure test_setUnique_D1_SK5_1
1213 : use pm_kind, only: SKC => SK5
1214 : #include "test_pm_arrayUnique@routines.inc.F90"
1215 : end procedure
1216 : #endif
1217 :
1218 : #if SK4_ENABLED
1219 : module procedure test_setUnique_D1_SK4_1
1220 : use pm_kind, only: SKC => SK4
1221 : #include "test_pm_arrayUnique@routines.inc.F90"
1222 : end procedure
1223 : #endif
1224 :
1225 : #if SK3_ENABLED
1226 : module procedure test_setUnique_D1_SK3_1
1227 : use pm_kind, only: SKC => SK3
1228 : #include "test_pm_arrayUnique@routines.inc.F90"
1229 : end procedure
1230 : #endif
1231 :
1232 : #if SK2_ENABLED
1233 : module procedure test_setUnique_D1_SK2_1
1234 : use pm_kind, only: SKC => SK2
1235 : #include "test_pm_arrayUnique@routines.inc.F90"
1236 : end procedure
1237 : #endif
1238 :
1239 : #if SK1_ENABLED
1240 1 : module procedure test_setUnique_D1_SK1_1
1241 : use pm_kind, only: SKC => SK1
1242 : #include "test_pm_arrayUnique@routines.inc.F90"
1243 : end procedure
1244 : #endif
1245 :
1246 : #undef SK_ENABLED
1247 :
1248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249 :
1250 : #define IK_ENABLED 1
1251 :
1252 : #if IK5_ENABLED
1253 1 : module procedure test_setUnique_D1_IK5_1
1254 : use pm_kind, only: IKC => IK5
1255 : #include "test_pm_arrayUnique@routines.inc.F90"
1256 : end procedure
1257 : #endif
1258 :
1259 : #if IK4_ENABLED
1260 1 : module procedure test_setUnique_D1_IK4_1
1261 : use pm_kind, only: IKC => IK4
1262 : #include "test_pm_arrayUnique@routines.inc.F90"
1263 : end procedure
1264 : #endif
1265 :
1266 : #if IK3_ENABLED
1267 1 : module procedure test_setUnique_D1_IK3_1
1268 : use pm_kind, only: IKC => IK3
1269 : #include "test_pm_arrayUnique@routines.inc.F90"
1270 : end procedure
1271 : #endif
1272 :
1273 : #if IK2_ENABLED
1274 1 : module procedure test_setUnique_D1_IK2_1
1275 : use pm_kind, only: IKC => IK2
1276 : #include "test_pm_arrayUnique@routines.inc.F90"
1277 : end procedure
1278 : #endif
1279 :
1280 : #if IK1_ENABLED
1281 1 : module procedure test_setUnique_D1_IK1_1
1282 : use pm_kind, only: IKC => IK1
1283 : #include "test_pm_arrayUnique@routines.inc.F90"
1284 : end procedure
1285 : #endif
1286 :
1287 : #undef IK_ENABLED
1288 :
1289 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290 :
1291 : #define LK_ENABLED 1
1292 :
1293 : #if LK5_ENABLED
1294 1 : module procedure test_setUnique_D1_LK5_1
1295 : use pm_kind, only: LKC => LK5
1296 : #include "test_pm_arrayUnique@routines.inc.F90"
1297 : end procedure
1298 : #endif
1299 :
1300 : #if LK4_ENABLED
1301 1 : module procedure test_setUnique_D1_LK4_1
1302 : use pm_kind, only: LKC => LK4
1303 : #include "test_pm_arrayUnique@routines.inc.F90"
1304 : end procedure
1305 : #endif
1306 :
1307 : #if LK3_ENABLED
1308 1 : module procedure test_setUnique_D1_LK3_1
1309 : use pm_kind, only: LKC => LK3
1310 : #include "test_pm_arrayUnique@routines.inc.F90"
1311 : end procedure
1312 : #endif
1313 :
1314 : #if LK2_ENABLED
1315 1 : module procedure test_setUnique_D1_LK2_1
1316 : use pm_kind, only: LKC => LK2
1317 : #include "test_pm_arrayUnique@routines.inc.F90"
1318 : end procedure
1319 : #endif
1320 :
1321 : #if LK1_ENABLED
1322 1 : module procedure test_setUnique_D1_LK1_1
1323 : use pm_kind, only: LKC => LK1
1324 : #include "test_pm_arrayUnique@routines.inc.F90"
1325 : end procedure
1326 : #endif
1327 :
1328 : #undef LK_ENABLED
1329 :
1330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1331 :
1332 : #define CK_ENABLED 1
1333 :
1334 : #if CK5_ENABLED
1335 : module procedure test_setUnique_D1_CK5_1
1336 : use pm_kind, only: CKC => CK5
1337 : #include "test_pm_arrayUnique@routines.inc.F90"
1338 : end procedure
1339 : #endif
1340 :
1341 : #if CK4_ENABLED
1342 1 : module procedure test_setUnique_D1_CK4_1
1343 : use pm_kind, only: CKC => CK4
1344 : #include "test_pm_arrayUnique@routines.inc.F90"
1345 : end procedure
1346 : #endif
1347 :
1348 : #if CK3_ENABLED
1349 1 : module procedure test_setUnique_D1_CK3_1
1350 : use pm_kind, only: CKC => CK3
1351 : #include "test_pm_arrayUnique@routines.inc.F90"
1352 : end procedure
1353 : #endif
1354 :
1355 : #if CK2_ENABLED
1356 1 : module procedure test_setUnique_D1_CK2_1
1357 : use pm_kind, only: CKC => CK2
1358 : #include "test_pm_arrayUnique@routines.inc.F90"
1359 : end procedure
1360 : #endif
1361 :
1362 : #if CK1_ENABLED
1363 1 : module procedure test_setUnique_D1_CK1_1
1364 : use pm_kind, only: CKC => CK1
1365 : #include "test_pm_arrayUnique@routines.inc.F90"
1366 : end procedure
1367 : #endif
1368 :
1369 : #undef CK_ENABLED
1370 :
1371 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1372 :
1373 : #define RK_ENABLED 1
1374 :
1375 : #if RK5_ENABLED
1376 : module procedure test_setUnique_D1_RK5_1
1377 : use pm_kind, only: RKC => RK5
1378 : #include "test_pm_arrayUnique@routines.inc.F90"
1379 : end procedure
1380 : #endif
1381 :
1382 : #if RK4_ENABLED
1383 1 : module procedure test_setUnique_D1_RK4_1
1384 : use pm_kind, only: RKC => RK4
1385 : #include "test_pm_arrayUnique@routines.inc.F90"
1386 : end procedure
1387 : #endif
1388 :
1389 : #if RK3_ENABLED
1390 1 : module procedure test_setUnique_D1_RK3_1
1391 : use pm_kind, only: RKC => RK3
1392 : #include "test_pm_arrayUnique@routines.inc.F90"
1393 : end procedure
1394 : #endif
1395 :
1396 : #if RK2_ENABLED
1397 1 : module procedure test_setUnique_D1_RK2_1
1398 : use pm_kind, only: RKC => RK2
1399 : #include "test_pm_arrayUnique@routines.inc.F90"
1400 : end procedure
1401 : #endif
1402 :
1403 : #if RK1_ENABLED
1404 1 : module procedure test_setUnique_D1_RK1_1
1405 : use pm_kind, only: RKC => RK1
1406 : #include "test_pm_arrayUnique@routines.inc.F90"
1407 : end procedure
1408 : #endif
1409 :
1410 : #undef RK_ENABLED
1411 :
1412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1413 :
1414 : #undef D1_ENABLED
1415 :
1416 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1418 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1419 :
1420 : #undef setUnique_ENABLED
1421 :
1422 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1423 :
1424 : end submodule routines
|