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_arrayInsert](@ref pm_arrayInsert).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayInsert) routines ! LCOV_EXCL_LINE
28 :
29 : use pm_arraySort, only: setSorted
30 :
31 : #if CHECK_ENABLED
32 : use pm_err, only: getFine
33 : use pm_val2str, only: getStr
34 : use pm_err, only: setAsserted
35 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
36 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
37 : #else
38 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
39 : #endif
40 :
41 : implicit none
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : contains
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : #define getInserted_ENABLED 1
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 :
55 : #define D0_D0_ENABLED 1
56 :
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 :
59 : #define SK_ENABLED 1
60 :
61 : #if SK5_ENABLED
62 : module procedure getInserted_D0_D0_SK5
63 : use pm_kind, only: SKC => SK5
64 : #include "pm_arrayInsert@routines.inc.F90"
65 : end procedure
66 : #endif
67 :
68 : #if SK4_ENABLED
69 : module procedure getInserted_D0_D0_SK4
70 : use pm_kind, only: SKC => SK4
71 : #include "pm_arrayInsert@routines.inc.F90"
72 : end procedure
73 : #endif
74 :
75 : #if SK3_ENABLED
76 : module procedure getInserted_D0_D0_SK3
77 : use pm_kind, only: SKC => SK3
78 : #include "pm_arrayInsert@routines.inc.F90"
79 : end procedure
80 : #endif
81 :
82 : #if SK2_ENABLED
83 : module procedure getInserted_D0_D0_SK2
84 : use pm_kind, only: SKC => SK2
85 : #include "pm_arrayInsert@routines.inc.F90"
86 : end procedure
87 : #endif
88 :
89 : #if SK1_ENABLED
90 127 : module procedure getInserted_D0_D0_SK1
91 : use pm_kind, only: SKC => SK1
92 : #include "pm_arrayInsert@routines.inc.F90"
93 127 : end procedure
94 : #endif
95 :
96 : #undef SK_ENABLED
97 :
98 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
99 :
100 : #undef D0_D0_ENABLED
101 :
102 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 :
106 : #define D1_D0_ENABLED 1
107 :
108 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 :
110 : #define SK_ENABLED 1
111 :
112 : #if SK5_ENABLED
113 : module procedure getInserted_D1_D0_SK5
114 : use pm_kind, only: SKC => SK5
115 : #include "pm_arrayInsert@routines.inc.F90"
116 : end procedure
117 : #endif
118 :
119 : #if SK4_ENABLED
120 : module procedure getInserted_D1_D0_SK4
121 : use pm_kind, only: SKC => SK4
122 : #include "pm_arrayInsert@routines.inc.F90"
123 : end procedure
124 : #endif
125 :
126 : #if SK3_ENABLED
127 : module procedure getInserted_D1_D0_SK3
128 : use pm_kind, only: SKC => SK3
129 : #include "pm_arrayInsert@routines.inc.F90"
130 : end procedure
131 : #endif
132 :
133 : #if SK2_ENABLED
134 : module procedure getInserted_D1_D0_SK2
135 : use pm_kind, only: SKC => SK2
136 : #include "pm_arrayInsert@routines.inc.F90"
137 : end procedure
138 : #endif
139 :
140 : #if SK1_ENABLED
141 59 : module procedure getInserted_D1_D0_SK1
142 : use pm_kind, only: SKC => SK1
143 : #include "pm_arrayInsert@routines.inc.F90"
144 59 : end procedure
145 : #endif
146 :
147 : #undef SK_ENABLED
148 :
149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 :
151 : #define IK_ENABLED 1
152 :
153 : #if IK5_ENABLED
154 58 : module procedure getInserted_D1_D0_IK5
155 : use pm_kind, only: IKC => IK5
156 : #include "pm_arrayInsert@routines.inc.F90"
157 : end procedure
158 : #endif
159 :
160 : #if IK4_ENABLED
161 58 : module procedure getInserted_D1_D0_IK4
162 : use pm_kind, only: IKC => IK4
163 : #include "pm_arrayInsert@routines.inc.F90"
164 : end procedure
165 : #endif
166 :
167 : #if IK3_ENABLED
168 59 : module procedure getInserted_D1_D0_IK3
169 : use pm_kind, only: IKC => IK3
170 : #include "pm_arrayInsert@routines.inc.F90"
171 : end procedure
172 : #endif
173 :
174 : #if IK2_ENABLED
175 58 : module procedure getInserted_D1_D0_IK2
176 : use pm_kind, only: IKC => IK2
177 : #include "pm_arrayInsert@routines.inc.F90"
178 : end procedure
179 : #endif
180 :
181 : #if IK1_ENABLED
182 58 : module procedure getInserted_D1_D0_IK1
183 : use pm_kind, only: IKC => IK1
184 : #include "pm_arrayInsert@routines.inc.F90"
185 : end procedure
186 : #endif
187 :
188 : #undef IK_ENABLED
189 :
190 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
191 :
192 : #define LK_ENABLED 1
193 :
194 : #if LK5_ENABLED
195 58 : module procedure getInserted_D1_D0_LK5
196 : use pm_kind, only: LKC => LK5
197 : #include "pm_arrayInsert@routines.inc.F90"
198 : end procedure
199 : #endif
200 :
201 : #if LK4_ENABLED
202 58 : module procedure getInserted_D1_D0_LK4
203 : use pm_kind, only: LKC => LK4
204 : #include "pm_arrayInsert@routines.inc.F90"
205 : end procedure
206 : #endif
207 :
208 : #if LK3_ENABLED
209 59 : module procedure getInserted_D1_D0_LK3
210 : use pm_kind, only: LKC => LK3
211 : #include "pm_arrayInsert@routines.inc.F90"
212 : end procedure
213 : #endif
214 :
215 : #if LK2_ENABLED
216 58 : module procedure getInserted_D1_D0_LK2
217 : use pm_kind, only: LKC => LK2
218 : #include "pm_arrayInsert@routines.inc.F90"
219 : end procedure
220 : #endif
221 :
222 : #if LK1_ENABLED
223 58 : module procedure getInserted_D1_D0_LK1
224 : use pm_kind, only: LKC => LK1
225 : #include "pm_arrayInsert@routines.inc.F90"
226 : end procedure
227 : #endif
228 :
229 : #undef LK_ENABLED
230 :
231 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232 :
233 : #define CK_ENABLED 1
234 :
235 : #if CK5_ENABLED
236 : module procedure getInserted_D1_D0_CK5
237 : use pm_kind, only: CKC => CK5
238 : #include "pm_arrayInsert@routines.inc.F90"
239 : end procedure
240 : #endif
241 :
242 : #if CK4_ENABLED
243 58 : module procedure getInserted_D1_D0_CK4
244 : use pm_kind, only: CKC => CK4
245 : #include "pm_arrayInsert@routines.inc.F90"
246 : end procedure
247 : #endif
248 :
249 : #if CK3_ENABLED
250 58 : module procedure getInserted_D1_D0_CK3
251 : use pm_kind, only: CKC => CK3
252 : #include "pm_arrayInsert@routines.inc.F90"
253 : end procedure
254 : #endif
255 :
256 : #if CK2_ENABLED
257 59 : module procedure getInserted_D1_D0_CK2
258 : use pm_kind, only: CKC => CK2
259 : #include "pm_arrayInsert@routines.inc.F90"
260 : end procedure
261 : #endif
262 :
263 : #if CK1_ENABLED
264 58 : module procedure getInserted_D1_D0_CK1
265 : use pm_kind, only: CKC => CK1
266 : #include "pm_arrayInsert@routines.inc.F90"
267 : end procedure
268 : #endif
269 :
270 : #undef CK_ENABLED
271 :
272 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273 :
274 : #define RK_ENABLED 1
275 :
276 : #if RK5_ENABLED
277 : module procedure getInserted_D1_D0_RK5
278 : use pm_kind, only: RKC => RK5
279 : #include "pm_arrayInsert@routines.inc.F90"
280 : end procedure
281 : #endif
282 :
283 : #if RK4_ENABLED
284 58 : module procedure getInserted_D1_D0_RK4
285 : use pm_kind, only: RKC => RK4
286 : #include "pm_arrayInsert@routines.inc.F90"
287 : end procedure
288 : #endif
289 :
290 : #if RK3_ENABLED
291 58 : module procedure getInserted_D1_D0_RK3
292 : use pm_kind, only: RKC => RK3
293 : #include "pm_arrayInsert@routines.inc.F90"
294 : end procedure
295 : #endif
296 :
297 : #if RK2_ENABLED
298 59 : module procedure getInserted_D1_D0_RK2
299 : use pm_kind, only: RKC => RK2
300 : #include "pm_arrayInsert@routines.inc.F90"
301 : end procedure
302 : #endif
303 :
304 : #if RK1_ENABLED
305 58 : module procedure getInserted_D1_D0_RK1
306 : use pm_kind, only: RKC => RK1
307 : #include "pm_arrayInsert@routines.inc.F90"
308 : end procedure
309 : #endif
310 :
311 : #undef RK_ENABLED
312 :
313 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314 :
315 : #undef D1_D0_ENABLED
316 :
317 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 :
321 : #define D1_D1_ENABLED 1
322 :
323 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324 :
325 : #define SK_ENABLED 1
326 :
327 : #if SK5_ENABLED
328 : module procedure getInserted_D1_D1_SK5
329 : use pm_kind, only: SKC => SK5
330 : #include "pm_arrayInsert@routines.inc.F90"
331 : end procedure
332 : #endif
333 :
334 : #if SK4_ENABLED
335 : module procedure getInserted_D1_D1_SK4
336 : use pm_kind, only: SKC => SK4
337 : #include "pm_arrayInsert@routines.inc.F90"
338 : end procedure
339 : #endif
340 :
341 : #if SK3_ENABLED
342 : module procedure getInserted_D1_D1_SK3
343 : use pm_kind, only: SKC => SK3
344 : #include "pm_arrayInsert@routines.inc.F90"
345 : end procedure
346 : #endif
347 :
348 : #if SK2_ENABLED
349 : module procedure getInserted_D1_D1_SK2
350 : use pm_kind, only: SKC => SK2
351 : #include "pm_arrayInsert@routines.inc.F90"
352 : end procedure
353 : #endif
354 :
355 : #if SK1_ENABLED
356 68 : module procedure getInserted_D1_D1_SK1
357 : use pm_kind, only: SKC => SK1
358 : #include "pm_arrayInsert@routines.inc.F90"
359 : end procedure
360 : #endif
361 :
362 : #undef SK_ENABLED
363 :
364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365 :
366 : #define IK_ENABLED 1
367 :
368 : #if IK5_ENABLED
369 67 : module procedure getInserted_D1_D1_IK5
370 : use pm_kind, only: IKC => IK5
371 : #include "pm_arrayInsert@routines.inc.F90"
372 : end procedure
373 : #endif
374 :
375 : #if IK4_ENABLED
376 67 : module procedure getInserted_D1_D1_IK4
377 : use pm_kind, only: IKC => IK4
378 : #include "pm_arrayInsert@routines.inc.F90"
379 : end procedure
380 : #endif
381 :
382 : #if IK3_ENABLED
383 68 : module procedure getInserted_D1_D1_IK3
384 : use pm_kind, only: IKC => IK3
385 : #include "pm_arrayInsert@routines.inc.F90"
386 : end procedure
387 : #endif
388 :
389 : #if IK2_ENABLED
390 67 : module procedure getInserted_D1_D1_IK2
391 : use pm_kind, only: IKC => IK2
392 : #include "pm_arrayInsert@routines.inc.F90"
393 : end procedure
394 : #endif
395 :
396 : #if IK1_ENABLED
397 67 : module procedure getInserted_D1_D1_IK1
398 : use pm_kind, only: IKC => IK1
399 : #include "pm_arrayInsert@routines.inc.F90"
400 : end procedure
401 : #endif
402 :
403 : #undef IK_ENABLED
404 :
405 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406 :
407 : #define LK_ENABLED 1
408 :
409 : #if LK5_ENABLED
410 67 : module procedure getInserted_D1_D1_LK5
411 : use pm_kind, only: LKC => LK5
412 : #include "pm_arrayInsert@routines.inc.F90"
413 : end procedure
414 : #endif
415 :
416 : #if LK4_ENABLED
417 67 : module procedure getInserted_D1_D1_LK4
418 : use pm_kind, only: LKC => LK4
419 : #include "pm_arrayInsert@routines.inc.F90"
420 : end procedure
421 : #endif
422 :
423 : #if LK3_ENABLED
424 68 : module procedure getInserted_D1_D1_LK3
425 : use pm_kind, only: LKC => LK3
426 : #include "pm_arrayInsert@routines.inc.F90"
427 : end procedure
428 : #endif
429 :
430 : #if LK2_ENABLED
431 67 : module procedure getInserted_D1_D1_LK2
432 : use pm_kind, only: LKC => LK2
433 : #include "pm_arrayInsert@routines.inc.F90"
434 : end procedure
435 : #endif
436 :
437 : #if LK1_ENABLED
438 67 : module procedure getInserted_D1_D1_LK1
439 : use pm_kind, only: LKC => LK1
440 : #include "pm_arrayInsert@routines.inc.F90"
441 : end procedure
442 : #endif
443 :
444 : #undef LK_ENABLED
445 :
446 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447 :
448 : #define CK_ENABLED 1
449 :
450 : #if CK5_ENABLED
451 : module procedure getInserted_D1_D1_CK5
452 : use pm_kind, only: CKC => CK5
453 : #include "pm_arrayInsert@routines.inc.F90"
454 : end procedure
455 : #endif
456 :
457 : #if CK4_ENABLED
458 67 : module procedure getInserted_D1_D1_CK4
459 : use pm_kind, only: CKC => CK4
460 : #include "pm_arrayInsert@routines.inc.F90"
461 : end procedure
462 : #endif
463 :
464 : #if CK3_ENABLED
465 67 : module procedure getInserted_D1_D1_CK3
466 : use pm_kind, only: CKC => CK3
467 : #include "pm_arrayInsert@routines.inc.F90"
468 : end procedure
469 : #endif
470 :
471 : #if CK2_ENABLED
472 68 : module procedure getInserted_D1_D1_CK2
473 : use pm_kind, only: CKC => CK2
474 : #include "pm_arrayInsert@routines.inc.F90"
475 : end procedure
476 : #endif
477 :
478 : #if CK1_ENABLED
479 67 : module procedure getInserted_D1_D1_CK1
480 : use pm_kind, only: CKC => CK1
481 : #include "pm_arrayInsert@routines.inc.F90"
482 : end procedure
483 : #endif
484 :
485 : #undef CK_ENABLED
486 :
487 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
488 :
489 : #define RK_ENABLED 1
490 :
491 : #if RK5_ENABLED
492 : module procedure getInserted_D1_D1_RK5
493 : use pm_kind, only: RKC => RK5
494 : #include "pm_arrayInsert@routines.inc.F90"
495 : end procedure
496 : #endif
497 :
498 : #if RK4_ENABLED
499 67 : module procedure getInserted_D1_D1_RK4
500 : use pm_kind, only: RKC => RK4
501 : #include "pm_arrayInsert@routines.inc.F90"
502 : end procedure
503 : #endif
504 :
505 : #if RK3_ENABLED
506 67 : module procedure getInserted_D1_D1_RK3
507 : use pm_kind, only: RKC => RK3
508 : #include "pm_arrayInsert@routines.inc.F90"
509 : end procedure
510 : #endif
511 :
512 : #if RK2_ENABLED
513 68 : module procedure getInserted_D1_D1_RK2
514 : use pm_kind, only: RKC => RK2
515 : #include "pm_arrayInsert@routines.inc.F90"
516 : end procedure
517 : #endif
518 :
519 : #if RK1_ENABLED
520 67 : module procedure getInserted_D1_D1_RK1
521 : use pm_kind, only: RKC => RK1
522 : #include "pm_arrayInsert@routines.inc.F90"
523 : end procedure
524 : #endif
525 :
526 : #undef RK_ENABLED
527 :
528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 :
530 : #undef D1_D1_ENABLED
531 :
532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 :
536 : #undef getInserted_ENABLED
537 :
538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539 :
540 : #define setInserted_ENABLED 1
541 :
542 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 :
546 : #define D0_D0_ENABLED 1
547 :
548 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549 :
550 : #define SK_ENABLED 1
551 :
552 : #if SK5_ENABLED
553 : module procedure setInserted_D0_D0_SK5
554 : use pm_kind, only: SKC => SK5
555 : #include "pm_arrayInsert@routines.inc.F90"
556 : end procedure
557 : #endif
558 :
559 : #if SK4_ENABLED
560 : module procedure setInserted_D0_D0_SK4
561 : use pm_kind, only: SKC => SK4
562 : #include "pm_arrayInsert@routines.inc.F90"
563 : end procedure
564 : #endif
565 :
566 : #if SK3_ENABLED
567 : module procedure setInserted_D0_D0_SK3
568 : use pm_kind, only: SKC => SK3
569 : #include "pm_arrayInsert@routines.inc.F90"
570 : end procedure
571 : #endif
572 :
573 : #if SK2_ENABLED
574 : module procedure setInserted_D0_D0_SK2
575 : use pm_kind, only: SKC => SK2
576 : #include "pm_arrayInsert@routines.inc.F90"
577 : end procedure
578 : #endif
579 :
580 : #if SK1_ENABLED
581 175 : module procedure setInserted_D0_D0_SK1
582 : use pm_kind, only: SKC => SK1
583 : #include "pm_arrayInsert@routines.inc.F90"
584 175 : end procedure
585 : #endif
586 :
587 : #undef SK_ENABLED
588 :
589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590 :
591 : #undef D0_D0_ENABLED
592 :
593 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
595 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596 :
597 : #define D1_D0_ENABLED 1
598 :
599 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
600 :
601 : #define SK_ENABLED 1
602 :
603 : #if SK5_ENABLED
604 : module procedure setInserted_D1_D0_SK5
605 : use pm_kind, only: SKC => SK5
606 : #include "pm_arrayInsert@routines.inc.F90"
607 : end procedure
608 : #endif
609 :
610 : #if SK4_ENABLED
611 : module procedure setInserted_D1_D0_SK4
612 : use pm_kind, only: SKC => SK4
613 : #include "pm_arrayInsert@routines.inc.F90"
614 : end procedure
615 : #endif
616 :
617 : #if SK3_ENABLED
618 : module procedure setInserted_D1_D0_SK3
619 : use pm_kind, only: SKC => SK3
620 : #include "pm_arrayInsert@routines.inc.F90"
621 : end procedure
622 : #endif
623 :
624 : #if SK2_ENABLED
625 : module procedure setInserted_D1_D0_SK2
626 : use pm_kind, only: SKC => SK2
627 : #include "pm_arrayInsert@routines.inc.F90"
628 : end procedure
629 : #endif
630 :
631 : #if SK1_ENABLED
632 59 : module procedure setInserted_D1_D0_SK1
633 : use pm_kind, only: SKC => SK1
634 : #include "pm_arrayInsert@routines.inc.F90"
635 59 : end procedure
636 : #endif
637 :
638 : #undef SK_ENABLED
639 :
640 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641 :
642 : #define IK_ENABLED 1
643 :
644 : #if IK5_ENABLED
645 58 : module procedure setInserted_D1_D0_IK5
646 : use pm_kind, only: IKC => IK5
647 : #include "pm_arrayInsert@routines.inc.F90"
648 : end procedure
649 : #endif
650 :
651 : #if IK4_ENABLED
652 58 : module procedure setInserted_D1_D0_IK4
653 : use pm_kind, only: IKC => IK4
654 : #include "pm_arrayInsert@routines.inc.F90"
655 : end procedure
656 : #endif
657 :
658 : #if IK3_ENABLED
659 59 : module procedure setInserted_D1_D0_IK3
660 : use pm_kind, only: IKC => IK3
661 : #include "pm_arrayInsert@routines.inc.F90"
662 : end procedure
663 : #endif
664 :
665 : #if IK2_ENABLED
666 58 : module procedure setInserted_D1_D0_IK2
667 : use pm_kind, only: IKC => IK2
668 : #include "pm_arrayInsert@routines.inc.F90"
669 : end procedure
670 : #endif
671 :
672 : #if IK1_ENABLED
673 58 : module procedure setInserted_D1_D0_IK1
674 : use pm_kind, only: IKC => IK1
675 : #include "pm_arrayInsert@routines.inc.F90"
676 : end procedure
677 : #endif
678 :
679 : #undef IK_ENABLED
680 :
681 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
682 :
683 : #define LK_ENABLED 1
684 :
685 : #if LK5_ENABLED
686 58 : module procedure setInserted_D1_D0_LK5
687 : use pm_kind, only: LKC => LK5
688 : #include "pm_arrayInsert@routines.inc.F90"
689 : end procedure
690 : #endif
691 :
692 : #if LK4_ENABLED
693 58 : module procedure setInserted_D1_D0_LK4
694 : use pm_kind, only: LKC => LK4
695 : #include "pm_arrayInsert@routines.inc.F90"
696 : end procedure
697 : #endif
698 :
699 : #if LK3_ENABLED
700 59 : module procedure setInserted_D1_D0_LK3
701 : use pm_kind, only: LKC => LK3
702 : #include "pm_arrayInsert@routines.inc.F90"
703 : end procedure
704 : #endif
705 :
706 : #if LK2_ENABLED
707 58 : module procedure setInserted_D1_D0_LK2
708 : use pm_kind, only: LKC => LK2
709 : #include "pm_arrayInsert@routines.inc.F90"
710 : end procedure
711 : #endif
712 :
713 : #if LK1_ENABLED
714 58 : module procedure setInserted_D1_D0_LK1
715 : use pm_kind, only: LKC => LK1
716 : #include "pm_arrayInsert@routines.inc.F90"
717 : end procedure
718 : #endif
719 :
720 : #undef LK_ENABLED
721 :
722 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
723 :
724 : #define CK_ENABLED 1
725 :
726 : #if CK5_ENABLED
727 : module procedure setInserted_D1_D0_CK5
728 : use pm_kind, only: CKC => CK5
729 : #include "pm_arrayInsert@routines.inc.F90"
730 : end procedure
731 : #endif
732 :
733 : #if CK4_ENABLED
734 58 : module procedure setInserted_D1_D0_CK4
735 : use pm_kind, only: CKC => CK4
736 : #include "pm_arrayInsert@routines.inc.F90"
737 : end procedure
738 : #endif
739 :
740 : #if CK3_ENABLED
741 58 : module procedure setInserted_D1_D0_CK3
742 : use pm_kind, only: CKC => CK3
743 : #include "pm_arrayInsert@routines.inc.F90"
744 : end procedure
745 : #endif
746 :
747 : #if CK2_ENABLED
748 59 : module procedure setInserted_D1_D0_CK2
749 : use pm_kind, only: CKC => CK2
750 : #include "pm_arrayInsert@routines.inc.F90"
751 : end procedure
752 : #endif
753 :
754 : #if CK1_ENABLED
755 58 : module procedure setInserted_D1_D0_CK1
756 : use pm_kind, only: CKC => CK1
757 : #include "pm_arrayInsert@routines.inc.F90"
758 : end procedure
759 : #endif
760 :
761 : #undef CK_ENABLED
762 :
763 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
764 :
765 : #define RK_ENABLED 1
766 :
767 : #if RK5_ENABLED
768 : module procedure setInserted_D1_D0_RK5
769 : use pm_kind, only: RKC => RK5
770 : #include "pm_arrayInsert@routines.inc.F90"
771 : end procedure
772 : #endif
773 :
774 : #if RK4_ENABLED
775 58 : module procedure setInserted_D1_D0_RK4
776 : use pm_kind, only: RKC => RK4
777 : #include "pm_arrayInsert@routines.inc.F90"
778 : end procedure
779 : #endif
780 :
781 : #if RK3_ENABLED
782 58 : module procedure setInserted_D1_D0_RK3
783 : use pm_kind, only: RKC => RK3
784 : #include "pm_arrayInsert@routines.inc.F90"
785 : end procedure
786 : #endif
787 :
788 : #if RK2_ENABLED
789 59 : module procedure setInserted_D1_D0_RK2
790 : use pm_kind, only: RKC => RK2
791 : #include "pm_arrayInsert@routines.inc.F90"
792 : end procedure
793 : #endif
794 :
795 : #if RK1_ENABLED
796 58 : module procedure setInserted_D1_D0_RK1
797 : use pm_kind, only: RKC => RK1
798 : #include "pm_arrayInsert@routines.inc.F90"
799 : end procedure
800 : #endif
801 :
802 : #undef RK_ENABLED
803 :
804 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
805 :
806 : #undef D1_D0_ENABLED
807 :
808 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
809 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
811 :
812 : #define D1_D1_ENABLED 1
813 :
814 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
815 :
816 : #define SK_ENABLED 1
817 :
818 : #if SK5_ENABLED
819 : module procedure setInserted_D1_D1_SK5
820 : use pm_kind, only: SKC => SK5
821 : #include "pm_arrayInsert@routines.inc.F90"
822 : end procedure
823 : #endif
824 :
825 : #if SK4_ENABLED
826 : module procedure setInserted_D1_D1_SK4
827 : use pm_kind, only: SKC => SK4
828 : #include "pm_arrayInsert@routines.inc.F90"
829 : end procedure
830 : #endif
831 :
832 : #if SK3_ENABLED
833 : module procedure setInserted_D1_D1_SK3
834 : use pm_kind, only: SKC => SK3
835 : #include "pm_arrayInsert@routines.inc.F90"
836 : end procedure
837 : #endif
838 :
839 : #if SK2_ENABLED
840 : module procedure setInserted_D1_D1_SK2
841 : use pm_kind, only: SKC => SK2
842 : #include "pm_arrayInsert@routines.inc.F90"
843 : end procedure
844 : #endif
845 :
846 : #if SK1_ENABLED
847 68 : module procedure setInserted_D1_D1_SK1
848 : use pm_kind, only: SKC => SK1
849 : #include "pm_arrayInsert@routines.inc.F90"
850 : end procedure
851 : #endif
852 :
853 : #undef SK_ENABLED
854 :
855 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
856 :
857 : #define IK_ENABLED 1
858 :
859 : #if IK5_ENABLED
860 67 : module procedure setInserted_D1_D1_IK5
861 : use pm_kind, only: IKC => IK5
862 : #include "pm_arrayInsert@routines.inc.F90"
863 : end procedure
864 : #endif
865 :
866 : #if IK4_ENABLED
867 67 : module procedure setInserted_D1_D1_IK4
868 : use pm_kind, only: IKC => IK4
869 : #include "pm_arrayInsert@routines.inc.F90"
870 : end procedure
871 : #endif
872 :
873 : #if IK3_ENABLED
874 68 : module procedure setInserted_D1_D1_IK3
875 : use pm_kind, only: IKC => IK3
876 : #include "pm_arrayInsert@routines.inc.F90"
877 : end procedure
878 : #endif
879 :
880 : #if IK2_ENABLED
881 67 : module procedure setInserted_D1_D1_IK2
882 : use pm_kind, only: IKC => IK2
883 : #include "pm_arrayInsert@routines.inc.F90"
884 : end procedure
885 : #endif
886 :
887 : #if IK1_ENABLED
888 67 : module procedure setInserted_D1_D1_IK1
889 : use pm_kind, only: IKC => IK1
890 : #include "pm_arrayInsert@routines.inc.F90"
891 : end procedure
892 : #endif
893 :
894 : #undef IK_ENABLED
895 :
896 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
897 :
898 : #define LK_ENABLED 1
899 :
900 : #if LK5_ENABLED
901 67 : module procedure setInserted_D1_D1_LK5
902 : use pm_kind, only: LKC => LK5
903 : #include "pm_arrayInsert@routines.inc.F90"
904 : end procedure
905 : #endif
906 :
907 : #if LK4_ENABLED
908 67 : module procedure setInserted_D1_D1_LK4
909 : use pm_kind, only: LKC => LK4
910 : #include "pm_arrayInsert@routines.inc.F90"
911 : end procedure
912 : #endif
913 :
914 : #if LK3_ENABLED
915 68 : module procedure setInserted_D1_D1_LK3
916 : use pm_kind, only: LKC => LK3
917 : #include "pm_arrayInsert@routines.inc.F90"
918 : end procedure
919 : #endif
920 :
921 : #if LK2_ENABLED
922 67 : module procedure setInserted_D1_D1_LK2
923 : use pm_kind, only: LKC => LK2
924 : #include "pm_arrayInsert@routines.inc.F90"
925 : end procedure
926 : #endif
927 :
928 : #if LK1_ENABLED
929 67 : module procedure setInserted_D1_D1_LK1
930 : use pm_kind, only: LKC => LK1
931 : #include "pm_arrayInsert@routines.inc.F90"
932 : end procedure
933 : #endif
934 :
935 : #undef LK_ENABLED
936 :
937 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
938 :
939 : #define CK_ENABLED 1
940 :
941 : #if CK5_ENABLED
942 : module procedure setInserted_D1_D1_CK5
943 : use pm_kind, only: CKC => CK5
944 : #include "pm_arrayInsert@routines.inc.F90"
945 : end procedure
946 : #endif
947 :
948 : #if CK4_ENABLED
949 67 : module procedure setInserted_D1_D1_CK4
950 : use pm_kind, only: CKC => CK4
951 : #include "pm_arrayInsert@routines.inc.F90"
952 : end procedure
953 : #endif
954 :
955 : #if CK3_ENABLED
956 67 : module procedure setInserted_D1_D1_CK3
957 : use pm_kind, only: CKC => CK3
958 : #include "pm_arrayInsert@routines.inc.F90"
959 : end procedure
960 : #endif
961 :
962 : #if CK2_ENABLED
963 68 : module procedure setInserted_D1_D1_CK2
964 : use pm_kind, only: CKC => CK2
965 : #include "pm_arrayInsert@routines.inc.F90"
966 : end procedure
967 : #endif
968 :
969 : #if CK1_ENABLED
970 67 : module procedure setInserted_D1_D1_CK1
971 : use pm_kind, only: CKC => CK1
972 : #include "pm_arrayInsert@routines.inc.F90"
973 : end procedure
974 : #endif
975 :
976 : #undef CK_ENABLED
977 :
978 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
979 :
980 : #define RK_ENABLED 1
981 :
982 : #if RK5_ENABLED
983 : module procedure setInserted_D1_D1_RK5
984 : use pm_kind, only: RKC => RK5
985 : #include "pm_arrayInsert@routines.inc.F90"
986 : end procedure
987 : #endif
988 :
989 : #if RK4_ENABLED
990 67 : module procedure setInserted_D1_D1_RK4
991 : use pm_kind, only: RKC => RK4
992 : #include "pm_arrayInsert@routines.inc.F90"
993 : end procedure
994 : #endif
995 :
996 : #if RK3_ENABLED
997 67 : module procedure setInserted_D1_D1_RK3
998 : use pm_kind, only: RKC => RK3
999 : #include "pm_arrayInsert@routines.inc.F90"
1000 : end procedure
1001 : #endif
1002 :
1003 : #if RK2_ENABLED
1004 68 : module procedure setInserted_D1_D1_RK2
1005 : use pm_kind, only: RKC => RK2
1006 : #include "pm_arrayInsert@routines.inc.F90"
1007 : end procedure
1008 : #endif
1009 :
1010 : #if RK1_ENABLED
1011 67 : module procedure setInserted_D1_D1_RK1
1012 : use pm_kind, only: RKC => RK1
1013 : #include "pm_arrayInsert@routines.inc.F90"
1014 : end procedure
1015 : #endif
1016 :
1017 : #undef RK_ENABLED
1018 :
1019 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1020 :
1021 : #undef D1_D1_ENABLED
1022 :
1023 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1024 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1025 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1026 :
1027 : #undef setInserted_ENABLED
1028 :
1029 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1030 :
1031 : #undef CHECK_ASSERTION
1032 :
1033 : end submodule routines
|