ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayInit.F90
Go to the documentation of this file.
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
61
62!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63
65
66 use pm_kind, only: SK, IK, LK
67
68 implicit none
69
70 character(*,SK), parameter :: MODULE_NAME = "@pm_arrayInit"
71
72!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
73
181 interface getCoreHalo
182
183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
185 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
186
187 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
188 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
189 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190
191 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
192
193#if SK5_ENABLED
194 PURE elemental module function getCoreHaloArr_D0_SK5(size, core, halo, coffset) result(array)
195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
196 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D0_SK5
197#endif
198 use pm_kind, only: SKG => SK5
199 integer(IK) , intent(in) :: coffset
200 integer(IK) , intent(in) :: size
201 character(1,SKG) , intent(in) :: halo
202 character(*,SKG) , intent(in) :: core
203 character(size,SKG) :: array
204 end function
205#endif
206
207#if SK4_ENABLED
208 PURE elemental module function getCoreHaloArr_D0_SK4(size, core, halo, coffset) result(array)
209#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
210 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D0_SK4
211#endif
212 use pm_kind, only: SKG => SK4
213 integer(IK) , intent(in) :: coffset
214 integer(IK) , intent(in) :: size
215 character(1,SKG) , intent(in) :: halo
216 character(*,SKG) , intent(in) :: core
217 character(size,SKG) :: array
218 end function
219#endif
220
221#if SK3_ENABLED
222 PURE elemental module function getCoreHaloArr_D0_SK3(size, core, halo, coffset) result(array)
223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
224 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D0_SK3
225#endif
226 use pm_kind, only: SKG => SK3
227 integer(IK) , intent(in) :: coffset
228 integer(IK) , intent(in) :: size
229 character(1,SKG) , intent(in) :: halo
230 character(*,SKG) , intent(in) :: core
231 character(size,SKG) :: array
232 end function
233#endif
234
235#if SK2_ENABLED
236 PURE elemental module function getCoreHaloArr_D0_SK2(size, core, halo, coffset) result(array)
237#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
238 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D0_SK2
239#endif
240 use pm_kind, only: SKG => SK2
241 integer(IK) , intent(in) :: coffset
242 integer(IK) , intent(in) :: size
243 character(1,SKG) , intent(in) :: halo
244 character(*,SKG) , intent(in) :: core
245 character(size,SKG) :: array
246 end function
247#endif
248
249#if SK1_ENABLED
250 PURE elemental module function getCoreHaloArr_D0_SK1(size, core, halo, coffset) result(array)
251#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
252 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D0_SK1
253#endif
254 use pm_kind, only: SKG => SK1
255 integer(IK) , intent(in) :: coffset
256 integer(IK) , intent(in) :: size
257 character(1,SKG) , intent(in) :: halo
258 character(*,SKG) , intent(in) :: core
259 character(size,SKG) :: array
260 end function
261#endif
262
263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264
265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
268
269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
270
271#if SK5_ENABLED
272 PURE module function getCoreHaloArr_D1_SK5(size, core, halo, coffset) result(array)
273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
274 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_SK5
275#endif
276 use pm_kind, only: SKG => SK5
277 integer(IK) , intent(in) :: coffset
278 integer(IK) , intent(in) :: size
279 character(*,SKG) , intent(in) :: halo
280 character(*,SKG) , intent(in) , contiguous :: core(:)
281 character(max(len(halo,IK),len(core,IK)),SKG) :: array(size)
282 end function
283#endif
284
285#if SK4_ENABLED
286 PURE module function getCoreHaloArr_D1_SK4(size, core, halo, coffset) result(array)
287#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
288 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_SK4
289#endif
290 use pm_kind, only: SKG => SK4
291 integer(IK) , intent(in) :: coffset
292 integer(IK) , intent(in) :: size
293 character(*,SKG) , intent(in) :: halo
294 character(*,SKG) , intent(in) , contiguous :: core(:)
295 character(max(len(halo,IK),len(core,IK)),SKG) :: array(size)
296 end function
297#endif
298
299#if SK3_ENABLED
300 PURE module function getCoreHaloArr_D1_SK3(size, core, halo, coffset) result(array)
301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
302 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_SK3
303#endif
304 use pm_kind, only: SKG => SK3
305 integer(IK) , intent(in) :: coffset
306 integer(IK) , intent(in) :: size
307 character(*,SKG) , intent(in) :: halo
308 character(*,SKG) , intent(in) , contiguous :: core(:)
309 character(max(len(halo,IK),len(core,IK)),SKG) :: array(size)
310 end function
311#endif
312
313#if SK2_ENABLED
314 PURE module function getCoreHaloArr_D1_SK2(size, core, halo, coffset) result(array)
315#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
316 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_SK2
317#endif
318 use pm_kind, only: SKG => SK2
319 integer(IK) , intent(in) :: coffset
320 integer(IK) , intent(in) :: size
321 character(*,SKG) , intent(in) :: halo
322 character(*,SKG) , intent(in) , contiguous :: core(:)
323 character(max(len(halo,IK),len(core,IK)),SKG) :: array(size)
324 end function
325#endif
326
327#if SK1_ENABLED
328 PURE module function getCoreHaloArr_D1_SK1(size, core, halo, coffset) result(array)
329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
330 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_SK1
331#endif
332 use pm_kind, only: SKG => SK1
333 integer(IK) , intent(in) :: coffset
334 integer(IK) , intent(in) :: size
335 character(*,SKG) , intent(in) :: halo
336 character(*,SKG) , intent(in) , contiguous :: core(:)
337 character(max(len(halo,IK),len(core,IK)),SKG) :: array(size)
338 end function
339#endif
340
341 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342
343#if IK5_ENABLED
344 PURE module function getCoreHaloArr_D1_IK5(size, core, halo, coffset) result(array)
345#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
346 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_IK5
347#endif
348 use pm_kind, only: IKG => IK5
349 integer(IK) , intent(in) :: coffset
350 integer(IK) , intent(in) :: size
351 integer(IKG) , intent(in) :: halo
352 integer(IKG) , intent(in) , contiguous :: core(:)
353 integer(IKG) :: array(size)
354 end function
355#endif
356
357#if IK4_ENABLED
358 PURE module function getCoreHaloArr_D1_IK4(size, core, halo, coffset) result(array)
359#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
360 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_IK4
361#endif
362 use pm_kind, only: IKG => IK4
363 integer(IK) , intent(in) :: coffset
364 integer(IK) , intent(in) :: size
365 integer(IKG) , intent(in) :: halo
366 integer(IKG) , intent(in) , contiguous :: core(:)
367 integer(IKG) :: array(size)
368 end function
369#endif
370
371#if IK3_ENABLED
372 PURE module function getCoreHaloArr_D1_IK3(size, core, halo, coffset) result(array)
373#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
374 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_IK3
375#endif
376 use pm_kind, only: IKG => IK3
377 integer(IK) , intent(in) :: coffset
378 integer(IK) , intent(in) :: size
379 integer(IKG) , intent(in) :: halo
380 integer(IKG) , intent(in) , contiguous :: core(:)
381 integer(IKG) :: array(size)
382 end function
383#endif
384
385#if IK2_ENABLED
386 PURE module function getCoreHaloArr_D1_IK2(size, core, halo, coffset) result(array)
387#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
388 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_IK2
389#endif
390 use pm_kind, only: IKG => IK2
391 integer(IK) , intent(in) :: coffset
392 integer(IK) , intent(in) :: size
393 integer(IKG) , intent(in) :: halo
394 integer(IKG) , intent(in) , contiguous :: core(:)
395 integer(IKG) :: array(size)
396 end function
397#endif
398
399#if IK1_ENABLED
400 PURE module function getCoreHaloArr_D1_IK1(size, core, halo, coffset) result(array)
401#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
402 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_IK1
403#endif
404 use pm_kind, only: IKG => IK1
405 integer(IK) , intent(in) :: coffset
406 integer(IK) , intent(in) :: size
407 integer(IKG) , intent(in) :: halo
408 integer(IKG) , intent(in) , contiguous :: core(:)
409 integer(IKG) :: array(size)
410 end function
411#endif
412
413 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
414
415#if LK5_ENABLED
416 PURE module function getCoreHaloArr_D1_LK5(size, core, halo, coffset) result(array)
417#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
418 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_LK5
419#endif
420 use pm_kind, only: LKG => LK5
421 integer(IK) , intent(in) :: coffset
422 integer(IK) , intent(in) :: size
423 logical(LKG) , intent(in) :: halo
424 logical(LKG) , intent(in) , contiguous :: core(:)
425 logical(LKG) :: array(size)
426 end function
427#endif
428
429#if LK4_ENABLED
430 PURE module function getCoreHaloArr_D1_LK4(size, core, halo, coffset) result(array)
431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
432 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_LK4
433#endif
434 use pm_kind, only: LKG => LK4
435 integer(IK) , intent(in) :: coffset
436 integer(IK) , intent(in) :: size
437 logical(LKG) , intent(in) :: halo
438 logical(LKG) , intent(in) , contiguous :: core(:)
439 logical(LKG) :: array(size)
440 end function
441#endif
442
443#if LK3_ENABLED
444 PURE module function getCoreHaloArr_D1_LK3(size, core, halo, coffset) result(array)
445#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
446 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_LK3
447#endif
448 use pm_kind, only: LKG => LK3
449 integer(IK) , intent(in) :: coffset
450 integer(IK) , intent(in) :: size
451 logical(LKG) , intent(in) :: halo
452 logical(LKG) , intent(in) , contiguous :: core(:)
453 logical(LKG) :: array(size)
454 end function
455#endif
456
457#if LK2_ENABLED
458 PURE module function getCoreHaloArr_D1_LK2(size, core, halo, coffset) result(array)
459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
460 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_LK2
461#endif
462 use pm_kind, only: LKG => LK2
463 integer(IK) , intent(in) :: coffset
464 integer(IK) , intent(in) :: size
465 logical(LKG) , intent(in) :: halo
466 logical(LKG) , intent(in) , contiguous :: core(:)
467 logical(LKG) :: array(size)
468 end function
469#endif
470
471#if LK1_ENABLED
472 PURE module function getCoreHaloArr_D1_LK1(size, core, halo, coffset) result(array)
473#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
474 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_LK1
475#endif
476 use pm_kind, only: LKG => LK1
477 integer(IK) , intent(in) :: coffset
478 integer(IK) , intent(in) :: size
479 logical(LKG) , intent(in) :: halo
480 logical(LKG) , intent(in) , contiguous :: core(:)
481 logical(LKG) :: array(size)
482 end function
483#endif
484
485 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
486
487#if CK5_ENABLED
488 PURE module function getCoreHaloArr_D1_CK5(size, core, halo, coffset) result(array)
489#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
490 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_CK5
491#endif
492 use pm_kind, only: CKG => CK5
493 integer(IK) , intent(in) :: coffset
494 integer(IK) , intent(in) :: size
495 complex(CKG) , intent(in) :: halo
496 complex(CKG) , intent(in) , contiguous :: core(:)
497 complex(CKG) :: array(size)
498 end function
499#endif
500
501#if CK4_ENABLED
502 PURE module function getCoreHaloArr_D1_CK4(size, core, halo, coffset) result(array)
503#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
504 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_CK4
505#endif
506 use pm_kind, only: CKG => CK4
507 integer(IK) , intent(in) :: coffset
508 integer(IK) , intent(in) :: size
509 complex(CKG) , intent(in) :: halo
510 complex(CKG) , intent(in) , contiguous :: core(:)
511 complex(CKG) :: array(size)
512 end function
513#endif
514
515#if CK3_ENABLED
516 PURE module function getCoreHaloArr_D1_CK3(size, core, halo, coffset) result(array)
517#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
518 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_CK3
519#endif
520 use pm_kind, only: CKG => CK3
521 integer(IK) , intent(in) :: coffset
522 integer(IK) , intent(in) :: size
523 complex(CKG) , intent(in) :: halo
524 complex(CKG) , intent(in) , contiguous :: core(:)
525 complex(CKG) :: array(size)
526 end function
527#endif
528
529#if CK2_ENABLED
530 PURE module function getCoreHaloArr_D1_CK2(size, core, halo, coffset) result(array)
531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
532 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_CK2
533#endif
534 use pm_kind, only: CKG => CK2
535 integer(IK) , intent(in) :: coffset
536 integer(IK) , intent(in) :: size
537 complex(CKG) , intent(in) :: halo
538 complex(CKG) , intent(in) , contiguous :: core(:)
539 complex(CKG) :: array(size)
540 end function
541#endif
542
543#if CK1_ENABLED
544 PURE module function getCoreHaloArr_D1_CK1(size, core, halo, coffset) result(array)
545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
546 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_CK1
547#endif
548 use pm_kind, only: CKG => CK1
549 integer(IK) , intent(in) :: coffset
550 integer(IK) , intent(in) :: size
551 complex(CKG) , intent(in) :: halo
552 complex(CKG) , intent(in) , contiguous :: core(:)
553 complex(CKG) :: array(size)
554 end function
555#endif
556
557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
558
559#if RK5_ENABLED
560 PURE module function getCoreHaloArr_D1_RK5(size, core, halo, coffset) result(array)
561#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
562 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_RK5
563#endif
564 use pm_kind, only: RKG => RK5
565 integer(IK) , intent(in) :: coffset
566 integer(IK) , intent(in) :: size
567 real(RKG) , intent(in) :: halo
568 real(RKG) , intent(in) , contiguous :: core(:)
569 real(RKG) :: array(size)
570 end function
571#endif
572
573#if RK4_ENABLED
574 PURE module function getCoreHaloArr_D1_RK4(size, core, halo, coffset) result(array)
575#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
576 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_RK4
577#endif
578 use pm_kind, only: RKG => RK4
579 integer(IK) , intent(in) :: coffset
580 integer(IK) , intent(in) :: size
581 real(RKG) , intent(in) :: halo
582 real(RKG) , intent(in) , contiguous :: core(:)
583 real(RKG) :: array(size)
584 end function
585#endif
586
587#if RK3_ENABLED
588 PURE module function getCoreHaloArr_D1_RK3(size, core, halo, coffset) result(array)
589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
590 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_RK3
591#endif
592 use pm_kind, only: RKG => RK3
593 integer(IK) , intent(in) :: coffset
594 integer(IK) , intent(in) :: size
595 real(RKG) , intent(in) :: halo
596 real(RKG) , intent(in) , contiguous :: core(:)
597 real(RKG) :: array(size)
598 end function
599#endif
600
601#if RK2_ENABLED
602 PURE module function getCoreHaloArr_D1_RK2(size, core, halo, coffset) result(array)
603#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
604 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_RK2
605#endif
606 use pm_kind, only: RKG => RK2
607 integer(IK) , intent(in) :: coffset
608 integer(IK) , intent(in) :: size
609 real(RKG) , intent(in) :: halo
610 real(RKG) , intent(in) , contiguous :: core(:)
611 real(RKG) :: array(size)
612 end function
613#endif
614
615#if RK1_ENABLED
616 PURE module function getCoreHaloArr_D1_RK1(size, core, halo, coffset) result(array)
617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
618 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D1_RK1
619#endif
620 use pm_kind, only: RKG => RK1
621 integer(IK) , intent(in) :: coffset
622 integer(IK) , intent(in) :: size
623 real(RKG) , intent(in) :: halo
624 real(RKG) , intent(in) , contiguous :: core(:)
625 real(RKG) :: array(size)
626 end function
627#endif
628
629 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
630
631 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634
635 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
636
637#if SK5_ENABLED
638 PURE module function getCoreHaloArr_D2_SK5(size, core, halo, coffset) result(array)
639#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
640 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_SK5
641#endif
642 use pm_kind, only: SKG => SK5
643 integer(IK) , intent(in) :: coffset(2)
644 integer(IK) , intent(in) :: Size(2)
645 character(*,SKG) , intent(in) :: halo
646 character(*,SKG) , intent(in) , contiguous :: core(:,:)
647 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2))
648 end function
649#endif
650
651#if SK4_ENABLED
652 PURE module function getCoreHaloArr_D2_SK4(size, core, halo, coffset) result(array)
653#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
654 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_SK4
655#endif
656 use pm_kind, only: SKG => SK4
657 integer(IK) , intent(in) :: coffset(2)
658 integer(IK) , intent(in) :: Size(2)
659 character(*,SKG) , intent(in) :: halo
660 character(*,SKG) , intent(in) , contiguous :: core(:,:)
661 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2))
662 end function
663#endif
664
665#if SK3_ENABLED
666 PURE module function getCoreHaloArr_D2_SK3(size, core, halo, coffset) result(array)
667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
668 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_SK3
669#endif
670 use pm_kind, only: SKG => SK3
671 integer(IK) , intent(in) :: coffset(2)
672 integer(IK) , intent(in) :: Size(2)
673 character(*,SKG) , intent(in) :: halo
674 character(*,SKG) , intent(in) , contiguous :: core(:,:)
675 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2))
676 end function
677#endif
678
679#if SK2_ENABLED
680 PURE module function getCoreHaloArr_D2_SK2(size, core, halo, coffset) result(array)
681#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
682 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_SK2
683#endif
684 use pm_kind, only: SKG => SK2
685 integer(IK) , intent(in) :: coffset(2)
686 integer(IK) , intent(in) :: Size(2)
687 character(*,SKG) , intent(in) :: halo
688 character(*,SKG) , intent(in) , contiguous :: core(:,:)
689 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2))
690 end function
691#endif
692
693#if SK1_ENABLED
694 PURE module function getCoreHaloArr_D2_SK1(size, core, halo, coffset) result(array)
695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
696 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_SK1
697#endif
698 use pm_kind, only: SKG => SK1
699 integer(IK) , intent(in) :: coffset(2)
700 integer(IK) , intent(in) :: Size(2)
701 character(*,SKG) , intent(in) :: halo
702 character(*,SKG) , intent(in) , contiguous :: core(:,:)
703 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2))
704 end function
705#endif
706
707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
708
709#if IK5_ENABLED
710 PURE module function getCoreHaloArr_D2_IK5(size, core, halo, coffset) result(array)
711#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
712 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_IK5
713#endif
714 use pm_kind, only: IKG => IK5
715 integer(IK) , intent(in) :: coffset(2)
716 integer(IK) , intent(in) :: Size(2)
717 integer(IKG) , intent(in) :: halo
718 integer(IKG) , intent(in) , contiguous :: core(:,:)
719 integer(IKG) :: array(Size(1), Size(2))
720 end function
721#endif
722
723#if IK4_ENABLED
724 PURE module function getCoreHaloArr_D2_IK4(size, core, halo, coffset) result(array)
725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
726 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_IK4
727#endif
728 use pm_kind, only: IKG => IK4
729 integer(IK) , intent(in) :: coffset(2)
730 integer(IK) , intent(in) :: Size(2)
731 integer(IKG) , intent(in) :: halo
732 integer(IKG) , intent(in) , contiguous :: core(:,:)
733 integer(IKG) :: array(Size(1), Size(2))
734 end function
735#endif
736
737#if IK3_ENABLED
738 PURE module function getCoreHaloArr_D2_IK3(size, core, halo, coffset) result(array)
739#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
740 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_IK3
741#endif
742 use pm_kind, only: IKG => IK3
743 integer(IK) , intent(in) :: coffset(2)
744 integer(IK) , intent(in) :: Size(2)
745 integer(IKG) , intent(in) :: halo
746 integer(IKG) , intent(in) , contiguous :: core(:,:)
747 integer(IKG) :: array(Size(1), Size(2))
748 end function
749#endif
750
751#if IK2_ENABLED
752 PURE module function getCoreHaloArr_D2_IK2(size, core, halo, coffset) result(array)
753#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
754 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_IK2
755#endif
756 use pm_kind, only: IKG => IK2
757 integer(IK) , intent(in) :: coffset(2)
758 integer(IK) , intent(in) :: Size(2)
759 integer(IKG) , intent(in) :: halo
760 integer(IKG) , intent(in) , contiguous :: core(:,:)
761 integer(IKG) :: array(Size(1), Size(2))
762 end function
763#endif
764
765#if IK1_ENABLED
766 PURE module function getCoreHaloArr_D2_IK1(size, core, halo, coffset) result(array)
767#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
768 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_IK1
769#endif
770 use pm_kind, only: IKG => IK1
771 integer(IK) , intent(in) :: coffset(2)
772 integer(IK) , intent(in) :: Size(2)
773 integer(IKG) , intent(in) :: halo
774 integer(IKG) , intent(in) , contiguous :: core(:,:)
775 integer(IKG) :: array(Size(1), Size(2))
776 end function
777#endif
778
779 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
780
781#if LK5_ENABLED
782 PURE module function getCoreHaloArr_D2_LK5(size, core, halo, coffset) result(array)
783#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
784 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_LK5
785#endif
786 use pm_kind, only: LKG => LK5
787 integer(IK) , intent(in) :: coffset(2)
788 integer(IK) , intent(in) :: Size(2)
789 logical(LKG) , intent(in) :: halo
790 logical(LKG) , intent(in) , contiguous :: core(:,:)
791 logical(LKG) :: array(Size(1), Size(2))
792 end function
793#endif
794
795#if LK4_ENABLED
796 PURE module function getCoreHaloArr_D2_LK4(size, core, halo, coffset) result(array)
797#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
798 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_LK4
799#endif
800 use pm_kind, only: LKG => LK4
801 integer(IK) , intent(in) :: coffset(2)
802 integer(IK) , intent(in) :: Size(2)
803 logical(LKG) , intent(in) :: halo
804 logical(LKG) , intent(in) , contiguous :: core(:,:)
805 logical(LKG) :: array(Size(1), Size(2))
806 end function
807#endif
808
809#if LK3_ENABLED
810 PURE module function getCoreHaloArr_D2_LK3(size, core, halo, coffset) result(array)
811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
812 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_LK3
813#endif
814 use pm_kind, only: LKG => LK3
815 integer(IK) , intent(in) :: coffset(2)
816 integer(IK) , intent(in) :: Size(2)
817 logical(LKG) , intent(in) :: halo
818 logical(LKG) , intent(in) , contiguous :: core(:,:)
819 logical(LKG) :: array(Size(1), Size(2))
820 end function
821#endif
822
823#if LK2_ENABLED
824 PURE module function getCoreHaloArr_D2_LK2(size, core, halo, coffset) result(array)
825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
826 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_LK2
827#endif
828 use pm_kind, only: LKG => LK2
829 integer(IK) , intent(in) :: coffset(2)
830 integer(IK) , intent(in) :: Size(2)
831 logical(LKG) , intent(in) :: halo
832 logical(LKG) , intent(in) , contiguous :: core(:,:)
833 logical(LKG) :: array(Size(1), Size(2))
834 end function
835#endif
836
837#if LK1_ENABLED
838 PURE module function getCoreHaloArr_D2_LK1(size, core, halo, coffset) result(array)
839#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
840 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_LK1
841#endif
842 use pm_kind, only: LKG => LK1
843 integer(IK) , intent(in) :: coffset(2)
844 integer(IK) , intent(in) :: Size(2)
845 logical(LKG) , intent(in) :: halo
846 logical(LKG) , intent(in) , contiguous :: core(:,:)
847 logical(LKG) :: array(Size(1), Size(2))
848 end function
849#endif
850
851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
852
853#if CK5_ENABLED
854 PURE module function getCoreHaloArr_D2_CK5(size, core, halo, coffset) result(array)
855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
856 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_CK5
857#endif
858 use pm_kind, only: CKG => CK5
859 integer(IK) , intent(in) :: coffset(2)
860 integer(IK) , intent(in) :: Size(2)
861 complex(CKG) , intent(in) :: halo
862 complex(CKG) , intent(in) , contiguous :: core(:,:)
863 complex(CKG) :: array(Size(1), Size(2))
864 end function
865#endif
866
867#if CK4_ENABLED
868 PURE module function getCoreHaloArr_D2_CK4(size, core, halo, coffset) result(array)
869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
870 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_CK4
871#endif
872 use pm_kind, only: CKG => CK4
873 integer(IK) , intent(in) :: coffset(2)
874 integer(IK) , intent(in) :: Size(2)
875 complex(CKG) , intent(in) :: halo
876 complex(CKG) , intent(in) , contiguous :: core(:,:)
877 complex(CKG) :: array(Size(1), Size(2))
878 end function
879#endif
880
881#if CK3_ENABLED
882 PURE module function getCoreHaloArr_D2_CK3(size, core, halo, coffset) result(array)
883#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
884 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_CK3
885#endif
886 use pm_kind, only: CKG => CK3
887 integer(IK) , intent(in) :: coffset(2)
888 integer(IK) , intent(in) :: Size(2)
889 complex(CKG) , intent(in) :: halo
890 complex(CKG) , intent(in) , contiguous :: core(:,:)
891 complex(CKG) :: array(Size(1), Size(2))
892 end function
893#endif
894
895#if CK2_ENABLED
896 PURE module function getCoreHaloArr_D2_CK2(size, core, halo, coffset) result(array)
897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
898 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_CK2
899#endif
900 use pm_kind, only: CKG => CK2
901 integer(IK) , intent(in) :: coffset(2)
902 integer(IK) , intent(in) :: Size(2)
903 complex(CKG) , intent(in) :: halo
904 complex(CKG) , intent(in) , contiguous :: core(:,:)
905 complex(CKG) :: array(Size(1), Size(2))
906 end function
907#endif
908
909#if CK1_ENABLED
910 PURE module function getCoreHaloArr_D2_CK1(size, core, halo, coffset) result(array)
911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
912 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_CK1
913#endif
914 use pm_kind, only: CKG => CK1
915 integer(IK) , intent(in) :: coffset(2)
916 integer(IK) , intent(in) :: Size(2)
917 complex(CKG) , intent(in) :: halo
918 complex(CKG) , intent(in) , contiguous :: core(:,:)
919 complex(CKG) :: array(Size(1), Size(2))
920 end function
921#endif
922
923 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
924
925#if RK5_ENABLED
926 PURE module function getCoreHaloArr_D2_RK5(size, core, halo, coffset) result(array)
927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
928 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_RK5
929#endif
930 use pm_kind, only: RKG => RK5
931 integer(IK) , intent(in) :: coffset(2)
932 integer(IK) , intent(in) :: Size(2)
933 real(RKG) , intent(in) :: halo
934 real(RKG) , intent(in) , contiguous :: core(:,:)
935 real(RKG) :: array(Size(1), Size(2))
936 end function
937#endif
938
939#if RK4_ENABLED
940 PURE module function getCoreHaloArr_D2_RK4(size, core, halo, coffset) result(array)
941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
942 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_RK4
943#endif
944 use pm_kind, only: RKG => RK4
945 integer(IK) , intent(in) :: coffset(2)
946 integer(IK) , intent(in) :: Size(2)
947 real(RKG) , intent(in) :: halo
948 real(RKG) , intent(in) , contiguous :: core(:,:)
949 real(RKG) :: array(Size(1), Size(2))
950 end function
951#endif
952
953#if RK3_ENABLED
954 PURE module function getCoreHaloArr_D2_RK3(size, core, halo, coffset) result(array)
955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
956 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_RK3
957#endif
958 use pm_kind, only: RKG => RK3
959 integer(IK) , intent(in) :: coffset(2)
960 integer(IK) , intent(in) :: Size(2)
961 real(RKG) , intent(in) :: halo
962 real(RKG) , intent(in) , contiguous :: core(:,:)
963 real(RKG) :: array(Size(1), Size(2))
964 end function
965#endif
966
967#if RK2_ENABLED
968 PURE module function getCoreHaloArr_D2_RK2(size, core, halo, coffset) result(array)
969#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
970 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_RK2
971#endif
972 use pm_kind, only: RKG => RK2
973 integer(IK) , intent(in) :: coffset(2)
974 integer(IK) , intent(in) :: Size(2)
975 real(RKG) , intent(in) :: halo
976 real(RKG) , intent(in) , contiguous :: core(:,:)
977 real(RKG) :: array(Size(1), Size(2))
978 end function
979#endif
980
981#if RK1_ENABLED
982 PURE module function getCoreHaloArr_D2_RK1(size, core, halo, coffset) result(array)
983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
984 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D2_RK1
985#endif
986 use pm_kind, only: RKG => RK1
987 integer(IK) , intent(in) :: coffset(2)
988 integer(IK) , intent(in) :: Size(2)
989 real(RKG) , intent(in) :: halo
990 real(RKG) , intent(in) , contiguous :: core(:,:)
991 real(RKG) :: array(Size(1), Size(2))
992 end function
993#endif
994
995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
996
997 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
998 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1000
1001 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002
1003#if SK5_ENABLED
1004 PURE module function getCoreHaloArr_D3_SK5(size, core, halo, coffset) result(array)
1005#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1006 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_SK5
1007#endif
1008 use pm_kind, only: SKG => SK5
1009 integer(IK) , intent(in) :: coffset(3)
1010 integer(IK) , intent(in) :: Size(3)
1011 character(*,SKG) , intent(in) :: halo
1012 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
1013 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2), Size(3))
1014 end function
1015#endif
1016
1017#if SK4_ENABLED
1018 PURE module function getCoreHaloArr_D3_SK4(size, core, halo, coffset) result(array)
1019#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1020 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_SK4
1021#endif
1022 use pm_kind, only: SKG => SK4
1023 integer(IK) , intent(in) :: coffset(3)
1024 integer(IK) , intent(in) :: Size(3)
1025 character(*,SKG) , intent(in) :: halo
1026 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
1027 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2), Size(3))
1028 end function
1029#endif
1030
1031#if SK3_ENABLED
1032 PURE module function getCoreHaloArr_D3_SK3(size, core, halo, coffset) result(array)
1033#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1034 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_SK3
1035#endif
1036 use pm_kind, only: SKG => SK3
1037 integer(IK) , intent(in) :: coffset(3)
1038 integer(IK) , intent(in) :: Size(3)
1039 character(*,SKG) , intent(in) :: halo
1040 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
1041 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2), Size(3))
1042 end function
1043#endif
1044
1045#if SK2_ENABLED
1046 PURE module function getCoreHaloArr_D3_SK2(size, core, halo, coffset) result(array)
1047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1048 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_SK2
1049#endif
1050 use pm_kind, only: SKG => SK2
1051 integer(IK) , intent(in) :: coffset(3)
1052 integer(IK) , intent(in) :: Size(3)
1053 character(*,SKG) , intent(in) :: halo
1054 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
1055 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2), Size(3))
1056 end function
1057#endif
1058
1059#if SK1_ENABLED
1060 PURE module function getCoreHaloArr_D3_SK1(size, core, halo, coffset) result(array)
1061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1062 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_SK1
1063#endif
1064 use pm_kind, only: SKG => SK1
1065 integer(IK) , intent(in) :: coffset(3)
1066 integer(IK) , intent(in) :: Size(3)
1067 character(*,SKG) , intent(in) :: halo
1068 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
1069 character(max(len(halo,IK),len(core,IK)),SKG) :: array(Size(1), Size(2), Size(3))
1070 end function
1071#endif
1072
1073 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1074
1075#if IK5_ENABLED
1076 PURE module function getCoreHaloArr_D3_IK5(size, core, halo, coffset) result(array)
1077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1078 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_IK5
1079#endif
1080 use pm_kind, only: IKG => IK5
1081 integer(IK) , intent(in) :: coffset(3)
1082 integer(IK) , intent(in) :: Size(3)
1083 integer(IKG) , intent(in) :: halo
1084 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
1085 integer(IKG) :: array(Size(1), Size(2), Size(3))
1086 end function
1087#endif
1088
1089#if IK4_ENABLED
1090 PURE module function getCoreHaloArr_D3_IK4(size, core, halo, coffset) result(array)
1091#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1092 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_IK4
1093#endif
1094 use pm_kind, only: IKG => IK4
1095 integer(IK) , intent(in) :: coffset(3)
1096 integer(IK) , intent(in) :: Size(3)
1097 integer(IKG) , intent(in) :: halo
1098 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
1099 integer(IKG) :: array(Size(1), Size(2), Size(3))
1100 end function
1101#endif
1102
1103#if IK3_ENABLED
1104 PURE module function getCoreHaloArr_D3_IK3(size, core, halo, coffset) result(array)
1105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1106 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_IK3
1107#endif
1108 use pm_kind, only: IKG => IK3
1109 integer(IK) , intent(in) :: coffset(3)
1110 integer(IK) , intent(in) :: Size(3)
1111 integer(IKG) , intent(in) :: halo
1112 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
1113 integer(IKG) :: array(Size(1), Size(2), Size(3))
1114 end function
1115#endif
1116
1117#if IK2_ENABLED
1118 PURE module function getCoreHaloArr_D3_IK2(size, core, halo, coffset) result(array)
1119#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1120 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_IK2
1121#endif
1122 use pm_kind, only: IKG => IK2
1123 integer(IK) , intent(in) :: coffset(3)
1124 integer(IK) , intent(in) :: Size(3)
1125 integer(IKG) , intent(in) :: halo
1126 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
1127 integer(IKG) :: array(Size(1), Size(2), Size(3))
1128 end function
1129#endif
1130
1131#if IK1_ENABLED
1132 PURE module function getCoreHaloArr_D3_IK1(size, core, halo, coffset) result(array)
1133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1134 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_IK1
1135#endif
1136 use pm_kind, only: IKG => IK1
1137 integer(IK) , intent(in) :: coffset(3)
1138 integer(IK) , intent(in) :: Size(3)
1139 integer(IKG) , intent(in) :: halo
1140 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
1141 integer(IKG) :: array(Size(1), Size(2), Size(3))
1142 end function
1143#endif
1144
1145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1146
1147#if LK5_ENABLED
1148 PURE module function getCoreHaloArr_D3_LK5(size, core, halo, coffset) result(array)
1149#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1150 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_LK5
1151#endif
1152 use pm_kind, only: LKG => LK5
1153 integer(IK) , intent(in) :: coffset(3)
1154 integer(IK) , intent(in) :: Size(3)
1155 logical(LKG) , intent(in) :: halo
1156 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
1157 logical(LKG) :: array(Size(1), Size(2), Size(3))
1158 end function
1159#endif
1160
1161#if LK4_ENABLED
1162 PURE module function getCoreHaloArr_D3_LK4(size, core, halo, coffset) result(array)
1163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1164 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_LK4
1165#endif
1166 use pm_kind, only: LKG => LK4
1167 integer(IK) , intent(in) :: coffset(3)
1168 integer(IK) , intent(in) :: Size(3)
1169 logical(LKG) , intent(in) :: halo
1170 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
1171 logical(LKG) :: array(Size(1), Size(2), Size(3))
1172 end function
1173#endif
1174
1175#if LK3_ENABLED
1176 PURE module function getCoreHaloArr_D3_LK3(size, core, halo, coffset) result(array)
1177#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1178 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_LK3
1179#endif
1180 use pm_kind, only: LKG => LK3
1181 integer(IK) , intent(in) :: coffset(3)
1182 integer(IK) , intent(in) :: Size(3)
1183 logical(LKG) , intent(in) :: halo
1184 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
1185 logical(LKG) :: array(Size(1), Size(2), Size(3))
1186 end function
1187#endif
1188
1189#if LK2_ENABLED
1190 PURE module function getCoreHaloArr_D3_LK2(size, core, halo, coffset) result(array)
1191#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1192 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_LK2
1193#endif
1194 use pm_kind, only: LKG => LK2
1195 integer(IK) , intent(in) :: coffset(3)
1196 integer(IK) , intent(in) :: Size(3)
1197 logical(LKG) , intent(in) :: halo
1198 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
1199 logical(LKG) :: array(Size(1), Size(2), Size(3))
1200 end function
1201#endif
1202
1203#if LK1_ENABLED
1204 PURE module function getCoreHaloArr_D3_LK1(size, core, halo, coffset) result(array)
1205#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1206 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_LK1
1207#endif
1208 use pm_kind, only: LKG => LK1
1209 integer(IK) , intent(in) :: coffset(3)
1210 integer(IK) , intent(in) :: Size(3)
1211 logical(LKG) , intent(in) :: halo
1212 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
1213 logical(LKG) :: array(Size(1), Size(2), Size(3))
1214 end function
1215#endif
1216
1217 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1218
1219#if CK5_ENABLED
1220 PURE module function getCoreHaloArr_D3_CK5(size, core, halo, coffset) result(array)
1221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1222 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_CK5
1223#endif
1224 use pm_kind, only: CKG => CK5
1225 integer(IK) , intent(in) :: coffset(3)
1226 integer(IK) , intent(in) :: Size(3)
1227 complex(CKG) , intent(in) :: halo
1228 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
1229 complex(CKG) :: array(Size(1), Size(2), Size(3))
1230 end function
1231#endif
1232
1233#if CK4_ENABLED
1234 PURE module function getCoreHaloArr_D3_CK4(size, core, halo, coffset) result(array)
1235#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1236 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_CK4
1237#endif
1238 use pm_kind, only: CKG => CK4
1239 integer(IK) , intent(in) :: coffset(3)
1240 integer(IK) , intent(in) :: Size(3)
1241 complex(CKG) , intent(in) :: halo
1242 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
1243 complex(CKG) :: array(Size(1), Size(2), Size(3))
1244 end function
1245#endif
1246
1247#if CK3_ENABLED
1248 PURE module function getCoreHaloArr_D3_CK3(size, core, halo, coffset) result(array)
1249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1250 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_CK3
1251#endif
1252 use pm_kind, only: CKG => CK3
1253 integer(IK) , intent(in) :: coffset(3)
1254 integer(IK) , intent(in) :: Size(3)
1255 complex(CKG) , intent(in) :: halo
1256 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
1257 complex(CKG) :: array(Size(1), Size(2), Size(3))
1258 end function
1259#endif
1260
1261#if CK2_ENABLED
1262 PURE module function getCoreHaloArr_D3_CK2(size, core, halo, coffset) result(array)
1263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1264 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_CK2
1265#endif
1266 use pm_kind, only: CKG => CK2
1267 integer(IK) , intent(in) :: coffset(3)
1268 integer(IK) , intent(in) :: Size(3)
1269 complex(CKG) , intent(in) :: halo
1270 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
1271 complex(CKG) :: array(Size(1), Size(2), Size(3))
1272 end function
1273#endif
1274
1275#if CK1_ENABLED
1276 PURE module function getCoreHaloArr_D3_CK1(size, core, halo, coffset) result(array)
1277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1278 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_CK1
1279#endif
1280 use pm_kind, only: CKG => CK1
1281 integer(IK) , intent(in) :: coffset(3)
1282 integer(IK) , intent(in) :: Size(3)
1283 complex(CKG) , intent(in) :: halo
1284 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
1285 complex(CKG) :: array(Size(1), Size(2), Size(3))
1286 end function
1287#endif
1288
1289 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1290
1291#if RK5_ENABLED
1292 PURE module function getCoreHaloArr_D3_RK5(size, core, halo, coffset) result(array)
1293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1294 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_RK5
1295#endif
1296 use pm_kind, only: RKG => RK5
1297 integer(IK) , intent(in) :: coffset(3)
1298 integer(IK) , intent(in) :: Size(3)
1299 real(RKG) , intent(in) :: halo
1300 real(RKG) , intent(in) , contiguous :: core(:,:,:)
1301 real(RKG) :: array(Size(1), Size(2), Size(3))
1302 end function
1303#endif
1304
1305#if RK4_ENABLED
1306 PURE module function getCoreHaloArr_D3_RK4(size, core, halo, coffset) result(array)
1307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1308 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_RK4
1309#endif
1310 use pm_kind, only: RKG => RK4
1311 integer(IK) , intent(in) :: coffset(3)
1312 integer(IK) , intent(in) :: Size(3)
1313 real(RKG) , intent(in) :: halo
1314 real(RKG) , intent(in) , contiguous :: core(:,:,:)
1315 real(RKG) :: array(Size(1), Size(2), Size(3))
1316 end function
1317#endif
1318
1319#if RK3_ENABLED
1320 PURE module function getCoreHaloArr_D3_RK3(size, core, halo, coffset) result(array)
1321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1322 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_RK3
1323#endif
1324 use pm_kind, only: RKG => RK3
1325 integer(IK) , intent(in) :: coffset(3)
1326 integer(IK) , intent(in) :: Size(3)
1327 real(RKG) , intent(in) :: halo
1328 real(RKG) , intent(in) , contiguous :: core(:,:,:)
1329 real(RKG) :: array(Size(1), Size(2), Size(3))
1330 end function
1331#endif
1332
1333#if RK2_ENABLED
1334 PURE module function getCoreHaloArr_D3_RK2(size, core, halo, coffset) result(array)
1335#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1336 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_RK2
1337#endif
1338 use pm_kind, only: RKG => RK2
1339 integer(IK) , intent(in) :: coffset(3)
1340 integer(IK) , intent(in) :: Size(3)
1341 real(RKG) , intent(in) :: halo
1342 real(RKG) , intent(in) , contiguous :: core(:,:,:)
1343 real(RKG) :: array(Size(1), Size(2), Size(3))
1344 end function
1345#endif
1346
1347#if RK1_ENABLED
1348 PURE module function getCoreHaloArr_D3_RK1(size, core, halo, coffset) result(array)
1349#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1350 !DEC$ ATTRIBUTES DLLEXPORT :: getCoreHaloArr_D3_RK1
1351#endif
1352 use pm_kind, only: RKG => RK1
1353 integer(IK) , intent(in) :: coffset(3)
1354 integer(IK) , intent(in) :: Size(3)
1355 real(RKG) , intent(in) :: halo
1356 real(RKG) , intent(in) , contiguous :: core(:,:,:)
1357 real(RKG) :: array(Size(1), Size(2), Size(3))
1358 end function
1359#endif
1360
1361 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1362
1363 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1364 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1365 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1366
1367 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1370
1371 end interface
1372
1373!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1374
1504 interface setCoreHalo
1505
1506 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1507 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1508 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1509
1510 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1511 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1512 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1513
1514 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1515
1516#if SK5_ENABLED
1517 PURE elemental module subroutine setCoreHaloArr_D0_SK5(array, core, halo, coffset)
1518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1519 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D0_SK5
1520#endif
1521 use pm_kind, only: SKG => SK5
1522 character(*,SKG) , intent(out) :: array
1523 character(*,SKG) , intent(in) :: core
1524 character(1,SKG) , intent(in) :: halo
1525 integer(IK) , intent(in) :: coffset
1526 end subroutine
1527#endif
1528
1529#if SK4_ENABLED
1530 PURE elemental module subroutine setCoreHaloArr_D0_SK4(array, core, halo, coffset)
1531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1532 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D0_SK4
1533#endif
1534 use pm_kind, only: SKG => SK4
1535 character(*,SKG) , intent(out) :: array
1536 character(*,SKG) , intent(in) :: core
1537 character(1,SKG) , intent(in) :: halo
1538 integer(IK) , intent(in) :: coffset
1539 end subroutine
1540#endif
1541
1542#if SK3_ENABLED
1543 PURE elemental module subroutine setCoreHaloArr_D0_SK3(array, core, halo, coffset)
1544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1545 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D0_SK3
1546#endif
1547 use pm_kind, only: SKG => SK3
1548 character(*,SKG) , intent(out) :: array
1549 character(*,SKG) , intent(in) :: core
1550 character(1,SKG) , intent(in) :: halo
1551 integer(IK) , intent(in) :: coffset
1552 end subroutine
1553#endif
1554
1555#if SK2_ENABLED
1556 PURE elemental module subroutine setCoreHaloArr_D0_SK2(array, core, halo, coffset)
1557#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1558 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D0_SK2
1559#endif
1560 use pm_kind, only: SKG => SK2
1561 character(*,SKG) , intent(out) :: array
1562 character(*,SKG) , intent(in) :: core
1563 character(1,SKG) , intent(in) :: halo
1564 integer(IK) , intent(in) :: coffset
1565 end subroutine
1566#endif
1567
1568#if SK1_ENABLED
1569 PURE elemental module subroutine setCoreHaloArr_D0_SK1(array, core, halo, coffset)
1570#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1571 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D0_SK1
1572#endif
1573 use pm_kind, only: SKG => SK1
1574 character(*,SKG) , intent(out) :: array
1575 character(*,SKG) , intent(in) :: core
1576 character(1,SKG) , intent(in) :: halo
1577 integer(IK) , intent(in) :: coffset
1578 end subroutine
1579#endif
1580
1581 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1582
1583 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1584 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1585 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1586
1587 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1588
1589#if SK5_ENABLED
1590 PURE module subroutine setCoreHaloArr_D1_SK5(array, core, halo, coffset)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_SK5
1593#endif
1594 use pm_kind, only: SKG => SK5
1595 character(*,SKG) , intent(out) , contiguous :: array(:)
1596 character(*,SKG) , intent(in) , contiguous :: core(:)
1597 character(*,SKG) , intent(in) :: halo
1598 integer(IK) , intent(in) :: coffset
1599 end subroutine
1600#endif
1601
1602#if SK4_ENABLED
1603 PURE module subroutine setCoreHaloArr_D1_SK4(array, core, halo, coffset)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_SK4
1606#endif
1607 use pm_kind, only: SKG => SK4
1608 character(*,SKG) , intent(out) , contiguous :: array(:)
1609 character(*,SKG) , intent(in) , contiguous :: core(:)
1610 character(*,SKG) , intent(in) :: halo
1611 integer(IK) , intent(in) :: coffset
1612 end subroutine
1613#endif
1614
1615#if SK3_ENABLED
1616 PURE module subroutine setCoreHaloArr_D1_SK3(array, core, halo, coffset)
1617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1618 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_SK3
1619#endif
1620 use pm_kind, only: SKG => SK3
1621 character(*,SKG) , intent(out) , contiguous :: array(:)
1622 character(*,SKG) , intent(in) , contiguous :: core(:)
1623 character(*,SKG) , intent(in) :: halo
1624 integer(IK) , intent(in) :: coffset
1625 end subroutine
1626#endif
1627
1628#if SK2_ENABLED
1629 PURE module subroutine setCoreHaloArr_D1_SK2(array, core, halo, coffset)
1630#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1631 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_SK2
1632#endif
1633 use pm_kind, only: SKG => SK2
1634 character(*,SKG) , intent(out) , contiguous :: array(:)
1635 character(*,SKG) , intent(in) , contiguous :: core(:)
1636 character(*,SKG) , intent(in) :: halo
1637 integer(IK) , intent(in) :: coffset
1638 end subroutine
1639#endif
1640
1641#if SK1_ENABLED
1642 PURE module subroutine setCoreHaloArr_D1_SK1(array, core, halo, coffset)
1643#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1644 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_SK1
1645#endif
1646 use pm_kind, only: SKG => SK1
1647 character(*,SKG) , intent(out) , contiguous :: array(:)
1648 character(*,SKG) , intent(in) , contiguous :: core(:)
1649 character(*,SKG) , intent(in) :: halo
1650 integer(IK) , intent(in) :: coffset
1651 end subroutine
1652#endif
1653
1654 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1655
1656#if IK5_ENABLED
1657 PURE module subroutine setCoreHaloArr_D1_IK5(array, core, halo, coffset)
1658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1659 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_IK5
1660#endif
1661 use pm_kind, only: IKG => IK5
1662 integer(IKG) , intent(out) , contiguous :: array(:)
1663 integer(IKG) , intent(in) , contiguous :: core(:)
1664 integer(IKG) , intent(in) :: halo
1665 integer(IK) , intent(in) :: coffset
1666 end subroutine
1667#endif
1668
1669#if IK4_ENABLED
1670 PURE module subroutine setCoreHaloArr_D1_IK4(array, core, halo, coffset)
1671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1672 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_IK4
1673#endif
1674 use pm_kind, only: IKG => IK4
1675 integer(IKG) , intent(out) , contiguous :: array(:)
1676 integer(IKG) , intent(in) , contiguous :: core(:)
1677 integer(IKG) , intent(in) :: halo
1678 integer(IK) , intent(in) :: coffset
1679 end subroutine
1680#endif
1681
1682#if IK3_ENABLED
1683 PURE module subroutine setCoreHaloArr_D1_IK3(array, core, halo, coffset)
1684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1685 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_IK3
1686#endif
1687 use pm_kind, only: IKG => IK3
1688 integer(IKG) , intent(out) , contiguous :: array(:)
1689 integer(IKG) , intent(in) , contiguous :: core(:)
1690 integer(IKG) , intent(in) :: halo
1691 integer(IK) , intent(in) :: coffset
1692 end subroutine
1693#endif
1694
1695#if IK2_ENABLED
1696 PURE module subroutine setCoreHaloArr_D1_IK2(array, core, halo, coffset)
1697#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1698 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_IK2
1699#endif
1700 use pm_kind, only: IKG => IK2
1701 integer(IKG) , intent(out) , contiguous :: array(:)
1702 integer(IKG) , intent(in) , contiguous :: core(:)
1703 integer(IKG) , intent(in) :: halo
1704 integer(IK) , intent(in) :: coffset
1705 end subroutine
1706#endif
1707
1708#if IK1_ENABLED
1709 PURE module subroutine setCoreHaloArr_D1_IK1(array, core, halo, coffset)
1710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1711 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_IK1
1712#endif
1713 use pm_kind, only: IKG => IK1
1714 integer(IKG) , intent(out) , contiguous :: array(:)
1715 integer(IKG) , intent(in) , contiguous :: core(:)
1716 integer(IKG) , intent(in) :: halo
1717 integer(IK) , intent(in) :: coffset
1718 end subroutine
1719#endif
1720
1721 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1722
1723#if LK5_ENABLED
1724 PURE module subroutine setCoreHaloArr_D1_LK5(array, core, halo, coffset)
1725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1726 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_LK5
1727#endif
1728 use pm_kind, only: LKG => LK5
1729 logical(LKG) , intent(out) , contiguous :: array(:)
1730 logical(LKG) , intent(in) , contiguous :: core(:)
1731 logical(LKG) , intent(in) :: halo
1732 integer(IK) , intent(in) :: coffset
1733 end subroutine
1734#endif
1735
1736#if LK4_ENABLED
1737 PURE module subroutine setCoreHaloArr_D1_LK4(array, core, halo, coffset)
1738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1739 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_LK4
1740#endif
1741 use pm_kind, only: LKG => LK4
1742 logical(LKG) , intent(out) , contiguous :: array(:)
1743 logical(LKG) , intent(in) , contiguous :: core(:)
1744 logical(LKG) , intent(in) :: halo
1745 integer(IK) , intent(in) :: coffset
1746 end subroutine
1747#endif
1748
1749#if LK3_ENABLED
1750 PURE module subroutine setCoreHaloArr_D1_LK3(array, core, halo, coffset)
1751#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1752 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_LK3
1753#endif
1754 use pm_kind, only: LKG => LK3
1755 logical(LKG) , intent(out) , contiguous :: array(:)
1756 logical(LKG) , intent(in) , contiguous :: core(:)
1757 logical(LKG) , intent(in) :: halo
1758 integer(IK) , intent(in) :: coffset
1759 end subroutine
1760#endif
1761
1762#if LK2_ENABLED
1763 PURE module subroutine setCoreHaloArr_D1_LK2(array, core, halo, coffset)
1764#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1765 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_LK2
1766#endif
1767 use pm_kind, only: LKG => LK2
1768 logical(LKG) , intent(out) , contiguous :: array(:)
1769 logical(LKG) , intent(in) , contiguous :: core(:)
1770 logical(LKG) , intent(in) :: halo
1771 integer(IK) , intent(in) :: coffset
1772 end subroutine
1773#endif
1774
1775#if LK1_ENABLED
1776 PURE module subroutine setCoreHaloArr_D1_LK1(array, core, halo, coffset)
1777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1778 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_LK1
1779#endif
1780 use pm_kind, only: LKG => LK1
1781 logical(LKG) , intent(out) , contiguous :: array(:)
1782 logical(LKG) , intent(in) , contiguous :: core(:)
1783 logical(LKG) , intent(in) :: halo
1784 integer(IK) , intent(in) :: coffset
1785 end subroutine
1786#endif
1787
1788 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1789
1790#if CK5_ENABLED
1791 PURE module subroutine setCoreHaloArr_D1_CK5(array, core, halo, coffset)
1792#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1793 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_CK5
1794#endif
1795 use pm_kind, only: CKG => CK5
1796 complex(CKG) , intent(out) , contiguous :: array(:)
1797 complex(CKG) , intent(in) , contiguous :: core(:)
1798 complex(CKG) , intent(in) :: halo
1799 integer(IK) , intent(in) :: coffset
1800 end subroutine
1801#endif
1802
1803#if CK4_ENABLED
1804 PURE module subroutine setCoreHaloArr_D1_CK4(array, core, halo, coffset)
1805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1806 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_CK4
1807#endif
1808 use pm_kind, only: CKG => CK4
1809 complex(CKG) , intent(out) , contiguous :: array(:)
1810 complex(CKG) , intent(in) , contiguous :: core(:)
1811 complex(CKG) , intent(in) :: halo
1812 integer(IK) , intent(in) :: coffset
1813 end subroutine
1814#endif
1815
1816#if CK3_ENABLED
1817 PURE module subroutine setCoreHaloArr_D1_CK3(array, core, halo, coffset)
1818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1819 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_CK3
1820#endif
1821 use pm_kind, only: CKG => CK3
1822 complex(CKG) , intent(out) , contiguous :: array(:)
1823 complex(CKG) , intent(in) , contiguous :: core(:)
1824 complex(CKG) , intent(in) :: halo
1825 integer(IK) , intent(in) :: coffset
1826 end subroutine
1827#endif
1828
1829#if CK2_ENABLED
1830 PURE module subroutine setCoreHaloArr_D1_CK2(array, core, halo, coffset)
1831#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1832 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_CK2
1833#endif
1834 use pm_kind, only: CKG => CK2
1835 complex(CKG) , intent(out) , contiguous :: array(:)
1836 complex(CKG) , intent(in) , contiguous :: core(:)
1837 complex(CKG) , intent(in) :: halo
1838 integer(IK) , intent(in) :: coffset
1839 end subroutine
1840#endif
1841
1842#if CK1_ENABLED
1843 PURE module subroutine setCoreHaloArr_D1_CK1(array, core, halo, coffset)
1844#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1845 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_CK1
1846#endif
1847 use pm_kind, only: CKG => CK1
1848 complex(CKG) , intent(out) , contiguous :: array(:)
1849 complex(CKG) , intent(in) , contiguous :: core(:)
1850 complex(CKG) , intent(in) :: halo
1851 integer(IK) , intent(in) :: coffset
1852 end subroutine
1853#endif
1854
1855 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1856
1857#if RK5_ENABLED
1858 PURE module subroutine setCoreHaloArr_D1_RK5(array, core, halo, coffset)
1859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1860 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_RK5
1861#endif
1862 use pm_kind, only: RKG => RK5
1863 real(RKG) , intent(out) , contiguous :: array(:)
1864 real(RKG) , intent(in) , contiguous :: core(:)
1865 real(RKG) , intent(in) :: halo
1866 integer(IK) , intent(in) :: coffset
1867 end subroutine
1868#endif
1869
1870#if RK4_ENABLED
1871 PURE module subroutine setCoreHaloArr_D1_RK4(array, core, halo, coffset)
1872#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1873 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_RK4
1874#endif
1875 use pm_kind, only: RKG => RK4
1876 real(RKG) , intent(out) , contiguous :: array(:)
1877 real(RKG) , intent(in) , contiguous :: core(:)
1878 real(RKG) , intent(in) :: halo
1879 integer(IK) , intent(in) :: coffset
1880 end subroutine
1881#endif
1882
1883#if RK3_ENABLED
1884 PURE module subroutine setCoreHaloArr_D1_RK3(array, core, halo, coffset)
1885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1886 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_RK3
1887#endif
1888 use pm_kind, only: RKG => RK3
1889 real(RKG) , intent(out) , contiguous :: array(:)
1890 real(RKG) , intent(in) , contiguous :: core(:)
1891 real(RKG) , intent(in) :: halo
1892 integer(IK) , intent(in) :: coffset
1893 end subroutine
1894#endif
1895
1896#if RK2_ENABLED
1897 PURE module subroutine setCoreHaloArr_D1_RK2(array, core, halo, coffset)
1898#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1899 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_RK2
1900#endif
1901 use pm_kind, only: RKG => RK2
1902 real(RKG) , intent(out) , contiguous :: array(:)
1903 real(RKG) , intent(in) , contiguous :: core(:)
1904 real(RKG) , intent(in) :: halo
1905 integer(IK) , intent(in) :: coffset
1906 end subroutine
1907#endif
1908
1909#if RK1_ENABLED
1910 PURE module subroutine setCoreHaloArr_D1_RK1(array, core, halo, coffset)
1911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1912 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D1_RK1
1913#endif
1914 use pm_kind, only: RKG => RK1
1915 real(RKG) , intent(out) , contiguous :: array(:)
1916 real(RKG) , intent(in) , contiguous :: core(:)
1917 real(RKG) , intent(in) :: halo
1918 integer(IK) , intent(in) :: coffset
1919 end subroutine
1920#endif
1921
1922 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1923
1924 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1925 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1926 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1927
1928 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1929
1930#if SK5_ENABLED
1931 PURE module subroutine setCoreHaloArr_D2_SK5(array, core, halo, coffset)
1932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1933 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_SK5
1934#endif
1935 use pm_kind, only: SKG => SK5
1936 character(*,SKG) , intent(out) , contiguous :: array(:,:)
1937 character(*,SKG) , intent(in) , contiguous :: core(:,:)
1938 character(*,SKG) , intent(in) :: halo
1939 integer(IK) , intent(in) :: coffset(rank(array))
1940 end subroutine
1941#endif
1942
1943#if SK4_ENABLED
1944 PURE module subroutine setCoreHaloArr_D2_SK4(array, core, halo, coffset)
1945#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1946 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_SK4
1947#endif
1948 use pm_kind, only: SKG => SK4
1949 character(*,SKG) , intent(out) , contiguous :: array(:,:)
1950 character(*,SKG) , intent(in) , contiguous :: core(:,:)
1951 character(*,SKG) , intent(in) :: halo
1952 integer(IK) , intent(in) :: coffset(rank(array))
1953 end subroutine
1954#endif
1955
1956#if SK3_ENABLED
1957 PURE module subroutine setCoreHaloArr_D2_SK3(array, core, halo, coffset)
1958#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1959 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_SK3
1960#endif
1961 use pm_kind, only: SKG => SK3
1962 character(*,SKG) , intent(out) , contiguous :: array(:,:)
1963 character(*,SKG) , intent(in) , contiguous :: core(:,:)
1964 character(*,SKG) , intent(in) :: halo
1965 integer(IK) , intent(in) :: coffset(rank(array))
1966 end subroutine
1967#endif
1968
1969#if SK2_ENABLED
1970 PURE module subroutine setCoreHaloArr_D2_SK2(array, core, halo, coffset)
1971#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1972 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_SK2
1973#endif
1974 use pm_kind, only: SKG => SK2
1975 character(*,SKG) , intent(out) , contiguous :: array(:,:)
1976 character(*,SKG) , intent(in) , contiguous :: core(:,:)
1977 character(*,SKG) , intent(in) :: halo
1978 integer(IK) , intent(in) :: coffset(rank(array))
1979 end subroutine
1980#endif
1981
1982#if SK1_ENABLED
1983 PURE module subroutine setCoreHaloArr_D2_SK1(array, core, halo, coffset)
1984#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1985 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_SK1
1986#endif
1987 use pm_kind, only: SKG => SK1
1988 character(*,SKG) , intent(out) , contiguous :: array(:,:)
1989 character(*,SKG) , intent(in) , contiguous :: core(:,:)
1990 character(*,SKG) , intent(in) :: halo
1991 integer(IK) , intent(in) :: coffset(rank(array))
1992 end subroutine
1993#endif
1994
1995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1996
1997#if IK5_ENABLED
1998 PURE module subroutine setCoreHaloArr_D2_IK5(array, core, halo, coffset)
1999#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2000 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_IK5
2001#endif
2002 use pm_kind, only: IKG => IK5
2003 integer(IKG) , intent(out) , contiguous :: array(:,:)
2004 integer(IKG) , intent(in) , contiguous :: core(:,:)
2005 integer(IKG) , intent(in) :: halo
2006 integer(IK) , intent(in) :: coffset(rank(array))
2007 end subroutine
2008#endif
2009
2010#if IK4_ENABLED
2011 PURE module subroutine setCoreHaloArr_D2_IK4(array, core, halo, coffset)
2012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2013 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_IK4
2014#endif
2015 use pm_kind, only: IKG => IK4
2016 integer(IKG) , intent(out) , contiguous :: array(:,:)
2017 integer(IKG) , intent(in) , contiguous :: core(:,:)
2018 integer(IKG) , intent(in) :: halo
2019 integer(IK) , intent(in) :: coffset(rank(array))
2020 end subroutine
2021#endif
2022
2023#if IK3_ENABLED
2024 PURE module subroutine setCoreHaloArr_D2_IK3(array, core, halo, coffset)
2025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2026 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_IK3
2027#endif
2028 use pm_kind, only: IKG => IK3
2029 integer(IKG) , intent(out) , contiguous :: array(:,:)
2030 integer(IKG) , intent(in) , contiguous :: core(:,:)
2031 integer(IKG) , intent(in) :: halo
2032 integer(IK) , intent(in) :: coffset(rank(array))
2033 end subroutine
2034#endif
2035
2036#if IK2_ENABLED
2037 PURE module subroutine setCoreHaloArr_D2_IK2(array, core, halo, coffset)
2038#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2039 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_IK2
2040#endif
2041 use pm_kind, only: IKG => IK2
2042 integer(IKG) , intent(out) , contiguous :: array(:,:)
2043 integer(IKG) , intent(in) , contiguous :: core(:,:)
2044 integer(IKG) , intent(in) :: halo
2045 integer(IK) , intent(in) :: coffset(rank(array))
2046 end subroutine
2047#endif
2048
2049#if IK1_ENABLED
2050 PURE module subroutine setCoreHaloArr_D2_IK1(array, core, halo, coffset)
2051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2052 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_IK1
2053#endif
2054 use pm_kind, only: IKG => IK1
2055 integer(IKG) , intent(out) , contiguous :: array(:,:)
2056 integer(IKG) , intent(in) , contiguous :: core(:,:)
2057 integer(IKG) , intent(in) :: halo
2058 integer(IK) , intent(in) :: coffset(rank(array))
2059 end subroutine
2060#endif
2061
2062 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2063
2064#if LK5_ENABLED
2065 PURE module subroutine setCoreHaloArr_D2_LK5(array, core, halo, coffset)
2066#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2067 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_LK5
2068#endif
2069 use pm_kind, only: LKG => LK5
2070 logical(LKG) , intent(out) , contiguous :: array(:,:)
2071 logical(LKG) , intent(in) , contiguous :: core(:,:)
2072 logical(LKG) , intent(in) :: halo
2073 integer(IK) , intent(in) :: coffset(rank(array))
2074 end subroutine
2075#endif
2076
2077#if LK4_ENABLED
2078 PURE module subroutine setCoreHaloArr_D2_LK4(array, core, halo, coffset)
2079#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2080 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_LK4
2081#endif
2082 use pm_kind, only: LKG => LK4
2083 logical(LKG) , intent(out) , contiguous :: array(:,:)
2084 logical(LKG) , intent(in) , contiguous :: core(:,:)
2085 logical(LKG) , intent(in) :: halo
2086 integer(IK) , intent(in) :: coffset(rank(array))
2087 end subroutine
2088#endif
2089
2090#if LK3_ENABLED
2091 PURE module subroutine setCoreHaloArr_D2_LK3(array, core, halo, coffset)
2092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2093 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_LK3
2094#endif
2095 use pm_kind, only: LKG => LK3
2096 logical(LKG) , intent(out) , contiguous :: array(:,:)
2097 logical(LKG) , intent(in) , contiguous :: core(:,:)
2098 logical(LKG) , intent(in) :: halo
2099 integer(IK) , intent(in) :: coffset(rank(array))
2100 end subroutine
2101#endif
2102
2103#if LK2_ENABLED
2104 PURE module subroutine setCoreHaloArr_D2_LK2(array, core, halo, coffset)
2105#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2106 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_LK2
2107#endif
2108 use pm_kind, only: LKG => LK2
2109 logical(LKG) , intent(out) , contiguous :: array(:,:)
2110 logical(LKG) , intent(in) , contiguous :: core(:,:)
2111 logical(LKG) , intent(in) :: halo
2112 integer(IK) , intent(in) :: coffset(rank(array))
2113 end subroutine
2114#endif
2115
2116#if LK1_ENABLED
2117 PURE module subroutine setCoreHaloArr_D2_LK1(array, core, halo, coffset)
2118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2119 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_LK1
2120#endif
2121 use pm_kind, only: LKG => LK1
2122 logical(LKG) , intent(out) , contiguous :: array(:,:)
2123 logical(LKG) , intent(in) , contiguous :: core(:,:)
2124 logical(LKG) , intent(in) :: halo
2125 integer(IK) , intent(in) :: coffset(rank(array))
2126 end subroutine
2127#endif
2128
2129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2130
2131#if CK5_ENABLED
2132 PURE module subroutine setCoreHaloArr_D2_CK5(array, core, halo, coffset)
2133#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2134 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_CK5
2135#endif
2136 use pm_kind, only: CKG => CK5
2137 complex(CKG) , intent(out) , contiguous :: array(:,:)
2138 complex(CKG) , intent(in) , contiguous :: core(:,:)
2139 complex(CKG) , intent(in) :: halo
2140 integer(IK) , intent(in) :: coffset(rank(array))
2141 end subroutine
2142#endif
2143
2144#if CK4_ENABLED
2145 PURE module subroutine setCoreHaloArr_D2_CK4(array, core, halo, coffset)
2146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2147 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_CK4
2148#endif
2149 use pm_kind, only: CKG => CK4
2150 complex(CKG) , intent(out) , contiguous :: array(:,:)
2151 complex(CKG) , intent(in) , contiguous :: core(:,:)
2152 complex(CKG) , intent(in) :: halo
2153 integer(IK) , intent(in) :: coffset(rank(array))
2154 end subroutine
2155#endif
2156
2157#if CK3_ENABLED
2158 PURE module subroutine setCoreHaloArr_D2_CK3(array, core, halo, coffset)
2159#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2160 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_CK3
2161#endif
2162 use pm_kind, only: CKG => CK3
2163 complex(CKG) , intent(out) , contiguous :: array(:,:)
2164 complex(CKG) , intent(in) , contiguous :: core(:,:)
2165 complex(CKG) , intent(in) :: halo
2166 integer(IK) , intent(in) :: coffset(rank(array))
2167 end subroutine
2168#endif
2169
2170#if CK2_ENABLED
2171 PURE module subroutine setCoreHaloArr_D2_CK2(array, core, halo, coffset)
2172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2173 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_CK2
2174#endif
2175 use pm_kind, only: CKG => CK2
2176 complex(CKG) , intent(out) , contiguous :: array(:,:)
2177 complex(CKG) , intent(in) , contiguous :: core(:,:)
2178 complex(CKG) , intent(in) :: halo
2179 integer(IK) , intent(in) :: coffset(rank(array))
2180 end subroutine
2181#endif
2182
2183#if CK1_ENABLED
2184 PURE module subroutine setCoreHaloArr_D2_CK1(array, core, halo, coffset)
2185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2186 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_CK1
2187#endif
2188 use pm_kind, only: CKG => CK1
2189 complex(CKG) , intent(out) , contiguous :: array(:,:)
2190 complex(CKG) , intent(in) , contiguous :: core(:,:)
2191 complex(CKG) , intent(in) :: halo
2192 integer(IK) , intent(in) :: coffset(rank(array))
2193 end subroutine
2194#endif
2195
2196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2197
2198#if RK5_ENABLED
2199 PURE module subroutine setCoreHaloArr_D2_RK5(array, core, halo, coffset)
2200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2201 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_RK5
2202#endif
2203 use pm_kind, only: RKG => RK5
2204 real(RKG) , intent(out) , contiguous :: array(:,:)
2205 real(RKG) , intent(in) , contiguous :: core(:,:)
2206 real(RKG) , intent(in) :: halo
2207 integer(IK) , intent(in) :: coffset(rank(array))
2208 end subroutine
2209#endif
2210
2211#if RK4_ENABLED
2212 PURE module subroutine setCoreHaloArr_D2_RK4(array, core, halo, coffset)
2213#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2214 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_RK4
2215#endif
2216 use pm_kind, only: RKG => RK4
2217 real(RKG) , intent(out) , contiguous :: array(:,:)
2218 real(RKG) , intent(in) , contiguous :: core(:,:)
2219 real(RKG) , intent(in) :: halo
2220 integer(IK) , intent(in) :: coffset(rank(array))
2221 end subroutine
2222#endif
2223
2224#if RK3_ENABLED
2225 PURE module subroutine setCoreHaloArr_D2_RK3(array, core, halo, coffset)
2226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2227 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_RK3
2228#endif
2229 use pm_kind, only: RKG => RK3
2230 real(RKG) , intent(out) , contiguous :: array(:,:)
2231 real(RKG) , intent(in) , contiguous :: core(:,:)
2232 real(RKG) , intent(in) :: halo
2233 integer(IK) , intent(in) :: coffset(rank(array))
2234 end subroutine
2235#endif
2236
2237#if RK2_ENABLED
2238 PURE module subroutine setCoreHaloArr_D2_RK2(array, core, halo, coffset)
2239#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2240 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_RK2
2241#endif
2242 use pm_kind, only: RKG => RK2
2243 real(RKG) , intent(out) , contiguous :: array(:,:)
2244 real(RKG) , intent(in) , contiguous :: core(:,:)
2245 real(RKG) , intent(in) :: halo
2246 integer(IK) , intent(in) :: coffset(rank(array))
2247 end subroutine
2248#endif
2249
2250#if RK1_ENABLED
2251 PURE module subroutine setCoreHaloArr_D2_RK1(array, core, halo, coffset)
2252#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2253 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D2_RK1
2254#endif
2255 use pm_kind, only: RKG => RK1
2256 real(RKG) , intent(out) , contiguous :: array(:,:)
2257 real(RKG) , intent(in) , contiguous :: core(:,:)
2258 real(RKG) , intent(in) :: halo
2259 integer(IK) , intent(in) :: coffset(rank(array))
2260 end subroutine
2261#endif
2262
2263 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2264
2265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2266 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2268
2269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2270
2271#if SK5_ENABLED
2272 PURE module subroutine setCoreHaloArr_D3_SK5(array, core, halo, coffset)
2273#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2274 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_SK5
2275#endif
2276 use pm_kind, only: SKG => SK5
2277 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
2278 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
2279 character(*,SKG) , intent(in) :: halo
2280 integer(IK) , intent(in) :: coffset(rank(array))
2281 end subroutine
2282#endif
2283
2284#if SK4_ENABLED
2285 PURE module subroutine setCoreHaloArr_D3_SK4(array, core, halo, coffset)
2286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2287 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_SK4
2288#endif
2289 use pm_kind, only: SKG => SK4
2290 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
2291 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
2292 character(*,SKG) , intent(in) :: halo
2293 integer(IK) , intent(in) :: coffset(rank(array))
2294 end subroutine
2295#endif
2296
2297#if SK3_ENABLED
2298 PURE module subroutine setCoreHaloArr_D3_SK3(array, core, halo, coffset)
2299#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2300 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_SK3
2301#endif
2302 use pm_kind, only: SKG => SK3
2303 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
2304 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
2305 character(*,SKG) , intent(in) :: halo
2306 integer(IK) , intent(in) :: coffset(rank(array))
2307 end subroutine
2308#endif
2309
2310#if SK2_ENABLED
2311 PURE module subroutine setCoreHaloArr_D3_SK2(array, core, halo, coffset)
2312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2313 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_SK2
2314#endif
2315 use pm_kind, only: SKG => SK2
2316 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
2317 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
2318 character(*,SKG) , intent(in) :: halo
2319 integer(IK) , intent(in) :: coffset(rank(array))
2320 end subroutine
2321#endif
2322
2323#if SK1_ENABLED
2324 PURE module subroutine setCoreHaloArr_D3_SK1(array, core, halo, coffset)
2325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2326 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_SK1
2327#endif
2328 use pm_kind, only: SKG => SK1
2329 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
2330 character(*,SKG) , intent(in) , contiguous :: core(:,:,:)
2331 character(*,SKG) , intent(in) :: halo
2332 integer(IK) , intent(in) :: coffset(rank(array))
2333 end subroutine
2334#endif
2335
2336 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2337
2338#if IK5_ENABLED
2339 PURE module subroutine setCoreHaloArr_D3_IK5(array, core, halo, coffset)
2340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2341 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_IK5
2342#endif
2343 use pm_kind, only: IKG => IK5
2344 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
2345 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
2346 integer(IKG) , intent(in) :: halo
2347 integer(IK) , intent(in) :: coffset(rank(array))
2348 end subroutine
2349#endif
2350
2351#if IK4_ENABLED
2352 PURE module subroutine setCoreHaloArr_D3_IK4(array, core, halo, coffset)
2353#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2354 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_IK4
2355#endif
2356 use pm_kind, only: IKG => IK4
2357 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
2358 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
2359 integer(IKG) , intent(in) :: halo
2360 integer(IK) , intent(in) :: coffset(rank(array))
2361 end subroutine
2362#endif
2363
2364#if IK3_ENABLED
2365 PURE module subroutine setCoreHaloArr_D3_IK3(array, core, halo, coffset)
2366#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2367 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_IK3
2368#endif
2369 use pm_kind, only: IKG => IK3
2370 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
2371 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
2372 integer(IKG) , intent(in) :: halo
2373 integer(IK) , intent(in) :: coffset(rank(array))
2374 end subroutine
2375#endif
2376
2377#if IK2_ENABLED
2378 PURE module subroutine setCoreHaloArr_D3_IK2(array, core, halo, coffset)
2379#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2380 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_IK2
2381#endif
2382 use pm_kind, only: IKG => IK2
2383 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
2384 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
2385 integer(IKG) , intent(in) :: halo
2386 integer(IK) , intent(in) :: coffset(rank(array))
2387 end subroutine
2388#endif
2389
2390#if IK1_ENABLED
2391 PURE module subroutine setCoreHaloArr_D3_IK1(array, core, halo, coffset)
2392#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2393 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_IK1
2394#endif
2395 use pm_kind, only: IKG => IK1
2396 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
2397 integer(IKG) , intent(in) , contiguous :: core(:,:,:)
2398 integer(IKG) , intent(in) :: halo
2399 integer(IK) , intent(in) :: coffset(rank(array))
2400 end subroutine
2401#endif
2402
2403 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2404
2405#if LK5_ENABLED
2406 PURE module subroutine setCoreHaloArr_D3_LK5(array, core, halo, coffset)
2407#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2408 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_LK5
2409#endif
2410 use pm_kind, only: LKG => LK5
2411 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
2412 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
2413 logical(LKG) , intent(in) :: halo
2414 integer(IK) , intent(in) :: coffset(rank(array))
2415 end subroutine
2416#endif
2417
2418#if LK4_ENABLED
2419 PURE module subroutine setCoreHaloArr_D3_LK4(array, core, halo, coffset)
2420#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2421 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_LK4
2422#endif
2423 use pm_kind, only: LKG => LK4
2424 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
2425 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
2426 logical(LKG) , intent(in) :: halo
2427 integer(IK) , intent(in) :: coffset(rank(array))
2428 end subroutine
2429#endif
2430
2431#if LK3_ENABLED
2432 PURE module subroutine setCoreHaloArr_D3_LK3(array, core, halo, coffset)
2433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2434 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_LK3
2435#endif
2436 use pm_kind, only: LKG => LK3
2437 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
2438 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
2439 logical(LKG) , intent(in) :: halo
2440 integer(IK) , intent(in) :: coffset(rank(array))
2441 end subroutine
2442#endif
2443
2444#if LK2_ENABLED
2445 PURE module subroutine setCoreHaloArr_D3_LK2(array, core, halo, coffset)
2446#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2447 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_LK2
2448#endif
2449 use pm_kind, only: LKG => LK2
2450 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
2451 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
2452 logical(LKG) , intent(in) :: halo
2453 integer(IK) , intent(in) :: coffset(rank(array))
2454 end subroutine
2455#endif
2456
2457#if LK1_ENABLED
2458 PURE module subroutine setCoreHaloArr_D3_LK1(array, core, halo, coffset)
2459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2460 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_LK1
2461#endif
2462 use pm_kind, only: LKG => LK1
2463 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
2464 logical(LKG) , intent(in) , contiguous :: core(:,:,:)
2465 logical(LKG) , intent(in) :: halo
2466 integer(IK) , intent(in) :: coffset(rank(array))
2467 end subroutine
2468#endif
2469
2470 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2471
2472#if CK5_ENABLED
2473 PURE module subroutine setCoreHaloArr_D3_CK5(array, core, halo, coffset)
2474#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2475 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_CK5
2476#endif
2477 use pm_kind, only: CKG => CK5
2478 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
2479 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
2480 complex(CKG) , intent(in) :: halo
2481 integer(IK) , intent(in) :: coffset(rank(array))
2482 end subroutine
2483#endif
2484
2485#if CK4_ENABLED
2486 PURE module subroutine setCoreHaloArr_D3_CK4(array, core, halo, coffset)
2487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2488 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_CK4
2489#endif
2490 use pm_kind, only: CKG => CK4
2491 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
2492 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
2493 complex(CKG) , intent(in) :: halo
2494 integer(IK) , intent(in) :: coffset(rank(array))
2495 end subroutine
2496#endif
2497
2498#if CK3_ENABLED
2499 PURE module subroutine setCoreHaloArr_D3_CK3(array, core, halo, coffset)
2500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2501 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_CK3
2502#endif
2503 use pm_kind, only: CKG => CK3
2504 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
2505 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
2506 complex(CKG) , intent(in) :: halo
2507 integer(IK) , intent(in) :: coffset(rank(array))
2508 end subroutine
2509#endif
2510
2511#if CK2_ENABLED
2512 PURE module subroutine setCoreHaloArr_D3_CK2(array, core, halo, coffset)
2513#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2514 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_CK2
2515#endif
2516 use pm_kind, only: CKG => CK2
2517 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
2518 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
2519 complex(CKG) , intent(in) :: halo
2520 integer(IK) , intent(in) :: coffset(rank(array))
2521 end subroutine
2522#endif
2523
2524#if CK1_ENABLED
2525 PURE module subroutine setCoreHaloArr_D3_CK1(array, core, halo, coffset)
2526#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2527 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_CK1
2528#endif
2529 use pm_kind, only: CKG => CK1
2530 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
2531 complex(CKG) , intent(in) , contiguous :: core(:,:,:)
2532 complex(CKG) , intent(in) :: halo
2533 integer(IK) , intent(in) :: coffset(rank(array))
2534 end subroutine
2535#endif
2536
2537 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2538
2539#if RK5_ENABLED
2540 PURE module subroutine setCoreHaloArr_D3_RK5(array, core, halo, coffset)
2541#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2542 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_RK5
2543#endif
2544 use pm_kind, only: RKG => RK5
2545 real(RKG) , intent(out) , contiguous :: array(:,:,:)
2546 real(RKG) , intent(in) , contiguous :: core(:,:,:)
2547 real(RKG) , intent(in) :: halo
2548 integer(IK) , intent(in) :: coffset(rank(array))
2549 end subroutine
2550#endif
2551
2552#if RK4_ENABLED
2553 PURE module subroutine setCoreHaloArr_D3_RK4(array, core, halo, coffset)
2554#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2555 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_RK4
2556#endif
2557 use pm_kind, only: RKG => RK4
2558 real(RKG) , intent(out) , contiguous :: array(:,:,:)
2559 real(RKG) , intent(in) , contiguous :: core(:,:,:)
2560 real(RKG) , intent(in) :: halo
2561 integer(IK) , intent(in) :: coffset(rank(array))
2562 end subroutine
2563#endif
2564
2565#if RK3_ENABLED
2566 PURE module subroutine setCoreHaloArr_D3_RK3(array, core, halo, coffset)
2567#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2568 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_RK3
2569#endif
2570 use pm_kind, only: RKG => RK3
2571 real(RKG) , intent(out) , contiguous :: array(:,:,:)
2572 real(RKG) , intent(in) , contiguous :: core(:,:,:)
2573 real(RKG) , intent(in) :: halo
2574 integer(IK) , intent(in) :: coffset(rank(array))
2575 end subroutine
2576#endif
2577
2578#if RK2_ENABLED
2579 PURE module subroutine setCoreHaloArr_D3_RK2(array, core, halo, coffset)
2580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2581 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_RK2
2582#endif
2583 use pm_kind, only: RKG => RK2
2584 real(RKG) , intent(out) , contiguous :: array(:,:,:)
2585 real(RKG) , intent(in) , contiguous :: core(:,:,:)
2586 real(RKG) , intent(in) :: halo
2587 integer(IK) , intent(in) :: coffset(rank(array))
2588 end subroutine
2589#endif
2590
2591#if RK1_ENABLED
2592 PURE module subroutine setCoreHaloArr_D3_RK1(array, core, halo, coffset)
2593#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2594 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloArr_D3_RK1
2595#endif
2596 use pm_kind, only: RKG => RK1
2597 real(RKG) , intent(out) , contiguous :: array(:,:,:)
2598 real(RKG) , intent(in) , contiguous :: core(:,:,:)
2599 real(RKG) , intent(in) :: halo
2600 integer(IK) , intent(in) :: coffset(rank(array))
2601 end subroutine
2602#endif
2603
2604 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2605
2606 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2607 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2608 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2609
2610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2612 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2613 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2615 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2616
2617 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2618
2619#if SK5_ENABLED
2620 PURE elemental module subroutine setCoreHaloSca_D0_SK5(array, core, halo, coffset, csize)
2621#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2622 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D0_SK5
2623#endif
2624 use pm_kind, only: SKG => SK5
2625 character(*,SKG) , intent(out) :: array
2626 character(1,SKG) , intent(in) :: core
2627 character(1,SKG) , intent(in) :: halo
2628 integer(IK) , intent(in) :: coffset, csize
2629 end subroutine
2630#endif
2631
2632#if SK4_ENABLED
2633 PURE elemental module subroutine setCoreHaloSca_D0_SK4(array, core, halo, coffset, csize)
2634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2635 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D0_SK4
2636#endif
2637 use pm_kind, only: SKG => SK4
2638 character(*,SKG) , intent(out) :: array
2639 character(1,SKG) , intent(in) :: core
2640 character(1,SKG) , intent(in) :: halo
2641 integer(IK) , intent(in) :: coffset, csize
2642 end subroutine
2643#endif
2644
2645#if SK3_ENABLED
2646 PURE elemental module subroutine setCoreHaloSca_D0_SK3(array, core, halo, coffset, csize)
2647#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2648 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D0_SK3
2649#endif
2650 use pm_kind, only: SKG => SK3
2651 character(*,SKG) , intent(out) :: array
2652 character(1,SKG) , intent(in) :: core
2653 character(1,SKG) , intent(in) :: halo
2654 integer(IK) , intent(in) :: coffset, csize
2655 end subroutine
2656#endif
2657
2658#if SK2_ENABLED
2659 PURE elemental module subroutine setCoreHaloSca_D0_SK2(array, core, halo, coffset, csize)
2660#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2661 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D0_SK2
2662#endif
2663 use pm_kind, only: SKG => SK2
2664 character(*,SKG) , intent(out) :: array
2665 character(1,SKG) , intent(in) :: core
2666 character(1,SKG) , intent(in) :: halo
2667 integer(IK) , intent(in) :: coffset, csize
2668 end subroutine
2669#endif
2670
2671#if SK1_ENABLED
2672 PURE elemental module subroutine setCoreHaloSca_D0_SK1(array, core, halo, coffset, csize)
2673#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2674 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D0_SK1
2675#endif
2676 use pm_kind, only: SKG => SK1
2677 character(*,SKG) , intent(out) :: array
2678 character(1,SKG) , intent(in) :: core
2679 character(1,SKG) , intent(in) :: halo
2680 integer(IK) , intent(in) :: coffset, csize
2681 end subroutine
2682#endif
2683
2684 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2685
2686 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2687 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2688 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2689
2690 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2691
2692#if SK5_ENABLED
2693 PURE module subroutine setCoreHaloSca_D1_SK5(array, core, halo, coffset, csize)
2694#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2695 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_SK5
2696#endif
2697 use pm_kind, only: SKG => SK5
2698 character(*,SKG) , intent(out) , contiguous :: array(:)
2699 character(*,SKG) , intent(in) :: core
2700 character(*,SKG) , intent(in) :: halo
2701 integer(IK) , intent(in) :: coffset, csize
2702 end subroutine
2703#endif
2704
2705#if SK4_ENABLED
2706 PURE module subroutine setCoreHaloSca_D1_SK4(array, core, halo, coffset, csize)
2707#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2708 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_SK4
2709#endif
2710 use pm_kind, only: SKG => SK4
2711 character(*,SKG) , intent(out) , contiguous :: array(:)
2712 character(*,SKG) , intent(in) :: core
2713 character(*,SKG) , intent(in) :: halo
2714 integer(IK) , intent(in) :: coffset, csize
2715 end subroutine
2716#endif
2717
2718#if SK3_ENABLED
2719 PURE module subroutine setCoreHaloSca_D1_SK3(array, core, halo, coffset, csize)
2720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2721 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_SK3
2722#endif
2723 use pm_kind, only: SKG => SK3
2724 character(*,SKG) , intent(out) , contiguous :: array(:)
2725 character(*,SKG) , intent(in) :: core
2726 character(*,SKG) , intent(in) :: halo
2727 integer(IK) , intent(in) :: coffset, csize
2728 end subroutine
2729#endif
2730
2731#if SK2_ENABLED
2732 PURE module subroutine setCoreHaloSca_D1_SK2(array, core, halo, coffset, csize)
2733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2734 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_SK2
2735#endif
2736 use pm_kind, only: SKG => SK2
2737 character(*,SKG) , intent(out) , contiguous :: array(:)
2738 character(*,SKG) , intent(in) :: core
2739 character(*,SKG) , intent(in) :: halo
2740 integer(IK) , intent(in) :: coffset, csize
2741 end subroutine
2742#endif
2743
2744#if SK1_ENABLED
2745 PURE module subroutine setCoreHaloSca_D1_SK1(array, core, halo, coffset, csize)
2746#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2747 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_SK1
2748#endif
2749 use pm_kind, only: SKG => SK1
2750 character(*,SKG) , intent(out) , contiguous :: array(:)
2751 character(*,SKG) , intent(in) :: core
2752 character(*,SKG) , intent(in) :: halo
2753 integer(IK) , intent(in) :: coffset, csize
2754 end subroutine
2755#endif
2756
2757 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2758
2759#if IK5_ENABLED
2760 PURE module subroutine setCoreHaloSca_D1_IK5(array, core, halo, coffset, csize)
2761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2762 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_IK5
2763#endif
2764 use pm_kind, only: IKG => IK5
2765 integer(IKG) , intent(out) , contiguous :: array(:)
2766 integer(IKG) , intent(in) :: core
2767 integer(IKG) , intent(in) :: halo
2768 integer(IK) , intent(in) :: coffset, csize
2769 end subroutine
2770#endif
2771
2772#if IK4_ENABLED
2773 PURE module subroutine setCoreHaloSca_D1_IK4(array, core, halo, coffset, csize)
2774#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2775 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_IK4
2776#endif
2777 use pm_kind, only: IKG => IK4
2778 integer(IKG) , intent(out) , contiguous :: array(:)
2779 integer(IKG) , intent(in) :: core
2780 integer(IKG) , intent(in) :: halo
2781 integer(IK) , intent(in) :: coffset, csize
2782 end subroutine
2783#endif
2784
2785#if IK3_ENABLED
2786 PURE module subroutine setCoreHaloSca_D1_IK3(array, core, halo, coffset, csize)
2787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2788 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_IK3
2789#endif
2790 use pm_kind, only: IKG => IK3
2791 integer(IKG) , intent(out) , contiguous :: array(:)
2792 integer(IKG) , intent(in) :: core
2793 integer(IKG) , intent(in) :: halo
2794 integer(IK) , intent(in) :: coffset, csize
2795 end subroutine
2796#endif
2797
2798#if IK2_ENABLED
2799 PURE module subroutine setCoreHaloSca_D1_IK2(array, core, halo, coffset, csize)
2800#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2801 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_IK2
2802#endif
2803 use pm_kind, only: IKG => IK2
2804 integer(IKG) , intent(out) , contiguous :: array(:)
2805 integer(IKG) , intent(in) :: core
2806 integer(IKG) , intent(in) :: halo
2807 integer(IK) , intent(in) :: coffset, csize
2808 end subroutine
2809#endif
2810
2811#if IK1_ENABLED
2812 PURE module subroutine setCoreHaloSca_D1_IK1(array, core, halo, coffset, csize)
2813#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2814 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_IK1
2815#endif
2816 use pm_kind, only: IKG => IK1
2817 integer(IKG) , intent(out) , contiguous :: array(:)
2818 integer(IKG) , intent(in) :: core
2819 integer(IKG) , intent(in) :: halo
2820 integer(IK) , intent(in) :: coffset, csize
2821 end subroutine
2822#endif
2823
2824 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2825
2826#if LK5_ENABLED
2827 PURE module subroutine setCoreHaloSca_D1_LK5(array, core, halo, coffset, csize)
2828#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2829 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_LK5
2830#endif
2831 use pm_kind, only: LKG => LK5
2832 logical(LKG) , intent(out) , contiguous :: array(:)
2833 logical(LKG) , intent(in) :: core
2834 logical(LKG) , intent(in) :: halo
2835 integer(IK) , intent(in) :: coffset, csize
2836 end subroutine
2837#endif
2838
2839#if LK4_ENABLED
2840 PURE module subroutine setCoreHaloSca_D1_LK4(array, core, halo, coffset, csize)
2841#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2842 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_LK4
2843#endif
2844 use pm_kind, only: LKG => LK4
2845 logical(LKG) , intent(out) , contiguous :: array(:)
2846 logical(LKG) , intent(in) :: core
2847 logical(LKG) , intent(in) :: halo
2848 integer(IK) , intent(in) :: coffset, csize
2849 end subroutine
2850#endif
2851
2852#if LK3_ENABLED
2853 PURE module subroutine setCoreHaloSca_D1_LK3(array, core, halo, coffset, csize)
2854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2855 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_LK3
2856#endif
2857 use pm_kind, only: LKG => LK3
2858 logical(LKG) , intent(out) , contiguous :: array(:)
2859 logical(LKG) , intent(in) :: core
2860 logical(LKG) , intent(in) :: halo
2861 integer(IK) , intent(in) :: coffset, csize
2862 end subroutine
2863#endif
2864
2865#if LK2_ENABLED
2866 PURE module subroutine setCoreHaloSca_D1_LK2(array, core, halo, coffset, csize)
2867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2868 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_LK2
2869#endif
2870 use pm_kind, only: LKG => LK2
2871 logical(LKG) , intent(out) , contiguous :: array(:)
2872 logical(LKG) , intent(in) :: core
2873 logical(LKG) , intent(in) :: halo
2874 integer(IK) , intent(in) :: coffset, csize
2875 end subroutine
2876#endif
2877
2878#if LK1_ENABLED
2879 PURE module subroutine setCoreHaloSca_D1_LK1(array, core, halo, coffset, csize)
2880#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2881 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_LK1
2882#endif
2883 use pm_kind, only: LKG => LK1
2884 logical(LKG) , intent(out) , contiguous :: array(:)
2885 logical(LKG) , intent(in) :: core
2886 logical(LKG) , intent(in) :: halo
2887 integer(IK) , intent(in) :: coffset, csize
2888 end subroutine
2889#endif
2890
2891 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2892
2893#if CK5_ENABLED
2894 PURE module subroutine setCoreHaloSca_D1_CK5(array, core, halo, coffset, csize)
2895#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2896 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_CK5
2897#endif
2898 use pm_kind, only: CKG => CK5
2899 complex(CKG) , intent(out) , contiguous :: array(:)
2900 complex(CKG) , intent(in) :: core
2901 complex(CKG) , intent(in) :: halo
2902 integer(IK) , intent(in) :: coffset, csize
2903 end subroutine
2904#endif
2905
2906#if CK4_ENABLED
2907 PURE module subroutine setCoreHaloSca_D1_CK4(array, core, halo, coffset, csize)
2908#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2909 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_CK4
2910#endif
2911 use pm_kind, only: CKG => CK4
2912 complex(CKG) , intent(out) , contiguous :: array(:)
2913 complex(CKG) , intent(in) :: core
2914 complex(CKG) , intent(in) :: halo
2915 integer(IK) , intent(in) :: coffset, csize
2916 end subroutine
2917#endif
2918
2919#if CK3_ENABLED
2920 PURE module subroutine setCoreHaloSca_D1_CK3(array, core, halo, coffset, csize)
2921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2922 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_CK3
2923#endif
2924 use pm_kind, only: CKG => CK3
2925 complex(CKG) , intent(out) , contiguous :: array(:)
2926 complex(CKG) , intent(in) :: core
2927 complex(CKG) , intent(in) :: halo
2928 integer(IK) , intent(in) :: coffset, csize
2929 end subroutine
2930#endif
2931
2932#if CK2_ENABLED
2933 PURE module subroutine setCoreHaloSca_D1_CK2(array, core, halo, coffset, csize)
2934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2935 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_CK2
2936#endif
2937 use pm_kind, only: CKG => CK2
2938 complex(CKG) , intent(out) , contiguous :: array(:)
2939 complex(CKG) , intent(in) :: core
2940 complex(CKG) , intent(in) :: halo
2941 integer(IK) , intent(in) :: coffset, csize
2942 end subroutine
2943#endif
2944
2945#if CK1_ENABLED
2946 PURE module subroutine setCoreHaloSca_D1_CK1(array, core, halo, coffset, csize)
2947#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2948 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_CK1
2949#endif
2950 use pm_kind, only: CKG => CK1
2951 complex(CKG) , intent(out) , contiguous :: array(:)
2952 complex(CKG) , intent(in) :: core
2953 complex(CKG) , intent(in) :: halo
2954 integer(IK) , intent(in) :: coffset, csize
2955 end subroutine
2956#endif
2957
2958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2959
2960#if RK5_ENABLED
2961 PURE module subroutine setCoreHaloSca_D1_RK5(array, core, halo, coffset, csize)
2962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2963 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_RK5
2964#endif
2965 use pm_kind, only: RKG => RK5
2966 real(RKG) , intent(out) , contiguous :: array(:)
2967 real(RKG) , intent(in) :: core
2968 real(RKG) , intent(in) :: halo
2969 integer(IK) , intent(in) :: coffset, csize
2970 end subroutine
2971#endif
2972
2973#if RK4_ENABLED
2974 PURE module subroutine setCoreHaloSca_D1_RK4(array, core, halo, coffset, csize)
2975#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2976 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_RK4
2977#endif
2978 use pm_kind, only: RKG => RK4
2979 real(RKG) , intent(out) , contiguous :: array(:)
2980 real(RKG) , intent(in) :: core
2981 real(RKG) , intent(in) :: halo
2982 integer(IK) , intent(in) :: coffset, csize
2983 end subroutine
2984#endif
2985
2986#if RK3_ENABLED
2987 PURE module subroutine setCoreHaloSca_D1_RK3(array, core, halo, coffset, csize)
2988#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2989 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_RK3
2990#endif
2991 use pm_kind, only: RKG => RK3
2992 real(RKG) , intent(out) , contiguous :: array(:)
2993 real(RKG) , intent(in) :: core
2994 real(RKG) , intent(in) :: halo
2995 integer(IK) , intent(in) :: coffset, csize
2996 end subroutine
2997#endif
2998
2999#if RK2_ENABLED
3000 PURE module subroutine setCoreHaloSca_D1_RK2(array, core, halo, coffset, csize)
3001#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3002 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_RK2
3003#endif
3004 use pm_kind, only: RKG => RK2
3005 real(RKG) , intent(out) , contiguous :: array(:)
3006 real(RKG) , intent(in) :: core
3007 real(RKG) , intent(in) :: halo
3008 integer(IK) , intent(in) :: coffset, csize
3009 end subroutine
3010#endif
3011
3012#if RK1_ENABLED
3013 PURE module subroutine setCoreHaloSca_D1_RK1(array, core, halo, coffset, csize)
3014#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3015 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D1_RK1
3016#endif
3017 use pm_kind, only: RKG => RK1
3018 real(RKG) , intent(out) , contiguous :: array(:)
3019 real(RKG) , intent(in) :: core
3020 real(RKG) , intent(in) :: halo
3021 integer(IK) , intent(in) :: coffset, csize
3022 end subroutine
3023#endif
3024
3025 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3026
3027 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3028 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3029 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3030
3031 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3032
3033#if SK5_ENABLED
3034 PURE module subroutine setCoreHaloSca_D2_SK5(array, core, halo, coffset, csize)
3035#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3036 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_SK5
3037#endif
3038 use pm_kind, only: SKG => SK5
3039 character(*,SKG) , intent(out) , contiguous :: array(:,:)
3040 character(*,SKG) , intent(in) :: core
3041 character(*,SKG) , intent(in) :: halo
3042 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3043 end subroutine
3044#endif
3045
3046#if SK4_ENABLED
3047 PURE module subroutine setCoreHaloSca_D2_SK4(array, core, halo, coffset, csize)
3048#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3049 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_SK4
3050#endif
3051 use pm_kind, only: SKG => SK4
3052 character(*,SKG) , intent(out) , contiguous :: array(:,:)
3053 character(*,SKG) , intent(in) :: core
3054 character(*,SKG) , intent(in) :: halo
3055 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3056 end subroutine
3057#endif
3058
3059#if SK3_ENABLED
3060 PURE module subroutine setCoreHaloSca_D2_SK3(array, core, halo, coffset, csize)
3061#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3062 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_SK3
3063#endif
3064 use pm_kind, only: SKG => SK3
3065 character(*,SKG) , intent(out) , contiguous :: array(:,:)
3066 character(*,SKG) , intent(in) :: core
3067 character(*,SKG) , intent(in) :: halo
3068 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3069 end subroutine
3070#endif
3071
3072#if SK2_ENABLED
3073 PURE module subroutine setCoreHaloSca_D2_SK2(array, core, halo, coffset, csize)
3074#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3075 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_SK2
3076#endif
3077 use pm_kind, only: SKG => SK2
3078 character(*,SKG) , intent(out) , contiguous :: array(:,:)
3079 character(*,SKG) , intent(in) :: core
3080 character(*,SKG) , intent(in) :: halo
3081 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3082 end subroutine
3083#endif
3084
3085#if SK1_ENABLED
3086 PURE module subroutine setCoreHaloSca_D2_SK1(array, core, halo, coffset, csize)
3087#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3088 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_SK1
3089#endif
3090 use pm_kind, only: SKG => SK1
3091 character(*,SKG) , intent(out) , contiguous :: array(:,:)
3092 character(*,SKG) , intent(in) :: core
3093 character(*,SKG) , intent(in) :: halo
3094 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3095 end subroutine
3096#endif
3097
3098 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3099
3100#if IK5_ENABLED
3101 PURE module subroutine setCoreHaloSca_D2_IK5(array, core, halo, coffset, csize)
3102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3103 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_IK5
3104#endif
3105 use pm_kind, only: IKG => IK5
3106 integer(IKG) , intent(out) , contiguous :: array(:,:)
3107 integer(IKG) , intent(in) :: core
3108 integer(IKG) , intent(in) :: halo
3109 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3110 end subroutine
3111#endif
3112
3113#if IK4_ENABLED
3114 PURE module subroutine setCoreHaloSca_D2_IK4(array, core, halo, coffset, csize)
3115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3116 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_IK4
3117#endif
3118 use pm_kind, only: IKG => IK4
3119 integer(IKG) , intent(out) , contiguous :: array(:,:)
3120 integer(IKG) , intent(in) :: core
3121 integer(IKG) , intent(in) :: halo
3122 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3123 end subroutine
3124#endif
3125
3126#if IK3_ENABLED
3127 PURE module subroutine setCoreHaloSca_D2_IK3(array, core, halo, coffset, csize)
3128#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3129 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_IK3
3130#endif
3131 use pm_kind, only: IKG => IK3
3132 integer(IKG) , intent(out) , contiguous :: array(:,:)
3133 integer(IKG) , intent(in) :: core
3134 integer(IKG) , intent(in) :: halo
3135 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3136 end subroutine
3137#endif
3138
3139#if IK2_ENABLED
3140 PURE module subroutine setCoreHaloSca_D2_IK2(array, core, halo, coffset, csize)
3141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3142 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_IK2
3143#endif
3144 use pm_kind, only: IKG => IK2
3145 integer(IKG) , intent(out) , contiguous :: array(:,:)
3146 integer(IKG) , intent(in) :: core
3147 integer(IKG) , intent(in) :: halo
3148 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3149 end subroutine
3150#endif
3151
3152#if IK1_ENABLED
3153 PURE module subroutine setCoreHaloSca_D2_IK1(array, core, halo, coffset, csize)
3154#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3155 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_IK1
3156#endif
3157 use pm_kind, only: IKG => IK1
3158 integer(IKG) , intent(out) , contiguous :: array(:,:)
3159 integer(IKG) , intent(in) :: core
3160 integer(IKG) , intent(in) :: halo
3161 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3162 end subroutine
3163#endif
3164
3165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3166
3167#if LK5_ENABLED
3168 PURE module subroutine setCoreHaloSca_D2_LK5(array, core, halo, coffset, csize)
3169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3170 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_LK5
3171#endif
3172 use pm_kind, only: LKG => LK5
3173 logical(LKG) , intent(out) , contiguous :: array(:,:)
3174 logical(LKG) , intent(in) :: core
3175 logical(LKG) , intent(in) :: halo
3176 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3177 end subroutine
3178#endif
3179
3180#if LK4_ENABLED
3181 PURE module subroutine setCoreHaloSca_D2_LK4(array, core, halo, coffset, csize)
3182#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3183 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_LK4
3184#endif
3185 use pm_kind, only: LKG => LK4
3186 logical(LKG) , intent(out) , contiguous :: array(:,:)
3187 logical(LKG) , intent(in) :: core
3188 logical(LKG) , intent(in) :: halo
3189 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3190 end subroutine
3191#endif
3192
3193#if LK3_ENABLED
3194 PURE module subroutine setCoreHaloSca_D2_LK3(array, core, halo, coffset, csize)
3195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3196 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_LK3
3197#endif
3198 use pm_kind, only: LKG => LK3
3199 logical(LKG) , intent(out) , contiguous :: array(:,:)
3200 logical(LKG) , intent(in) :: core
3201 logical(LKG) , intent(in) :: halo
3202 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3203 end subroutine
3204#endif
3205
3206#if LK2_ENABLED
3207 PURE module subroutine setCoreHaloSca_D2_LK2(array, core, halo, coffset, csize)
3208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3209 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_LK2
3210#endif
3211 use pm_kind, only: LKG => LK2
3212 logical(LKG) , intent(out) , contiguous :: array(:,:)
3213 logical(LKG) , intent(in) :: core
3214 logical(LKG) , intent(in) :: halo
3215 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3216 end subroutine
3217#endif
3218
3219#if LK1_ENABLED
3220 PURE module subroutine setCoreHaloSca_D2_LK1(array, core, halo, coffset, csize)
3221#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3222 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_LK1
3223#endif
3224 use pm_kind, only: LKG => LK1
3225 logical(LKG) , intent(out) , contiguous :: array(:,:)
3226 logical(LKG) , intent(in) :: core
3227 logical(LKG) , intent(in) :: halo
3228 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3229 end subroutine
3230#endif
3231
3232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3233
3234#if CK5_ENABLED
3235 PURE module subroutine setCoreHaloSca_D2_CK5(array, core, halo, coffset, csize)
3236#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3237 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_CK5
3238#endif
3239 use pm_kind, only: CKG => CK5
3240 complex(CKG) , intent(out) , contiguous :: array(:,:)
3241 complex(CKG) , intent(in) :: core
3242 complex(CKG) , intent(in) :: halo
3243 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3244 end subroutine
3245#endif
3246
3247#if CK4_ENABLED
3248 PURE module subroutine setCoreHaloSca_D2_CK4(array, core, halo, coffset, csize)
3249#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3250 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_CK4
3251#endif
3252 use pm_kind, only: CKG => CK4
3253 complex(CKG) , intent(out) , contiguous :: array(:,:)
3254 complex(CKG) , intent(in) :: core
3255 complex(CKG) , intent(in) :: halo
3256 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3257 end subroutine
3258#endif
3259
3260#if CK3_ENABLED
3261 PURE module subroutine setCoreHaloSca_D2_CK3(array, core, halo, coffset, csize)
3262#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3263 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_CK3
3264#endif
3265 use pm_kind, only: CKG => CK3
3266 complex(CKG) , intent(out) , contiguous :: array(:,:)
3267 complex(CKG) , intent(in) :: core
3268 complex(CKG) , intent(in) :: halo
3269 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3270 end subroutine
3271#endif
3272
3273#if CK2_ENABLED
3274 PURE module subroutine setCoreHaloSca_D2_CK2(array, core, halo, coffset, csize)
3275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3276 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_CK2
3277#endif
3278 use pm_kind, only: CKG => CK2
3279 complex(CKG) , intent(out) , contiguous :: array(:,:)
3280 complex(CKG) , intent(in) :: core
3281 complex(CKG) , intent(in) :: halo
3282 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3283 end subroutine
3284#endif
3285
3286#if CK1_ENABLED
3287 PURE module subroutine setCoreHaloSca_D2_CK1(array, core, halo, coffset, csize)
3288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3289 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_CK1
3290#endif
3291 use pm_kind, only: CKG => CK1
3292 complex(CKG) , intent(out) , contiguous :: array(:,:)
3293 complex(CKG) , intent(in) :: core
3294 complex(CKG) , intent(in) :: halo
3295 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3296 end subroutine
3297#endif
3298
3299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3300
3301#if RK5_ENABLED
3302 PURE module subroutine setCoreHaloSca_D2_RK5(array, core, halo, coffset, csize)
3303#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3304 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_RK5
3305#endif
3306 use pm_kind, only: RKG => RK5
3307 real(RKG) , intent(out) , contiguous :: array(:,:)
3308 real(RKG) , intent(in) :: core
3309 real(RKG) , intent(in) :: halo
3310 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3311 end subroutine
3312#endif
3313
3314#if RK4_ENABLED
3315 PURE module subroutine setCoreHaloSca_D2_RK4(array, core, halo, coffset, csize)
3316#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3317 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_RK4
3318#endif
3319 use pm_kind, only: RKG => RK4
3320 real(RKG) , intent(out) , contiguous :: array(:,:)
3321 real(RKG) , intent(in) :: core
3322 real(RKG) , intent(in) :: halo
3323 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3324 end subroutine
3325#endif
3326
3327#if RK3_ENABLED
3328 PURE module subroutine setCoreHaloSca_D2_RK3(array, core, halo, coffset, csize)
3329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3330 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_RK3
3331#endif
3332 use pm_kind, only: RKG => RK3
3333 real(RKG) , intent(out) , contiguous :: array(:,:)
3334 real(RKG) , intent(in) :: core
3335 real(RKG) , intent(in) :: halo
3336 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3337 end subroutine
3338#endif
3339
3340#if RK2_ENABLED
3341 PURE module subroutine setCoreHaloSca_D2_RK2(array, core, halo, coffset, csize)
3342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3343 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_RK2
3344#endif
3345 use pm_kind, only: RKG => RK2
3346 real(RKG) , intent(out) , contiguous :: array(:,:)
3347 real(RKG) , intent(in) :: core
3348 real(RKG) , intent(in) :: halo
3349 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3350 end subroutine
3351#endif
3352
3353#if RK1_ENABLED
3354 PURE module subroutine setCoreHaloSca_D2_RK1(array, core, halo, coffset, csize)
3355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3356 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D2_RK1
3357#endif
3358 use pm_kind, only: RKG => RK1
3359 real(RKG) , intent(out) , contiguous :: array(:,:)
3360 real(RKG) , intent(in) :: core
3361 real(RKG) , intent(in) :: halo
3362 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3363 end subroutine
3364#endif
3365
3366 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3367
3368 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3369 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3370 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3371
3372 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3373
3374#if SK5_ENABLED
3375 PURE module subroutine setCoreHaloSca_D3_SK5(array, core, halo, coffset, csize)
3376#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3377 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_SK5
3378#endif
3379 use pm_kind, only: SKG => SK5
3380 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
3381 character(*,SKG) , intent(in) :: core
3382 character(*,SKG) , intent(in) :: halo
3383 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3384 end subroutine
3385#endif
3386
3387#if SK4_ENABLED
3388 PURE module subroutine setCoreHaloSca_D3_SK4(array, core, halo, coffset, csize)
3389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3390 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_SK4
3391#endif
3392 use pm_kind, only: SKG => SK4
3393 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
3394 character(*,SKG) , intent(in) :: core
3395 character(*,SKG) , intent(in) :: halo
3396 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3397 end subroutine
3398#endif
3399
3400#if SK3_ENABLED
3401 PURE module subroutine setCoreHaloSca_D3_SK3(array, core, halo, coffset, csize)
3402#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3403 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_SK3
3404#endif
3405 use pm_kind, only: SKG => SK3
3406 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
3407 character(*,SKG) , intent(in) :: core
3408 character(*,SKG) , intent(in) :: halo
3409 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3410 end subroutine
3411#endif
3412
3413#if SK2_ENABLED
3414 PURE module subroutine setCoreHaloSca_D3_SK2(array, core, halo, coffset, csize)
3415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3416 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_SK2
3417#endif
3418 use pm_kind, only: SKG => SK2
3419 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
3420 character(*,SKG) , intent(in) :: core
3421 character(*,SKG) , intent(in) :: halo
3422 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3423 end subroutine
3424#endif
3425
3426#if SK1_ENABLED
3427 PURE module subroutine setCoreHaloSca_D3_SK1(array, core, halo, coffset, csize)
3428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3429 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_SK1
3430#endif
3431 use pm_kind, only: SKG => SK1
3432 character(*,SKG) , intent(out) , contiguous :: array(:,:,:)
3433 character(*,SKG) , intent(in) :: core
3434 character(*,SKG) , intent(in) :: halo
3435 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3436 end subroutine
3437#endif
3438
3439 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3440
3441#if IK5_ENABLED
3442 PURE module subroutine setCoreHaloSca_D3_IK5(array, core, halo, coffset, csize)
3443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3444 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_IK5
3445#endif
3446 use pm_kind, only: IKG => IK5
3447 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
3448 integer(IKG) , intent(in) :: core
3449 integer(IKG) , intent(in) :: halo
3450 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3451 end subroutine
3452#endif
3453
3454#if IK4_ENABLED
3455 PURE module subroutine setCoreHaloSca_D3_IK4(array, core, halo, coffset, csize)
3456#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3457 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_IK4
3458#endif
3459 use pm_kind, only: IKG => IK4
3460 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
3461 integer(IKG) , intent(in) :: core
3462 integer(IKG) , intent(in) :: halo
3463 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3464 end subroutine
3465#endif
3466
3467#if IK3_ENABLED
3468 PURE module subroutine setCoreHaloSca_D3_IK3(array, core, halo, coffset, csize)
3469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3470 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_IK3
3471#endif
3472 use pm_kind, only: IKG => IK3
3473 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
3474 integer(IKG) , intent(in) :: core
3475 integer(IKG) , intent(in) :: halo
3476 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3477 end subroutine
3478#endif
3479
3480#if IK2_ENABLED
3481 PURE module subroutine setCoreHaloSca_D3_IK2(array, core, halo, coffset, csize)
3482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3483 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_IK2
3484#endif
3485 use pm_kind, only: IKG => IK2
3486 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
3487 integer(IKG) , intent(in) :: core
3488 integer(IKG) , intent(in) :: halo
3489 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3490 end subroutine
3491#endif
3492
3493#if IK1_ENABLED
3494 PURE module subroutine setCoreHaloSca_D3_IK1(array, core, halo, coffset, csize)
3495#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3496 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_IK1
3497#endif
3498 use pm_kind, only: IKG => IK1
3499 integer(IKG) , intent(out) , contiguous :: array(:,:,:)
3500 integer(IKG) , intent(in) :: core
3501 integer(IKG) , intent(in) :: halo
3502 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3503 end subroutine
3504#endif
3505
3506 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3507
3508#if LK5_ENABLED
3509 PURE module subroutine setCoreHaloSca_D3_LK5(array, core, halo, coffset, csize)
3510#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3511 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_LK5
3512#endif
3513 use pm_kind, only: LKG => LK5
3514 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
3515 logical(LKG) , intent(in) :: core
3516 logical(LKG) , intent(in) :: halo
3517 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3518 end subroutine
3519#endif
3520
3521#if LK4_ENABLED
3522 PURE module subroutine setCoreHaloSca_D3_LK4(array, core, halo, coffset, csize)
3523#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3524 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_LK4
3525#endif
3526 use pm_kind, only: LKG => LK4
3527 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
3528 logical(LKG) , intent(in) :: core
3529 logical(LKG) , intent(in) :: halo
3530 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3531 end subroutine
3532#endif
3533
3534#if LK3_ENABLED
3535 PURE module subroutine setCoreHaloSca_D3_LK3(array, core, halo, coffset, csize)
3536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3537 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_LK3
3538#endif
3539 use pm_kind, only: LKG => LK3
3540 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
3541 logical(LKG) , intent(in) :: core
3542 logical(LKG) , intent(in) :: halo
3543 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3544 end subroutine
3545#endif
3546
3547#if LK2_ENABLED
3548 PURE module subroutine setCoreHaloSca_D3_LK2(array, core, halo, coffset, csize)
3549#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3550 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_LK2
3551#endif
3552 use pm_kind, only: LKG => LK2
3553 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
3554 logical(LKG) , intent(in) :: core
3555 logical(LKG) , intent(in) :: halo
3556 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3557 end subroutine
3558#endif
3559
3560#if LK1_ENABLED
3561 PURE module subroutine setCoreHaloSca_D3_LK1(array, core, halo, coffset, csize)
3562#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3563 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_LK1
3564#endif
3565 use pm_kind, only: LKG => LK1
3566 logical(LKG) , intent(out) , contiguous :: array(:,:,:)
3567 logical(LKG) , intent(in) :: core
3568 logical(LKG) , intent(in) :: halo
3569 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3570 end subroutine
3571#endif
3572
3573 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3574
3575#if CK5_ENABLED
3576 PURE module subroutine setCoreHaloSca_D3_CK5(array, core, halo, coffset, csize)
3577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3578 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_CK5
3579#endif
3580 use pm_kind, only: CKG => CK5
3581 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
3582 complex(CKG) , intent(in) :: core
3583 complex(CKG) , intent(in) :: halo
3584 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3585 end subroutine
3586#endif
3587
3588#if CK4_ENABLED
3589 PURE module subroutine setCoreHaloSca_D3_CK4(array, core, halo, coffset, csize)
3590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3591 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_CK4
3592#endif
3593 use pm_kind, only: CKG => CK4
3594 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
3595 complex(CKG) , intent(in) :: core
3596 complex(CKG) , intent(in) :: halo
3597 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3598 end subroutine
3599#endif
3600
3601#if CK3_ENABLED
3602 PURE module subroutine setCoreHaloSca_D3_CK3(array, core, halo, coffset, csize)
3603#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3604 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_CK3
3605#endif
3606 use pm_kind, only: CKG => CK3
3607 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
3608 complex(CKG) , intent(in) :: core
3609 complex(CKG) , intent(in) :: halo
3610 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3611 end subroutine
3612#endif
3613
3614#if CK2_ENABLED
3615 PURE module subroutine setCoreHaloSca_D3_CK2(array, core, halo, coffset, csize)
3616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3617 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_CK2
3618#endif
3619 use pm_kind, only: CKG => CK2
3620 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
3621 complex(CKG) , intent(in) :: core
3622 complex(CKG) , intent(in) :: halo
3623 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3624 end subroutine
3625#endif
3626
3627#if CK1_ENABLED
3628 PURE module subroutine setCoreHaloSca_D3_CK1(array, core, halo, coffset, csize)
3629#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3630 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_CK1
3631#endif
3632 use pm_kind, only: CKG => CK1
3633 complex(CKG) , intent(out) , contiguous :: array(:,:,:)
3634 complex(CKG) , intent(in) :: core
3635 complex(CKG) , intent(in) :: halo
3636 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3637 end subroutine
3638#endif
3639
3640 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3641
3642#if RK5_ENABLED
3643 PURE module subroutine setCoreHaloSca_D3_RK5(array, core, halo, coffset, csize)
3644#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3645 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_RK5
3646#endif
3647 use pm_kind, only: RKG => RK5
3648 real(RKG) , intent(out) , contiguous :: array(:,:,:)
3649 real(RKG) , intent(in) :: core
3650 real(RKG) , intent(in) :: halo
3651 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3652 end subroutine
3653#endif
3654
3655#if RK4_ENABLED
3656 PURE module subroutine setCoreHaloSca_D3_RK4(array, core, halo, coffset, csize)
3657#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3658 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_RK4
3659#endif
3660 use pm_kind, only: RKG => RK4
3661 real(RKG) , intent(out) , contiguous :: array(:,:,:)
3662 real(RKG) , intent(in) :: core
3663 real(RKG) , intent(in) :: halo
3664 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3665 end subroutine
3666#endif
3667
3668#if RK3_ENABLED
3669 PURE module subroutine setCoreHaloSca_D3_RK3(array, core, halo, coffset, csize)
3670#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3671 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_RK3
3672#endif
3673 use pm_kind, only: RKG => RK3
3674 real(RKG) , intent(out) , contiguous :: array(:,:,:)
3675 real(RKG) , intent(in) :: core
3676 real(RKG) , intent(in) :: halo
3677 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3678 end subroutine
3679#endif
3680
3681#if RK2_ENABLED
3682 PURE module subroutine setCoreHaloSca_D3_RK2(array, core, halo, coffset, csize)
3683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3684 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_RK2
3685#endif
3686 use pm_kind, only: RKG => RK2
3687 real(RKG) , intent(out) , contiguous :: array(:,:,:)
3688 real(RKG) , intent(in) :: core
3689 real(RKG) , intent(in) :: halo
3690 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3691 end subroutine
3692#endif
3693
3694#if RK1_ENABLED
3695 PURE module subroutine setCoreHaloSca_D3_RK1(array, core, halo, coffset, csize)
3696#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3697 !DEC$ ATTRIBUTES DLLEXPORT :: setCoreHaloSca_D3_RK1
3698#endif
3699 use pm_kind, only: RKG => RK1
3700 real(RKG) , intent(out) , contiguous :: array(:,:,:)
3701 real(RKG) , intent(in) :: core
3702 real(RKG) , intent(in) :: halo
3703 integer(IK) , intent(in) :: coffset(rank(array)), csize(rank(array))
3704 end subroutine
3705#endif
3706
3707 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3708
3709 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3710 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3711 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3712
3713 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3714 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3715 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3716
3717 end interface
3718
3719!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3720
3721end module pm_arrayInit ! LCOV_EXCL_LINE
Generate and return an array of specified rank and shape of arbitrary intrinsic type and kind with it...
Initialize the rectangular core and halo of an input array of arbitrary rank and shape of arbitrary i...
This module contains procedures and generic interfaces for efficient initialization of arbitrary rect...
character(*, SK), parameter MODULE_NAME
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336