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_arrayFill](@ref pm_arrayFill).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayFill) 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 getFilled_ENABLED 1
48 :
49 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define D1_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 :
57 : #define SK_ENABLED 1
58 :
59 : #if SK5_ENABLED
60 : module procedure getFilled_D1_SK5
61 : use pm_kind, only: SKC => SK5
62 : #include "pm_arrayFill@routines.inc.F90"
63 : end procedure
64 : #endif
65 :
66 : #if SK4_ENABLED
67 : module procedure getFilled_D1_SK4
68 : use pm_kind, only: SKC => SK4
69 : #include "pm_arrayFill@routines.inc.F90"
70 : end procedure
71 : #endif
72 :
73 : #if SK3_ENABLED
74 : module procedure getFilled_D1_SK3
75 : use pm_kind, only: SKC => SK3
76 : #include "pm_arrayFill@routines.inc.F90"
77 : end procedure
78 : #endif
79 :
80 : #if SK2_ENABLED
81 : module procedure getFilled_D1_SK2
82 : use pm_kind, only: SKC => SK2
83 : #include "pm_arrayFill@routines.inc.F90"
84 : end procedure
85 : #endif
86 :
87 : #if SK1_ENABLED
88 50 : module procedure getFilled_D1_SK1
89 : use pm_kind, only: SKC => SK1
90 : #include "pm_arrayFill@routines.inc.F90"
91 50 : end procedure
92 : #endif
93 :
94 : #undef SK_ENABLED
95 :
96 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 :
98 : #define IK_ENABLED 1
99 :
100 : #if IK5_ENABLED
101 50 : module procedure getFilled_D1_IK5
102 : use pm_kind, only: IKC => IK5
103 : #include "pm_arrayFill@routines.inc.F90"
104 50 : end procedure
105 : #endif
106 :
107 : #if IK4_ENABLED
108 50 : module procedure getFilled_D1_IK4
109 : use pm_kind, only: IKC => IK4
110 : #include "pm_arrayFill@routines.inc.F90"
111 50 : end procedure
112 : #endif
113 :
114 : #if IK3_ENABLED
115 65 : module procedure getFilled_D1_IK3
116 : use pm_kind, only: IKC => IK3
117 : #include "pm_arrayFill@routines.inc.F90"
118 65 : end procedure
119 : #endif
120 :
121 : #if IK2_ENABLED
122 50 : module procedure getFilled_D1_IK2
123 : use pm_kind, only: IKC => IK2
124 : #include "pm_arrayFill@routines.inc.F90"
125 50 : end procedure
126 : #endif
127 :
128 : #if IK1_ENABLED
129 50 : module procedure getFilled_D1_IK1
130 : use pm_kind, only: IKC => IK1
131 : #include "pm_arrayFill@routines.inc.F90"
132 50 : end procedure
133 : #endif
134 :
135 : #undef IK_ENABLED
136 :
137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
138 :
139 : #define LK_ENABLED 1
140 :
141 : #if LK5_ENABLED
142 50 : module procedure getFilled_D1_LK5
143 : use pm_kind, only: LKC => LK5
144 : #include "pm_arrayFill@routines.inc.F90"
145 50 : end procedure
146 : #endif
147 :
148 : #if LK4_ENABLED
149 50 : module procedure getFilled_D1_LK4
150 : use pm_kind, only: LKC => LK4
151 : #include "pm_arrayFill@routines.inc.F90"
152 50 : end procedure
153 : #endif
154 :
155 : #if LK3_ENABLED
156 50 : module procedure getFilled_D1_LK3
157 : use pm_kind, only: LKC => LK3
158 : #include "pm_arrayFill@routines.inc.F90"
159 50 : end procedure
160 : #endif
161 :
162 : #if LK2_ENABLED
163 50 : module procedure getFilled_D1_LK2
164 : use pm_kind, only: LKC => LK2
165 : #include "pm_arrayFill@routines.inc.F90"
166 50 : end procedure
167 : #endif
168 :
169 : #if LK1_ENABLED
170 50 : module procedure getFilled_D1_LK1
171 : use pm_kind, only: LKC => LK1
172 : #include "pm_arrayFill@routines.inc.F90"
173 50 : end procedure
174 : #endif
175 :
176 : #undef LK_ENABLED
177 :
178 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179 :
180 : #define CK_ENABLED 1
181 :
182 : #if CK5_ENABLED
183 : module procedure getFilled_D1_CK5
184 : use pm_kind, only: CKC => CK5
185 : #include "pm_arrayFill@routines.inc.F90"
186 : end procedure
187 : #endif
188 :
189 : #if CK4_ENABLED
190 950 : module procedure getFilled_D1_CK4
191 : use pm_kind, only: CKC => CK4
192 : #include "pm_arrayFill@routines.inc.F90"
193 950 : end procedure
194 : #endif
195 :
196 : #if CK3_ENABLED
197 950 : module procedure getFilled_D1_CK3
198 : use pm_kind, only: CKC => CK3
199 : #include "pm_arrayFill@routines.inc.F90"
200 950 : end procedure
201 : #endif
202 :
203 : #if CK2_ENABLED
204 950 : module procedure getFilled_D1_CK2
205 : use pm_kind, only: CKC => CK2
206 : #include "pm_arrayFill@routines.inc.F90"
207 950 : end procedure
208 : #endif
209 :
210 : #if CK1_ENABLED
211 951 : module procedure getFilled_D1_CK1
212 : use pm_kind, only: CKC => CK1
213 : #include "pm_arrayFill@routines.inc.F90"
214 951 : end procedure
215 : #endif
216 :
217 : #undef CK_ENABLED
218 :
219 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
220 :
221 : #define RK_ENABLED 1
222 :
223 : #if RK5_ENABLED
224 : module procedure getFilled_D1_RK5
225 : use pm_kind, only: RKC => RK5
226 : #include "pm_arrayFill@routines.inc.F90"
227 : end procedure
228 : #endif
229 :
230 : #if RK4_ENABLED
231 1050 : module procedure getFilled_D1_RK4
232 : use pm_kind, only: RKC => RK4
233 : #include "pm_arrayFill@routines.inc.F90"
234 1050 : end procedure
235 : #endif
236 :
237 : #if RK3_ENABLED
238 1050 : module procedure getFilled_D1_RK3
239 : use pm_kind, only: RKC => RK3
240 : #include "pm_arrayFill@routines.inc.F90"
241 1050 : end procedure
242 : #endif
243 :
244 : #if RK2_ENABLED
245 2263 : module procedure getFilled_D1_RK2
246 : use pm_kind, only: RKC => RK2
247 : #include "pm_arrayFill@routines.inc.F90"
248 2263 : end procedure
249 : #endif
250 :
251 : #if RK1_ENABLED
252 1093 : module procedure getFilled_D1_RK1
253 : use pm_kind, only: RKC => RK1
254 : #include "pm_arrayFill@routines.inc.F90"
255 1093 : end procedure
256 : #endif
257 :
258 : #undef RK_ENABLED
259 :
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 :
262 : #undef D1_ENABLED
263 :
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 :
268 : #define D2_ENABLED 1
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #define SK_ENABLED 1
273 :
274 : #if SK5_ENABLED
275 : module procedure getFilled_D2_SK5
276 : use pm_kind, only: SKC => SK5
277 : #include "pm_arrayFill@routines.inc.F90"
278 : end procedure
279 : #endif
280 :
281 : #if SK4_ENABLED
282 : module procedure getFilled_D2_SK4
283 : use pm_kind, only: SKC => SK4
284 : #include "pm_arrayFill@routines.inc.F90"
285 : end procedure
286 : #endif
287 :
288 : #if SK3_ENABLED
289 : module procedure getFilled_D2_SK3
290 : use pm_kind, only: SKC => SK3
291 : #include "pm_arrayFill@routines.inc.F90"
292 : end procedure
293 : #endif
294 :
295 : #if SK2_ENABLED
296 : module procedure getFilled_D2_SK2
297 : use pm_kind, only: SKC => SK2
298 : #include "pm_arrayFill@routines.inc.F90"
299 : end procedure
300 : #endif
301 :
302 : #if SK1_ENABLED
303 51 : module procedure getFilled_D2_SK1
304 : use pm_kind, only: SKC => SK1
305 : #include "pm_arrayFill@routines.inc.F90"
306 51 : end procedure
307 : #endif
308 :
309 : #undef SK_ENABLED
310 :
311 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 :
313 : #define IK_ENABLED 1
314 :
315 : #if IK5_ENABLED
316 50 : module procedure getFilled_D2_IK5
317 : use pm_kind, only: IKC => IK5
318 : #include "pm_arrayFill@routines.inc.F90"
319 50 : end procedure
320 : #endif
321 :
322 : #if IK4_ENABLED
323 50 : module procedure getFilled_D2_IK4
324 : use pm_kind, only: IKC => IK4
325 : #include "pm_arrayFill@routines.inc.F90"
326 50 : end procedure
327 : #endif
328 :
329 : #if IK3_ENABLED
330 51 : module procedure getFilled_D2_IK3
331 : use pm_kind, only: IKC => IK3
332 : #include "pm_arrayFill@routines.inc.F90"
333 51 : end procedure
334 : #endif
335 :
336 : #if IK2_ENABLED
337 50 : module procedure getFilled_D2_IK2
338 : use pm_kind, only: IKC => IK2
339 : #include "pm_arrayFill@routines.inc.F90"
340 50 : end procedure
341 : #endif
342 :
343 : #if IK1_ENABLED
344 50 : module procedure getFilled_D2_IK1
345 : use pm_kind, only: IKC => IK1
346 : #include "pm_arrayFill@routines.inc.F90"
347 50 : end procedure
348 : #endif
349 :
350 : #undef IK_ENABLED
351 :
352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353 :
354 : #define LK_ENABLED 1
355 :
356 : #if LK5_ENABLED
357 50 : module procedure getFilled_D2_LK5
358 : use pm_kind, only: LKC => LK5
359 : #include "pm_arrayFill@routines.inc.F90"
360 50 : end procedure
361 : #endif
362 :
363 : #if LK4_ENABLED
364 50 : module procedure getFilled_D2_LK4
365 : use pm_kind, only: LKC => LK4
366 : #include "pm_arrayFill@routines.inc.F90"
367 50 : end procedure
368 : #endif
369 :
370 : #if LK3_ENABLED
371 50 : module procedure getFilled_D2_LK3
372 : use pm_kind, only: LKC => LK3
373 : #include "pm_arrayFill@routines.inc.F90"
374 50 : end procedure
375 : #endif
376 :
377 : #if LK2_ENABLED
378 50 : module procedure getFilled_D2_LK2
379 : use pm_kind, only: LKC => LK2
380 : #include "pm_arrayFill@routines.inc.F90"
381 50 : end procedure
382 : #endif
383 :
384 : #if LK1_ENABLED
385 50 : module procedure getFilled_D2_LK1
386 : use pm_kind, only: LKC => LK1
387 : #include "pm_arrayFill@routines.inc.F90"
388 50 : end procedure
389 : #endif
390 :
391 : #undef LK_ENABLED
392 :
393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
394 :
395 : #define CK_ENABLED 1
396 :
397 : #if CK5_ENABLED
398 : module procedure getFilled_D2_CK5
399 : use pm_kind, only: CKC => CK5
400 : #include "pm_arrayFill@routines.inc.F90"
401 : end procedure
402 : #endif
403 :
404 : #if CK4_ENABLED
405 6200 : module procedure getFilled_D2_CK4
406 : use pm_kind, only: CKC => CK4
407 : #include "pm_arrayFill@routines.inc.F90"
408 6200 : end procedure
409 : #endif
410 :
411 : #if CK3_ENABLED
412 6200 : module procedure getFilled_D2_CK3
413 : use pm_kind, only: CKC => CK3
414 : #include "pm_arrayFill@routines.inc.F90"
415 6200 : end procedure
416 : #endif
417 :
418 : #if CK2_ENABLED
419 6200 : module procedure getFilled_D2_CK2
420 : use pm_kind, only: CKC => CK2
421 : #include "pm_arrayFill@routines.inc.F90"
422 6200 : end procedure
423 : #endif
424 :
425 : #if CK1_ENABLED
426 6201 : module procedure getFilled_D2_CK1
427 : use pm_kind, only: CKC => CK1
428 : #include "pm_arrayFill@routines.inc.F90"
429 6201 : end procedure
430 : #endif
431 :
432 : #undef CK_ENABLED
433 :
434 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
435 :
436 : #define RK_ENABLED 1
437 :
438 : #if RK5_ENABLED
439 : module procedure getFilled_D2_RK5
440 : use pm_kind, only: RKC => RK5
441 : #include "pm_arrayFill@routines.inc.F90"
442 : end procedure
443 : #endif
444 :
445 : #if RK4_ENABLED
446 7811 : module procedure getFilled_D2_RK4
447 : use pm_kind, only: RKC => RK4
448 : #include "pm_arrayFill@routines.inc.F90"
449 7811 : end procedure
450 : #endif
451 :
452 : #if RK3_ENABLED
453 7812 : module procedure getFilled_D2_RK3
454 : use pm_kind, only: RKC => RK3
455 : #include "pm_arrayFill@routines.inc.F90"
456 7812 : end procedure
457 : #endif
458 :
459 : #if RK2_ENABLED
460 12199 : module procedure getFilled_D2_RK2
461 : use pm_kind, only: RKC => RK2
462 : #include "pm_arrayFill@routines.inc.F90"
463 12199 : end procedure
464 : #endif
465 :
466 : #if RK1_ENABLED
467 7937 : module procedure getFilled_D2_RK1
468 : use pm_kind, only: RKC => RK1
469 : #include "pm_arrayFill@routines.inc.F90"
470 7937 : end procedure
471 : #endif
472 :
473 : #undef RK_ENABLED
474 :
475 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
476 :
477 : #undef D2_ENABLED
478 :
479 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
480 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
481 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
482 :
483 : #define D3_ENABLED 1
484 :
485 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
486 :
487 : #define SK_ENABLED 1
488 :
489 : #if SK5_ENABLED
490 : module procedure getFilled_D3_SK5
491 : use pm_kind, only: SKC => SK5
492 : #include "pm_arrayFill@routines.inc.F90"
493 : end procedure
494 : #endif
495 :
496 : #if SK4_ENABLED
497 : module procedure getFilled_D3_SK4
498 : use pm_kind, only: SKC => SK4
499 : #include "pm_arrayFill@routines.inc.F90"
500 : end procedure
501 : #endif
502 :
503 : #if SK3_ENABLED
504 : module procedure getFilled_D3_SK3
505 : use pm_kind, only: SKC => SK3
506 : #include "pm_arrayFill@routines.inc.F90"
507 : end procedure
508 : #endif
509 :
510 : #if SK2_ENABLED
511 : module procedure getFilled_D3_SK2
512 : use pm_kind, only: SKC => SK2
513 : #include "pm_arrayFill@routines.inc.F90"
514 : end procedure
515 : #endif
516 :
517 : #if SK1_ENABLED
518 50 : module procedure getFilled_D3_SK1
519 : use pm_kind, only: SKC => SK1
520 : #include "pm_arrayFill@routines.inc.F90"
521 50 : end procedure
522 : #endif
523 :
524 : #undef SK_ENABLED
525 :
526 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
527 :
528 : #define IK_ENABLED 1
529 :
530 : #if IK5_ENABLED
531 50 : module procedure getFilled_D3_IK5
532 : use pm_kind, only: IKC => IK5
533 : #include "pm_arrayFill@routines.inc.F90"
534 50 : end procedure
535 : #endif
536 :
537 : #if IK4_ENABLED
538 50 : module procedure getFilled_D3_IK4
539 : use pm_kind, only: IKC => IK4
540 : #include "pm_arrayFill@routines.inc.F90"
541 50 : end procedure
542 : #endif
543 :
544 : #if IK3_ENABLED
545 50 : module procedure getFilled_D3_IK3
546 : use pm_kind, only: IKC => IK3
547 : #include "pm_arrayFill@routines.inc.F90"
548 50 : end procedure
549 : #endif
550 :
551 : #if IK2_ENABLED
552 50 : module procedure getFilled_D3_IK2
553 : use pm_kind, only: IKC => IK2
554 : #include "pm_arrayFill@routines.inc.F90"
555 50 : end procedure
556 : #endif
557 :
558 : #if IK1_ENABLED
559 50 : module procedure getFilled_D3_IK1
560 : use pm_kind, only: IKC => IK1
561 : #include "pm_arrayFill@routines.inc.F90"
562 50 : end procedure
563 : #endif
564 :
565 : #undef IK_ENABLED
566 :
567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
568 :
569 : #define LK_ENABLED 1
570 :
571 : #if LK5_ENABLED
572 50 : module procedure getFilled_D3_LK5
573 : use pm_kind, only: LKC => LK5
574 : #include "pm_arrayFill@routines.inc.F90"
575 50 : end procedure
576 : #endif
577 :
578 : #if LK4_ENABLED
579 50 : module procedure getFilled_D3_LK4
580 : use pm_kind, only: LKC => LK4
581 : #include "pm_arrayFill@routines.inc.F90"
582 50 : end procedure
583 : #endif
584 :
585 : #if LK3_ENABLED
586 52 : module procedure getFilled_D3_LK3
587 : use pm_kind, only: LKC => LK3
588 : #include "pm_arrayFill@routines.inc.F90"
589 52 : end procedure
590 : #endif
591 :
592 : #if LK2_ENABLED
593 50 : module procedure getFilled_D3_LK2
594 : use pm_kind, only: LKC => LK2
595 : #include "pm_arrayFill@routines.inc.F90"
596 50 : end procedure
597 : #endif
598 :
599 : #if LK1_ENABLED
600 50 : module procedure getFilled_D3_LK1
601 : use pm_kind, only: LKC => LK1
602 : #include "pm_arrayFill@routines.inc.F90"
603 50 : end procedure
604 : #endif
605 :
606 : #undef LK_ENABLED
607 :
608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
609 :
610 : #define CK_ENABLED 1
611 :
612 : #if CK5_ENABLED
613 : module procedure getFilled_D3_CK5
614 : use pm_kind, only: CKC => CK5
615 : #include "pm_arrayFill@routines.inc.F90"
616 : end procedure
617 : #endif
618 :
619 : #if CK4_ENABLED
620 50 : module procedure getFilled_D3_CK4
621 : use pm_kind, only: CKC => CK4
622 : #include "pm_arrayFill@routines.inc.F90"
623 50 : end procedure
624 : #endif
625 :
626 : #if CK3_ENABLED
627 50 : module procedure getFilled_D3_CK3
628 : use pm_kind, only: CKC => CK3
629 : #include "pm_arrayFill@routines.inc.F90"
630 50 : end procedure
631 : #endif
632 :
633 : #if CK2_ENABLED
634 50 : module procedure getFilled_D3_CK2
635 : use pm_kind, only: CKC => CK2
636 : #include "pm_arrayFill@routines.inc.F90"
637 50 : end procedure
638 : #endif
639 :
640 : #if CK1_ENABLED
641 50 : module procedure getFilled_D3_CK1
642 : use pm_kind, only: CKC => CK1
643 : #include "pm_arrayFill@routines.inc.F90"
644 50 : end procedure
645 : #endif
646 :
647 : #undef CK_ENABLED
648 :
649 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
650 :
651 : #define RK_ENABLED 1
652 :
653 : #if RK5_ENABLED
654 : module procedure getFilled_D3_RK5
655 : use pm_kind, only: RKC => RK5
656 : #include "pm_arrayFill@routines.inc.F90"
657 : end procedure
658 : #endif
659 :
660 : #if RK4_ENABLED
661 50 : module procedure getFilled_D3_RK4
662 : use pm_kind, only: RKC => RK4
663 : #include "pm_arrayFill@routines.inc.F90"
664 50 : end procedure
665 : #endif
666 :
667 : #if RK3_ENABLED
668 50 : module procedure getFilled_D3_RK3
669 : use pm_kind, only: RKC => RK3
670 : #include "pm_arrayFill@routines.inc.F90"
671 50 : end procedure
672 : #endif
673 :
674 : #if RK2_ENABLED
675 51 : module procedure getFilled_D3_RK2
676 : use pm_kind, only: RKC => RK2
677 : #include "pm_arrayFill@routines.inc.F90"
678 51 : end procedure
679 : #endif
680 :
681 : #if RK1_ENABLED
682 50 : module procedure getFilled_D3_RK1
683 : use pm_kind, only: RKC => RK1
684 : #include "pm_arrayFill@routines.inc.F90"
685 50 : end procedure
686 : #endif
687 :
688 : #undef RK_ENABLED
689 :
690 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
691 :
692 : #undef D3_ENABLED
693 :
694 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
695 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
697 :
698 : #undef getFilled_ENABLED
699 :
700 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
701 :
702 : #undef CHECK_ASSERTION
703 :
704 : end submodule routines
|