ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixCopy.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
110
111!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
112
114
115 use pm_kind, only: SK, IK, LK
116 use pm_matrixSubset, only: dia, dia_type
117 use pm_matrixSubset, only: low, low_type
118 use pm_matrixSubset, only: upp, upp_type
127
128 implicit none
129
130 character(*, SK), parameter :: MODULE_NAME = "@pm_matrixCopy"
131
132!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133
297
298 ! package: rdpack, rdpack
299
300 interface getMatCopy
301
302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
303 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
305
306 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
307 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
309
310 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311
312#if SK5_ENABLED
313 PURE module function getMatCopy_RDP_RDP_UXX_AIO_SK5(dpack, source, spack, subset, doff, init) result(destin)
314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
315 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_SK5
316#endif
317 use pm_kind, only: SKG => SK5
318 type(rdpack_type) , intent(in) :: dpack
319 type(rdpack_type) , intent(in) :: spack
320 type(upp_type) , intent(in) :: subset
321 integer(IK) , intent(in) , optional :: doff
322 character(*,SKG) , intent(in) , optional :: init
323 character(*,SKG) , intent(in) :: source(:,:)
324 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
325 end function
326#endif
327
328#if SK4_ENABLED
329 PURE module function getMatCopy_RDP_RDP_UXX_AIO_SK4(dpack, source, spack, subset, doff, init) result(destin)
330#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
331 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_SK4
332#endif
333 use pm_kind, only: SKG => SK4
334 type(rdpack_type) , intent(in) :: dpack
335 type(rdpack_type) , intent(in) :: spack
336 type(upp_type) , intent(in) :: subset
337 integer(IK) , intent(in) , optional :: doff
338 character(*,SKG) , intent(in) , optional :: init
339 character(*,SKG) , intent(in) :: source(:,:)
340 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
341 end function
342#endif
343
344#if SK3_ENABLED
345 PURE module function getMatCopy_RDP_RDP_UXX_AIO_SK3(dpack, source, spack, subset, doff, init) result(destin)
346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
347 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_SK3
348#endif
349 use pm_kind, only: SKG => SK3
350 type(rdpack_type) , intent(in) :: dpack
351 type(rdpack_type) , intent(in) :: spack
352 type(upp_type) , intent(in) :: subset
353 integer(IK) , intent(in) , optional :: doff
354 character(*,SKG) , intent(in) , optional :: init
355 character(*,SKG) , intent(in) :: source(:,:)
356 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
357 end function
358#endif
359
360#if SK2_ENABLED
361 PURE module function getMatCopy_RDP_RDP_UXX_AIO_SK2(dpack, source, spack, subset, doff, init) result(destin)
362#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
363 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_SK2
364#endif
365 use pm_kind, only: SKG => SK2
366 type(rdpack_type) , intent(in) :: dpack
367 type(rdpack_type) , intent(in) :: spack
368 type(upp_type) , intent(in) :: subset
369 integer(IK) , intent(in) , optional :: doff
370 character(*,SKG) , intent(in) , optional :: init
371 character(*,SKG) , intent(in) :: source(:,:)
372 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
373 end function
374#endif
375
376#if SK1_ENABLED
377 PURE module function getMatCopy_RDP_RDP_UXX_AIO_SK1(dpack, source, spack, subset, doff, init) result(destin)
378#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
379 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_SK1
380#endif
381 use pm_kind, only: SKG => SK1
382 type(rdpack_type) , intent(in) :: dpack
383 type(rdpack_type) , intent(in) :: spack
384 type(upp_type) , intent(in) :: subset
385 integer(IK) , intent(in) , optional :: doff
386 character(*,SKG) , intent(in) , optional :: init
387 character(*,SKG) , intent(in) :: source(:,:)
388 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
389 end function
390#endif
391
392 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393
394#if IK5_ENABLED
395 PURE module function getMatCopy_RDP_RDP_UXX_AIO_IK5(dpack, source, spack, subset, doff, init) result(destin)
396#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
397 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_IK5
398#endif
399 use pm_kind, only: IKG => IK5
400 type(rdpack_type) , intent(in) :: dpack
401 type(rdpack_type) , intent(in) :: spack
402 type(upp_type) , intent(in) :: subset
403 integer(IK) , intent(in) , optional :: doff
404 integer(IKG) , intent(in) , optional :: init
405 integer(IKG) , intent(in) :: source(:,:)
406 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
407 end function
408#endif
409
410#if IK4_ENABLED
411 PURE module function getMatCopy_RDP_RDP_UXX_AIO_IK4(dpack, source, spack, subset, doff, init) result(destin)
412#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
413 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_IK4
414#endif
415 use pm_kind, only: IKG => IK4
416 type(rdpack_type) , intent(in) :: dpack
417 type(rdpack_type) , intent(in) :: spack
418 type(upp_type) , intent(in) :: subset
419 integer(IK) , intent(in) , optional :: doff
420 integer(IKG) , intent(in) , optional :: init
421 integer(IKG) , intent(in) :: source(:,:)
422 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
423 end function
424#endif
425
426#if IK3_ENABLED
427 PURE module function getMatCopy_RDP_RDP_UXX_AIO_IK3(dpack, source, spack, subset, doff, init) result(destin)
428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
429 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_IK3
430#endif
431 use pm_kind, only: IKG => IK3
432 type(rdpack_type) , intent(in) :: dpack
433 type(rdpack_type) , intent(in) :: spack
434 type(upp_type) , intent(in) :: subset
435 integer(IK) , intent(in) , optional :: doff
436 integer(IKG) , intent(in) , optional :: init
437 integer(IKG) , intent(in) :: source(:,:)
438 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
439 end function
440#endif
441
442#if IK2_ENABLED
443 PURE module function getMatCopy_RDP_RDP_UXX_AIO_IK2(dpack, source, spack, subset, doff, init) result(destin)
444#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
445 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_IK2
446#endif
447 use pm_kind, only: IKG => IK2
448 type(rdpack_type) , intent(in) :: dpack
449 type(rdpack_type) , intent(in) :: spack
450 type(upp_type) , intent(in) :: subset
451 integer(IK) , intent(in) , optional :: doff
452 integer(IKG) , intent(in) , optional :: init
453 integer(IKG) , intent(in) :: source(:,:)
454 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
455 end function
456#endif
457
458#if IK1_ENABLED
459 PURE module function getMatCopy_RDP_RDP_UXX_AIO_IK1(dpack, source, spack, subset, doff, init) result(destin)
460#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
461 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_IK1
462#endif
463 use pm_kind, only: IKG => IK1
464 type(rdpack_type) , intent(in) :: dpack
465 type(rdpack_type) , intent(in) :: spack
466 type(upp_type) , intent(in) :: subset
467 integer(IK) , intent(in) , optional :: doff
468 integer(IKG) , intent(in) , optional :: init
469 integer(IKG) , intent(in) :: source(:,:)
470 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
471 end function
472#endif
473
474 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
475
476#if LK5_ENABLED
477 PURE module function getMatCopy_RDP_RDP_UXX_AIO_LK5(dpack, source, spack, subset, doff, init) result(destin)
478#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
479 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_LK5
480#endif
481 use pm_kind, only: LKG => LK5
482 type(rdpack_type) , intent(in) :: dpack
483 type(rdpack_type) , intent(in) :: spack
484 type(upp_type) , intent(in) :: subset
485 integer(IK) , intent(in) , optional :: doff
486 logical(LKG) , intent(in) , optional :: init
487 logical(LKG) , intent(in) :: source(:,:)
488 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
489 end function
490#endif
491
492#if LK4_ENABLED
493 PURE module function getMatCopy_RDP_RDP_UXX_AIO_LK4(dpack, source, spack, subset, doff, init) result(destin)
494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
495 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_LK4
496#endif
497 use pm_kind, only: LKG => LK4
498 type(rdpack_type) , intent(in) :: dpack
499 type(rdpack_type) , intent(in) :: spack
500 type(upp_type) , intent(in) :: subset
501 integer(IK) , intent(in) , optional :: doff
502 logical(LKG) , intent(in) , optional :: init
503 logical(LKG) , intent(in) :: source(:,:)
504 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
505 end function
506#endif
507
508#if LK3_ENABLED
509 PURE module function getMatCopy_RDP_RDP_UXX_AIO_LK3(dpack, source, spack, subset, doff, init) result(destin)
510#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
511 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_LK3
512#endif
513 use pm_kind, only: LKG => LK3
514 type(rdpack_type) , intent(in) :: dpack
515 type(rdpack_type) , intent(in) :: spack
516 type(upp_type) , intent(in) :: subset
517 integer(IK) , intent(in) , optional :: doff
518 logical(LKG) , intent(in) , optional :: init
519 logical(LKG) , intent(in) :: source(:,:)
520 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
521 end function
522#endif
523
524#if LK2_ENABLED
525 PURE module function getMatCopy_RDP_RDP_UXX_AIO_LK2(dpack, source, spack, subset, doff, init) result(destin)
526#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
527 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_LK2
528#endif
529 use pm_kind, only: LKG => LK2
530 type(rdpack_type) , intent(in) :: dpack
531 type(rdpack_type) , intent(in) :: spack
532 type(upp_type) , intent(in) :: subset
533 integer(IK) , intent(in) , optional :: doff
534 logical(LKG) , intent(in) , optional :: init
535 logical(LKG) , intent(in) :: source(:,:)
536 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
537 end function
538#endif
539
540#if LK1_ENABLED
541 PURE module function getMatCopy_RDP_RDP_UXX_AIO_LK1(dpack, source, spack, subset, doff, init) result(destin)
542#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
543 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_LK1
544#endif
545 use pm_kind, only: LKG => LK1
546 type(rdpack_type) , intent(in) :: dpack
547 type(rdpack_type) , intent(in) :: spack
548 type(upp_type) , intent(in) :: subset
549 integer(IK) , intent(in) , optional :: doff
550 logical(LKG) , intent(in) , optional :: init
551 logical(LKG) , intent(in) :: source(:,:)
552 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
553 end function
554#endif
555
556 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
557
558#if CK5_ENABLED
559 PURE module function getMatCopy_RDP_RDP_UXX_AIO_CK5(dpack, source, spack, subset, doff, init) result(destin)
560#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
561 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_CK5
562#endif
563 use pm_kind, only: CKG => CK5
564 type(rdpack_type) , intent(in) :: dpack
565 type(rdpack_type) , intent(in) :: spack
566 type(upp_type) , intent(in) :: subset
567 integer(IK) , intent(in) , optional :: doff
568 complex(CKG) , intent(in) , optional :: init
569 complex(CKG) , intent(in) :: source(:,:)
570 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
571 end function
572#endif
573
574#if CK4_ENABLED
575 PURE module function getMatCopy_RDP_RDP_UXX_AIO_CK4(dpack, source, spack, subset, doff, init) result(destin)
576#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
577 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_CK4
578#endif
579 use pm_kind, only: CKG => CK4
580 type(rdpack_type) , intent(in) :: dpack
581 type(rdpack_type) , intent(in) :: spack
582 type(upp_type) , intent(in) :: subset
583 integer(IK) , intent(in) , optional :: doff
584 complex(CKG) , intent(in) , optional :: init
585 complex(CKG) , intent(in) :: source(:,:)
586 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
587 end function
588#endif
589
590#if CK3_ENABLED
591 PURE module function getMatCopy_RDP_RDP_UXX_AIO_CK3(dpack, source, spack, subset, doff, init) result(destin)
592#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
593 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_CK3
594#endif
595 use pm_kind, only: CKG => CK3
596 type(rdpack_type) , intent(in) :: dpack
597 type(rdpack_type) , intent(in) :: spack
598 type(upp_type) , intent(in) :: subset
599 integer(IK) , intent(in) , optional :: doff
600 complex(CKG) , intent(in) , optional :: init
601 complex(CKG) , intent(in) :: source(:,:)
602 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
603 end function
604#endif
605
606#if CK2_ENABLED
607 PURE module function getMatCopy_RDP_RDP_UXX_AIO_CK2(dpack, source, spack, subset, doff, init) result(destin)
608#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
609 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_CK2
610#endif
611 use pm_kind, only: CKG => CK2
612 type(rdpack_type) , intent(in) :: dpack
613 type(rdpack_type) , intent(in) :: spack
614 type(upp_type) , intent(in) :: subset
615 integer(IK) , intent(in) , optional :: doff
616 complex(CKG) , intent(in) , optional :: init
617 complex(CKG) , intent(in) :: source(:,:)
618 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
619 end function
620#endif
621
622#if CK1_ENABLED
623 PURE module function getMatCopy_RDP_RDP_UXX_AIO_CK1(dpack, source, spack, subset, doff, init) result(destin)
624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
625 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_CK1
626#endif
627 use pm_kind, only: CKG => CK1
628 type(rdpack_type) , intent(in) :: dpack
629 type(rdpack_type) , intent(in) :: spack
630 type(upp_type) , intent(in) :: subset
631 integer(IK) , intent(in) , optional :: doff
632 complex(CKG) , intent(in) , optional :: init
633 complex(CKG) , intent(in) :: source(:,:)
634 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
635 end function
636#endif
637
638 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639
640#if RK5_ENABLED
641 PURE module function getMatCopy_RDP_RDP_UXX_AIO_RK5(dpack, source, spack, subset, doff, init) result(destin)
642#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
643 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_RK5
644#endif
645 use pm_kind, only: RKG => RK5
646 type(rdpack_type) , intent(in) :: dpack
647 type(rdpack_type) , intent(in) :: spack
648 type(upp_type) , intent(in) :: subset
649 integer(IK) , intent(in) , optional :: doff
650 real(RKG) , intent(in) , optional :: init
651 real(RKG) , intent(in) :: source(:,:)
652 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
653 end function
654#endif
655
656#if RK4_ENABLED
657 PURE module function getMatCopy_RDP_RDP_UXX_AIO_RK4(dpack, source, spack, subset, doff, init) result(destin)
658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
659 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_RK4
660#endif
661 use pm_kind, only: RKG => RK4
662 type(rdpack_type) , intent(in) :: dpack
663 type(rdpack_type) , intent(in) :: spack
664 type(upp_type) , intent(in) :: subset
665 integer(IK) , intent(in) , optional :: doff
666 real(RKG) , intent(in) , optional :: init
667 real(RKG) , intent(in) :: source(:,:)
668 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
669 end function
670#endif
671
672#if RK3_ENABLED
673 PURE module function getMatCopy_RDP_RDP_UXX_AIO_RK3(dpack, source, spack, subset, doff, init) result(destin)
674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
675 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_RK3
676#endif
677 use pm_kind, only: RKG => RK3
678 type(rdpack_type) , intent(in) :: dpack
679 type(rdpack_type) , intent(in) :: spack
680 type(upp_type) , intent(in) :: subset
681 integer(IK) , intent(in) , optional :: doff
682 real(RKG) , intent(in) , optional :: init
683 real(RKG) , intent(in) :: source(:,:)
684 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
685 end function
686#endif
687
688#if RK2_ENABLED
689 PURE module function getMatCopy_RDP_RDP_UXX_AIO_RK2(dpack, source, spack, subset, doff, init) result(destin)
690#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
691 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_RK2
692#endif
693 use pm_kind, only: RKG => RK2
694 type(rdpack_type) , intent(in) :: dpack
695 type(rdpack_type) , intent(in) :: spack
696 type(upp_type) , intent(in) :: subset
697 integer(IK) , intent(in) , optional :: doff
698 real(RKG) , intent(in) , optional :: init
699 real(RKG) , intent(in) :: source(:,:)
700 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
701 end function
702#endif
703
704#if RK1_ENABLED
705 PURE module function getMatCopy_RDP_RDP_UXX_AIO_RK1(dpack, source, spack, subset, doff, init) result(destin)
706#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
707 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_AIO_RK1
708#endif
709 use pm_kind, only: RKG => RK1
710 type(rdpack_type) , intent(in) :: dpack
711 type(rdpack_type) , intent(in) :: spack
712 type(upp_type) , intent(in) :: subset
713 integer(IK) , intent(in) , optional :: doff
714 real(RKG) , intent(in) , optional :: init
715 real(RKG) , intent(in) :: source(:,:)
716 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
717 end function
718#endif
719
720 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
721
722 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
723 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
724 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
725
726 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
727
728#if SK5_ENABLED
729 PURE module function getMatCopy_RDP_RDP_UXX_TSO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
730#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
731 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_SK5
732#endif
733 use pm_kind, only: SKG => SK5
734 type(rdpack_type) , intent(in) :: dpack
735 type(rdpack_type) , intent(in) :: spack
736 type(upp_type) , intent(in) :: subset
737 type(transSymm_type) , intent(in) :: operation
738 integer(IK) , intent(in) , optional :: doff
739 character(*,SKG) , intent(in) , optional :: init
740 character(*,SKG) , intent(in) :: source(:,:)
741 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
742 end function
743#endif
744
745#if SK4_ENABLED
746 PURE module function getMatCopy_RDP_RDP_UXX_TSO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
748 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_SK4
749#endif
750 use pm_kind, only: SKG => SK4
751 type(rdpack_type) , intent(in) :: dpack
752 type(rdpack_type) , intent(in) :: spack
753 type(upp_type) , intent(in) :: subset
754 type(transSymm_type) , intent(in) :: operation
755 integer(IK) , intent(in) , optional :: doff
756 character(*,SKG) , intent(in) , optional :: init
757 character(*,SKG) , intent(in) :: source(:,:)
758 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
759 end function
760#endif
761
762#if SK3_ENABLED
763 PURE module function getMatCopy_RDP_RDP_UXX_TSO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
764#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
765 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_SK3
766#endif
767 use pm_kind, only: SKG => SK3
768 type(rdpack_type) , intent(in) :: dpack
769 type(rdpack_type) , intent(in) :: spack
770 type(upp_type) , intent(in) :: subset
771 type(transSymm_type) , intent(in) :: operation
772 integer(IK) , intent(in) , optional :: doff
773 character(*,SKG) , intent(in) , optional :: init
774 character(*,SKG) , intent(in) :: source(:,:)
775 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
776 end function
777#endif
778
779#if SK2_ENABLED
780 PURE module function getMatCopy_RDP_RDP_UXX_TSO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
782 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_SK2
783#endif
784 use pm_kind, only: SKG => SK2
785 type(rdpack_type) , intent(in) :: dpack
786 type(rdpack_type) , intent(in) :: spack
787 type(upp_type) , intent(in) :: subset
788 type(transSymm_type) , intent(in) :: operation
789 integer(IK) , intent(in) , optional :: doff
790 character(*,SKG) , intent(in) , optional :: init
791 character(*,SKG) , intent(in) :: source(:,:)
792 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
793 end function
794#endif
795
796#if SK1_ENABLED
797 PURE module function getMatCopy_RDP_RDP_UXX_TSO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
799 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_SK1
800#endif
801 use pm_kind, only: SKG => SK1
802 type(rdpack_type) , intent(in) :: dpack
803 type(rdpack_type) , intent(in) :: spack
804 type(upp_type) , intent(in) :: subset
805 type(transSymm_type) , intent(in) :: operation
806 integer(IK) , intent(in) , optional :: doff
807 character(*,SKG) , intent(in) , optional :: init
808 character(*,SKG) , intent(in) :: source(:,:)
809 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
810 end function
811#endif
812
813 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
814
815#if IK5_ENABLED
816 PURE module function getMatCopy_RDP_RDP_UXX_TSO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
817#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
818 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_IK5
819#endif
820 use pm_kind, only: IKG => IK5
821 type(rdpack_type) , intent(in) :: dpack
822 type(rdpack_type) , intent(in) :: spack
823 type(upp_type) , intent(in) :: subset
824 type(transSymm_type) , intent(in) :: operation
825 integer(IK) , intent(in) , optional :: doff
826 integer(IKG) , intent(in) , optional :: init
827 integer(IKG) , intent(in) :: source(:,:)
828 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
829 end function
830#endif
831
832#if IK4_ENABLED
833 PURE module function getMatCopy_RDP_RDP_UXX_TSO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
834#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
835 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_IK4
836#endif
837 use pm_kind, only: IKG => IK4
838 type(rdpack_type) , intent(in) :: dpack
839 type(rdpack_type) , intent(in) :: spack
840 type(upp_type) , intent(in) :: subset
841 type(transSymm_type) , intent(in) :: operation
842 integer(IK) , intent(in) , optional :: doff
843 integer(IKG) , intent(in) , optional :: init
844 integer(IKG) , intent(in) :: source(:,:)
845 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
846 end function
847#endif
848
849#if IK3_ENABLED
850 PURE module function getMatCopy_RDP_RDP_UXX_TSO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
851#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
852 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_IK3
853#endif
854 use pm_kind, only: IKG => IK3
855 type(rdpack_type) , intent(in) :: dpack
856 type(rdpack_type) , intent(in) :: spack
857 type(upp_type) , intent(in) :: subset
858 type(transSymm_type) , intent(in) :: operation
859 integer(IK) , intent(in) , optional :: doff
860 integer(IKG) , intent(in) , optional :: init
861 integer(IKG) , intent(in) :: source(:,:)
862 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
863 end function
864#endif
865
866#if IK2_ENABLED
867 PURE module function getMatCopy_RDP_RDP_UXX_TSO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
869 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_IK2
870#endif
871 use pm_kind, only: IKG => IK2
872 type(rdpack_type) , intent(in) :: dpack
873 type(rdpack_type) , intent(in) :: spack
874 type(upp_type) , intent(in) :: subset
875 type(transSymm_type) , intent(in) :: operation
876 integer(IK) , intent(in) , optional :: doff
877 integer(IKG) , intent(in) , optional :: init
878 integer(IKG) , intent(in) :: source(:,:)
879 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
880 end function
881#endif
882
883#if IK1_ENABLED
884 PURE module function getMatCopy_RDP_RDP_UXX_TSO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
886 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_IK1
887#endif
888 use pm_kind, only: IKG => IK1
889 type(rdpack_type) , intent(in) :: dpack
890 type(rdpack_type) , intent(in) :: spack
891 type(upp_type) , intent(in) :: subset
892 type(transSymm_type) , intent(in) :: operation
893 integer(IK) , intent(in) , optional :: doff
894 integer(IKG) , intent(in) , optional :: init
895 integer(IKG) , intent(in) :: source(:,:)
896 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
897 end function
898#endif
899
900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
901
902#if LK5_ENABLED
903 PURE module function getMatCopy_RDP_RDP_UXX_TSO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
905 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_LK5
906#endif
907 use pm_kind, only: LKG => LK5
908 type(rdpack_type) , intent(in) :: dpack
909 type(rdpack_type) , intent(in) :: spack
910 type(upp_type) , intent(in) :: subset
911 type(transSymm_type) , intent(in) :: operation
912 integer(IK) , intent(in) , optional :: doff
913 logical(LKG) , intent(in) , optional :: init
914 logical(LKG) , intent(in) :: source(:,:)
915 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
916 end function
917#endif
918
919#if LK4_ENABLED
920 PURE module function getMatCopy_RDP_RDP_UXX_TSO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
921#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
922 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_LK4
923#endif
924 use pm_kind, only: LKG => LK4
925 type(rdpack_type) , intent(in) :: dpack
926 type(rdpack_type) , intent(in) :: spack
927 type(upp_type) , intent(in) :: subset
928 type(transSymm_type) , intent(in) :: operation
929 integer(IK) , intent(in) , optional :: doff
930 logical(LKG) , intent(in) , optional :: init
931 logical(LKG) , intent(in) :: source(:,:)
932 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
933 end function
934#endif
935
936#if LK3_ENABLED
937 PURE module function getMatCopy_RDP_RDP_UXX_TSO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
939 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_LK3
940#endif
941 use pm_kind, only: LKG => LK3
942 type(rdpack_type) , intent(in) :: dpack
943 type(rdpack_type) , intent(in) :: spack
944 type(upp_type) , intent(in) :: subset
945 type(transSymm_type) , intent(in) :: operation
946 integer(IK) , intent(in) , optional :: doff
947 logical(LKG) , intent(in) , optional :: init
948 logical(LKG) , intent(in) :: source(:,:)
949 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
950 end function
951#endif
952
953#if LK2_ENABLED
954 PURE module function getMatCopy_RDP_RDP_UXX_TSO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
956 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_LK2
957#endif
958 use pm_kind, only: LKG => LK2
959 type(rdpack_type) , intent(in) :: dpack
960 type(rdpack_type) , intent(in) :: spack
961 type(upp_type) , intent(in) :: subset
962 type(transSymm_type) , intent(in) :: operation
963 integer(IK) , intent(in) , optional :: doff
964 logical(LKG) , intent(in) , optional :: init
965 logical(LKG) , intent(in) :: source(:,:)
966 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
967 end function
968#endif
969
970#if LK1_ENABLED
971 PURE module function getMatCopy_RDP_RDP_UXX_TSO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
973 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_LK1
974#endif
975 use pm_kind, only: LKG => LK1
976 type(rdpack_type) , intent(in) :: dpack
977 type(rdpack_type) , intent(in) :: spack
978 type(upp_type) , intent(in) :: subset
979 type(transSymm_type) , intent(in) :: operation
980 integer(IK) , intent(in) , optional :: doff
981 logical(LKG) , intent(in) , optional :: init
982 logical(LKG) , intent(in) :: source(:,:)
983 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
984 end function
985#endif
986
987 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
988
989#if CK5_ENABLED
990 PURE module function getMatCopy_RDP_RDP_UXX_TSO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
992 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_CK5
993#endif
994 use pm_kind, only: CKG => CK5
995 type(rdpack_type) , intent(in) :: dpack
996 type(rdpack_type) , intent(in) :: spack
997 type(upp_type) , intent(in) :: subset
998 type(transSymm_type) , intent(in) :: operation
999 integer(IK) , intent(in) , optional :: doff
1000 complex(CKG) , intent(in) , optional :: init
1001 complex(CKG) , intent(in) :: source(:,:)
1002 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1003 end function
1004#endif
1005
1006#if CK4_ENABLED
1007 PURE module function getMatCopy_RDP_RDP_UXX_TSO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1009 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_CK4
1010#endif
1011 use pm_kind, only: CKG => CK4
1012 type(rdpack_type) , intent(in) :: dpack
1013 type(rdpack_type) , intent(in) :: spack
1014 type(upp_type) , intent(in) :: subset
1015 type(transSymm_type) , intent(in) :: operation
1016 integer(IK) , intent(in) , optional :: doff
1017 complex(CKG) , intent(in) , optional :: init
1018 complex(CKG) , intent(in) :: source(:,:)
1019 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1020 end function
1021#endif
1022
1023#if CK3_ENABLED
1024 PURE module function getMatCopy_RDP_RDP_UXX_TSO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1026 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_CK3
1027#endif
1028 use pm_kind, only: CKG => CK3
1029 type(rdpack_type) , intent(in) :: dpack
1030 type(rdpack_type) , intent(in) :: spack
1031 type(upp_type) , intent(in) :: subset
1032 type(transSymm_type) , intent(in) :: operation
1033 integer(IK) , intent(in) , optional :: doff
1034 complex(CKG) , intent(in) , optional :: init
1035 complex(CKG) , intent(in) :: source(:,:)
1036 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1037 end function
1038#endif
1039
1040#if CK2_ENABLED
1041 PURE module function getMatCopy_RDP_RDP_UXX_TSO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1043 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_CK2
1044#endif
1045 use pm_kind, only: CKG => CK2
1046 type(rdpack_type) , intent(in) :: dpack
1047 type(rdpack_type) , intent(in) :: spack
1048 type(upp_type) , intent(in) :: subset
1049 type(transSymm_type) , intent(in) :: operation
1050 integer(IK) , intent(in) , optional :: doff
1051 complex(CKG) , intent(in) , optional :: init
1052 complex(CKG) , intent(in) :: source(:,:)
1053 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1054 end function
1055#endif
1056
1057#if CK1_ENABLED
1058 PURE module function getMatCopy_RDP_RDP_UXX_TSO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1060 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_CK1
1061#endif
1062 use pm_kind, only: CKG => CK1
1063 type(rdpack_type) , intent(in) :: dpack
1064 type(rdpack_type) , intent(in) :: spack
1065 type(upp_type) , intent(in) :: subset
1066 type(transSymm_type) , intent(in) :: operation
1067 integer(IK) , intent(in) , optional :: doff
1068 complex(CKG) , intent(in) , optional :: init
1069 complex(CKG) , intent(in) :: source(:,:)
1070 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1071 end function
1072#endif
1073
1074 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1075
1076#if RK5_ENABLED
1077 PURE module function getMatCopy_RDP_RDP_UXX_TSO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1079 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_RK5
1080#endif
1081 use pm_kind, only: RKG => RK5
1082 type(rdpack_type) , intent(in) :: dpack
1083 type(rdpack_type) , intent(in) :: spack
1084 type(upp_type) , intent(in) :: subset
1085 type(transSymm_type) , intent(in) :: operation
1086 integer(IK) , intent(in) , optional :: doff
1087 real(RKG) , intent(in) , optional :: init
1088 real(RKG) , intent(in) :: source(:,:)
1089 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1090 end function
1091#endif
1092
1093#if RK4_ENABLED
1094 PURE module function getMatCopy_RDP_RDP_UXX_TSO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1096 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_RK4
1097#endif
1098 use pm_kind, only: RKG => RK4
1099 type(rdpack_type) , intent(in) :: dpack
1100 type(rdpack_type) , intent(in) :: spack
1101 type(upp_type) , intent(in) :: subset
1102 type(transSymm_type) , intent(in) :: operation
1103 integer(IK) , intent(in) , optional :: doff
1104 real(RKG) , intent(in) , optional :: init
1105 real(RKG) , intent(in) :: source(:,:)
1106 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1107 end function
1108#endif
1109
1110#if RK3_ENABLED
1111 PURE module function getMatCopy_RDP_RDP_UXX_TSO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1113 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_RK3
1114#endif
1115 use pm_kind, only: RKG => RK3
1116 type(rdpack_type) , intent(in) :: dpack
1117 type(rdpack_type) , intent(in) :: spack
1118 type(upp_type) , intent(in) :: subset
1119 type(transSymm_type) , intent(in) :: operation
1120 integer(IK) , intent(in) , optional :: doff
1121 real(RKG) , intent(in) , optional :: init
1122 real(RKG) , intent(in) :: source(:,:)
1123 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1124 end function
1125#endif
1126
1127#if RK2_ENABLED
1128 PURE module function getMatCopy_RDP_RDP_UXX_TSO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1130 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_RK2
1131#endif
1132 use pm_kind, only: RKG => RK2
1133 type(rdpack_type) , intent(in) :: dpack
1134 type(rdpack_type) , intent(in) :: spack
1135 type(upp_type) , intent(in) :: subset
1136 type(transSymm_type) , intent(in) :: operation
1137 integer(IK) , intent(in) , optional :: doff
1138 real(RKG) , intent(in) , optional :: init
1139 real(RKG) , intent(in) :: source(:,:)
1140 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1141 end function
1142#endif
1143
1144#if RK1_ENABLED
1145 PURE module function getMatCopy_RDP_RDP_UXX_TSO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1147 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_TSO_RK1
1148#endif
1149 use pm_kind, only: RKG => RK1
1150 type(rdpack_type) , intent(in) :: dpack
1151 type(rdpack_type) , intent(in) :: spack
1152 type(upp_type) , intent(in) :: subset
1153 type(transSymm_type) , intent(in) :: operation
1154 integer(IK) , intent(in) , optional :: doff
1155 real(RKG) , intent(in) , optional :: init
1156 real(RKG) , intent(in) :: source(:,:)
1157 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1158 end function
1159#endif
1160
1161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1162
1163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1166
1167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1168
1169#if SK5_ENABLED
1170 PURE module function getMatCopy_RDP_RDP_UXX_THO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1172 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_SK5
1173#endif
1174 use pm_kind, only: SKG => SK5
1175 type(rdpack_type) , intent(in) :: dpack
1176 type(rdpack_type) , intent(in) :: spack
1177 type(upp_type) , intent(in) :: subset
1178 type(transHerm_type) , intent(in) :: operation
1179 integer(IK) , intent(in) , optional :: doff
1180 character(*,SKG) , intent(in) , optional :: init
1181 character(*,SKG) , intent(in) :: source(:,:)
1182 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1183 end function
1184#endif
1185
1186#if SK4_ENABLED
1187 PURE module function getMatCopy_RDP_RDP_UXX_THO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1188#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1189 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_SK4
1190#endif
1191 use pm_kind, only: SKG => SK4
1192 type(rdpack_type) , intent(in) :: dpack
1193 type(rdpack_type) , intent(in) :: spack
1194 type(upp_type) , intent(in) :: subset
1195 type(rdpack_type) , intent(in) :: dpack
1196 type(rdpack_type) , intent(in) :: spack
1197 type(transHerm_type) , intent(in) :: operation
1198 integer(IK) , intent(in) , optional :: doff
1199 character(*,SKG) , intent(in) , optional :: init
1200 character(*,SKG) , intent(in) :: source(:,:)
1201 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1202 end function
1203#endif
1204
1205#if SK3_ENABLED
1206 PURE module function getMatCopy_RDP_RDP_UXX_THO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1208 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_SK3
1209#endif
1210 use pm_kind, only: SKG => SK3
1211 type(rdpack_type) , intent(in) :: dpack
1212 type(rdpack_type) , intent(in) :: spack
1213 type(upp_type) , intent(in) :: subset
1214 type(transHerm_type) , intent(in) :: operation
1215 integer(IK) , intent(in) , optional :: doff
1216 character(*,SKG) , intent(in) , optional :: init
1217 character(*,SKG) , intent(in) :: source(:,:)
1218 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1219 end function
1220#endif
1221
1222#if SK2_ENABLED
1223 PURE module function getMatCopy_RDP_RDP_UXX_THO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1224#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1225 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_SK2
1226#endif
1227 use pm_kind, only: SKG => SK2
1228 type(rdpack_type) , intent(in) :: dpack
1229 type(rdpack_type) , intent(in) :: spack
1230 type(upp_type) , intent(in) :: subset
1231 type(transHerm_type) , intent(in) :: operation
1232 integer(IK) , intent(in) , optional :: doff
1233 character(*,SKG) , intent(in) , optional :: init
1234 character(*,SKG) , intent(in) :: source(:,:)
1235 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1236 end function
1237#endif
1238
1239#if SK1_ENABLED
1240 PURE module function getMatCopy_RDP_RDP_UXX_THO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1242 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_SK1
1243#endif
1244 use pm_kind, only: SKG => SK1
1245 type(rdpack_type) , intent(in) :: dpack
1246 type(rdpack_type) , intent(in) :: spack
1247 type(upp_type) , intent(in) :: subset
1248 type(transHerm_type) , intent(in) :: operation
1249 integer(IK) , intent(in) , optional :: doff
1250 character(*,SKG) , intent(in) , optional :: init
1251 character(*,SKG) , intent(in) :: source(:,:)
1252 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1253 end function
1254#endif
1255
1256 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1257
1258#if IK5_ENABLED
1259 PURE module function getMatCopy_RDP_RDP_UXX_THO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1261 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_IK5
1262#endif
1263 use pm_kind, only: IKG => IK5
1264 type(rdpack_type) , intent(in) :: dpack
1265 type(rdpack_type) , intent(in) :: spack
1266 type(upp_type) , intent(in) :: subset
1267 type(transHerm_type) , intent(in) :: operation
1268 integer(IK) , intent(in) , optional :: doff
1269 integer(IKG) , intent(in) , optional :: init
1270 integer(IKG) , intent(in) :: source(:,:)
1271 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1272 end function
1273#endif
1274
1275#if IK4_ENABLED
1276 PURE module function getMatCopy_RDP_RDP_UXX_THO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1277#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1278 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_IK4
1279#endif
1280 use pm_kind, only: IKG => IK4
1281 type(rdpack_type) , intent(in) :: dpack
1282 type(rdpack_type) , intent(in) :: spack
1283 type(upp_type) , intent(in) :: subset
1284 type(transHerm_type) , intent(in) :: operation
1285 integer(IK) , intent(in) , optional :: doff
1286 integer(IKG) , intent(in) , optional :: init
1287 integer(IKG) , intent(in) :: source(:,:)
1288 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1289 end function
1290#endif
1291
1292#if IK3_ENABLED
1293 PURE module function getMatCopy_RDP_RDP_UXX_THO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1294#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1295 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_IK3
1296#endif
1297 use pm_kind, only: IKG => IK3
1298 type(rdpack_type) , intent(in) :: dpack
1299 type(rdpack_type) , intent(in) :: spack
1300 type(upp_type) , intent(in) :: subset
1301 type(transHerm_type) , intent(in) :: operation
1302 integer(IK) , intent(in) , optional :: doff
1303 integer(IKG) , intent(in) , optional :: init
1304 integer(IKG) , intent(in) :: source(:,:)
1305 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1306 end function
1307#endif
1308
1309#if IK2_ENABLED
1310 PURE module function getMatCopy_RDP_RDP_UXX_THO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1312 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_IK2
1313#endif
1314 use pm_kind, only: IKG => IK2
1315 type(rdpack_type) , intent(in) :: dpack
1316 type(rdpack_type) , intent(in) :: spack
1317 type(upp_type) , intent(in) :: subset
1318 type(transHerm_type) , intent(in) :: operation
1319 integer(IK) , intent(in) , optional :: doff
1320 integer(IKG) , intent(in) , optional :: init
1321 integer(IKG) , intent(in) :: source(:,:)
1322 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1323 end function
1324#endif
1325
1326#if IK1_ENABLED
1327 PURE module function getMatCopy_RDP_RDP_UXX_THO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1329 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_IK1
1330#endif
1331 use pm_kind, only: IKG => IK1
1332 type(rdpack_type) , intent(in) :: dpack
1333 type(rdpack_type) , intent(in) :: spack
1334 type(upp_type) , intent(in) :: subset
1335 type(transHerm_type) , intent(in) :: operation
1336 integer(IK) , intent(in) , optional :: doff
1337 integer(IKG) , intent(in) , optional :: init
1338 integer(IKG) , intent(in) :: source(:,:)
1339 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1340 end function
1341#endif
1342
1343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1344
1345#if LK5_ENABLED
1346 PURE module function getMatCopy_RDP_RDP_UXX_THO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1348 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_LK5
1349#endif
1350 use pm_kind, only: LKG => LK5
1351 type(rdpack_type) , intent(in) :: dpack
1352 type(rdpack_type) , intent(in) :: spack
1353 type(upp_type) , intent(in) :: subset
1354 type(transHerm_type) , intent(in) :: operation
1355 integer(IK) , intent(in) , optional :: doff
1356 logical(LKG) , intent(in) , optional :: init
1357 logical(LKG) , intent(in) :: source(:,:)
1358 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1359 end function
1360#endif
1361
1362#if LK4_ENABLED
1363 PURE module function getMatCopy_RDP_RDP_UXX_THO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1365 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_LK4
1366#endif
1367 use pm_kind, only: LKG => LK4
1368 type(rdpack_type) , intent(in) :: dpack
1369 type(rdpack_type) , intent(in) :: spack
1370 type(upp_type) , intent(in) :: subset
1371 type(transHerm_type) , intent(in) :: operation
1372 integer(IK) , intent(in) , optional :: doff
1373 logical(LKG) , intent(in) , optional :: init
1374 logical(LKG) , intent(in) :: source(:,:)
1375 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1376 end function
1377#endif
1378
1379#if LK3_ENABLED
1380 PURE module function getMatCopy_RDP_RDP_UXX_THO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1381#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1382 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_LK3
1383#endif
1384 use pm_kind, only: LKG => LK3
1385 type(rdpack_type) , intent(in) :: dpack
1386 type(rdpack_type) , intent(in) :: spack
1387 type(upp_type) , intent(in) :: subset
1388 type(transHerm_type) , intent(in) :: operation
1389 integer(IK) , intent(in) , optional :: doff
1390 logical(LKG) , intent(in) , optional :: init
1391 logical(LKG) , intent(in) :: source(:,:)
1392 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1393 end function
1394#endif
1395
1396#if LK2_ENABLED
1397 PURE module function getMatCopy_RDP_RDP_UXX_THO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1398#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1399 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_LK2
1400#endif
1401 use pm_kind, only: LKG => LK2
1402 type(rdpack_type) , intent(in) :: dpack
1403 type(rdpack_type) , intent(in) :: spack
1404 type(upp_type) , intent(in) :: subset
1405 type(transHerm_type) , intent(in) :: operation
1406 integer(IK) , intent(in) , optional :: doff
1407 logical(LKG) , intent(in) , optional :: init
1408 logical(LKG) , intent(in) :: source(:,:)
1409 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1410 end function
1411#endif
1412
1413#if LK1_ENABLED
1414 PURE module function getMatCopy_RDP_RDP_UXX_THO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1416 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_LK1
1417#endif
1418 use pm_kind, only: LKG => LK1
1419 type(rdpack_type) , intent(in) :: dpack
1420 type(rdpack_type) , intent(in) :: spack
1421 type(upp_type) , intent(in) :: subset
1422 type(transHerm_type) , intent(in) :: operation
1423 integer(IK) , intent(in) , optional :: doff
1424 logical(LKG) , intent(in) , optional :: init
1425 logical(LKG) , intent(in) :: source(:,:)
1426 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1427 end function
1428#endif
1429
1430 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1431
1432#if CK5_ENABLED
1433 PURE module function getMatCopy_RDP_RDP_UXX_THO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1434#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1435 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_CK5
1436#endif
1437 use pm_kind, only: CKG => CK5
1438 type(rdpack_type) , intent(in) :: dpack
1439 type(rdpack_type) , intent(in) :: spack
1440 type(upp_type) , intent(in) :: subset
1441 type(transHerm_type) , intent(in) :: operation
1442 integer(IK) , intent(in) , optional :: doff
1443 complex(CKG) , intent(in) , optional :: init
1444 complex(CKG) , intent(in) :: source(:,:)
1445 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1446 end function
1447#endif
1448
1449#if CK4_ENABLED
1450 PURE module function getMatCopy_RDP_RDP_UXX_THO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1451#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1452 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_CK4
1453#endif
1454 use pm_kind, only: CKG => CK4
1455 type(rdpack_type) , intent(in) :: dpack
1456 type(rdpack_type) , intent(in) :: spack
1457 type(upp_type) , intent(in) :: subset
1458 type(transHerm_type) , intent(in) :: operation
1459 integer(IK) , intent(in) , optional :: doff
1460 complex(CKG) , intent(in) , optional :: init
1461 complex(CKG) , intent(in) :: source(:,:)
1462 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1463 end function
1464#endif
1465
1466#if CK3_ENABLED
1467 PURE module function getMatCopy_RDP_RDP_UXX_THO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1469 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_CK3
1470#endif
1471 use pm_kind, only: CKG => CK3
1472 type(rdpack_type) , intent(in) :: dpack
1473 type(rdpack_type) , intent(in) :: spack
1474 type(upp_type) , intent(in) :: subset
1475 type(transHerm_type) , intent(in) :: operation
1476 integer(IK) , intent(in) , optional :: doff
1477 complex(CKG) , intent(in) , optional :: init
1478 complex(CKG) , intent(in) :: source(:,:)
1479 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1480 end function
1481#endif
1482
1483#if CK2_ENABLED
1484 PURE module function getMatCopy_RDP_RDP_UXX_THO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1486 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_CK2
1487#endif
1488 use pm_kind, only: CKG => CK2
1489 type(rdpack_type) , intent(in) :: dpack
1490 type(rdpack_type) , intent(in) :: spack
1491 type(upp_type) , intent(in) :: subset
1492 type(transHerm_type) , intent(in) :: operation
1493 integer(IK) , intent(in) , optional :: doff
1494 complex(CKG) , intent(in) , optional :: init
1495 complex(CKG) , intent(in) :: source(:,:)
1496 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1497 end function
1498#endif
1499
1500#if CK1_ENABLED
1501 PURE module function getMatCopy_RDP_RDP_UXX_THO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1502#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1503 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_CK1
1504#endif
1505 use pm_kind, only: CKG => CK1
1506 type(rdpack_type) , intent(in) :: dpack
1507 type(rdpack_type) , intent(in) :: spack
1508 type(upp_type) , intent(in) :: subset
1509 type(transHerm_type) , intent(in) :: operation
1510 integer(IK) , intent(in) , optional :: doff
1511 complex(CKG) , intent(in) , optional :: init
1512 complex(CKG) , intent(in) :: source(:,:)
1513 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1514 end function
1515#endif
1516
1517 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1518
1519#if RK5_ENABLED
1520 PURE module function getMatCopy_RDP_RDP_UXX_THO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
1521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1522 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_RK5
1523#endif
1524 use pm_kind, only: RKG => RK5
1525 type(rdpack_type) , intent(in) :: dpack
1526 type(rdpack_type) , intent(in) :: spack
1527 type(upp_type) , intent(in) :: subset
1528 type(transHerm_type) , intent(in) :: operation
1529 integer(IK) , intent(in) , optional :: doff
1530 real(RKG) , intent(in) , optional :: init
1531 real(RKG) , intent(in) :: source(:,:)
1532 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1533 end function
1534#endif
1535
1536#if RK4_ENABLED
1537 PURE module function getMatCopy_RDP_RDP_UXX_THO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
1538#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1539 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_RK4
1540#endif
1541 use pm_kind, only: RKG => RK4
1542 type(rdpack_type) , intent(in) :: dpack
1543 type(rdpack_type) , intent(in) :: spack
1544 type(upp_type) , intent(in) :: subset
1545 type(transHerm_type) , intent(in) :: operation
1546 integer(IK) , intent(in) , optional :: doff
1547 real(RKG) , intent(in) , optional :: init
1548 real(RKG) , intent(in) :: source(:,:)
1549 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1550 end function
1551#endif
1552
1553#if RK3_ENABLED
1554 PURE module function getMatCopy_RDP_RDP_UXX_THO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
1555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1556 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_RK3
1557#endif
1558 use pm_kind, only: RKG => RK3
1559 type(rdpack_type) , intent(in) :: dpack
1560 type(rdpack_type) , intent(in) :: spack
1561 type(upp_type) , intent(in) :: subset
1562 type(transHerm_type) , intent(in) :: operation
1563 integer(IK) , intent(in) , optional :: doff
1564 real(RKG) , intent(in) , optional :: init
1565 real(RKG) , intent(in) :: source(:,:)
1566 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1567 end function
1568#endif
1569
1570#if RK2_ENABLED
1571 PURE module function getMatCopy_RDP_RDP_UXX_THO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
1572#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1573 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_RK2
1574#endif
1575 use pm_kind, only: RKG => RK2
1576 type(rdpack_type) , intent(in) :: dpack
1577 type(rdpack_type) , intent(in) :: spack
1578 type(upp_type) , intent(in) :: subset
1579 type(transHerm_type) , intent(in) :: operation
1580 integer(IK) , intent(in) , optional :: doff
1581 real(RKG) , intent(in) , optional :: init
1582 real(RKG) , intent(in) :: source(:,:)
1583 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1584 end function
1585#endif
1586
1587#if RK1_ENABLED
1588 PURE module function getMatCopy_RDP_RDP_UXX_THO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
1589#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1590 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXX_THO_RK1
1591#endif
1592 use pm_kind, only: RKG => RK1
1593 type(rdpack_type) , intent(in) :: dpack
1594 type(rdpack_type) , intent(in) :: spack
1595 type(upp_type) , intent(in) :: subset
1596 type(transHerm_type) , intent(in) :: operation
1597 integer(IK) , intent(in) , optional :: doff
1598 real(RKG) , intent(in) , optional :: init
1599 real(RKG) , intent(in) :: source(:,:)
1600 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
1601 end function
1602#endif
1603
1604 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1605
1606 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1607 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1608 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1609
1610 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1611 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1612 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1613
1614 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1615
1616#if SK5_ENABLED
1617 PURE module function getMatCopy_RDP_RDP_XLX_AIO_SK5(dpack, source, spack, subset, doff, init) result(destin)
1618#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1619 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_SK5
1620#endif
1621 use pm_kind, only: SKG => SK5
1622 type(rdpack_type) , intent(in) :: dpack
1623 type(rdpack_type) , intent(in) :: spack
1624 type(low_type) , intent(in) :: subset
1625 integer(IK) , intent(in) , optional :: doff
1626 character(*,SKG) , intent(in) , optional :: init
1627 character(*,SKG) , intent(in) :: source(:,:)
1628 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1629 end function
1630#endif
1631
1632#if SK4_ENABLED
1633 PURE module function getMatCopy_RDP_RDP_XLX_AIO_SK4(dpack, source, spack, subset, doff, init) result(destin)
1634#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1635 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_SK4
1636#endif
1637 use pm_kind, only: SKG => SK4
1638 type(rdpack_type) , intent(in) :: dpack
1639 type(rdpack_type) , intent(in) :: spack
1640 type(low_type) , intent(in) :: subset
1641 integer(IK) , intent(in) , optional :: doff
1642 character(*,SKG) , intent(in) , optional :: init
1643 character(*,SKG) , intent(in) :: source(:,:)
1644 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1645 end function
1646#endif
1647
1648#if SK3_ENABLED
1649 PURE module function getMatCopy_RDP_RDP_XLX_AIO_SK3(dpack, source, spack, subset, doff, init) result(destin)
1650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1651 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_SK3
1652#endif
1653 use pm_kind, only: SKG => SK3
1654 type(rdpack_type) , intent(in) :: dpack
1655 type(rdpack_type) , intent(in) :: spack
1656 type(low_type) , intent(in) :: subset
1657 integer(IK) , intent(in) , optional :: doff
1658 character(*,SKG) , intent(in) , optional :: init
1659 character(*,SKG) , intent(in) :: source(:,:)
1660 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1661 end function
1662#endif
1663
1664#if SK2_ENABLED
1665 PURE module function getMatCopy_RDP_RDP_XLX_AIO_SK2(dpack, source, spack, subset, doff, init) result(destin)
1666#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1667 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_SK2
1668#endif
1669 use pm_kind, only: SKG => SK2
1670 type(rdpack_type) , intent(in) :: dpack
1671 type(rdpack_type) , intent(in) :: spack
1672 type(low_type) , intent(in) :: subset
1673 integer(IK) , intent(in) , optional :: doff
1674 character(*,SKG) , intent(in) , optional :: init
1675 character(*,SKG) , intent(in) :: source(:,:)
1676 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1677 end function
1678#endif
1679
1680#if SK1_ENABLED
1681 PURE module function getMatCopy_RDP_RDP_XLX_AIO_SK1(dpack, source, spack, subset, doff, init) result(destin)
1682#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1683 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_SK1
1684#endif
1685 use pm_kind, only: SKG => SK1
1686 type(rdpack_type) , intent(in) :: dpack
1687 type(rdpack_type) , intent(in) :: spack
1688 type(low_type) , intent(in) :: subset
1689 integer(IK) , intent(in) , optional :: doff
1690 character(*,SKG) , intent(in) , optional :: init
1691 character(*,SKG) , intent(in) :: source(:,:)
1692 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1693 end function
1694#endif
1695
1696 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1697
1698#if IK5_ENABLED
1699 PURE module function getMatCopy_RDP_RDP_XLX_AIO_IK5(dpack, source, spack, subset, doff, init) result(destin)
1700#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1701 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_IK5
1702#endif
1703 use pm_kind, only: IKG => IK5
1704 type(rdpack_type) , intent(in) :: dpack
1705 type(rdpack_type) , intent(in) :: spack
1706 type(low_type) , intent(in) :: subset
1707 integer(IK) , intent(in) , optional :: doff
1708 integer(IKG) , intent(in) , optional :: init
1709 integer(IKG) , intent(in) :: source(:,:)
1710 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1711 end function
1712#endif
1713
1714#if IK4_ENABLED
1715 PURE module function getMatCopy_RDP_RDP_XLX_AIO_IK4(dpack, source, spack, subset, doff, init) result(destin)
1716#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1717 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_IK4
1718#endif
1719 use pm_kind, only: IKG => IK4
1720 type(rdpack_type) , intent(in) :: dpack
1721 type(rdpack_type) , intent(in) :: spack
1722 type(low_type) , intent(in) :: subset
1723 integer(IK) , intent(in) , optional :: doff
1724 integer(IKG) , intent(in) , optional :: init
1725 integer(IKG) , intent(in) :: source(:,:)
1726 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1727 end function
1728#endif
1729
1730#if IK3_ENABLED
1731 PURE module function getMatCopy_RDP_RDP_XLX_AIO_IK3(dpack, source, spack, subset, doff, init) result(destin)
1732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1733 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_IK3
1734#endif
1735 use pm_kind, only: IKG => IK3
1736 type(rdpack_type) , intent(in) :: dpack
1737 type(rdpack_type) , intent(in) :: spack
1738 type(low_type) , intent(in) :: subset
1739 integer(IK) , intent(in) , optional :: doff
1740 integer(IKG) , intent(in) , optional :: init
1741 integer(IKG) , intent(in) :: source(:,:)
1742 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1743 end function
1744#endif
1745
1746#if IK2_ENABLED
1747 PURE module function getMatCopy_RDP_RDP_XLX_AIO_IK2(dpack, source, spack, subset, doff, init) result(destin)
1748#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1749 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_IK2
1750#endif
1751 use pm_kind, only: IKG => IK2
1752 type(rdpack_type) , intent(in) :: dpack
1753 type(rdpack_type) , intent(in) :: spack
1754 type(low_type) , intent(in) :: subset
1755 integer(IK) , intent(in) , optional :: doff
1756 integer(IKG) , intent(in) , optional :: init
1757 integer(IKG) , intent(in) :: source(:,:)
1758 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1759 end function
1760#endif
1761
1762#if IK1_ENABLED
1763 PURE module function getMatCopy_RDP_RDP_XLX_AIO_IK1(dpack, source, spack, subset, doff, init) result(destin)
1764#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1765 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_IK1
1766#endif
1767 use pm_kind, only: IKG => IK1
1768 type(rdpack_type) , intent(in) :: dpack
1769 type(rdpack_type) , intent(in) :: spack
1770 type(low_type) , intent(in) :: subset
1771 integer(IK) , intent(in) , optional :: doff
1772 integer(IKG) , intent(in) , optional :: init
1773 integer(IKG) , intent(in) :: source(:,:)
1774 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1775 end function
1776#endif
1777
1778 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1779
1780#if LK5_ENABLED
1781 PURE module function getMatCopy_RDP_RDP_XLX_AIO_LK5(dpack, source, spack, subset, doff, init) result(destin)
1782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1783 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_LK5
1784#endif
1785 use pm_kind, only: LKG => LK5
1786 type(rdpack_type) , intent(in) :: dpack
1787 type(rdpack_type) , intent(in) :: spack
1788 type(low_type) , intent(in) :: subset
1789 integer(IK) , intent(in) , optional :: doff
1790 logical(LKG) , intent(in) , optional :: init
1791 logical(LKG) , intent(in) :: source(:,:)
1792 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1793 end function
1794#endif
1795
1796#if LK4_ENABLED
1797 PURE module function getMatCopy_RDP_RDP_XLX_AIO_LK4(dpack, source, spack, subset, doff, init) result(destin)
1798#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1799 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_LK4
1800#endif
1801 use pm_kind, only: LKG => LK4
1802 type(rdpack_type) , intent(in) :: dpack
1803 type(rdpack_type) , intent(in) :: spack
1804 type(low_type) , intent(in) :: subset
1805 integer(IK) , intent(in) , optional :: doff
1806 logical(LKG) , intent(in) , optional :: init
1807 logical(LKG) , intent(in) :: source(:,:)
1808 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1809 end function
1810#endif
1811
1812#if LK3_ENABLED
1813 PURE module function getMatCopy_RDP_RDP_XLX_AIO_LK3(dpack, source, spack, subset, doff, init) result(destin)
1814#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1815 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_LK3
1816#endif
1817 use pm_kind, only: LKG => LK3
1818 type(rdpack_type) , intent(in) :: dpack
1819 type(rdpack_type) , intent(in) :: spack
1820 type(low_type) , intent(in) :: subset
1821 integer(IK) , intent(in) , optional :: doff
1822 logical(LKG) , intent(in) , optional :: init
1823 logical(LKG) , intent(in) :: source(:,:)
1824 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1825 end function
1826#endif
1827
1828#if LK2_ENABLED
1829 PURE module function getMatCopy_RDP_RDP_XLX_AIO_LK2(dpack, source, spack, subset, doff, init) result(destin)
1830#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1831 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_LK2
1832#endif
1833 use pm_kind, only: LKG => LK2
1834 type(rdpack_type) , intent(in) :: dpack
1835 type(rdpack_type) , intent(in) :: spack
1836 type(low_type) , intent(in) :: subset
1837 integer(IK) , intent(in) , optional :: doff
1838 logical(LKG) , intent(in) , optional :: init
1839 logical(LKG) , intent(in) :: source(:,:)
1840 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1841 end function
1842#endif
1843
1844#if LK1_ENABLED
1845 PURE module function getMatCopy_RDP_RDP_XLX_AIO_LK1(dpack, source, spack, subset, doff, init) result(destin)
1846#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1847 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_LK1
1848#endif
1849 use pm_kind, only: LKG => LK1
1850 type(rdpack_type) , intent(in) :: dpack
1851 type(rdpack_type) , intent(in) :: spack
1852 type(low_type) , intent(in) :: subset
1853 integer(IK) , intent(in) , optional :: doff
1854 logical(LKG) , intent(in) , optional :: init
1855 logical(LKG) , intent(in) :: source(:,:)
1856 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1857 end function
1858#endif
1859
1860 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1861
1862#if CK5_ENABLED
1863 PURE module function getMatCopy_RDP_RDP_XLX_AIO_CK5(dpack, source, spack, subset, doff, init) result(destin)
1864#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1865 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_CK5
1866#endif
1867 use pm_kind, only: CKG => CK5
1868 type(rdpack_type) , intent(in) :: dpack
1869 type(rdpack_type) , intent(in) :: spack
1870 type(low_type) , intent(in) :: subset
1871 integer(IK) , intent(in) , optional :: doff
1872 complex(CKG) , intent(in) , optional :: init
1873 complex(CKG) , intent(in) :: source(:,:)
1874 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1875 end function
1876#endif
1877
1878#if CK4_ENABLED
1879 PURE module function getMatCopy_RDP_RDP_XLX_AIO_CK4(dpack, source, spack, subset, doff, init) result(destin)
1880#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1881 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_CK4
1882#endif
1883 use pm_kind, only: CKG => CK4
1884 type(rdpack_type) , intent(in) :: dpack
1885 type(rdpack_type) , intent(in) :: spack
1886 type(low_type) , intent(in) :: subset
1887 integer(IK) , intent(in) , optional :: doff
1888 complex(CKG) , intent(in) , optional :: init
1889 complex(CKG) , intent(in) :: source(:,:)
1890 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1891 end function
1892#endif
1893
1894#if CK3_ENABLED
1895 PURE module function getMatCopy_RDP_RDP_XLX_AIO_CK3(dpack, source, spack, subset, doff, init) result(destin)
1896#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1897 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_CK3
1898#endif
1899 use pm_kind, only: CKG => CK3
1900 type(rdpack_type) , intent(in) :: dpack
1901 type(rdpack_type) , intent(in) :: spack
1902 type(low_type) , intent(in) :: subset
1903 integer(IK) , intent(in) , optional :: doff
1904 complex(CKG) , intent(in) , optional :: init
1905 complex(CKG) , intent(in) :: source(:,:)
1906 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1907 end function
1908#endif
1909
1910#if CK2_ENABLED
1911 PURE module function getMatCopy_RDP_RDP_XLX_AIO_CK2(dpack, source, spack, subset, doff, init) result(destin)
1912#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1913 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_CK2
1914#endif
1915 use pm_kind, only: CKG => CK2
1916 type(rdpack_type) , intent(in) :: dpack
1917 type(rdpack_type) , intent(in) :: spack
1918 type(low_type) , intent(in) :: subset
1919 integer(IK) , intent(in) , optional :: doff
1920 complex(CKG) , intent(in) , optional :: init
1921 complex(CKG) , intent(in) :: source(:,:)
1922 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1923 end function
1924#endif
1925
1926#if CK1_ENABLED
1927 PURE module function getMatCopy_RDP_RDP_XLX_AIO_CK1(dpack, source, spack, subset, doff, init) result(destin)
1928#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1929 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_CK1
1930#endif
1931 use pm_kind, only: CKG => CK1
1932 type(rdpack_type) , intent(in) :: dpack
1933 type(rdpack_type) , intent(in) :: spack
1934 type(low_type) , intent(in) :: subset
1935 integer(IK) , intent(in) , optional :: doff
1936 complex(CKG) , intent(in) , optional :: init
1937 complex(CKG) , intent(in) :: source(:,:)
1938 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1939 end function
1940#endif
1941
1942 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1943
1944#if RK5_ENABLED
1945 PURE module function getMatCopy_RDP_RDP_XLX_AIO_RK5(dpack, source, spack, subset, doff, init) result(destin)
1946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1947 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_RK5
1948#endif
1949 use pm_kind, only: RKG => RK5
1950 type(rdpack_type) , intent(in) :: dpack
1951 type(rdpack_type) , intent(in) :: spack
1952 type(low_type) , intent(in) :: subset
1953 integer(IK) , intent(in) , optional :: doff
1954 real(RKG) , intent(in) , optional :: init
1955 real(RKG) , intent(in) :: source(:,:)
1956 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1957 end function
1958#endif
1959
1960#if RK4_ENABLED
1961 PURE module function getMatCopy_RDP_RDP_XLX_AIO_RK4(dpack, source, spack, subset, doff, init) result(destin)
1962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1963 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_RK4
1964#endif
1965 use pm_kind, only: RKG => RK4
1966 type(rdpack_type) , intent(in) :: dpack
1967 type(rdpack_type) , intent(in) :: spack
1968 type(low_type) , intent(in) :: subset
1969 integer(IK) , intent(in) , optional :: doff
1970 real(RKG) , intent(in) , optional :: init
1971 real(RKG) , intent(in) :: source(:,:)
1972 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1973 end function
1974#endif
1975
1976#if RK3_ENABLED
1977 PURE module function getMatCopy_RDP_RDP_XLX_AIO_RK3(dpack, source, spack, subset, doff, init) result(destin)
1978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1979 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_RK3
1980#endif
1981 use pm_kind, only: RKG => RK3
1982 type(rdpack_type) , intent(in) :: dpack
1983 type(rdpack_type) , intent(in) :: spack
1984 type(low_type) , intent(in) :: subset
1985 integer(IK) , intent(in) , optional :: doff
1986 real(RKG) , intent(in) , optional :: init
1987 real(RKG) , intent(in) :: source(:,:)
1988 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
1989 end function
1990#endif
1991
1992#if RK2_ENABLED
1993 PURE module function getMatCopy_RDP_RDP_XLX_AIO_RK2(dpack, source, spack, subset, doff, init) result(destin)
1994#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1995 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_RK2
1996#endif
1997 use pm_kind, only: RKG => RK2
1998 type(rdpack_type) , intent(in) :: dpack
1999 type(rdpack_type) , intent(in) :: spack
2000 type(low_type) , intent(in) :: subset
2001 integer(IK) , intent(in) , optional :: doff
2002 real(RKG) , intent(in) , optional :: init
2003 real(RKG) , intent(in) :: source(:,:)
2004 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2005 end function
2006#endif
2007
2008#if RK1_ENABLED
2009 PURE module function getMatCopy_RDP_RDP_XLX_AIO_RK1(dpack, source, spack, subset, doff, init) result(destin)
2010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2011 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_AIO_RK1
2012#endif
2013 use pm_kind, only: RKG => RK1
2014 type(rdpack_type) , intent(in) :: dpack
2015 type(rdpack_type) , intent(in) :: spack
2016 type(low_type) , intent(in) :: subset
2017 integer(IK) , intent(in) , optional :: doff
2018 real(RKG) , intent(in) , optional :: init
2019 real(RKG) , intent(in) :: source(:,:)
2020 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2021 end function
2022#endif
2023
2024 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2025
2026 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2027 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2028 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2029
2030 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2031
2032#if SK5_ENABLED
2033 PURE module function getMatCopy_RDP_RDP_XLX_TSO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2035 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_SK5
2036#endif
2037 use pm_kind, only: SKG => SK5
2038 type(rdpack_type) , intent(in) :: dpack
2039 type(rdpack_type) , intent(in) :: spack
2040 type(low_type) , intent(in) :: subset
2041 type(transSymm_type) , intent(in) :: operation
2042 integer(IK) , intent(in) , optional :: doff
2043 character(*,SKG) , intent(in) , optional :: init
2044 character(*,SKG) , intent(in) :: source(:,:)
2045 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2046 end function
2047#endif
2048
2049#if SK4_ENABLED
2050 PURE module function getMatCopy_RDP_RDP_XLX_TSO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2051#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2052 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_SK4
2053#endif
2054 use pm_kind, only: SKG => SK4
2055 type(rdpack_type) , intent(in) :: dpack
2056 type(rdpack_type) , intent(in) :: spack
2057 type(low_type) , intent(in) :: subset
2058 type(transSymm_type) , intent(in) :: operation
2059 integer(IK) , intent(in) , optional :: doff
2060 character(*,SKG) , intent(in) , optional :: init
2061 character(*,SKG) , intent(in) :: source(:,:)
2062 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2063 end function
2064#endif
2065
2066#if SK3_ENABLED
2067 PURE module function getMatCopy_RDP_RDP_XLX_TSO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2069 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_SK3
2070#endif
2071 use pm_kind, only: SKG => SK3
2072 type(rdpack_type) , intent(in) :: dpack
2073 type(rdpack_type) , intent(in) :: spack
2074 type(low_type) , intent(in) :: subset
2075 type(transSymm_type) , intent(in) :: operation
2076 integer(IK) , intent(in) , optional :: doff
2077 character(*,SKG) , intent(in) , optional :: init
2078 character(*,SKG) , intent(in) :: source(:,:)
2079 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2080 end function
2081#endif
2082
2083#if SK2_ENABLED
2084 PURE module function getMatCopy_RDP_RDP_XLX_TSO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2085#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2086 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_SK2
2087#endif
2088 use pm_kind, only: SKG => SK2
2089 type(rdpack_type) , intent(in) :: dpack
2090 type(rdpack_type) , intent(in) :: spack
2091 type(low_type) , intent(in) :: subset
2092 type(transSymm_type) , intent(in) :: operation
2093 integer(IK) , intent(in) , optional :: doff
2094 character(*,SKG) , intent(in) , optional :: init
2095 character(*,SKG) , intent(in) :: source(:,:)
2096 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2097 end function
2098#endif
2099
2100#if SK1_ENABLED
2101 PURE module function getMatCopy_RDP_RDP_XLX_TSO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2103 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_SK1
2104#endif
2105 use pm_kind, only: SKG => SK1
2106 type(rdpack_type) , intent(in) :: dpack
2107 type(rdpack_type) , intent(in) :: spack
2108 type(low_type) , intent(in) :: subset
2109 type(transSymm_type) , intent(in) :: operation
2110 integer(IK) , intent(in) , optional :: doff
2111 character(*,SKG) , intent(in) , optional :: init
2112 character(*,SKG) , intent(in) :: source(:,:)
2113 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2114 end function
2115#endif
2116
2117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2118
2119#if IK5_ENABLED
2120 PURE module function getMatCopy_RDP_RDP_XLX_TSO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2121#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2122 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_IK5
2123#endif
2124 use pm_kind, only: IKG => IK5
2125 type(rdpack_type) , intent(in) :: dpack
2126 type(rdpack_type) , intent(in) :: spack
2127 type(low_type) , intent(in) :: subset
2128 type(transSymm_type) , intent(in) :: operation
2129 integer(IK) , intent(in) , optional :: doff
2130 integer(IKG) , intent(in) , optional :: init
2131 integer(IKG) , intent(in) :: source(:,:)
2132 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2133 end function
2134#endif
2135
2136#if IK4_ENABLED
2137 PURE module function getMatCopy_RDP_RDP_XLX_TSO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2139 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_IK4
2140#endif
2141 use pm_kind, only: IKG => IK4
2142 type(rdpack_type) , intent(in) :: dpack
2143 type(rdpack_type) , intent(in) :: spack
2144 type(low_type) , intent(in) :: subset
2145 type(transSymm_type) , intent(in) :: operation
2146 integer(IK) , intent(in) , optional :: doff
2147 integer(IKG) , intent(in) , optional :: init
2148 integer(IKG) , intent(in) :: source(:,:)
2149 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2150 end function
2151#endif
2152
2153#if IK3_ENABLED
2154 PURE module function getMatCopy_RDP_RDP_XLX_TSO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2156 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_IK3
2157#endif
2158 use pm_kind, only: IKG => IK3
2159 type(rdpack_type) , intent(in) :: dpack
2160 type(rdpack_type) , intent(in) :: spack
2161 type(low_type) , intent(in) :: subset
2162 type(transSymm_type) , intent(in) :: operation
2163 integer(IK) , intent(in) , optional :: doff
2164 integer(IKG) , intent(in) , optional :: init
2165 integer(IKG) , intent(in) :: source(:,:)
2166 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2167 end function
2168#endif
2169
2170#if IK2_ENABLED
2171 PURE module function getMatCopy_RDP_RDP_XLX_TSO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2173 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_IK2
2174#endif
2175 use pm_kind, only: IKG => IK2
2176 type(rdpack_type) , intent(in) :: dpack
2177 type(rdpack_type) , intent(in) :: spack
2178 type(low_type) , intent(in) :: subset
2179 type(transSymm_type) , intent(in) :: operation
2180 integer(IK) , intent(in) , optional :: doff
2181 integer(IKG) , intent(in) , optional :: init
2182 integer(IKG) , intent(in) :: source(:,:)
2183 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2184 end function
2185#endif
2186
2187#if IK1_ENABLED
2188 PURE module function getMatCopy_RDP_RDP_XLX_TSO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2189#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2190 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_IK1
2191#endif
2192 use pm_kind, only: IKG => IK1
2193 type(rdpack_type) , intent(in) :: dpack
2194 type(rdpack_type) , intent(in) :: spack
2195 type(low_type) , intent(in) :: subset
2196 type(transSymm_type) , intent(in) :: operation
2197 integer(IK) , intent(in) , optional :: doff
2198 integer(IKG) , intent(in) , optional :: init
2199 integer(IKG) , intent(in) :: source(:,:)
2200 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2201 end function
2202#endif
2203
2204 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2205
2206#if LK5_ENABLED
2207 PURE module function getMatCopy_RDP_RDP_XLX_TSO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2208#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2209 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_LK5
2210#endif
2211 use pm_kind, only: LKG => LK5
2212 type(rdpack_type) , intent(in) :: dpack
2213 type(rdpack_type) , intent(in) :: spack
2214 type(low_type) , intent(in) :: subset
2215 type(transSymm_type) , intent(in) :: operation
2216 integer(IK) , intent(in) , optional :: doff
2217 logical(LKG) , intent(in) , optional :: init
2218 logical(LKG) , intent(in) :: source(:,:)
2219 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2220 end function
2221#endif
2222
2223#if LK4_ENABLED
2224 PURE module function getMatCopy_RDP_RDP_XLX_TSO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2225#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2226 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_LK4
2227#endif
2228 use pm_kind, only: LKG => LK4
2229 type(rdpack_type) , intent(in) :: dpack
2230 type(rdpack_type) , intent(in) :: spack
2231 type(low_type) , intent(in) :: subset
2232 type(transSymm_type) , intent(in) :: operation
2233 integer(IK) , intent(in) , optional :: doff
2234 logical(LKG) , intent(in) , optional :: init
2235 logical(LKG) , intent(in) :: source(:,:)
2236 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2237 end function
2238#endif
2239
2240#if LK3_ENABLED
2241 PURE module function getMatCopy_RDP_RDP_XLX_TSO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2243 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_LK3
2244#endif
2245 use pm_kind, only: LKG => LK3
2246 type(rdpack_type) , intent(in) :: dpack
2247 type(rdpack_type) , intent(in) :: spack
2248 type(low_type) , intent(in) :: subset
2249 type(transSymm_type) , intent(in) :: operation
2250 integer(IK) , intent(in) , optional :: doff
2251 logical(LKG) , intent(in) , optional :: init
2252 logical(LKG) , intent(in) :: source(:,:)
2253 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2254 end function
2255#endif
2256
2257#if LK2_ENABLED
2258 PURE module function getMatCopy_RDP_RDP_XLX_TSO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2259#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2260 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_LK2
2261#endif
2262 use pm_kind, only: LKG => LK2
2263 type(rdpack_type) , intent(in) :: dpack
2264 type(rdpack_type) , intent(in) :: spack
2265 type(low_type) , intent(in) :: subset
2266 type(transSymm_type) , intent(in) :: operation
2267 integer(IK) , intent(in) , optional :: doff
2268 logical(LKG) , intent(in) , optional :: init
2269 logical(LKG) , intent(in) :: source(:,:)
2270 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2271 end function
2272#endif
2273
2274#if LK1_ENABLED
2275 PURE module function getMatCopy_RDP_RDP_XLX_TSO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2276#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2277 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_LK1
2278#endif
2279 use pm_kind, only: LKG => LK1
2280 type(rdpack_type) , intent(in) :: dpack
2281 type(rdpack_type) , intent(in) :: spack
2282 type(low_type) , intent(in) :: subset
2283 type(transSymm_type) , intent(in) :: operation
2284 integer(IK) , intent(in) , optional :: doff
2285 logical(LKG) , intent(in) , optional :: init
2286 logical(LKG) , intent(in) :: source(:,:)
2287 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2288 end function
2289#endif
2290
2291 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2292
2293#if CK5_ENABLED
2294 PURE module function getMatCopy_RDP_RDP_XLX_TSO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2296 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_CK5
2297#endif
2298 use pm_kind, only: CKG => CK5
2299 type(rdpack_type) , intent(in) :: dpack
2300 type(rdpack_type) , intent(in) :: spack
2301 type(low_type) , intent(in) :: subset
2302 type(transSymm_type) , intent(in) :: operation
2303 integer(IK) , intent(in) , optional :: doff
2304 complex(CKG) , intent(in) , optional :: init
2305 complex(CKG) , intent(in) :: source(:,:)
2306 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2307 end function
2308#endif
2309
2310#if CK4_ENABLED
2311 PURE module function getMatCopy_RDP_RDP_XLX_TSO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2312#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2313 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_CK4
2314#endif
2315 use pm_kind, only: CKG => CK4
2316 type(rdpack_type) , intent(in) :: dpack
2317 type(rdpack_type) , intent(in) :: spack
2318 type(low_type) , intent(in) :: subset
2319 type(transSymm_type) , intent(in) :: operation
2320 integer(IK) , intent(in) , optional :: doff
2321 complex(CKG) , intent(in) , optional :: init
2322 complex(CKG) , intent(in) :: source(:,:)
2323 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2324 end function
2325#endif
2326
2327#if CK3_ENABLED
2328 PURE module function getMatCopy_RDP_RDP_XLX_TSO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2329#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2330 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_CK3
2331#endif
2332 use pm_kind, only: CKG => CK3
2333 type(rdpack_type) , intent(in) :: dpack
2334 type(rdpack_type) , intent(in) :: spack
2335 type(low_type) , intent(in) :: subset
2336 type(transSymm_type) , intent(in) :: operation
2337 integer(IK) , intent(in) , optional :: doff
2338 complex(CKG) , intent(in) , optional :: init
2339 complex(CKG) , intent(in) :: source(:,:)
2340 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2341 end function
2342#endif
2343
2344#if CK2_ENABLED
2345 PURE module function getMatCopy_RDP_RDP_XLX_TSO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2346#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2347 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_CK2
2348#endif
2349 use pm_kind, only: CKG => CK2
2350 type(rdpack_type) , intent(in) :: dpack
2351 type(rdpack_type) , intent(in) :: spack
2352 type(low_type) , intent(in) :: subset
2353 type(transSymm_type) , intent(in) :: operation
2354 integer(IK) , intent(in) , optional :: doff
2355 complex(CKG) , intent(in) , optional :: init
2356 complex(CKG) , intent(in) :: source(:,:)
2357 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2358 end function
2359#endif
2360
2361#if CK1_ENABLED
2362 PURE module function getMatCopy_RDP_RDP_XLX_TSO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2363#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2364 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_CK1
2365#endif
2366 use pm_kind, only: CKG => CK1
2367 type(rdpack_type) , intent(in) :: dpack
2368 type(rdpack_type) , intent(in) :: spack
2369 type(low_type) , intent(in) :: subset
2370 type(transSymm_type) , intent(in) :: operation
2371 integer(IK) , intent(in) , optional :: doff
2372 complex(CKG) , intent(in) , optional :: init
2373 complex(CKG) , intent(in) :: source(:,:)
2374 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2375 end function
2376#endif
2377
2378 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2379
2380#if RK5_ENABLED
2381 PURE module function getMatCopy_RDP_RDP_XLX_TSO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2382#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2383 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_RK5
2384#endif
2385 use pm_kind, only: RKG => RK5
2386 type(rdpack_type) , intent(in) :: dpack
2387 type(rdpack_type) , intent(in) :: spack
2388 type(low_type) , intent(in) :: subset
2389 type(transSymm_type) , intent(in) :: operation
2390 integer(IK) , intent(in) , optional :: doff
2391 real(RKG) , intent(in) , optional :: init
2392 real(RKG) , intent(in) :: source(:,:)
2393 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2394 end function
2395#endif
2396
2397#if RK4_ENABLED
2398 PURE module function getMatCopy_RDP_RDP_XLX_TSO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2399#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2400 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_RK4
2401#endif
2402 use pm_kind, only: RKG => RK4
2403 type(rdpack_type) , intent(in) :: dpack
2404 type(rdpack_type) , intent(in) :: spack
2405 type(low_type) , intent(in) :: subset
2406 type(transSymm_type) , intent(in) :: operation
2407 integer(IK) , intent(in) , optional :: doff
2408 real(RKG) , intent(in) , optional :: init
2409 real(RKG) , intent(in) :: source(:,:)
2410 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2411 end function
2412#endif
2413
2414#if RK3_ENABLED
2415 PURE module function getMatCopy_RDP_RDP_XLX_TSO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2416#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2417 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_RK3
2418#endif
2419 use pm_kind, only: RKG => RK3
2420 type(rdpack_type) , intent(in) :: dpack
2421 type(rdpack_type) , intent(in) :: spack
2422 type(low_type) , intent(in) :: subset
2423 type(transSymm_type) , intent(in) :: operation
2424 integer(IK) , intent(in) , optional :: doff
2425 real(RKG) , intent(in) , optional :: init
2426 real(RKG) , intent(in) :: source(:,:)
2427 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2428 end function
2429#endif
2430
2431#if RK2_ENABLED
2432 PURE module function getMatCopy_RDP_RDP_XLX_TSO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2434 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_RK2
2435#endif
2436 use pm_kind, only: RKG => RK2
2437 type(rdpack_type) , intent(in) :: dpack
2438 type(rdpack_type) , intent(in) :: spack
2439 type(low_type) , intent(in) :: subset
2440 type(transSymm_type) , intent(in) :: operation
2441 integer(IK) , intent(in) , optional :: doff
2442 real(RKG) , intent(in) , optional :: init
2443 real(RKG) , intent(in) :: source(:,:)
2444 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2445 end function
2446#endif
2447
2448#if RK1_ENABLED
2449 PURE module function getMatCopy_RDP_RDP_XLX_TSO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2451 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_TSO_RK1
2452#endif
2453 use pm_kind, only: RKG => RK1
2454 type(rdpack_type) , intent(in) :: dpack
2455 type(rdpack_type) , intent(in) :: spack
2456 type(low_type) , intent(in) :: subset
2457 type(transSymm_type) , intent(in) :: operation
2458 integer(IK) , intent(in) , optional :: doff
2459 real(RKG) , intent(in) , optional :: init
2460 real(RKG) , intent(in) :: source(:,:)
2461 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2462 end function
2463#endif
2464
2465 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2466
2467 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2468 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2469 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2470
2471 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2472
2473#if SK5_ENABLED
2474 PURE module function getMatCopy_RDP_RDP_XLX_THO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2475#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2476 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_SK5
2477#endif
2478 use pm_kind, only: SKG => SK5
2479 type(rdpack_type) , intent(in) :: dpack
2480 type(rdpack_type) , intent(in) :: spack
2481 type(low_type) , intent(in) :: subset
2482 type(transHerm_type) , intent(in) :: operation
2483 integer(IK) , intent(in) , optional :: doff
2484 character(*,SKG) , intent(in) , optional :: init
2485 character(*,SKG) , intent(in) :: source(:,:)
2486 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2487 end function
2488#endif
2489
2490#if SK4_ENABLED
2491 PURE module function getMatCopy_RDP_RDP_XLX_THO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2492#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2493 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_SK4
2494#endif
2495 use pm_kind, only: SKG => SK4
2496 type(rdpack_type) , intent(in) :: dpack
2497 type(rdpack_type) , intent(in) :: spack
2498 type(low_type) , intent(in) :: subset
2499 type(rdpack_type) , intent(in) :: dpack
2500 type(rdpack_type) , intent(in) :: spack
2501 type(transHerm_type) , intent(in) :: operation
2502 integer(IK) , intent(in) , optional :: doff
2503 character(*,SKG) , intent(in) , optional :: init
2504 character(*,SKG) , intent(in) :: source(:,:)
2505 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2506 end function
2507#endif
2508
2509#if SK3_ENABLED
2510 PURE module function getMatCopy_RDP_RDP_XLX_THO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2511#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2512 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_SK3
2513#endif
2514 use pm_kind, only: SKG => SK3
2515 type(rdpack_type) , intent(in) :: dpack
2516 type(rdpack_type) , intent(in) :: spack
2517 type(low_type) , intent(in) :: subset
2518 type(transHerm_type) , intent(in) :: operation
2519 integer(IK) , intent(in) , optional :: doff
2520 character(*,SKG) , intent(in) , optional :: init
2521 character(*,SKG) , intent(in) :: source(:,:)
2522 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2523 end function
2524#endif
2525
2526#if SK2_ENABLED
2527 PURE module function getMatCopy_RDP_RDP_XLX_THO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2528#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2529 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_SK2
2530#endif
2531 use pm_kind, only: SKG => SK2
2532 type(rdpack_type) , intent(in) :: dpack
2533 type(rdpack_type) , intent(in) :: spack
2534 type(low_type) , intent(in) :: subset
2535 type(transHerm_type) , intent(in) :: operation
2536 integer(IK) , intent(in) , optional :: doff
2537 character(*,SKG) , intent(in) , optional :: init
2538 character(*,SKG) , intent(in) :: source(:,:)
2539 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2540 end function
2541#endif
2542
2543#if SK1_ENABLED
2544 PURE module function getMatCopy_RDP_RDP_XLX_THO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2546 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_SK1
2547#endif
2548 use pm_kind, only: SKG => SK1
2549 type(rdpack_type) , intent(in) :: dpack
2550 type(rdpack_type) , intent(in) :: spack
2551 type(low_type) , intent(in) :: subset
2552 type(transHerm_type) , intent(in) :: operation
2553 integer(IK) , intent(in) , optional :: doff
2554 character(*,SKG) , intent(in) , optional :: init
2555 character(*,SKG) , intent(in) :: source(:,:)
2556 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2557 end function
2558#endif
2559
2560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2561
2562#if IK5_ENABLED
2563 PURE module function getMatCopy_RDP_RDP_XLX_THO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2564#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2565 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_IK5
2566#endif
2567 use pm_kind, only: IKG => IK5
2568 type(rdpack_type) , intent(in) :: dpack
2569 type(rdpack_type) , intent(in) :: spack
2570 type(low_type) , intent(in) :: subset
2571 type(transHerm_type) , intent(in) :: operation
2572 integer(IK) , intent(in) , optional :: doff
2573 integer(IKG) , intent(in) , optional :: init
2574 integer(IKG) , intent(in) :: source(:,:)
2575 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2576 end function
2577#endif
2578
2579#if IK4_ENABLED
2580 PURE module function getMatCopy_RDP_RDP_XLX_THO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2581#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2582 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_IK4
2583#endif
2584 use pm_kind, only: IKG => IK4
2585 type(rdpack_type) , intent(in) :: dpack
2586 type(rdpack_type) , intent(in) :: spack
2587 type(low_type) , intent(in) :: subset
2588 type(transHerm_type) , intent(in) :: operation
2589 integer(IK) , intent(in) , optional :: doff
2590 integer(IKG) , intent(in) , optional :: init
2591 integer(IKG) , intent(in) :: source(:,:)
2592 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2593 end function
2594#endif
2595
2596#if IK3_ENABLED
2597 PURE module function getMatCopy_RDP_RDP_XLX_THO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2598#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2599 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_IK3
2600#endif
2601 use pm_kind, only: IKG => IK3
2602 type(rdpack_type) , intent(in) :: dpack
2603 type(rdpack_type) , intent(in) :: spack
2604 type(low_type) , intent(in) :: subset
2605 type(transHerm_type) , intent(in) :: operation
2606 integer(IK) , intent(in) , optional :: doff
2607 integer(IKG) , intent(in) , optional :: init
2608 integer(IKG) , intent(in) :: source(:,:)
2609 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2610 end function
2611#endif
2612
2613#if IK2_ENABLED
2614 PURE module function getMatCopy_RDP_RDP_XLX_THO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2615#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2616 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_IK2
2617#endif
2618 use pm_kind, only: IKG => IK2
2619 type(rdpack_type) , intent(in) :: dpack
2620 type(rdpack_type) , intent(in) :: spack
2621 type(low_type) , intent(in) :: subset
2622 type(transHerm_type) , intent(in) :: operation
2623 integer(IK) , intent(in) , optional :: doff
2624 integer(IKG) , intent(in) , optional :: init
2625 integer(IKG) , intent(in) :: source(:,:)
2626 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2627 end function
2628#endif
2629
2630#if IK1_ENABLED
2631 PURE module function getMatCopy_RDP_RDP_XLX_THO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2633 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_IK1
2634#endif
2635 use pm_kind, only: IKG => IK1
2636 type(rdpack_type) , intent(in) :: dpack
2637 type(rdpack_type) , intent(in) :: spack
2638 type(low_type) , intent(in) :: subset
2639 type(transHerm_type) , intent(in) :: operation
2640 integer(IK) , intent(in) , optional :: doff
2641 integer(IKG) , intent(in) , optional :: init
2642 integer(IKG) , intent(in) :: source(:,:)
2643 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2644 end function
2645#endif
2646
2647 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2648
2649#if LK5_ENABLED
2650 PURE module function getMatCopy_RDP_RDP_XLX_THO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2651#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2652 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_LK5
2653#endif
2654 use pm_kind, only: LKG => LK5
2655 type(rdpack_type) , intent(in) :: dpack
2656 type(rdpack_type) , intent(in) :: spack
2657 type(low_type) , intent(in) :: subset
2658 type(transHerm_type) , intent(in) :: operation
2659 integer(IK) , intent(in) , optional :: doff
2660 logical(LKG) , intent(in) , optional :: init
2661 logical(LKG) , intent(in) :: source(:,:)
2662 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2663 end function
2664#endif
2665
2666#if LK4_ENABLED
2667 PURE module function getMatCopy_RDP_RDP_XLX_THO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2668#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2669 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_LK4
2670#endif
2671 use pm_kind, only: LKG => LK4
2672 type(rdpack_type) , intent(in) :: dpack
2673 type(rdpack_type) , intent(in) :: spack
2674 type(low_type) , intent(in) :: subset
2675 type(transHerm_type) , intent(in) :: operation
2676 integer(IK) , intent(in) , optional :: doff
2677 logical(LKG) , intent(in) , optional :: init
2678 logical(LKG) , intent(in) :: source(:,:)
2679 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2680 end function
2681#endif
2682
2683#if LK3_ENABLED
2684 PURE module function getMatCopy_RDP_RDP_XLX_THO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2685#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2686 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_LK3
2687#endif
2688 use pm_kind, only: LKG => LK3
2689 type(rdpack_type) , intent(in) :: dpack
2690 type(rdpack_type) , intent(in) :: spack
2691 type(low_type) , intent(in) :: subset
2692 type(transHerm_type) , intent(in) :: operation
2693 integer(IK) , intent(in) , optional :: doff
2694 logical(LKG) , intent(in) , optional :: init
2695 logical(LKG) , intent(in) :: source(:,:)
2696 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2697 end function
2698#endif
2699
2700#if LK2_ENABLED
2701 PURE module function getMatCopy_RDP_RDP_XLX_THO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2702#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2703 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_LK2
2704#endif
2705 use pm_kind, only: LKG => LK2
2706 type(rdpack_type) , intent(in) :: dpack
2707 type(rdpack_type) , intent(in) :: spack
2708 type(low_type) , intent(in) :: subset
2709 type(transHerm_type) , intent(in) :: operation
2710 integer(IK) , intent(in) , optional :: doff
2711 logical(LKG) , intent(in) , optional :: init
2712 logical(LKG) , intent(in) :: source(:,:)
2713 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2714 end function
2715#endif
2716
2717#if LK1_ENABLED
2718 PURE module function getMatCopy_RDP_RDP_XLX_THO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2720 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_LK1
2721#endif
2722 use pm_kind, only: LKG => LK1
2723 type(rdpack_type) , intent(in) :: dpack
2724 type(rdpack_type) , intent(in) :: spack
2725 type(low_type) , intent(in) :: subset
2726 type(transHerm_type) , intent(in) :: operation
2727 integer(IK) , intent(in) , optional :: doff
2728 logical(LKG) , intent(in) , optional :: init
2729 logical(LKG) , intent(in) :: source(:,:)
2730 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2731 end function
2732#endif
2733
2734 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2735
2736#if CK5_ENABLED
2737 PURE module function getMatCopy_RDP_RDP_XLX_THO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2738#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2739 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_CK5
2740#endif
2741 use pm_kind, only: CKG => CK5
2742 type(rdpack_type) , intent(in) :: dpack
2743 type(rdpack_type) , intent(in) :: spack
2744 type(low_type) , intent(in) :: subset
2745 type(transHerm_type) , intent(in) :: operation
2746 integer(IK) , intent(in) , optional :: doff
2747 complex(CKG) , intent(in) , optional :: init
2748 complex(CKG) , intent(in) :: source(:,:)
2749 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2750 end function
2751#endif
2752
2753#if CK4_ENABLED
2754 PURE module function getMatCopy_RDP_RDP_XLX_THO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2755#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2756 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_CK4
2757#endif
2758 use pm_kind, only: CKG => CK4
2759 type(rdpack_type) , intent(in) :: dpack
2760 type(rdpack_type) , intent(in) :: spack
2761 type(low_type) , intent(in) :: subset
2762 type(transHerm_type) , intent(in) :: operation
2763 integer(IK) , intent(in) , optional :: doff
2764 complex(CKG) , intent(in) , optional :: init
2765 complex(CKG) , intent(in) :: source(:,:)
2766 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2767 end function
2768#endif
2769
2770#if CK3_ENABLED
2771 PURE module function getMatCopy_RDP_RDP_XLX_THO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2772#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2773 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_CK3
2774#endif
2775 use pm_kind, only: CKG => CK3
2776 type(rdpack_type) , intent(in) :: dpack
2777 type(rdpack_type) , intent(in) :: spack
2778 type(low_type) , intent(in) :: subset
2779 type(transHerm_type) , intent(in) :: operation
2780 integer(IK) , intent(in) , optional :: doff
2781 complex(CKG) , intent(in) , optional :: init
2782 complex(CKG) , intent(in) :: source(:,:)
2783 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2784 end function
2785#endif
2786
2787#if CK2_ENABLED
2788 PURE module function getMatCopy_RDP_RDP_XLX_THO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2789#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2790 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_CK2
2791#endif
2792 use pm_kind, only: CKG => CK2
2793 type(rdpack_type) , intent(in) :: dpack
2794 type(rdpack_type) , intent(in) :: spack
2795 type(low_type) , intent(in) :: subset
2796 type(transHerm_type) , intent(in) :: operation
2797 integer(IK) , intent(in) , optional :: doff
2798 complex(CKG) , intent(in) , optional :: init
2799 complex(CKG) , intent(in) :: source(:,:)
2800 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2801 end function
2802#endif
2803
2804#if CK1_ENABLED
2805 PURE module function getMatCopy_RDP_RDP_XLX_THO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2807 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_CK1
2808#endif
2809 use pm_kind, only: CKG => CK1
2810 type(rdpack_type) , intent(in) :: dpack
2811 type(rdpack_type) , intent(in) :: spack
2812 type(low_type) , intent(in) :: subset
2813 type(transHerm_type) , intent(in) :: operation
2814 integer(IK) , intent(in) , optional :: doff
2815 complex(CKG) , intent(in) , optional :: init
2816 complex(CKG) , intent(in) :: source(:,:)
2817 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2818 end function
2819#endif
2820
2821 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2822
2823#if RK5_ENABLED
2824 PURE module function getMatCopy_RDP_RDP_XLX_THO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
2825#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2826 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_RK5
2827#endif
2828 use pm_kind, only: RKG => RK5
2829 type(rdpack_type) , intent(in) :: dpack
2830 type(rdpack_type) , intent(in) :: spack
2831 type(low_type) , intent(in) :: subset
2832 type(transHerm_type) , intent(in) :: operation
2833 integer(IK) , intent(in) , optional :: doff
2834 real(RKG) , intent(in) , optional :: init
2835 real(RKG) , intent(in) :: source(:,:)
2836 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2837 end function
2838#endif
2839
2840#if RK4_ENABLED
2841 PURE module function getMatCopy_RDP_RDP_XLX_THO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
2842#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2843 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_RK4
2844#endif
2845 use pm_kind, only: RKG => RK4
2846 type(rdpack_type) , intent(in) :: dpack
2847 type(rdpack_type) , intent(in) :: spack
2848 type(low_type) , intent(in) :: subset
2849 type(transHerm_type) , intent(in) :: operation
2850 integer(IK) , intent(in) , optional :: doff
2851 real(RKG) , intent(in) , optional :: init
2852 real(RKG) , intent(in) :: source(:,:)
2853 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2854 end function
2855#endif
2856
2857#if RK3_ENABLED
2858 PURE module function getMatCopy_RDP_RDP_XLX_THO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
2859#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2860 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_RK3
2861#endif
2862 use pm_kind, only: RKG => RK3
2863 type(rdpack_type) , intent(in) :: dpack
2864 type(rdpack_type) , intent(in) :: spack
2865 type(low_type) , intent(in) :: subset
2866 type(transHerm_type) , intent(in) :: operation
2867 integer(IK) , intent(in) , optional :: doff
2868 real(RKG) , intent(in) , optional :: init
2869 real(RKG) , intent(in) :: source(:,:)
2870 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2871 end function
2872#endif
2873
2874#if RK2_ENABLED
2875 PURE module function getMatCopy_RDP_RDP_XLX_THO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
2876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2877 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_RK2
2878#endif
2879 use pm_kind, only: RKG => RK2
2880 type(rdpack_type) , intent(in) :: dpack
2881 type(rdpack_type) , intent(in) :: spack
2882 type(low_type) , intent(in) :: subset
2883 type(transHerm_type) , intent(in) :: operation
2884 integer(IK) , intent(in) , optional :: doff
2885 real(RKG) , intent(in) , optional :: init
2886 real(RKG) , intent(in) :: source(:,:)
2887 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2888 end function
2889#endif
2890
2891#if RK1_ENABLED
2892 PURE module function getMatCopy_RDP_RDP_XLX_THO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
2893#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2894 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XLX_THO_RK1
2895#endif
2896 use pm_kind, only: RKG => RK1
2897 type(rdpack_type) , intent(in) :: dpack
2898 type(rdpack_type) , intent(in) :: spack
2899 type(low_type) , intent(in) :: subset
2900 type(transHerm_type) , intent(in) :: operation
2901 integer(IK) , intent(in) , optional :: doff
2902 real(RKG) , intent(in) , optional :: init
2903 real(RKG) , intent(in) :: source(:,:)
2904 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
2905 end function
2906#endif
2907
2908 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2909
2910 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2913
2914 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2915 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2916 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2917
2918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2919
2920#if SK5_ENABLED
2921 PURE module function getMatCopy_RDP_RDP_XXD_AIO_SK5(dpack, source, spack, subset, doff, init) result(destin)
2922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2923 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_SK5
2924#endif
2925 use pm_kind, only: SKG => SK5
2926 type(rdpack_type) , intent(in) :: dpack
2927 type(rdpack_type) , intent(in) :: spack
2928 type(dia_type) , intent(in) :: subset
2929 integer(IK) , intent(in) , optional :: doff
2930 character(*,SKG) , intent(in) , optional :: init
2931 character(*,SKG) , intent(in) :: source(:,:)
2932 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2933 end function
2934#endif
2935
2936#if SK4_ENABLED
2937 PURE module function getMatCopy_RDP_RDP_XXD_AIO_SK4(dpack, source, spack, subset, doff, init) result(destin)
2938#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2939 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_SK4
2940#endif
2941 use pm_kind, only: SKG => SK4
2942 type(rdpack_type) , intent(in) :: dpack
2943 type(rdpack_type) , intent(in) :: spack
2944 type(dia_type) , intent(in) :: subset
2945 integer(IK) , intent(in) , optional :: doff
2946 character(*,SKG) , intent(in) , optional :: init
2947 character(*,SKG) , intent(in) :: source(:,:)
2948 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2949 end function
2950#endif
2951
2952#if SK3_ENABLED
2953 PURE module function getMatCopy_RDP_RDP_XXD_AIO_SK3(dpack, source, spack, subset, doff, init) result(destin)
2954#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2955 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_SK3
2956#endif
2957 use pm_kind, only: SKG => SK3
2958 type(rdpack_type) , intent(in) :: dpack
2959 type(rdpack_type) , intent(in) :: spack
2960 type(dia_type) , intent(in) :: subset
2961 integer(IK) , intent(in) , optional :: doff
2962 character(*,SKG) , intent(in) , optional :: init
2963 character(*,SKG) , intent(in) :: source(:,:)
2964 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2965 end function
2966#endif
2967
2968#if SK2_ENABLED
2969 PURE module function getMatCopy_RDP_RDP_XXD_AIO_SK2(dpack, source, spack, subset, doff, init) result(destin)
2970#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2971 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_SK2
2972#endif
2973 use pm_kind, only: SKG => SK2
2974 type(rdpack_type) , intent(in) :: dpack
2975 type(rdpack_type) , intent(in) :: spack
2976 type(dia_type) , intent(in) :: subset
2977 integer(IK) , intent(in) , optional :: doff
2978 character(*,SKG) , intent(in) , optional :: init
2979 character(*,SKG) , intent(in) :: source(:,:)
2980 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2981 end function
2982#endif
2983
2984#if SK1_ENABLED
2985 PURE module function getMatCopy_RDP_RDP_XXD_AIO_SK1(dpack, source, spack, subset, doff, init) result(destin)
2986#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2987 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_SK1
2988#endif
2989 use pm_kind, only: SKG => SK1
2990 type(rdpack_type) , intent(in) :: dpack
2991 type(rdpack_type) , intent(in) :: spack
2992 type(dia_type) , intent(in) :: subset
2993 integer(IK) , intent(in) , optional :: doff
2994 character(*,SKG) , intent(in) , optional :: init
2995 character(*,SKG) , intent(in) :: source(:,:)
2996 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
2997 end function
2998#endif
2999
3000 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3001
3002#if IK5_ENABLED
3003 PURE module function getMatCopy_RDP_RDP_XXD_AIO_IK5(dpack, source, spack, subset, doff, init) result(destin)
3004#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3005 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_IK5
3006#endif
3007 use pm_kind, only: IKG => IK5
3008 type(rdpack_type) , intent(in) :: dpack
3009 type(rdpack_type) , intent(in) :: spack
3010 type(dia_type) , intent(in) :: subset
3011 integer(IK) , intent(in) , optional :: doff
3012 integer(IKG) , intent(in) , optional :: init
3013 integer(IKG) , intent(in) :: source(:,:)
3014 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3015 end function
3016#endif
3017
3018#if IK4_ENABLED
3019 PURE module function getMatCopy_RDP_RDP_XXD_AIO_IK4(dpack, source, spack, subset, doff, init) result(destin)
3020#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3021 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_IK4
3022#endif
3023 use pm_kind, only: IKG => IK4
3024 type(rdpack_type) , intent(in) :: dpack
3025 type(rdpack_type) , intent(in) :: spack
3026 type(dia_type) , intent(in) :: subset
3027 integer(IK) , intent(in) , optional :: doff
3028 integer(IKG) , intent(in) , optional :: init
3029 integer(IKG) , intent(in) :: source(:,:)
3030 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3031 end function
3032#endif
3033
3034#if IK3_ENABLED
3035 PURE module function getMatCopy_RDP_RDP_XXD_AIO_IK3(dpack, source, spack, subset, doff, init) result(destin)
3036#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3037 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_IK3
3038#endif
3039 use pm_kind, only: IKG => IK3
3040 type(rdpack_type) , intent(in) :: dpack
3041 type(rdpack_type) , intent(in) :: spack
3042 type(dia_type) , intent(in) :: subset
3043 integer(IK) , intent(in) , optional :: doff
3044 integer(IKG) , intent(in) , optional :: init
3045 integer(IKG) , intent(in) :: source(:,:)
3046 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3047 end function
3048#endif
3049
3050#if IK2_ENABLED
3051 PURE module function getMatCopy_RDP_RDP_XXD_AIO_IK2(dpack, source, spack, subset, doff, init) result(destin)
3052#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3053 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_IK2
3054#endif
3055 use pm_kind, only: IKG => IK2
3056 type(rdpack_type) , intent(in) :: dpack
3057 type(rdpack_type) , intent(in) :: spack
3058 type(dia_type) , intent(in) :: subset
3059 integer(IK) , intent(in) , optional :: doff
3060 integer(IKG) , intent(in) , optional :: init
3061 integer(IKG) , intent(in) :: source(:,:)
3062 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3063 end function
3064#endif
3065
3066#if IK1_ENABLED
3067 PURE module function getMatCopy_RDP_RDP_XXD_AIO_IK1(dpack, source, spack, subset, doff, init) result(destin)
3068#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3069 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_IK1
3070#endif
3071 use pm_kind, only: IKG => IK1
3072 type(rdpack_type) , intent(in) :: dpack
3073 type(rdpack_type) , intent(in) :: spack
3074 type(dia_type) , intent(in) :: subset
3075 integer(IK) , intent(in) , optional :: doff
3076 integer(IKG) , intent(in) , optional :: init
3077 integer(IKG) , intent(in) :: source(:,:)
3078 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3079 end function
3080#endif
3081
3082 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3083
3084#if LK5_ENABLED
3085 PURE module function getMatCopy_RDP_RDP_XXD_AIO_LK5(dpack, source, spack, subset, doff, init) result(destin)
3086#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3087 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_LK5
3088#endif
3089 use pm_kind, only: LKG => LK5
3090 type(rdpack_type) , intent(in) :: dpack
3091 type(rdpack_type) , intent(in) :: spack
3092 type(dia_type) , intent(in) :: subset
3093 integer(IK) , intent(in) , optional :: doff
3094 logical(LKG) , intent(in) , optional :: init
3095 logical(LKG) , intent(in) :: source(:,:)
3096 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3097 end function
3098#endif
3099
3100#if LK4_ENABLED
3101 PURE module function getMatCopy_RDP_RDP_XXD_AIO_LK4(dpack, source, spack, subset, doff, init) result(destin)
3102#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3103 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_LK4
3104#endif
3105 use pm_kind, only: LKG => LK4
3106 type(rdpack_type) , intent(in) :: dpack
3107 type(rdpack_type) , intent(in) :: spack
3108 type(dia_type) , intent(in) :: subset
3109 integer(IK) , intent(in) , optional :: doff
3110 logical(LKG) , intent(in) , optional :: init
3111 logical(LKG) , intent(in) :: source(:,:)
3112 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3113 end function
3114#endif
3115
3116#if LK3_ENABLED
3117 PURE module function getMatCopy_RDP_RDP_XXD_AIO_LK3(dpack, source, spack, subset, doff, init) result(destin)
3118#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3119 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_LK3
3120#endif
3121 use pm_kind, only: LKG => LK3
3122 type(rdpack_type) , intent(in) :: dpack
3123 type(rdpack_type) , intent(in) :: spack
3124 type(dia_type) , intent(in) :: subset
3125 integer(IK) , intent(in) , optional :: doff
3126 logical(LKG) , intent(in) , optional :: init
3127 logical(LKG) , intent(in) :: source(:,:)
3128 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3129 end function
3130#endif
3131
3132#if LK2_ENABLED
3133 PURE module function getMatCopy_RDP_RDP_XXD_AIO_LK2(dpack, source, spack, subset, doff, init) result(destin)
3134#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3135 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_LK2
3136#endif
3137 use pm_kind, only: LKG => LK2
3138 type(rdpack_type) , intent(in) :: dpack
3139 type(rdpack_type) , intent(in) :: spack
3140 type(dia_type) , intent(in) :: subset
3141 integer(IK) , intent(in) , optional :: doff
3142 logical(LKG) , intent(in) , optional :: init
3143 logical(LKG) , intent(in) :: source(:,:)
3144 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3145 end function
3146#endif
3147
3148#if LK1_ENABLED
3149 PURE module function getMatCopy_RDP_RDP_XXD_AIO_LK1(dpack, source, spack, subset, doff, init) result(destin)
3150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3151 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_LK1
3152#endif
3153 use pm_kind, only: LKG => LK1
3154 type(rdpack_type) , intent(in) :: dpack
3155 type(rdpack_type) , intent(in) :: spack
3156 type(dia_type) , intent(in) :: subset
3157 integer(IK) , intent(in) , optional :: doff
3158 logical(LKG) , intent(in) , optional :: init
3159 logical(LKG) , intent(in) :: source(:,:)
3160 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3161 end function
3162#endif
3163
3164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3165
3166#if CK5_ENABLED
3167 PURE module function getMatCopy_RDP_RDP_XXD_AIO_CK5(dpack, source, spack, subset, doff, init) result(destin)
3168#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3169 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_CK5
3170#endif
3171 use pm_kind, only: CKG => CK5
3172 type(rdpack_type) , intent(in) :: dpack
3173 type(rdpack_type) , intent(in) :: spack
3174 type(dia_type) , intent(in) :: subset
3175 integer(IK) , intent(in) , optional :: doff
3176 complex(CKG) , intent(in) , optional :: init
3177 complex(CKG) , intent(in) :: source(:,:)
3178 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3179 end function
3180#endif
3181
3182#if CK4_ENABLED
3183 PURE module function getMatCopy_RDP_RDP_XXD_AIO_CK4(dpack, source, spack, subset, doff, init) result(destin)
3184#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3185 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_CK4
3186#endif
3187 use pm_kind, only: CKG => CK4
3188 type(rdpack_type) , intent(in) :: dpack
3189 type(rdpack_type) , intent(in) :: spack
3190 type(dia_type) , intent(in) :: subset
3191 integer(IK) , intent(in) , optional :: doff
3192 complex(CKG) , intent(in) , optional :: init
3193 complex(CKG) , intent(in) :: source(:,:)
3194 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3195 end function
3196#endif
3197
3198#if CK3_ENABLED
3199 PURE module function getMatCopy_RDP_RDP_XXD_AIO_CK3(dpack, source, spack, subset, doff, init) result(destin)
3200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3201 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_CK3
3202#endif
3203 use pm_kind, only: CKG => CK3
3204 type(rdpack_type) , intent(in) :: dpack
3205 type(rdpack_type) , intent(in) :: spack
3206 type(dia_type) , intent(in) :: subset
3207 integer(IK) , intent(in) , optional :: doff
3208 complex(CKG) , intent(in) , optional :: init
3209 complex(CKG) , intent(in) :: source(:,:)
3210 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3211 end function
3212#endif
3213
3214#if CK2_ENABLED
3215 PURE module function getMatCopy_RDP_RDP_XXD_AIO_CK2(dpack, source, spack, subset, doff, init) result(destin)
3216#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3217 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_CK2
3218#endif
3219 use pm_kind, only: CKG => CK2
3220 type(rdpack_type) , intent(in) :: dpack
3221 type(rdpack_type) , intent(in) :: spack
3222 type(dia_type) , intent(in) :: subset
3223 integer(IK) , intent(in) , optional :: doff
3224 complex(CKG) , intent(in) , optional :: init
3225 complex(CKG) , intent(in) :: source(:,:)
3226 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3227 end function
3228#endif
3229
3230#if CK1_ENABLED
3231 PURE module function getMatCopy_RDP_RDP_XXD_AIO_CK1(dpack, source, spack, subset, doff, init) result(destin)
3232#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3233 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_CK1
3234#endif
3235 use pm_kind, only: CKG => CK1
3236 type(rdpack_type) , intent(in) :: dpack
3237 type(rdpack_type) , intent(in) :: spack
3238 type(dia_type) , intent(in) :: subset
3239 integer(IK) , intent(in) , optional :: doff
3240 complex(CKG) , intent(in) , optional :: init
3241 complex(CKG) , intent(in) :: source(:,:)
3242 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3243 end function
3244#endif
3245
3246 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3247
3248#if RK5_ENABLED
3249 PURE module function getMatCopy_RDP_RDP_XXD_AIO_RK5(dpack, source, spack, subset, doff, init) result(destin)
3250#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3251 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_RK5
3252#endif
3253 use pm_kind, only: RKG => RK5
3254 type(rdpack_type) , intent(in) :: dpack
3255 type(rdpack_type) , intent(in) :: spack
3256 type(dia_type) , intent(in) :: subset
3257 integer(IK) , intent(in) , optional :: doff
3258 real(RKG) , intent(in) , optional :: init
3259 real(RKG) , intent(in) :: source(:,:)
3260 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3261 end function
3262#endif
3263
3264#if RK4_ENABLED
3265 PURE module function getMatCopy_RDP_RDP_XXD_AIO_RK4(dpack, source, spack, subset, doff, init) result(destin)
3266#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3267 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_RK4
3268#endif
3269 use pm_kind, only: RKG => RK4
3270 type(rdpack_type) , intent(in) :: dpack
3271 type(rdpack_type) , intent(in) :: spack
3272 type(dia_type) , intent(in) :: subset
3273 integer(IK) , intent(in) , optional :: doff
3274 real(RKG) , intent(in) , optional :: init
3275 real(RKG) , intent(in) :: source(:,:)
3276 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3277 end function
3278#endif
3279
3280#if RK3_ENABLED
3281 PURE module function getMatCopy_RDP_RDP_XXD_AIO_RK3(dpack, source, spack, subset, doff, init) result(destin)
3282#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3283 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_RK3
3284#endif
3285 use pm_kind, only: RKG => RK3
3286 type(rdpack_type) , intent(in) :: dpack
3287 type(rdpack_type) , intent(in) :: spack
3288 type(dia_type) , intent(in) :: subset
3289 integer(IK) , intent(in) , optional :: doff
3290 real(RKG) , intent(in) , optional :: init
3291 real(RKG) , intent(in) :: source(:,:)
3292 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3293 end function
3294#endif
3295
3296#if RK2_ENABLED
3297 PURE module function getMatCopy_RDP_RDP_XXD_AIO_RK2(dpack, source, spack, subset, doff, init) result(destin)
3298#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3299 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_RK2
3300#endif
3301 use pm_kind, only: RKG => RK2
3302 type(rdpack_type) , intent(in) :: dpack
3303 type(rdpack_type) , intent(in) :: spack
3304 type(dia_type) , intent(in) :: subset
3305 integer(IK) , intent(in) , optional :: doff
3306 real(RKG) , intent(in) , optional :: init
3307 real(RKG) , intent(in) :: source(:,:)
3308 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3309 end function
3310#endif
3311
3312#if RK1_ENABLED
3313 PURE module function getMatCopy_RDP_RDP_XXD_AIO_RK1(dpack, source, spack, subset, doff, init) result(destin)
3314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3315 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_AIO_RK1
3316#endif
3317 use pm_kind, only: RKG => RK1
3318 type(rdpack_type) , intent(in) :: dpack
3319 type(rdpack_type) , intent(in) :: spack
3320 type(dia_type) , intent(in) :: subset
3321 integer(IK) , intent(in) , optional :: doff
3322 real(RKG) , intent(in) , optional :: init
3323 real(RKG) , intent(in) :: source(:,:)
3324 real(RKG) :: destin(size(source, 1, IK), size(source, 2, IK))
3325 end function
3326#endif
3327
3328 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3329
3330 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3331 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3332 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3333
3334 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3335
3336#if SK5_ENABLED
3337 PURE module function getMatCopy_RDP_RDP_XXD_TSO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3338#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3339 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_SK5
3340#endif
3341 use pm_kind, only: SKG => SK5
3342 type(rdpack_type) , intent(in) :: dpack
3343 type(rdpack_type) , intent(in) :: spack
3344 type(dia_type) , intent(in) :: subset
3345 type(transSymm_type) , intent(in) :: operation
3346 integer(IK) , intent(in) , optional :: doff
3347 character(*,SKG) , intent(in) , optional :: init
3348 character(*,SKG) , intent(in) :: source(:,:)
3349 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3350 end function
3351#endif
3352
3353#if SK4_ENABLED
3354 PURE module function getMatCopy_RDP_RDP_XXD_TSO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3356 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_SK4
3357#endif
3358 use pm_kind, only: SKG => SK4
3359 type(rdpack_type) , intent(in) :: dpack
3360 type(rdpack_type) , intent(in) :: spack
3361 type(dia_type) , intent(in) :: subset
3362 type(transSymm_type) , intent(in) :: operation
3363 integer(IK) , intent(in) , optional :: doff
3364 character(*,SKG) , intent(in) , optional :: init
3365 character(*,SKG) , intent(in) :: source(:,:)
3366 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3367 end function
3368#endif
3369
3370#if SK3_ENABLED
3371 PURE module function getMatCopy_RDP_RDP_XXD_TSO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3373 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_SK3
3374#endif
3375 use pm_kind, only: SKG => SK3
3376 type(rdpack_type) , intent(in) :: dpack
3377 type(rdpack_type) , intent(in) :: spack
3378 type(dia_type) , intent(in) :: subset
3379 type(transSymm_type) , intent(in) :: operation
3380 integer(IK) , intent(in) , optional :: doff
3381 character(*,SKG) , intent(in) , optional :: init
3382 character(*,SKG) , intent(in) :: source(:,:)
3383 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3384 end function
3385#endif
3386
3387#if SK2_ENABLED
3388 PURE module function getMatCopy_RDP_RDP_XXD_TSO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3389#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3390 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_SK2
3391#endif
3392 use pm_kind, only: SKG => SK2
3393 type(rdpack_type) , intent(in) :: dpack
3394 type(rdpack_type) , intent(in) :: spack
3395 type(dia_type) , intent(in) :: subset
3396 type(transSymm_type) , intent(in) :: operation
3397 integer(IK) , intent(in) , optional :: doff
3398 character(*,SKG) , intent(in) , optional :: init
3399 character(*,SKG) , intent(in) :: source(:,:)
3400 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3401 end function
3402#endif
3403
3404#if SK1_ENABLED
3405 PURE module function getMatCopy_RDP_RDP_XXD_TSO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3407 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_SK1
3408#endif
3409 use pm_kind, only: SKG => SK1
3410 type(rdpack_type) , intent(in) :: dpack
3411 type(rdpack_type) , intent(in) :: spack
3412 type(dia_type) , intent(in) :: subset
3413 type(transSymm_type) , intent(in) :: operation
3414 integer(IK) , intent(in) , optional :: doff
3415 character(*,SKG) , intent(in) , optional :: init
3416 character(*,SKG) , intent(in) :: source(:,:)
3417 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3418 end function
3419#endif
3420
3421 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3422
3423#if IK5_ENABLED
3424 PURE module function getMatCopy_RDP_RDP_XXD_TSO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3425#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3426 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_IK5
3427#endif
3428 use pm_kind, only: IKG => IK5
3429 type(rdpack_type) , intent(in) :: dpack
3430 type(rdpack_type) , intent(in) :: spack
3431 type(dia_type) , intent(in) :: subset
3432 type(transSymm_type) , intent(in) :: operation
3433 integer(IK) , intent(in) , optional :: doff
3434 integer(IKG) , intent(in) , optional :: init
3435 integer(IKG) , intent(in) :: source(:,:)
3436 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3437 end function
3438#endif
3439
3440#if IK4_ENABLED
3441 PURE module function getMatCopy_RDP_RDP_XXD_TSO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3442#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3443 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_IK4
3444#endif
3445 use pm_kind, only: IKG => IK4
3446 type(rdpack_type) , intent(in) :: dpack
3447 type(rdpack_type) , intent(in) :: spack
3448 type(dia_type) , intent(in) :: subset
3449 type(transSymm_type) , intent(in) :: operation
3450 integer(IK) , intent(in) , optional :: doff
3451 integer(IKG) , intent(in) , optional :: init
3452 integer(IKG) , intent(in) :: source(:,:)
3453 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3454 end function
3455#endif
3456
3457#if IK3_ENABLED
3458 PURE module function getMatCopy_RDP_RDP_XXD_TSO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3459#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3460 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_IK3
3461#endif
3462 use pm_kind, only: IKG => IK3
3463 type(rdpack_type) , intent(in) :: dpack
3464 type(rdpack_type) , intent(in) :: spack
3465 type(dia_type) , intent(in) :: subset
3466 type(transSymm_type) , intent(in) :: operation
3467 integer(IK) , intent(in) , optional :: doff
3468 integer(IKG) , intent(in) , optional :: init
3469 integer(IKG) , intent(in) :: source(:,:)
3470 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3471 end function
3472#endif
3473
3474#if IK2_ENABLED
3475 PURE module function getMatCopy_RDP_RDP_XXD_TSO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3476#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3477 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_IK2
3478#endif
3479 use pm_kind, only: IKG => IK2
3480 type(rdpack_type) , intent(in) :: dpack
3481 type(rdpack_type) , intent(in) :: spack
3482 type(dia_type) , intent(in) :: subset
3483 type(transSymm_type) , intent(in) :: operation
3484 integer(IK) , intent(in) , optional :: doff
3485 integer(IKG) , intent(in) , optional :: init
3486 integer(IKG) , intent(in) :: source(:,:)
3487 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3488 end function
3489#endif
3490
3491#if IK1_ENABLED
3492 PURE module function getMatCopy_RDP_RDP_XXD_TSO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3493#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3494 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_IK1
3495#endif
3496 use pm_kind, only: IKG => IK1
3497 type(rdpack_type) , intent(in) :: dpack
3498 type(rdpack_type) , intent(in) :: spack
3499 type(dia_type) , intent(in) :: subset
3500 type(transSymm_type) , intent(in) :: operation
3501 integer(IK) , intent(in) , optional :: doff
3502 integer(IKG) , intent(in) , optional :: init
3503 integer(IKG) , intent(in) :: source(:,:)
3504 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3505 end function
3506#endif
3507
3508 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3509
3510#if LK5_ENABLED
3511 PURE module function getMatCopy_RDP_RDP_XXD_TSO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3512#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3513 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_LK5
3514#endif
3515 use pm_kind, only: LKG => LK5
3516 type(rdpack_type) , intent(in) :: dpack
3517 type(rdpack_type) , intent(in) :: spack
3518 type(dia_type) , intent(in) :: subset
3519 type(transSymm_type) , intent(in) :: operation
3520 integer(IK) , intent(in) , optional :: doff
3521 logical(LKG) , intent(in) , optional :: init
3522 logical(LKG) , intent(in) :: source(:,:)
3523 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3524 end function
3525#endif
3526
3527#if LK4_ENABLED
3528 PURE module function getMatCopy_RDP_RDP_XXD_TSO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3529#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3530 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_LK4
3531#endif
3532 use pm_kind, only: LKG => LK4
3533 type(rdpack_type) , intent(in) :: dpack
3534 type(rdpack_type) , intent(in) :: spack
3535 type(dia_type) , intent(in) :: subset
3536 type(transSymm_type) , intent(in) :: operation
3537 integer(IK) , intent(in) , optional :: doff
3538 logical(LKG) , intent(in) , optional :: init
3539 logical(LKG) , intent(in) :: source(:,:)
3540 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3541 end function
3542#endif
3543
3544#if LK3_ENABLED
3545 PURE module function getMatCopy_RDP_RDP_XXD_TSO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3546#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3547 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_LK3
3548#endif
3549 use pm_kind, only: LKG => LK3
3550 type(rdpack_type) , intent(in) :: dpack
3551 type(rdpack_type) , intent(in) :: spack
3552 type(dia_type) , intent(in) :: subset
3553 type(transSymm_type) , intent(in) :: operation
3554 integer(IK) , intent(in) , optional :: doff
3555 logical(LKG) , intent(in) , optional :: init
3556 logical(LKG) , intent(in) :: source(:,:)
3557 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3558 end function
3559#endif
3560
3561#if LK2_ENABLED
3562 PURE module function getMatCopy_RDP_RDP_XXD_TSO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3563#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3564 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_LK2
3565#endif
3566 use pm_kind, only: LKG => LK2
3567 type(rdpack_type) , intent(in) :: dpack
3568 type(rdpack_type) , intent(in) :: spack
3569 type(dia_type) , intent(in) :: subset
3570 type(transSymm_type) , intent(in) :: operation
3571 integer(IK) , intent(in) , optional :: doff
3572 logical(LKG) , intent(in) , optional :: init
3573 logical(LKG) , intent(in) :: source(:,:)
3574 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3575 end function
3576#endif
3577
3578#if LK1_ENABLED
3579 PURE module function getMatCopy_RDP_RDP_XXD_TSO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3581 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_LK1
3582#endif
3583 use pm_kind, only: LKG => LK1
3584 type(rdpack_type) , intent(in) :: dpack
3585 type(rdpack_type) , intent(in) :: spack
3586 type(dia_type) , intent(in) :: subset
3587 type(transSymm_type) , intent(in) :: operation
3588 integer(IK) , intent(in) , optional :: doff
3589 logical(LKG) , intent(in) , optional :: init
3590 logical(LKG) , intent(in) :: source(:,:)
3591 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3592 end function
3593#endif
3594
3595 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3596
3597#if CK5_ENABLED
3598 PURE module function getMatCopy_RDP_RDP_XXD_TSO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3599#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3600 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_CK5
3601#endif
3602 use pm_kind, only: CKG => CK5
3603 type(rdpack_type) , intent(in) :: dpack
3604 type(rdpack_type) , intent(in) :: spack
3605 type(dia_type) , intent(in) :: subset
3606 type(transSymm_type) , intent(in) :: operation
3607 integer(IK) , intent(in) , optional :: doff
3608 complex(CKG) , intent(in) , optional :: init
3609 complex(CKG) , intent(in) :: source(:,:)
3610 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3611 end function
3612#endif
3613
3614#if CK4_ENABLED
3615 PURE module function getMatCopy_RDP_RDP_XXD_TSO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3617 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_CK4
3618#endif
3619 use pm_kind, only: CKG => CK4
3620 type(rdpack_type) , intent(in) :: dpack
3621 type(rdpack_type) , intent(in) :: spack
3622 type(dia_type) , intent(in) :: subset
3623 type(transSymm_type) , intent(in) :: operation
3624 integer(IK) , intent(in) , optional :: doff
3625 complex(CKG) , intent(in) , optional :: init
3626 complex(CKG) , intent(in) :: source(:,:)
3627 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3628 end function
3629#endif
3630
3631#if CK3_ENABLED
3632 PURE module function getMatCopy_RDP_RDP_XXD_TSO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3633#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3634 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_CK3
3635#endif
3636 use pm_kind, only: CKG => CK3
3637 type(rdpack_type) , intent(in) :: dpack
3638 type(rdpack_type) , intent(in) :: spack
3639 type(dia_type) , intent(in) :: subset
3640 type(transSymm_type) , intent(in) :: operation
3641 integer(IK) , intent(in) , optional :: doff
3642 complex(CKG) , intent(in) , optional :: init
3643 complex(CKG) , intent(in) :: source(:,:)
3644 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3645 end function
3646#endif
3647
3648#if CK2_ENABLED
3649 PURE module function getMatCopy_RDP_RDP_XXD_TSO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3650#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3651 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_CK2
3652#endif
3653 use pm_kind, only: CKG => CK2
3654 type(rdpack_type) , intent(in) :: dpack
3655 type(rdpack_type) , intent(in) :: spack
3656 type(dia_type) , intent(in) :: subset
3657 type(transSymm_type) , intent(in) :: operation
3658 integer(IK) , intent(in) , optional :: doff
3659 complex(CKG) , intent(in) , optional :: init
3660 complex(CKG) , intent(in) :: source(:,:)
3661 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3662 end function
3663#endif
3664
3665#if CK1_ENABLED
3666 PURE module function getMatCopy_RDP_RDP_XXD_TSO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3668 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_CK1
3669#endif
3670 use pm_kind, only: CKG => CK1
3671 type(rdpack_type) , intent(in) :: dpack
3672 type(rdpack_type) , intent(in) :: spack
3673 type(dia_type) , intent(in) :: subset
3674 type(transSymm_type) , intent(in) :: operation
3675 integer(IK) , intent(in) , optional :: doff
3676 complex(CKG) , intent(in) , optional :: init
3677 complex(CKG) , intent(in) :: source(:,:)
3678 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3679 end function
3680#endif
3681
3682 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3683
3684#if RK5_ENABLED
3685 PURE module function getMatCopy_RDP_RDP_XXD_TSO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3687 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_RK5
3688#endif
3689 use pm_kind, only: RKG => RK5
3690 type(rdpack_type) , intent(in) :: dpack
3691 type(rdpack_type) , intent(in) :: spack
3692 type(dia_type) , intent(in) :: subset
3693 type(transSymm_type) , intent(in) :: operation
3694 integer(IK) , intent(in) , optional :: doff
3695 real(RKG) , intent(in) , optional :: init
3696 real(RKG) , intent(in) :: source(:,:)
3697 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3698 end function
3699#endif
3700
3701#if RK4_ENABLED
3702 PURE module function getMatCopy_RDP_RDP_XXD_TSO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3703#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3704 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_RK4
3705#endif
3706 use pm_kind, only: RKG => RK4
3707 type(rdpack_type) , intent(in) :: dpack
3708 type(rdpack_type) , intent(in) :: spack
3709 type(dia_type) , intent(in) :: subset
3710 type(transSymm_type) , intent(in) :: operation
3711 integer(IK) , intent(in) , optional :: doff
3712 real(RKG) , intent(in) , optional :: init
3713 real(RKG) , intent(in) :: source(:,:)
3714 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3715 end function
3716#endif
3717
3718#if RK3_ENABLED
3719 PURE module function getMatCopy_RDP_RDP_XXD_TSO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3721 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_RK3
3722#endif
3723 use pm_kind, only: RKG => RK3
3724 type(rdpack_type) , intent(in) :: dpack
3725 type(rdpack_type) , intent(in) :: spack
3726 type(dia_type) , intent(in) :: subset
3727 type(transSymm_type) , intent(in) :: operation
3728 integer(IK) , intent(in) , optional :: doff
3729 real(RKG) , intent(in) , optional :: init
3730 real(RKG) , intent(in) :: source(:,:)
3731 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3732 end function
3733#endif
3734
3735#if RK2_ENABLED
3736 PURE module function getMatCopy_RDP_RDP_XXD_TSO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3738 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_RK2
3739#endif
3740 use pm_kind, only: RKG => RK2
3741 type(rdpack_type) , intent(in) :: dpack
3742 type(rdpack_type) , intent(in) :: spack
3743 type(dia_type) , intent(in) :: subset
3744 type(transSymm_type) , intent(in) :: operation
3745 integer(IK) , intent(in) , optional :: doff
3746 real(RKG) , intent(in) , optional :: init
3747 real(RKG) , intent(in) :: source(:,:)
3748 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3749 end function
3750#endif
3751
3752#if RK1_ENABLED
3753 PURE module function getMatCopy_RDP_RDP_XXD_TSO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3755 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_TSO_RK1
3756#endif
3757 use pm_kind, only: RKG => RK1
3758 type(rdpack_type) , intent(in) :: dpack
3759 type(rdpack_type) , intent(in) :: spack
3760 type(dia_type) , intent(in) :: subset
3761 type(transSymm_type) , intent(in) :: operation
3762 integer(IK) , intent(in) , optional :: doff
3763 real(RKG) , intent(in) , optional :: init
3764 real(RKG) , intent(in) :: source(:,:)
3765 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3766 end function
3767#endif
3768
3769 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3770
3771 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3772 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3774
3775 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3776
3777#if SK5_ENABLED
3778 PURE module function getMatCopy_RDP_RDP_XXD_THO_SK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3779#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3780 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_SK5
3781#endif
3782 use pm_kind, only: SKG => SK5
3783 type(rdpack_type) , intent(in) :: dpack
3784 type(rdpack_type) , intent(in) :: spack
3785 type(dia_type) , intent(in) :: subset
3786 type(transHerm_type) , intent(in) :: operation
3787 integer(IK) , intent(in) , optional :: doff
3788 character(*,SKG) , intent(in) , optional :: init
3789 character(*,SKG) , intent(in) :: source(:,:)
3790 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3791 end function
3792#endif
3793
3794#if SK4_ENABLED
3795 PURE module function getMatCopy_RDP_RDP_XXD_THO_SK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3797 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_SK4
3798#endif
3799 use pm_kind, only: SKG => SK4
3800 type(rdpack_type) , intent(in) :: dpack
3801 type(rdpack_type) , intent(in) :: spack
3802 type(dia_type) , intent(in) :: subset
3803 type(rdpack_type) , intent(in) :: dpack
3804 type(rdpack_type) , intent(in) :: spack
3805 type(transHerm_type) , intent(in) :: operation
3806 integer(IK) , intent(in) , optional :: doff
3807 character(*,SKG) , intent(in) , optional :: init
3808 character(*,SKG) , intent(in) :: source(:,:)
3809 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3810 end function
3811#endif
3812
3813#if SK3_ENABLED
3814 PURE module function getMatCopy_RDP_RDP_XXD_THO_SK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3815#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3816 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_SK3
3817#endif
3818 use pm_kind, only: SKG => SK3
3819 type(rdpack_type) , intent(in) :: dpack
3820 type(rdpack_type) , intent(in) :: spack
3821 type(dia_type) , intent(in) :: subset
3822 type(transHerm_type) , intent(in) :: operation
3823 integer(IK) , intent(in) , optional :: doff
3824 character(*,SKG) , intent(in) , optional :: init
3825 character(*,SKG) , intent(in) :: source(:,:)
3826 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3827 end function
3828#endif
3829
3830#if SK2_ENABLED
3831 PURE module function getMatCopy_RDP_RDP_XXD_THO_SK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3832#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3833 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_SK2
3834#endif
3835 use pm_kind, only: SKG => SK2
3836 type(rdpack_type) , intent(in) :: dpack
3837 type(rdpack_type) , intent(in) :: spack
3838 type(dia_type) , intent(in) :: subset
3839 type(transHerm_type) , intent(in) :: operation
3840 integer(IK) , intent(in) , optional :: doff
3841 character(*,SKG) , intent(in) , optional :: init
3842 character(*,SKG) , intent(in) :: source(:,:)
3843 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3844 end function
3845#endif
3846
3847#if SK1_ENABLED
3848 PURE module function getMatCopy_RDP_RDP_XXD_THO_SK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3849#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3850 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_SK1
3851#endif
3852 use pm_kind, only: SKG => SK1
3853 type(rdpack_type) , intent(in) :: dpack
3854 type(rdpack_type) , intent(in) :: spack
3855 type(dia_type) , intent(in) :: subset
3856 type(transHerm_type) , intent(in) :: operation
3857 integer(IK) , intent(in) , optional :: doff
3858 character(*,SKG) , intent(in) , optional :: init
3859 character(*,SKG) , intent(in) :: source(:,:)
3860 character(len(source,IK),SKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3861 end function
3862#endif
3863
3864 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3865
3866#if IK5_ENABLED
3867 PURE module function getMatCopy_RDP_RDP_XXD_THO_IK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3869 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_IK5
3870#endif
3871 use pm_kind, only: IKG => IK5
3872 type(rdpack_type) , intent(in) :: dpack
3873 type(rdpack_type) , intent(in) :: spack
3874 type(dia_type) , intent(in) :: subset
3875 type(transHerm_type) , intent(in) :: operation
3876 integer(IK) , intent(in) , optional :: doff
3877 integer(IKG) , intent(in) , optional :: init
3878 integer(IKG) , intent(in) :: source(:,:)
3879 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3880 end function
3881#endif
3882
3883#if IK4_ENABLED
3884 PURE module function getMatCopy_RDP_RDP_XXD_THO_IK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3885#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3886 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_IK4
3887#endif
3888 use pm_kind, only: IKG => IK4
3889 type(rdpack_type) , intent(in) :: dpack
3890 type(rdpack_type) , intent(in) :: spack
3891 type(dia_type) , intent(in) :: subset
3892 type(transHerm_type) , intent(in) :: operation
3893 integer(IK) , intent(in) , optional :: doff
3894 integer(IKG) , intent(in) , optional :: init
3895 integer(IKG) , intent(in) :: source(:,:)
3896 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3897 end function
3898#endif
3899
3900#if IK3_ENABLED
3901 PURE module function getMatCopy_RDP_RDP_XXD_THO_IK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3902#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3903 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_IK3
3904#endif
3905 use pm_kind, only: IKG => IK3
3906 type(rdpack_type) , intent(in) :: dpack
3907 type(rdpack_type) , intent(in) :: spack
3908 type(dia_type) , intent(in) :: subset
3909 type(transHerm_type) , intent(in) :: operation
3910 integer(IK) , intent(in) , optional :: doff
3911 integer(IKG) , intent(in) , optional :: init
3912 integer(IKG) , intent(in) :: source(:,:)
3913 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3914 end function
3915#endif
3916
3917#if IK2_ENABLED
3918 PURE module function getMatCopy_RDP_RDP_XXD_THO_IK2(dpack, source, spack, subset, operation, doff, init) result(destin)
3919#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3920 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_IK2
3921#endif
3922 use pm_kind, only: IKG => IK2
3923 type(rdpack_type) , intent(in) :: dpack
3924 type(rdpack_type) , intent(in) :: spack
3925 type(dia_type) , intent(in) :: subset
3926 type(transHerm_type) , intent(in) :: operation
3927 integer(IK) , intent(in) , optional :: doff
3928 integer(IKG) , intent(in) , optional :: init
3929 integer(IKG) , intent(in) :: source(:,:)
3930 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3931 end function
3932#endif
3933
3934#if IK1_ENABLED
3935 PURE module function getMatCopy_RDP_RDP_XXD_THO_IK1(dpack, source, spack, subset, operation, doff, init) result(destin)
3936#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3937 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_IK1
3938#endif
3939 use pm_kind, only: IKG => IK1
3940 type(rdpack_type) , intent(in) :: dpack
3941 type(rdpack_type) , intent(in) :: spack
3942 type(dia_type) , intent(in) :: subset
3943 type(transHerm_type) , intent(in) :: operation
3944 integer(IK) , intent(in) , optional :: doff
3945 integer(IKG) , intent(in) , optional :: init
3946 integer(IKG) , intent(in) :: source(:,:)
3947 integer(IKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3948 end function
3949#endif
3950
3951 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3952
3953#if LK5_ENABLED
3954 PURE module function getMatCopy_RDP_RDP_XXD_THO_LK5(dpack, source, spack, subset, operation, doff, init) result(destin)
3955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3956 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_LK5
3957#endif
3958 use pm_kind, only: LKG => LK5
3959 type(rdpack_type) , intent(in) :: dpack
3960 type(rdpack_type) , intent(in) :: spack
3961 type(dia_type) , intent(in) :: subset
3962 type(transHerm_type) , intent(in) :: operation
3963 integer(IK) , intent(in) , optional :: doff
3964 logical(LKG) , intent(in) , optional :: init
3965 logical(LKG) , intent(in) :: source(:,:)
3966 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3967 end function
3968#endif
3969
3970#if LK4_ENABLED
3971 PURE module function getMatCopy_RDP_RDP_XXD_THO_LK4(dpack, source, spack, subset, operation, doff, init) result(destin)
3972#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3973 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_LK4
3974#endif
3975 use pm_kind, only: LKG => LK4
3976 type(rdpack_type) , intent(in) :: dpack
3977 type(rdpack_type) , intent(in) :: spack
3978 type(dia_type) , intent(in) :: subset
3979 type(transHerm_type) , intent(in) :: operation
3980 integer(IK) , intent(in) , optional :: doff
3981 logical(LKG) , intent(in) , optional :: init
3982 logical(LKG) , intent(in) :: source(:,:)
3983 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
3984 end function
3985#endif
3986
3987#if LK3_ENABLED
3988 PURE module function getMatCopy_RDP_RDP_XXD_THO_LK3(dpack, source, spack, subset, operation, doff, init) result(destin)
3989#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3990 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_LK3
3991#endif
3992 use pm_kind, only: LKG => LK3
3993 type(rdpack_type) , intent(in) :: dpack
3994 type(rdpack_type) , intent(in) :: spack
3995 type(dia_type) , intent(in) :: subset
3996 type(transHerm_type) , intent(in) :: operation
3997 integer(IK) , intent(in) , optional :: doff
3998 logical(LKG) , intent(in) , optional :: init
3999 logical(LKG) , intent(in) :: source(:,:)
4000 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4001 end function
4002#endif
4003
4004#if LK2_ENABLED
4005 PURE module function getMatCopy_RDP_RDP_XXD_THO_LK2(dpack, source, spack, subset, operation, doff, init) result(destin)
4006#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4007 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_LK2
4008#endif
4009 use pm_kind, only: LKG => LK2
4010 type(rdpack_type) , intent(in) :: dpack
4011 type(rdpack_type) , intent(in) :: spack
4012 type(dia_type) , intent(in) :: subset
4013 type(transHerm_type) , intent(in) :: operation
4014 integer(IK) , intent(in) , optional :: doff
4015 logical(LKG) , intent(in) , optional :: init
4016 logical(LKG) , intent(in) :: source(:,:)
4017 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4018 end function
4019#endif
4020
4021#if LK1_ENABLED
4022 PURE module function getMatCopy_RDP_RDP_XXD_THO_LK1(dpack, source, spack, subset, operation, doff, init) result(destin)
4023#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4024 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_LK1
4025#endif
4026 use pm_kind, only: LKG => LK1
4027 type(rdpack_type) , intent(in) :: dpack
4028 type(rdpack_type) , intent(in) :: spack
4029 type(dia_type) , intent(in) :: subset
4030 type(transHerm_type) , intent(in) :: operation
4031 integer(IK) , intent(in) , optional :: doff
4032 logical(LKG) , intent(in) , optional :: init
4033 logical(LKG) , intent(in) :: source(:,:)
4034 logical(LKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4035 end function
4036#endif
4037
4038 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4039
4040#if CK5_ENABLED
4041 PURE module function getMatCopy_RDP_RDP_XXD_THO_CK5(dpack, source, spack, subset, operation, doff, init) result(destin)
4042#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4043 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_CK5
4044#endif
4045 use pm_kind, only: CKG => CK5
4046 type(rdpack_type) , intent(in) :: dpack
4047 type(rdpack_type) , intent(in) :: spack
4048 type(dia_type) , intent(in) :: subset
4049 type(transHerm_type) , intent(in) :: operation
4050 integer(IK) , intent(in) , optional :: doff
4051 complex(CKG) , intent(in) , optional :: init
4052 complex(CKG) , intent(in) :: source(:,:)
4053 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4054 end function
4055#endif
4056
4057#if CK4_ENABLED
4058 PURE module function getMatCopy_RDP_RDP_XXD_THO_CK4(dpack, source, spack, subset, operation, doff, init) result(destin)
4059#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4060 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_CK4
4061#endif
4062 use pm_kind, only: CKG => CK4
4063 type(rdpack_type) , intent(in) :: dpack
4064 type(rdpack_type) , intent(in) :: spack
4065 type(dia_type) , intent(in) :: subset
4066 type(transHerm_type) , intent(in) :: operation
4067 integer(IK) , intent(in) , optional :: doff
4068 complex(CKG) , intent(in) , optional :: init
4069 complex(CKG) , intent(in) :: source(:,:)
4070 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4071 end function
4072#endif
4073
4074#if CK3_ENABLED
4075 PURE module function getMatCopy_RDP_RDP_XXD_THO_CK3(dpack, source, spack, subset, operation, doff, init) result(destin)
4076#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4077 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_CK3
4078#endif
4079 use pm_kind, only: CKG => CK3
4080 type(rdpack_type) , intent(in) :: dpack
4081 type(rdpack_type) , intent(in) :: spack
4082 type(dia_type) , intent(in) :: subset
4083 type(transHerm_type) , intent(in) :: operation
4084 integer(IK) , intent(in) , optional :: doff
4085 complex(CKG) , intent(in) , optional :: init
4086 complex(CKG) , intent(in) :: source(:,:)
4087 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4088 end function
4089#endif
4090
4091#if CK2_ENABLED
4092 PURE module function getMatCopy_RDP_RDP_XXD_THO_CK2(dpack, source, spack, subset, operation, doff, init) result(destin)
4093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4094 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_CK2
4095#endif
4096 use pm_kind, only: CKG => CK2
4097 type(rdpack_type) , intent(in) :: dpack
4098 type(rdpack_type) , intent(in) :: spack
4099 type(dia_type) , intent(in) :: subset
4100 type(transHerm_type) , intent(in) :: operation
4101 integer(IK) , intent(in) , optional :: doff
4102 complex(CKG) , intent(in) , optional :: init
4103 complex(CKG) , intent(in) :: source(:,:)
4104 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4105 end function
4106#endif
4107
4108#if CK1_ENABLED
4109 PURE module function getMatCopy_RDP_RDP_XXD_THO_CK1(dpack, source, spack, subset, operation, doff, init) result(destin)
4110#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4111 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_CK1
4112#endif
4113 use pm_kind, only: CKG => CK1
4114 type(rdpack_type) , intent(in) :: dpack
4115 type(rdpack_type) , intent(in) :: spack
4116 type(dia_type) , intent(in) :: subset
4117 type(transHerm_type) , intent(in) :: operation
4118 integer(IK) , intent(in) , optional :: doff
4119 complex(CKG) , intent(in) , optional :: init
4120 complex(CKG) , intent(in) :: source(:,:)
4121 complex(CKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4122 end function
4123#endif
4124
4125 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4126
4127#if RK5_ENABLED
4128 PURE module function getMatCopy_RDP_RDP_XXD_THO_RK5(dpack, source, spack, subset, operation, doff, init) result(destin)
4129#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4130 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_RK5
4131#endif
4132 use pm_kind, only: RKG => RK5
4133 type(rdpack_type) , intent(in) :: dpack
4134 type(rdpack_type) , intent(in) :: spack
4135 type(dia_type) , intent(in) :: subset
4136 type(transHerm_type) , intent(in) :: operation
4137 integer(IK) , intent(in) , optional :: doff
4138 real(RKG) , intent(in) , optional :: init
4139 real(RKG) , intent(in) :: source(:,:)
4140 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4141 end function
4142#endif
4143
4144#if RK4_ENABLED
4145 PURE module function getMatCopy_RDP_RDP_XXD_THO_RK4(dpack, source, spack, subset, operation, doff, init) result(destin)
4146#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4147 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_RK4
4148#endif
4149 use pm_kind, only: RKG => RK4
4150 type(rdpack_type) , intent(in) :: dpack
4151 type(rdpack_type) , intent(in) :: spack
4152 type(dia_type) , intent(in) :: subset
4153 type(transHerm_type) , intent(in) :: operation
4154 integer(IK) , intent(in) , optional :: doff
4155 real(RKG) , intent(in) , optional :: init
4156 real(RKG) , intent(in) :: source(:,:)
4157 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4158 end function
4159#endif
4160
4161#if RK3_ENABLED
4162 PURE module function getMatCopy_RDP_RDP_XXD_THO_RK3(dpack, source, spack, subset, operation, doff, init) result(destin)
4163#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4164 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_RK3
4165#endif
4166 use pm_kind, only: RKG => RK3
4167 type(rdpack_type) , intent(in) :: dpack
4168 type(rdpack_type) , intent(in) :: spack
4169 type(dia_type) , intent(in) :: subset
4170 type(transHerm_type) , intent(in) :: operation
4171 integer(IK) , intent(in) , optional :: doff
4172 real(RKG) , intent(in) , optional :: init
4173 real(RKG) , intent(in) :: source(:,:)
4174 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4175 end function
4176#endif
4177
4178#if RK2_ENABLED
4179 PURE module function getMatCopy_RDP_RDP_XXD_THO_RK2(dpack, source, spack, subset, operation, doff, init) result(destin)
4180#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4181 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_RK2
4182#endif
4183 use pm_kind, only: RKG => RK2
4184 type(rdpack_type) , intent(in) :: dpack
4185 type(rdpack_type) , intent(in) :: spack
4186 type(dia_type) , intent(in) :: subset
4187 type(transHerm_type) , intent(in) :: operation
4188 integer(IK) , intent(in) , optional :: doff
4189 real(RKG) , intent(in) , optional :: init
4190 real(RKG) , intent(in) :: source(:,:)
4191 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4192 end function
4193#endif
4194
4195#if RK1_ENABLED
4196 PURE module function getMatCopy_RDP_RDP_XXD_THO_RK1(dpack, source, spack, subset, operation, doff, init) result(destin)
4197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4198 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_XXD_THO_RK1
4199#endif
4200 use pm_kind, only: RKG => RK1
4201 type(rdpack_type) , intent(in) :: dpack
4202 type(rdpack_type) , intent(in) :: spack
4203 type(dia_type) , intent(in) :: subset
4204 type(transHerm_type) , intent(in) :: operation
4205 integer(IK) , intent(in) , optional :: doff
4206 real(RKG) , intent(in) , optional :: init
4207 real(RKG) , intent(in) :: source(:,:)
4208 real(RKG) :: destin(size(source, 2, IK), size(source, 1, IK))
4209 end function
4210#endif
4211
4212 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4213
4214 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4215 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4216 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4217
4218 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4219 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4220 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4221
4222 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4223
4224#if SK5_ENABLED
4225 PURE module function getMatCopy_RDP_RDP_UXD_AIO_SK5(dpack, source, spack, subset, doff, init) result(destin)
4226#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4227 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_SK5
4228#endif
4229 use pm_kind, only: SKG => SK5
4230 type(rdpack_type) , intent(in) :: dpack
4231 type(rdpack_type) , intent(in) :: spack
4232 type(uppDia_type) , intent(in) :: subset
4233 integer(IK) , intent(in) , optional :: doff
4234 character(*,SKG) , intent(in) , optional :: init
4235 character(*,SKG) , intent(in) :: source(:,:)
4236 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4237 end function
4238#endif
4239
4240#if SK4_ENABLED
4241 PURE module function getMatCopy_RDP_RDP_UXD_AIO_SK4(dpack, source, spack, subset, doff, init) result(destin)
4242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4243 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_SK4
4244#endif
4245 use pm_kind, only: SKG => SK4
4246 type(rdpack_type) , intent(in) :: dpack
4247 type(rdpack_type) , intent(in) :: spack
4248 type(uppDia_type) , intent(in) :: subset
4249 integer(IK) , intent(in) , optional :: doff
4250 character(*,SKG) , intent(in) , optional :: init
4251 character(*,SKG) , intent(in) :: source(:,:)
4252 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4253 end function
4254#endif
4255
4256#if SK3_ENABLED
4257 PURE module function getMatCopy_RDP_RDP_UXD_AIO_SK3(dpack, source, spack, subset, doff, init) result(destin)
4258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4259 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_SK3
4260#endif
4261 use pm_kind, only: SKG => SK3
4262 type(rdpack_type) , intent(in) :: dpack
4263 type(rdpack_type) , intent(in) :: spack
4264 type(uppDia_type) , intent(in) :: subset
4265 integer(IK) , intent(in) , optional :: doff
4266 character(*,SKG) , intent(in) , optional :: init
4267 character(*,SKG) , intent(in) :: source(:,:)
4268 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4269 end function
4270#endif
4271
4272#if SK2_ENABLED
4273 PURE module function getMatCopy_RDP_RDP_UXD_AIO_SK2(dpack, source, spack, subset, doff, init) result(destin)
4274#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4275 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_SK2
4276#endif
4277 use pm_kind, only: SKG => SK2
4278 type(rdpack_type) , intent(in) :: dpack
4279 type(rdpack_type) , intent(in) :: spack
4280 type(uppDia_type) , intent(in) :: subset
4281 integer(IK) , intent(in) , optional :: doff
4282 character(*,SKG) , intent(in) , optional :: init
4283 character(*,SKG) , intent(in) :: source(:,:)
4284 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4285 end function
4286#endif
4287
4288#if SK1_ENABLED
4289 PURE module function getMatCopy_RDP_RDP_UXD_AIO_SK1(dpack, source, spack, subset, doff, init) result(destin)
4290#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4291 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_SK1
4292#endif
4293 use pm_kind, only: SKG => SK1
4294 type(rdpack_type) , intent(in) :: dpack
4295 type(rdpack_type) , intent(in) :: spack
4296 type(uppDia_type) , intent(in) :: subset
4297 integer(IK) , intent(in) , optional :: doff
4298 character(*,SKG) , intent(in) , optional :: init
4299 character(*,SKG) , intent(in) :: source(:,:)
4300 character(len(source,IK),SKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4301 end function
4302#endif
4303
4304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4305
4306#if IK5_ENABLED
4307 PURE module function getMatCopy_RDP_RDP_UXD_AIO_IK5(dpack, source, spack, subset, doff, init) result(destin)
4308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4309 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_IK5
4310#endif
4311 use pm_kind, only: IKG => IK5
4312 type(rdpack_type) , intent(in) :: dpack
4313 type(rdpack_type) , intent(in) :: spack
4314 type(uppDia_type) , intent(in) :: subset
4315 integer(IK) , intent(in) , optional :: doff
4316 integer(IKG) , intent(in) , optional :: init
4317 integer(IKG) , intent(in) :: source(:,:)
4318 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4319 end function
4320#endif
4321
4322#if IK4_ENABLED
4323 PURE module function getMatCopy_RDP_RDP_UXD_AIO_IK4(dpack, source, spack, subset, doff, init) result(destin)
4324#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4325 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_IK4
4326#endif
4327 use pm_kind, only: IKG => IK4
4328 type(rdpack_type) , intent(in) :: dpack
4329 type(rdpack_type) , intent(in) :: spack
4330 type(uppDia_type) , intent(in) :: subset
4331 integer(IK) , intent(in) , optional :: doff
4332 integer(IKG) , intent(in) , optional :: init
4333 integer(IKG) , intent(in) :: source(:,:)
4334 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4335 end function
4336#endif
4337
4338#if IK3_ENABLED
4339 PURE module function getMatCopy_RDP_RDP_UXD_AIO_IK3(dpack, source, spack, subset, doff, init) result(destin)
4340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4341 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_IK3
4342#endif
4343 use pm_kind, only: IKG => IK3
4344 type(rdpack_type) , intent(in) :: dpack
4345 type(rdpack_type) , intent(in) :: spack
4346 type(uppDia_type) , intent(in) :: subset
4347 integer(IK) , intent(in) , optional :: doff
4348 integer(IKG) , intent(in) , optional :: init
4349 integer(IKG) , intent(in) :: source(:,:)
4350 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4351 end function
4352#endif
4353
4354#if IK2_ENABLED
4355 PURE module function getMatCopy_RDP_RDP_UXD_AIO_IK2(dpack, source, spack, subset, doff, init) result(destin)
4356#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4357 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_IK2
4358#endif
4359 use pm_kind, only: IKG => IK2
4360 type(rdpack_type) , intent(in) :: dpack
4361 type(rdpack_type) , intent(in) :: spack
4362 type(uppDia_type) , intent(in) :: subset
4363 integer(IK) , intent(in) , optional :: doff
4364 integer(IKG) , intent(in) , optional :: init
4365 integer(IKG) , intent(in) :: source(:,:)
4366 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4367 end function
4368#endif
4369
4370#if IK1_ENABLED
4371 PURE module function getMatCopy_RDP_RDP_UXD_AIO_IK1(dpack, source, spack, subset, doff, init) result(destin)
4372#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4373 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_IK1
4374#endif
4375 use pm_kind, only: IKG => IK1
4376 type(rdpack_type) , intent(in) :: dpack
4377 type(rdpack_type) , intent(in) :: spack
4378 type(uppDia_type) , intent(in) :: subset
4379 integer(IK) , intent(in) , optional :: doff
4380 integer(IKG) , intent(in) , optional :: init
4381 integer(IKG) , intent(in) :: source(:,:)
4382 integer(IKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4383 end function
4384#endif
4385
4386 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4387
4388#if LK5_ENABLED
4389 PURE module function getMatCopy_RDP_RDP_UXD_AIO_LK5(dpack, source, spack, subset, doff, init) result(destin)
4390#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4391 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_LK5
4392#endif
4393 use pm_kind, only: LKG => LK5
4394 type(rdpack_type) , intent(in) :: dpack
4395 type(rdpack_type) , intent(in) :: spack
4396 type(uppDia_type) , intent(in) :: subset
4397 integer(IK) , intent(in) , optional :: doff
4398 logical(LKG) , intent(in) , optional :: init
4399 logical(LKG) , intent(in) :: source(:,:)
4400 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4401 end function
4402#endif
4403
4404#if LK4_ENABLED
4405 PURE module function getMatCopy_RDP_RDP_UXD_AIO_LK4(dpack, source, spack, subset, doff, init) result(destin)
4406#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4407 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_LK4
4408#endif
4409 use pm_kind, only: LKG => LK4
4410 type(rdpack_type) , intent(in) :: dpack
4411 type(rdpack_type) , intent(in) :: spack
4412 type(uppDia_type) , intent(in) :: subset
4413 integer(IK) , intent(in) , optional :: doff
4414 logical(LKG) , intent(in) , optional :: init
4415 logical(LKG) , intent(in) :: source(:,:)
4416 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4417 end function
4418#endif
4419
4420#if LK3_ENABLED
4421 PURE module function getMatCopy_RDP_RDP_UXD_AIO_LK3(dpack, source, spack, subset, doff, init) result(destin)
4422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4423 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_LK3
4424#endif
4425 use pm_kind, only: LKG => LK3
4426 type(rdpack_type) , intent(in) :: dpack
4427 type(rdpack_type) , intent(in) :: spack
4428 type(uppDia_type) , intent(in) :: subset
4429 integer(IK) , intent(in) , optional :: doff
4430 logical(LKG) , intent(in) , optional :: init
4431 logical(LKG) , intent(in) :: source(:,:)
4432 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4433 end function
4434#endif
4435
4436#if LK2_ENABLED
4437 PURE module function getMatCopy_RDP_RDP_UXD_AIO_LK2(dpack, source, spack, subset, doff, init) result(destin)
4438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4439 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_LK2
4440#endif
4441 use pm_kind, only: LKG => LK2
4442 type(rdpack_type) , intent(in) :: dpack
4443 type(rdpack_type) , intent(in) :: spack
4444 type(uppDia_type) , intent(in) :: subset
4445 integer(IK) , intent(in) , optional :: doff
4446 logical(LKG) , intent(in) , optional :: init
4447 logical(LKG) , intent(in) :: source(:,:)
4448 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4449 end function
4450#endif
4451
4452#if LK1_ENABLED
4453 PURE module function getMatCopy_RDP_RDP_UXD_AIO_LK1(dpack, source, spack, subset, doff, init) result(destin)
4454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4455 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_LK1
4456#endif
4457 use pm_kind, only: LKG => LK1
4458 type(rdpack_type) , intent(in) :: dpack
4459 type(rdpack_type) , intent(in) :: spack
4460 type(uppDia_type) , intent(in) :: subset
4461 integer(IK) , intent(in) , optional :: doff
4462 logical(LKG) , intent(in) , optional :: init
4463 logical(LKG) , intent(in) :: source(:,:)
4464 logical(LKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4465 end function
4466#endif
4467
4468 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4469
4470#if CK5_ENABLED
4471 PURE module function getMatCopy_RDP_RDP_UXD_AIO_CK5(dpack, source, spack, subset, doff, init) result(destin)
4472#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4473 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_CK5
4474#endif
4475 use pm_kind, only: CKG => CK5
4476 type(rdpack_type) , intent(in) :: dpack
4477 type(rdpack_type) , intent(in) :: spack
4478 type(uppDia_type) , intent(in) :: subset
4479 integer(IK) , intent(in) , optional :: doff
4480 complex(CKG) , intent(in) , optional :: init
4481 complex(CKG) , intent(in) :: source(:,:)
4482 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4483 end function
4484#endif
4485
4486#if CK4_ENABLED
4487 PURE module function getMatCopy_RDP_RDP_UXD_AIO_CK4(dpack, source, spack, subset, doff, init) result(destin)
4488#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4489 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_CK4
4490#endif
4491 use pm_kind, only: CKG => CK4
4492 type(rdpack_type) , intent(in) :: dpack
4493 type(rdpack_type) , intent(in) :: spack
4494 type(uppDia_type) , intent(in) :: subset
4495 integer(IK) , intent(in) , optional :: doff
4496 complex(CKG) , intent(in) , optional :: init
4497 complex(CKG) , intent(in) :: source(:,:)
4498 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4499 end function
4500#endif
4501
4502#if CK3_ENABLED
4503 PURE module function getMatCopy_RDP_RDP_UXD_AIO_CK3(dpack, source, spack, subset, doff, init) result(destin)
4504#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4505 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_CK3
4506#endif
4507 use pm_kind, only: CKG => CK3
4508 type(rdpack_type) , intent(in) :: dpack
4509 type(rdpack_type) , intent(in) :: spack
4510 type(uppDia_type) , intent(in) :: subset
4511 integer(IK) , intent(in) , optional :: doff
4512 complex(CKG) , intent(in) , optional :: init
4513 complex(CKG) , intent(in) :: source(:,:)
4514 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4515 end function
4516#endif
4517
4518#if CK2_ENABLED
4519 PURE module function getMatCopy_RDP_RDP_UXD_AIO_CK2(dpack, source, spack, subset, doff, init) result(destin)
4520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4521 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_CK2
4522#endif
4523 use pm_kind, only: CKG => CK2
4524 type(rdpack_type) , intent(in) :: dpack
4525 type(rdpack_type) , intent(in) :: spack
4526 type(uppDia_type) , intent(in) :: subset
4527 integer(IK) , intent(in) , optional :: doff
4528 complex(CKG) , intent(in) , optional :: init
4529 complex(CKG) , intent(in) :: source(:,:)
4530 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4531 end function
4532#endif
4533
4534#if CK1_ENABLED
4535 PURE module function getMatCopy_RDP_RDP_UXD_AIO_CK1(dpack, source, spack, subset, doff, init) result(destin)
4536#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4537 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_CK1
4538#endif
4539 use pm_kind, only: CKG => CK1
4540 type(rdpack_type) , intent(in) :: dpack
4541 type(rdpack_type) , intent(in) :: spack
4542 type(uppDia_type) , intent(in) :: subset
4543 integer(IK) , intent(in) , optional :: doff
4544 complex(CKG) , intent(in) , optional :: init
4545 complex(CKG) , intent(in) :: source(:,:)
4546 complex(CKG) :: destin(size(source, 1, IK), size(source, 2, IK))
4547 end function
4548#endif
4549
4550 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4551
4552#if RK5_ENABLED
4553 PURE module function getMatCopy_RDP_RDP_UXD_AIO_RK5(dpack, source, spack, subset, doff, init) result(destin)
4554#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4555 !DEC$ ATTRIBUTES DLLEXPORT :: getMatCopy_RDP_RDP_UXD_AIO_RK5
4556#endif
4557 use pm_kind, only: RKG => RK5
4558 type(rdpack_type) , intent(in) :: dpack
4559 type(rdpack_type) , intent(in) :: spack
4560 type(uppDia_type) , intent(in) :: subset
4561 integer(IK) , intent(in) , optional :: doff
4562 real(RKG) , intent(in) , optional :: init
4563 real(RKG) , intent(in) :: source(:,:)
4564 real(RKG) :: destin(size(source,