Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This file contains procedure implementations of [pm_arrayComplement](@ref pm_arrayComplement).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayComplement) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : implicit none
40 :
41 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 :
43 : contains
44 :
45 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 :
47 : #define getComplement_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define Random_ENABLED 1
54 : #define DefCom_ENABLED 1
55 :
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : #define D0_ENABLED 1
61 :
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 :
64 : #define SK_ENABLED 1
65 :
66 : #if SK5_ENABLED
67 : module procedure getComplementRandomDefCom_D0_SK5
68 : use pm_kind, only: SKC => SK5
69 : #include "pm_arrayComplement@routines.inc.F90"
70 : end procedure
71 : #endif
72 :
73 : #if SK4_ENABLED
74 : module procedure getComplementRandomDefCom_D0_SK4
75 : use pm_kind, only: SKC => SK4
76 : #include "pm_arrayComplement@routines.inc.F90"
77 : end procedure
78 : #endif
79 :
80 : #if SK3_ENABLED
81 : module procedure getComplementRandomDefCom_D0_SK3
82 : use pm_kind, only: SKC => SK3
83 : #include "pm_arrayComplement@routines.inc.F90"
84 : end procedure
85 : #endif
86 :
87 : #if SK2_ENABLED
88 : module procedure getComplementRandomDefCom_D0_SK2
89 : use pm_kind, only: SKC => SK2
90 : #include "pm_arrayComplement@routines.inc.F90"
91 : end procedure
92 : #endif
93 :
94 : #if SK1_ENABLED
95 24 : module procedure getComplementRandomDefCom_D0_SK1
96 : use pm_kind, only: SKC => SK1
97 : #include "pm_arrayComplement@routines.inc.F90"
98 24 : end procedure
99 : #endif
100 :
101 : #undef SK_ENABLED
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 :
105 : #undef D0_ENABLED
106 :
107 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define D1_ENABLED 1
112 :
113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114 :
115 : #define SK_ENABLED 1
116 :
117 : #if SK5_ENABLED
118 : module procedure getComplementRandomDefCom_D1_SK5
119 : use pm_kind, only: SKC => SK5
120 : #include "pm_arrayComplement@routines.inc.F90"
121 : end procedure
122 : #endif
123 :
124 : #if SK4_ENABLED
125 : module procedure getComplementRandomDefCom_D1_SK4
126 : use pm_kind, only: SKC => SK4
127 : #include "pm_arrayComplement@routines.inc.F90"
128 : end procedure
129 : #endif
130 :
131 : #if SK3_ENABLED
132 : module procedure getComplementRandomDefCom_D1_SK3
133 : use pm_kind, only: SKC => SK3
134 : #include "pm_arrayComplement@routines.inc.F90"
135 : end procedure
136 : #endif
137 :
138 : #if SK2_ENABLED
139 : module procedure getComplementRandomDefCom_D1_SK2
140 : use pm_kind, only: SKC => SK2
141 : #include "pm_arrayComplement@routines.inc.F90"
142 : end procedure
143 : #endif
144 :
145 : #if SK1_ENABLED
146 22 : module procedure getComplementRandomDefCom_D1_SK1
147 : use pm_kind, only: SKC => SK1
148 : #include "pm_arrayComplement@routines.inc.F90"
149 22 : end procedure
150 : #endif
151 :
152 : #undef SK_ENABLED
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 :
156 : #define IK_ENABLED 1
157 :
158 : #if IK5_ENABLED
159 276 : module procedure getComplementRandomDefCom_D1_IK5
160 : use pm_kind, only: IKC => IK5
161 : #include "pm_arrayComplement@routines.inc.F90"
162 276 : end procedure
163 : #endif
164 :
165 : #if IK4_ENABLED
166 276 : module procedure getComplementRandomDefCom_D1_IK4
167 : use pm_kind, only: IKC => IK4
168 : #include "pm_arrayComplement@routines.inc.F90"
169 276 : end procedure
170 : #endif
171 :
172 : #if IK3_ENABLED
173 277 : module procedure getComplementRandomDefCom_D1_IK3
174 : use pm_kind, only: IKC => IK3
175 : #include "pm_arrayComplement@routines.inc.F90"
176 277 : end procedure
177 : #endif
178 :
179 : #if IK2_ENABLED
180 276 : module procedure getComplementRandomDefCom_D1_IK2
181 : use pm_kind, only: IKC => IK2
182 : #include "pm_arrayComplement@routines.inc.F90"
183 276 : end procedure
184 : #endif
185 :
186 : #if IK1_ENABLED
187 276 : module procedure getComplementRandomDefCom_D1_IK1
188 : use pm_kind, only: IKC => IK1
189 : #include "pm_arrayComplement@routines.inc.F90"
190 276 : end procedure
191 : #endif
192 :
193 : #undef IK_ENABLED
194 :
195 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
196 :
197 : #define LK_ENABLED 1
198 :
199 : #if LK5_ENABLED
200 17 : module procedure getComplementRandomDefCom_D1_LK5
201 : use pm_kind, only: LKC => LK5
202 : #include "pm_arrayComplement@routines.inc.F90"
203 17 : end procedure
204 : #endif
205 :
206 : #if LK4_ENABLED
207 17 : module procedure getComplementRandomDefCom_D1_LK4
208 : use pm_kind, only: LKC => LK4
209 : #include "pm_arrayComplement@routines.inc.F90"
210 17 : end procedure
211 : #endif
212 :
213 : #if LK3_ENABLED
214 17 : module procedure getComplementRandomDefCom_D1_LK3
215 : use pm_kind, only: LKC => LK3
216 : #include "pm_arrayComplement@routines.inc.F90"
217 17 : end procedure
218 : #endif
219 :
220 : #if LK2_ENABLED
221 17 : module procedure getComplementRandomDefCom_D1_LK2
222 : use pm_kind, only: LKC => LK2
223 : #include "pm_arrayComplement@routines.inc.F90"
224 17 : end procedure
225 : #endif
226 :
227 : #if LK1_ENABLED
228 17 : module procedure getComplementRandomDefCom_D1_LK1
229 : use pm_kind, only: LKC => LK1
230 : #include "pm_arrayComplement@routines.inc.F90"
231 17 : end procedure
232 : #endif
233 :
234 : #undef LK_ENABLED
235 :
236 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
237 :
238 : #define CK_ENABLED 1
239 :
240 : #if CK5_ENABLED
241 : module procedure getComplementRandomDefCom_D1_CK5
242 : use pm_kind, only: CKC => CK5
243 : #include "pm_arrayComplement@routines.inc.F90"
244 : end procedure
245 : #endif
246 :
247 : #if CK4_ENABLED
248 21 : module procedure getComplementRandomDefCom_D1_CK4
249 : use pm_kind, only: CKC => CK4
250 : #include "pm_arrayComplement@routines.inc.F90"
251 21 : end procedure
252 : #endif
253 :
254 : #if CK3_ENABLED
255 21 : module procedure getComplementRandomDefCom_D1_CK3
256 : use pm_kind, only: CKC => CK3
257 : #include "pm_arrayComplement@routines.inc.F90"
258 21 : end procedure
259 : #endif
260 :
261 : #if CK2_ENABLED
262 21 : module procedure getComplementRandomDefCom_D1_CK2
263 : use pm_kind, only: CKC => CK2
264 : #include "pm_arrayComplement@routines.inc.F90"
265 21 : end procedure
266 : #endif
267 :
268 : #if CK1_ENABLED
269 22 : module procedure getComplementRandomDefCom_D1_CK1
270 : use pm_kind, only: CKC => CK1
271 : #include "pm_arrayComplement@routines.inc.F90"
272 22 : end procedure
273 : #endif
274 :
275 : #undef CK_ENABLED
276 :
277 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278 :
279 : #define RK_ENABLED 1
280 :
281 : #if RK5_ENABLED
282 : module procedure getComplementRandomDefCom_D1_RK5
283 : use pm_kind, only: RKC => RK5
284 : #include "pm_arrayComplement@routines.inc.F90"
285 : end procedure
286 : #endif
287 :
288 : #if RK4_ENABLED
289 21 : module procedure getComplementRandomDefCom_D1_RK4
290 : use pm_kind, only: RKC => RK4
291 : #include "pm_arrayComplement@routines.inc.F90"
292 21 : end procedure
293 : #endif
294 :
295 : #if RK3_ENABLED
296 21 : module procedure getComplementRandomDefCom_D1_RK3
297 : use pm_kind, only: RKC => RK3
298 : #include "pm_arrayComplement@routines.inc.F90"
299 21 : end procedure
300 : #endif
301 :
302 : #if RK2_ENABLED
303 21 : module procedure getComplementRandomDefCom_D1_RK2
304 : use pm_kind, only: RKC => RK2
305 : #include "pm_arrayComplement@routines.inc.F90"
306 21 : end procedure
307 : #endif
308 :
309 : #if RK1_ENABLED
310 22 : module procedure getComplementRandomDefCom_D1_RK1
311 : use pm_kind, only: RKC => RK1
312 : #include "pm_arrayComplement@routines.inc.F90"
313 22 : end procedure
314 : #endif
315 :
316 : #undef RK_ENABLED
317 :
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 :
320 : #undef D1_ENABLED
321 :
322 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
325 :
326 : #undef Random_ENABLED
327 : #undef DefCom_ENABLED
328 :
329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
332 :
333 : #define Random_ENABLED 1
334 : #define CusCom_ENABLED 1
335 :
336 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 :
340 : #define D0_ENABLED 1
341 :
342 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
343 :
344 : #define SK_ENABLED 1
345 :
346 : #if SK5_ENABLED
347 : module procedure getComplementRandomCusCom_D0_SK5
348 : use pm_kind, only: SKC => SK5
349 : #include "pm_arrayComplement@routines.inc.F90"
350 : end procedure
351 : #endif
352 :
353 : #if SK4_ENABLED
354 : module procedure getComplementRandomCusCom_D0_SK4
355 : use pm_kind, only: SKC => SK4
356 : #include "pm_arrayComplement@routines.inc.F90"
357 : end procedure
358 : #endif
359 :
360 : #if SK3_ENABLED
361 : module procedure getComplementRandomCusCom_D0_SK3
362 : use pm_kind, only: SKC => SK3
363 : #include "pm_arrayComplement@routines.inc.F90"
364 : end procedure
365 : #endif
366 :
367 : #if SK2_ENABLED
368 : module procedure getComplementRandomCusCom_D0_SK2
369 : use pm_kind, only: SKC => SK2
370 : #include "pm_arrayComplement@routines.inc.F90"
371 : end procedure
372 : #endif
373 :
374 : #if SK1_ENABLED
375 22 : module procedure getComplementRandomCusCom_D0_SK1
376 : use pm_kind, only: SKC => SK1
377 : #include "pm_arrayComplement@routines.inc.F90"
378 22 : end procedure
379 : #endif
380 :
381 : #undef SK_ENABLED
382 :
383 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
384 :
385 : #undef D0_ENABLED
386 :
387 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 :
391 : #define D1_ENABLED 1
392 :
393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394 :
395 : #define SK_ENABLED 1
396 :
397 : #if SK5_ENABLED
398 : module procedure getComplementRandomCusCom_D1_SK5
399 : use pm_kind, only: SKC => SK5
400 : #include "pm_arrayComplement@routines.inc.F90"
401 : end procedure
402 : #endif
403 :
404 : #if SK4_ENABLED
405 : module procedure getComplementRandomCusCom_D1_SK4
406 : use pm_kind, only: SKC => SK4
407 : #include "pm_arrayComplement@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if SK3_ENABLED
412 : module procedure getComplementRandomCusCom_D1_SK3
413 : use pm_kind, only: SKC => SK3
414 : #include "pm_arrayComplement@routines.inc.F90"
415 : end procedure
416 : #endif
417 :
418 : #if SK2_ENABLED
419 : module procedure getComplementRandomCusCom_D1_SK2
420 : use pm_kind, only: SKC => SK2
421 : #include "pm_arrayComplement@routines.inc.F90"
422 : end procedure
423 : #endif
424 :
425 : #if SK1_ENABLED
426 21 : module procedure getComplementRandomCusCom_D1_SK1
427 : use pm_kind, only: SKC => SK1
428 : #include "pm_arrayComplement@routines.inc.F90"
429 21 : end procedure
430 : #endif
431 :
432 : #undef SK_ENABLED
433 :
434 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435 :
436 : #define IK_ENABLED 1
437 :
438 : #if IK5_ENABLED
439 21 : module procedure getComplementRandomCusCom_D1_IK5
440 : use pm_kind, only: IKC => IK5
441 : #include "pm_arrayComplement@routines.inc.F90"
442 21 : end procedure
443 : #endif
444 :
445 : #if IK4_ENABLED
446 21 : module procedure getComplementRandomCusCom_D1_IK4
447 : use pm_kind, only: IKC => IK4
448 : #include "pm_arrayComplement@routines.inc.F90"
449 21 : end procedure
450 : #endif
451 :
452 : #if IK3_ENABLED
453 21 : module procedure getComplementRandomCusCom_D1_IK3
454 : use pm_kind, only: IKC => IK3
455 : #include "pm_arrayComplement@routines.inc.F90"
456 21 : end procedure
457 : #endif
458 :
459 : #if IK2_ENABLED
460 21 : module procedure getComplementRandomCusCom_D1_IK2
461 : use pm_kind, only: IKC => IK2
462 : #include "pm_arrayComplement@routines.inc.F90"
463 21 : end procedure
464 : #endif
465 :
466 : #if IK1_ENABLED
467 21 : module procedure getComplementRandomCusCom_D1_IK1
468 : use pm_kind, only: IKC => IK1
469 : #include "pm_arrayComplement@routines.inc.F90"
470 21 : end procedure
471 : #endif
472 :
473 : #undef IK_ENABLED
474 :
475 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
476 :
477 : #define LK_ENABLED 1
478 :
479 : #if LK5_ENABLED
480 17 : module procedure getComplementRandomCusCom_D1_LK5
481 : use pm_kind, only: LKC => LK5
482 : #include "pm_arrayComplement@routines.inc.F90"
483 17 : end procedure
484 : #endif
485 :
486 : #if LK4_ENABLED
487 17 : module procedure getComplementRandomCusCom_D1_LK4
488 : use pm_kind, only: LKC => LK4
489 : #include "pm_arrayComplement@routines.inc.F90"
490 17 : end procedure
491 : #endif
492 :
493 : #if LK3_ENABLED
494 17 : module procedure getComplementRandomCusCom_D1_LK3
495 : use pm_kind, only: LKC => LK3
496 : #include "pm_arrayComplement@routines.inc.F90"
497 17 : end procedure
498 : #endif
499 :
500 : #if LK2_ENABLED
501 17 : module procedure getComplementRandomCusCom_D1_LK2
502 : use pm_kind, only: LKC => LK2
503 : #include "pm_arrayComplement@routines.inc.F90"
504 17 : end procedure
505 : #endif
506 :
507 : #if LK1_ENABLED
508 17 : module procedure getComplementRandomCusCom_D1_LK1
509 : use pm_kind, only: LKC => LK1
510 : #include "pm_arrayComplement@routines.inc.F90"
511 17 : end procedure
512 : #endif
513 :
514 : #undef LK_ENABLED
515 :
516 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
517 :
518 : #define CK_ENABLED 1
519 :
520 : #if CK5_ENABLED
521 : module procedure getComplementRandomCusCom_D1_CK5
522 : use pm_kind, only: CKC => CK5
523 : #include "pm_arrayComplement@routines.inc.F90"
524 : end procedure
525 : #endif
526 :
527 : #if CK4_ENABLED
528 21 : module procedure getComplementRandomCusCom_D1_CK4
529 : use pm_kind, only: CKC => CK4
530 : #include "pm_arrayComplement@routines.inc.F90"
531 21 : end procedure
532 : #endif
533 :
534 : #if CK3_ENABLED
535 21 : module procedure getComplementRandomCusCom_D1_CK3
536 : use pm_kind, only: CKC => CK3
537 : #include "pm_arrayComplement@routines.inc.F90"
538 21 : end procedure
539 : #endif
540 :
541 : #if CK2_ENABLED
542 21 : module procedure getComplementRandomCusCom_D1_CK2
543 : use pm_kind, only: CKC => CK2
544 : #include "pm_arrayComplement@routines.inc.F90"
545 21 : end procedure
546 : #endif
547 :
548 : #if CK1_ENABLED
549 21 : module procedure getComplementRandomCusCom_D1_CK1
550 : use pm_kind, only: CKC => CK1
551 : #include "pm_arrayComplement@routines.inc.F90"
552 21 : end procedure
553 : #endif
554 :
555 : #undef CK_ENABLED
556 :
557 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558 :
559 : #define RK_ENABLED 1
560 :
561 : #if RK5_ENABLED
562 : module procedure getComplementRandomCusCom_D1_RK5
563 : use pm_kind, only: RKC => RK5
564 : #include "pm_arrayComplement@routines.inc.F90"
565 : end procedure
566 : #endif
567 :
568 : #if RK4_ENABLED
569 21 : module procedure getComplementRandomCusCom_D1_RK4
570 : use pm_kind, only: RKC => RK4
571 : #include "pm_arrayComplement@routines.inc.F90"
572 21 : end procedure
573 : #endif
574 :
575 : #if RK3_ENABLED
576 21 : module procedure getComplementRandomCusCom_D1_RK3
577 : use pm_kind, only: RKC => RK3
578 : #include "pm_arrayComplement@routines.inc.F90"
579 21 : end procedure
580 : #endif
581 :
582 : #if RK2_ENABLED
583 21 : module procedure getComplementRandomCusCom_D1_RK2
584 : use pm_kind, only: RKC => RK2
585 : #include "pm_arrayComplement@routines.inc.F90"
586 21 : end procedure
587 : #endif
588 :
589 : #if RK1_ENABLED
590 21 : module procedure getComplementRandomCusCom_D1_RK1
591 : use pm_kind, only: RKC => RK1
592 : #include "pm_arrayComplement@routines.inc.F90"
593 21 : end procedure
594 : #endif
595 :
596 : #undef RK_ENABLED
597 :
598 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
599 :
600 : #undef D1_ENABLED
601 :
602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
604 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
605 :
606 : #undef Random_ENABLED
607 : #undef CusCom_ENABLED
608 :
609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
611 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
612 :
613 : #define Sorted_ENABLED 1
614 : #define DefCom_ENABLED 1
615 :
616 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
617 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
618 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
619 :
620 : #define D0_ENABLED 1
621 :
622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623 :
624 : #define SK_ENABLED 1
625 :
626 : #if SK5_ENABLED
627 : module procedure getComplementSortedDefCom_D0_SK5
628 : use pm_kind, only: SKC => SK5
629 : #include "pm_arrayComplement@routines.inc.F90"
630 : end procedure
631 : #endif
632 :
633 : #if SK4_ENABLED
634 : module procedure getComplementSortedDefCom_D0_SK4
635 : use pm_kind, only: SKC => SK4
636 : #include "pm_arrayComplement@routines.inc.F90"
637 : end procedure
638 : #endif
639 :
640 : #if SK3_ENABLED
641 : module procedure getComplementSortedDefCom_D0_SK3
642 : use pm_kind, only: SKC => SK3
643 : #include "pm_arrayComplement@routines.inc.F90"
644 : end procedure
645 : #endif
646 :
647 : #if SK2_ENABLED
648 : module procedure getComplementSortedDefCom_D0_SK2
649 : use pm_kind, only: SKC => SK2
650 : #include "pm_arrayComplement@routines.inc.F90"
651 : end procedure
652 : #endif
653 :
654 : #if SK1_ENABLED
655 36 : module procedure getComplementSortedDefCom_D0_SK1
656 : use pm_kind, only: SKC => SK1
657 : #include "pm_arrayComplement@routines.inc.F90"
658 36 : end procedure
659 : #endif
660 :
661 : #undef SK_ENABLED
662 :
663 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
664 :
665 : #undef D0_ENABLED
666 :
667 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
668 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
669 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
670 :
671 : #define D1_ENABLED 1
672 :
673 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
674 :
675 : #define SK_ENABLED 1
676 :
677 : #if SK5_ENABLED
678 : module procedure getComplementSortedDefCom_D1_SK5
679 : use pm_kind, only: SKC => SK5
680 : #include "pm_arrayComplement@routines.inc.F90"
681 : end procedure
682 : #endif
683 :
684 : #if SK4_ENABLED
685 : module procedure getComplementSortedDefCom_D1_SK4
686 : use pm_kind, only: SKC => SK4
687 : #include "pm_arrayComplement@routines.inc.F90"
688 : end procedure
689 : #endif
690 :
691 : #if SK3_ENABLED
692 : module procedure getComplementSortedDefCom_D1_SK3
693 : use pm_kind, only: SKC => SK3
694 : #include "pm_arrayComplement@routines.inc.F90"
695 : end procedure
696 : #endif
697 :
698 : #if SK2_ENABLED
699 : module procedure getComplementSortedDefCom_D1_SK2
700 : use pm_kind, only: SKC => SK2
701 : #include "pm_arrayComplement@routines.inc.F90"
702 : end procedure
703 : #endif
704 :
705 : #if SK1_ENABLED
706 30 : module procedure getComplementSortedDefCom_D1_SK1
707 : use pm_kind, only: SKC => SK1
708 : #include "pm_arrayComplement@routines.inc.F90"
709 30 : end procedure
710 : #endif
711 :
712 : #undef SK_ENABLED
713 :
714 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
715 :
716 : #define IK_ENABLED 1
717 :
718 : #if IK5_ENABLED
719 28 : module procedure getComplementSortedDefCom_D1_IK5
720 : use pm_kind, only: IKC => IK5
721 : #include "pm_arrayComplement@routines.inc.F90"
722 28 : end procedure
723 : #endif
724 :
725 : #if IK4_ENABLED
726 28 : module procedure getComplementSortedDefCom_D1_IK4
727 : use pm_kind, only: IKC => IK4
728 : #include "pm_arrayComplement@routines.inc.F90"
729 28 : end procedure
730 : #endif
731 :
732 : #if IK3_ENABLED
733 30 : module procedure getComplementSortedDefCom_D1_IK3
734 : use pm_kind, only: IKC => IK3
735 : #include "pm_arrayComplement@routines.inc.F90"
736 30 : end procedure
737 : #endif
738 :
739 : #if IK2_ENABLED
740 28 : module procedure getComplementSortedDefCom_D1_IK2
741 : use pm_kind, only: IKC => IK2
742 : #include "pm_arrayComplement@routines.inc.F90"
743 28 : end procedure
744 : #endif
745 :
746 : #if IK1_ENABLED
747 28 : module procedure getComplementSortedDefCom_D1_IK1
748 : use pm_kind, only: IKC => IK1
749 : #include "pm_arrayComplement@routines.inc.F90"
750 28 : end procedure
751 : #endif
752 :
753 : #undef IK_ENABLED
754 :
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 :
757 : #define LK_ENABLED 1
758 :
759 : #if LK5_ENABLED
760 20 : module procedure getComplementSortedDefCom_D1_LK5
761 : use pm_kind, only: LKC => LK5
762 : #include "pm_arrayComplement@routines.inc.F90"
763 20 : end procedure
764 : #endif
765 :
766 : #if LK4_ENABLED
767 20 : module procedure getComplementSortedDefCom_D1_LK4
768 : use pm_kind, only: LKC => LK4
769 : #include "pm_arrayComplement@routines.inc.F90"
770 20 : end procedure
771 : #endif
772 :
773 : #if LK3_ENABLED
774 20 : module procedure getComplementSortedDefCom_D1_LK3
775 : use pm_kind, only: LKC => LK3
776 : #include "pm_arrayComplement@routines.inc.F90"
777 20 : end procedure
778 : #endif
779 :
780 : #if LK2_ENABLED
781 20 : module procedure getComplementSortedDefCom_D1_LK2
782 : use pm_kind, only: LKC => LK2
783 : #include "pm_arrayComplement@routines.inc.F90"
784 20 : end procedure
785 : #endif
786 :
787 : #if LK1_ENABLED
788 20 : module procedure getComplementSortedDefCom_D1_LK1
789 : use pm_kind, only: LKC => LK1
790 : #include "pm_arrayComplement@routines.inc.F90"
791 20 : end procedure
792 : #endif
793 :
794 : #undef LK_ENABLED
795 :
796 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
797 :
798 : #define CK_ENABLED 1
799 :
800 : #if CK5_ENABLED
801 : module procedure getComplementSortedDefCom_D1_CK5
802 : use pm_kind, only: CKC => CK5
803 : #include "pm_arrayComplement@routines.inc.F90"
804 : end procedure
805 : #endif
806 :
807 : #if CK4_ENABLED
808 28 : module procedure getComplementSortedDefCom_D1_CK4
809 : use pm_kind, only: CKC => CK4
810 : #include "pm_arrayComplement@routines.inc.F90"
811 28 : end procedure
812 : #endif
813 :
814 : #if CK3_ENABLED
815 28 : module procedure getComplementSortedDefCom_D1_CK3
816 : use pm_kind, only: CKC => CK3
817 : #include "pm_arrayComplement@routines.inc.F90"
818 28 : end procedure
819 : #endif
820 :
821 : #if CK2_ENABLED
822 28 : module procedure getComplementSortedDefCom_D1_CK2
823 : use pm_kind, only: CKC => CK2
824 : #include "pm_arrayComplement@routines.inc.F90"
825 28 : end procedure
826 : #endif
827 :
828 : #if CK1_ENABLED
829 30 : module procedure getComplementSortedDefCom_D1_CK1
830 : use pm_kind, only: CKC => CK1
831 : #include "pm_arrayComplement@routines.inc.F90"
832 30 : end procedure
833 : #endif
834 :
835 : #undef CK_ENABLED
836 :
837 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
838 :
839 : #define RK_ENABLED 1
840 :
841 : #if RK5_ENABLED
842 : module procedure getComplementSortedDefCom_D1_RK5
843 : use pm_kind, only: RKC => RK5
844 : #include "pm_arrayComplement@routines.inc.F90"
845 : end procedure
846 : #endif
847 :
848 : #if RK4_ENABLED
849 28 : module procedure getComplementSortedDefCom_D1_RK4
850 : use pm_kind, only: RKC => RK4
851 : #include "pm_arrayComplement@routines.inc.F90"
852 28 : end procedure
853 : #endif
854 :
855 : #if RK3_ENABLED
856 28 : module procedure getComplementSortedDefCom_D1_RK3
857 : use pm_kind, only: RKC => RK3
858 : #include "pm_arrayComplement@routines.inc.F90"
859 28 : end procedure
860 : #endif
861 :
862 : #if RK2_ENABLED
863 28 : module procedure getComplementSortedDefCom_D1_RK2
864 : use pm_kind, only: RKC => RK2
865 : #include "pm_arrayComplement@routines.inc.F90"
866 28 : end procedure
867 : #endif
868 :
869 : #if RK1_ENABLED
870 30 : module procedure getComplementSortedDefCom_D1_RK1
871 : use pm_kind, only: RKC => RK1
872 : #include "pm_arrayComplement@routines.inc.F90"
873 30 : end procedure
874 : #endif
875 :
876 : #undef RK_ENABLED
877 :
878 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
879 :
880 : #undef D1_ENABLED
881 :
882 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
883 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
884 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
885 :
886 : #undef Sorted_ENABLED
887 : #undef DefCom_ENABLED
888 :
889 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
890 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892 :
893 : #define Sorted_ENABLED 1
894 : #define CusCom_ENABLED 1
895 :
896 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
897 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
898 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
899 :
900 : #define D0_ENABLED 1
901 :
902 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
903 :
904 : #define SK_ENABLED 1
905 :
906 : #if SK5_ENABLED
907 : module procedure getComplementSortedCusCom_D0_SK5
908 : use pm_kind, only: SKC => SK5
909 : #include "pm_arrayComplement@routines.inc.F90"
910 : end procedure
911 : #endif
912 :
913 : #if SK4_ENABLED
914 : module procedure getComplementSortedCusCom_D0_SK4
915 : use pm_kind, only: SKC => SK4
916 : #include "pm_arrayComplement@routines.inc.F90"
917 : end procedure
918 : #endif
919 :
920 : #if SK3_ENABLED
921 : module procedure getComplementSortedCusCom_D0_SK3
922 : use pm_kind, only: SKC => SK3
923 : #include "pm_arrayComplement@routines.inc.F90"
924 : end procedure
925 : #endif
926 :
927 : #if SK2_ENABLED
928 : module procedure getComplementSortedCusCom_D0_SK2
929 : use pm_kind, only: SKC => SK2
930 : #include "pm_arrayComplement@routines.inc.F90"
931 : end procedure
932 : #endif
933 :
934 : #if SK1_ENABLED
935 30 : module procedure getComplementSortedCusCom_D0_SK1
936 : use pm_kind, only: SKC => SK1
937 : #include "pm_arrayComplement@routines.inc.F90"
938 30 : end procedure
939 : #endif
940 :
941 : #undef SK_ENABLED
942 :
943 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
944 :
945 : #undef D0_ENABLED
946 :
947 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
948 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
949 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
950 :
951 : #define D1_ENABLED 1
952 :
953 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
954 :
955 : #define SK_ENABLED 1
956 :
957 : #if SK5_ENABLED
958 : module procedure getComplementSortedCusCom_D1_SK5
959 : use pm_kind, only: SKC => SK5
960 : #include "pm_arrayComplement@routines.inc.F90"
961 : end procedure
962 : #endif
963 :
964 : #if SK4_ENABLED
965 : module procedure getComplementSortedCusCom_D1_SK4
966 : use pm_kind, only: SKC => SK4
967 : #include "pm_arrayComplement@routines.inc.F90"
968 : end procedure
969 : #endif
970 :
971 : #if SK3_ENABLED
972 : module procedure getComplementSortedCusCom_D1_SK3
973 : use pm_kind, only: SKC => SK3
974 : #include "pm_arrayComplement@routines.inc.F90"
975 : end procedure
976 : #endif
977 :
978 : #if SK2_ENABLED
979 : module procedure getComplementSortedCusCom_D1_SK2
980 : use pm_kind, only: SKC => SK2
981 : #include "pm_arrayComplement@routines.inc.F90"
982 : end procedure
983 : #endif
984 :
985 : #if SK1_ENABLED
986 28 : module procedure getComplementSortedCusCom_D1_SK1
987 : use pm_kind, only: SKC => SK1
988 : #include "pm_arrayComplement@routines.inc.F90"
989 28 : end procedure
990 : #endif
991 :
992 : #undef SK_ENABLED
993 :
994 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
995 :
996 : #define IK_ENABLED 1
997 :
998 : #if IK5_ENABLED
999 28 : module procedure getComplementSortedCusCom_D1_IK5
1000 : use pm_kind, only: IKC => IK5
1001 : #include "pm_arrayComplement@routines.inc.F90"
1002 28 : end procedure
1003 : #endif
1004 :
1005 : #if IK4_ENABLED
1006 28 : module procedure getComplementSortedCusCom_D1_IK4
1007 : use pm_kind, only: IKC => IK4
1008 : #include "pm_arrayComplement@routines.inc.F90"
1009 28 : end procedure
1010 : #endif
1011 :
1012 : #if IK3_ENABLED
1013 28 : module procedure getComplementSortedCusCom_D1_IK3
1014 : use pm_kind, only: IKC => IK3
1015 : #include "pm_arrayComplement@routines.inc.F90"
1016 28 : end procedure
1017 : #endif
1018 :
1019 : #if IK2_ENABLED
1020 28 : module procedure getComplementSortedCusCom_D1_IK2
1021 : use pm_kind, only: IKC => IK2
1022 : #include "pm_arrayComplement@routines.inc.F90"
1023 28 : end procedure
1024 : #endif
1025 :
1026 : #if IK1_ENABLED
1027 28 : module procedure getComplementSortedCusCom_D1_IK1
1028 : use pm_kind, only: IKC => IK1
1029 : #include "pm_arrayComplement@routines.inc.F90"
1030 28 : end procedure
1031 : #endif
1032 :
1033 : #undef IK_ENABLED
1034 :
1035 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1036 :
1037 : #define LK_ENABLED 1
1038 :
1039 : #if LK5_ENABLED
1040 20 : module procedure getComplementSortedCusCom_D1_LK5
1041 : use pm_kind, only: LKC => LK5
1042 : #include "pm_arrayComplement@routines.inc.F90"
1043 20 : end procedure
1044 : #endif
1045 :
1046 : #if LK4_ENABLED
1047 20 : module procedure getComplementSortedCusCom_D1_LK4
1048 : use pm_kind, only: LKC => LK4
1049 : #include "pm_arrayComplement@routines.inc.F90"
1050 20 : end procedure
1051 : #endif
1052 :
1053 : #if LK3_ENABLED
1054 20 : module procedure getComplementSortedCusCom_D1_LK3
1055 : use pm_kind, only: LKC => LK3
1056 : #include "pm_arrayComplement@routines.inc.F90"
1057 20 : end procedure
1058 : #endif
1059 :
1060 : #if LK2_ENABLED
1061 20 : module procedure getComplementSortedCusCom_D1_LK2
1062 : use pm_kind, only: LKC => LK2
1063 : #include "pm_arrayComplement@routines.inc.F90"
1064 20 : end procedure
1065 : #endif
1066 :
1067 : #if LK1_ENABLED
1068 20 : module procedure getComplementSortedCusCom_D1_LK1
1069 : use pm_kind, only: LKC => LK1
1070 : #include "pm_arrayComplement@routines.inc.F90"
1071 20 : end procedure
1072 : #endif
1073 :
1074 : #undef LK_ENABLED
1075 :
1076 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1077 :
1078 : #define CK_ENABLED 1
1079 :
1080 : #if CK5_ENABLED
1081 : module procedure getComplementSortedCusCom_D1_CK5
1082 : use pm_kind, only: CKC => CK5
1083 : #include "pm_arrayComplement@routines.inc.F90"
1084 : end procedure
1085 : #endif
1086 :
1087 : #if CK4_ENABLED
1088 28 : module procedure getComplementSortedCusCom_D1_CK4
1089 : use pm_kind, only: CKC => CK4
1090 : #include "pm_arrayComplement@routines.inc.F90"
1091 28 : end procedure
1092 : #endif
1093 :
1094 : #if CK3_ENABLED
1095 28 : module procedure getComplementSortedCusCom_D1_CK3
1096 : use pm_kind, only: CKC => CK3
1097 : #include "pm_arrayComplement@routines.inc.F90"
1098 28 : end procedure
1099 : #endif
1100 :
1101 : #if CK2_ENABLED
1102 28 : module procedure getComplementSortedCusCom_D1_CK2
1103 : use pm_kind, only: CKC => CK2
1104 : #include "pm_arrayComplement@routines.inc.F90"
1105 28 : end procedure
1106 : #endif
1107 :
1108 : #if CK1_ENABLED
1109 28 : module procedure getComplementSortedCusCom_D1_CK1
1110 : use pm_kind, only: CKC => CK1
1111 : #include "pm_arrayComplement@routines.inc.F90"
1112 28 : end procedure
1113 : #endif
1114 :
1115 : #undef CK_ENABLED
1116 :
1117 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1118 :
1119 : #define RK_ENABLED 1
1120 :
1121 : #if RK5_ENABLED
1122 : module procedure getComplementSortedCusCom_D1_RK5
1123 : use pm_kind, only: RKC => RK5
1124 : #include "pm_arrayComplement@routines.inc.F90"
1125 : end procedure
1126 : #endif
1127 :
1128 : #if RK4_ENABLED
1129 28 : module procedure getComplementSortedCusCom_D1_RK4
1130 : use pm_kind, only: RKC => RK4
1131 : #include "pm_arrayComplement@routines.inc.F90"
1132 28 : end procedure
1133 : #endif
1134 :
1135 : #if RK3_ENABLED
1136 28 : module procedure getComplementSortedCusCom_D1_RK3
1137 : use pm_kind, only: RKC => RK3
1138 : #include "pm_arrayComplement@routines.inc.F90"
1139 28 : end procedure
1140 : #endif
1141 :
1142 : #if RK2_ENABLED
1143 28 : module procedure getComplementSortedCusCom_D1_RK2
1144 : use pm_kind, only: RKC => RK2
1145 : #include "pm_arrayComplement@routines.inc.F90"
1146 28 : end procedure
1147 : #endif
1148 :
1149 : #if RK1_ENABLED
1150 28 : module procedure getComplementSortedCusCom_D1_RK1
1151 : use pm_kind, only: RKC => RK1
1152 : #include "pm_arrayComplement@routines.inc.F90"
1153 28 : end procedure
1154 : #endif
1155 :
1156 : #undef RK_ENABLED
1157 :
1158 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1159 :
1160 : #undef D1_ENABLED
1161 :
1162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1165 :
1166 : #undef Sorted_ENABLED
1167 : #undef CusCom_ENABLED
1168 :
1169 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1172 :
1173 : #undef getComplement_ENABLED
1174 :
1175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1176 :
1177 : #define getCompRange_ENABLED 1
1178 :
1179 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1180 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1181 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1182 :
1183 : #define Random_ENABLED 1
1184 :
1185 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1186 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1187 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1188 :
1189 : #define D1_ENABLED 1
1190 :
1191 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1192 :
1193 : #define IK_ENABLED 1
1194 :
1195 : #if IK5_ENABLED
1196 265 : module procedure getCompRangeRandom_D1_IK5
1197 : use pm_kind, only: IKC => IK5
1198 : #include "pm_arrayComplement@routines.inc.F90"
1199 265 : end procedure
1200 : #endif
1201 :
1202 : #if IK4_ENABLED
1203 265 : module procedure getCompRangeRandom_D1_IK4
1204 : use pm_kind, only: IKC => IK4
1205 : #include "pm_arrayComplement@routines.inc.F90"
1206 265 : end procedure
1207 : #endif
1208 :
1209 : #if IK3_ENABLED
1210 269 : module procedure getCompRangeRandom_D1_IK3
1211 : use pm_kind, only: IKC => IK3
1212 : #include "pm_arrayComplement@routines.inc.F90"
1213 269 : end procedure
1214 : #endif
1215 :
1216 : #if IK2_ENABLED
1217 265 : module procedure getCompRangeRandom_D1_IK2
1218 : use pm_kind, only: IKC => IK2
1219 : #include "pm_arrayComplement@routines.inc.F90"
1220 265 : end procedure
1221 : #endif
1222 :
1223 : #if IK1_ENABLED
1224 265 : module procedure getCompRangeRandom_D1_IK1
1225 : use pm_kind, only: IKC => IK1
1226 : #include "pm_arrayComplement@routines.inc.F90"
1227 265 : end procedure
1228 : #endif
1229 :
1230 : #undef IK_ENABLED
1231 :
1232 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1233 :
1234 : #undef D1_ENABLED
1235 :
1236 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1237 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1239 :
1240 : #undef Random_ENABLED
1241 :
1242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1243 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1244 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1245 :
1246 : #define Sorted_ENABLED 1
1247 :
1248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1249 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1250 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1251 :
1252 : #define D1_ENABLED 1
1253 :
1254 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1255 :
1256 : #define IK_ENABLED 1
1257 :
1258 : #if IK5_ENABLED
1259 1060 : module procedure getCompRangeSorted_D1_IK5
1260 : use pm_kind, only: IKC => IK5
1261 : #include "pm_arrayComplement@routines.inc.F90"
1262 1060 : end procedure
1263 : #endif
1264 :
1265 : #if IK4_ENABLED
1266 1060 : module procedure getCompRangeSorted_D1_IK4
1267 : use pm_kind, only: IKC => IK4
1268 : #include "pm_arrayComplement@routines.inc.F90"
1269 1060 : end procedure
1270 : #endif
1271 :
1272 : #if IK3_ENABLED
1273 1066 : module procedure getCompRangeSorted_D1_IK3
1274 : use pm_kind, only: IKC => IK3
1275 : #include "pm_arrayComplement@routines.inc.F90"
1276 1066 : end procedure
1277 : #endif
1278 :
1279 : #if IK2_ENABLED
1280 1060 : module procedure getCompRangeSorted_D1_IK2
1281 : use pm_kind, only: IKC => IK2
1282 : #include "pm_arrayComplement@routines.inc.F90"
1283 1060 : end procedure
1284 : #endif
1285 :
1286 : #if IK1_ENABLED
1287 1060 : module procedure getCompRangeSorted_D1_IK1
1288 : use pm_kind, only: IKC => IK1
1289 : #include "pm_arrayComplement@routines.inc.F90"
1290 1060 : end procedure
1291 : #endif
1292 :
1293 : #undef IK_ENABLED
1294 :
1295 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1296 :
1297 : #undef D1_ENABLED
1298 :
1299 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1300 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1301 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1302 :
1303 : #undef Sorted_ENABLED
1304 :
1305 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1306 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1308 :
1309 : #undef getCompRange_ENABLED
1310 :
1311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1312 :
1313 : #undef CHECK_ASSERTION
1314 :
1315 : end submodule routines
|