https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_matrixCopy@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 473 2850 16.6 %
Date: 2024-04-08 03:18:57 Functions: 242 1520 15.9 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_matrixCopy](@ref pm_matrixCopy).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_matrixCopy) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_mathSqrt, only: getSqrt
      40             :     use pm_matrixIndex, only: getMatIndex
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define getMatCopy_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define RDP_RDP_ENABLED 1
      56             : 
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             : 
      61             : #define UXX_ENABLED 1
      62             : #define AIO_ENABLED 1
      63             : 
      64             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      65             : 
      66             : #define SK_ENABLED 1
      67             : 
      68             : #if SK5_ENABLED
      69             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_SK5
      70             :         use pm_kind, only: SKC => SK5
      71             : #include "pm_matrixCopy@routines.inc.F90"
      72             :     end procedure
      73             : #endif
      74             : 
      75             : #if SK4_ENABLED
      76             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_SK4
      77             :         use pm_kind, only: SKC => SK4
      78             : #include "pm_matrixCopy@routines.inc.F90"
      79             :     end procedure
      80             : #endif
      81             : 
      82             : #if SK3_ENABLED
      83             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_SK3
      84             :         use pm_kind, only: SKC => SK3
      85             : #include "pm_matrixCopy@routines.inc.F90"
      86             :     end procedure
      87             : #endif
      88             : 
      89             : #if SK2_ENABLED
      90             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_SK2
      91             :         use pm_kind, only: SKC => SK2
      92             : #include "pm_matrixCopy@routines.inc.F90"
      93             :     end procedure
      94             : #endif
      95             : 
      96             : #if SK1_ENABLED
      97           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_SK1
      98             :         use pm_kind, only: SKC => SK1
      99             : #include "pm_matrixCopy@routines.inc.F90"
     100           0 :     end procedure
     101             : #endif
     102             : 
     103             : #undef SK_ENABLED
     104             : 
     105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     106             : 
     107             : #define IK_ENABLED 1
     108             : 
     109             : #if IK5_ENABLED
     110           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_IK5
     111             :         use pm_kind, only: IKC => IK5
     112             : #include "pm_matrixCopy@routines.inc.F90"
     113           0 :     end procedure
     114             : #endif
     115             : 
     116             : #if IK4_ENABLED
     117           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_IK4
     118             :         use pm_kind, only: IKC => IK4
     119             : #include "pm_matrixCopy@routines.inc.F90"
     120           0 :     end procedure
     121             : #endif
     122             : 
     123             : #if IK3_ENABLED
     124           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_IK3
     125             :         use pm_kind, only: IKC => IK3
     126             : #include "pm_matrixCopy@routines.inc.F90"
     127           0 :     end procedure
     128             : #endif
     129             : 
     130             : #if IK2_ENABLED
     131           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_IK2
     132             :         use pm_kind, only: IKC => IK2
     133             : #include "pm_matrixCopy@routines.inc.F90"
     134           0 :     end procedure
     135             : #endif
     136             : 
     137             : #if IK1_ENABLED
     138           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_IK1
     139             :         use pm_kind, only: IKC => IK1
     140             : #include "pm_matrixCopy@routines.inc.F90"
     141           0 :     end procedure
     142             : #endif
     143             : 
     144             : #undef IK_ENABLED
     145             : 
     146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     147             : 
     148             : #define LK_ENABLED 1
     149             : 
     150             : #if LK5_ENABLED
     151           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_LK5
     152             :         use pm_kind, only: LKC => LK5
     153             : #include "pm_matrixCopy@routines.inc.F90"
     154           0 :     end procedure
     155             : #endif
     156             : 
     157             : #if LK4_ENABLED
     158           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_LK4
     159             :         use pm_kind, only: LKC => LK4
     160             : #include "pm_matrixCopy@routines.inc.F90"
     161           0 :     end procedure
     162             : #endif
     163             : 
     164             : #if LK3_ENABLED
     165           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_LK3
     166             :         use pm_kind, only: LKC => LK3
     167             : #include "pm_matrixCopy@routines.inc.F90"
     168           0 :     end procedure
     169             : #endif
     170             : 
     171             : #if LK2_ENABLED
     172           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_LK2
     173             :         use pm_kind, only: LKC => LK2
     174             : #include "pm_matrixCopy@routines.inc.F90"
     175           0 :     end procedure
     176             : #endif
     177             : 
     178             : #if LK1_ENABLED
     179           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_LK1
     180             :         use pm_kind, only: LKC => LK1
     181             : #include "pm_matrixCopy@routines.inc.F90"
     182           0 :     end procedure
     183             : #endif
     184             : 
     185             : #undef LK_ENABLED
     186             : 
     187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     188             : 
     189             : #define CK_ENABLED 1
     190             : 
     191             : #if CK5_ENABLED
     192             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_CK5
     193             :         use pm_kind, only: CKC => CK5
     194             : #include "pm_matrixCopy@routines.inc.F90"
     195             :     end procedure
     196             : #endif
     197             : 
     198             : #if CK4_ENABLED
     199           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_CK4
     200             :         use pm_kind, only: CKC => CK4
     201             : #include "pm_matrixCopy@routines.inc.F90"
     202           0 :     end procedure
     203             : #endif
     204             : 
     205             : #if CK3_ENABLED
     206           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_CK3
     207             :         use pm_kind, only: CKC => CK3
     208             : #include "pm_matrixCopy@routines.inc.F90"
     209           0 :     end procedure
     210             : #endif
     211             : 
     212             : #if CK2_ENABLED
     213           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_CK2
     214             :         use pm_kind, only: CKC => CK2
     215             : #include "pm_matrixCopy@routines.inc.F90"
     216           0 :     end procedure
     217             : #endif
     218             : 
     219             : #if CK1_ENABLED
     220           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_CK1
     221             :         use pm_kind, only: CKC => CK1
     222             : #include "pm_matrixCopy@routines.inc.F90"
     223           0 :     end procedure
     224             : #endif
     225             : 
     226             : #undef CK_ENABLED
     227             : 
     228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     229             : 
     230             : #define RK_ENABLED 1
     231             : 
     232             : #if RK5_ENABLED
     233             :     module procedure getMatCopy_RDP_RDP_UXX_AIO_RK5
     234             :         use pm_kind, only: RKC => RK5
     235             : #include "pm_matrixCopy@routines.inc.F90"
     236             :     end procedure
     237             : #endif
     238             : 
     239             : #if RK4_ENABLED
     240           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_RK4
     241             :         use pm_kind, only: RKC => RK4
     242             : #include "pm_matrixCopy@routines.inc.F90"
     243           0 :     end procedure
     244             : #endif
     245             : 
     246             : #if RK3_ENABLED
     247           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_RK3
     248             :         use pm_kind, only: RKC => RK3
     249             : #include "pm_matrixCopy@routines.inc.F90"
     250           0 :     end procedure
     251             : #endif
     252             : 
     253             : #if RK2_ENABLED
     254           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_RK2
     255             :         use pm_kind, only: RKC => RK2
     256             : #include "pm_matrixCopy@routines.inc.F90"
     257           0 :     end procedure
     258             : #endif
     259             : 
     260             : #if RK1_ENABLED
     261           0 :     module procedure getMatCopy_RDP_RDP_UXX_AIO_RK1
     262             :         use pm_kind, only: RKC => RK1
     263             : #include "pm_matrixCopy@routines.inc.F90"
     264           0 :     end procedure
     265             : #endif
     266             : 
     267             : #undef RK_ENABLED
     268             : 
     269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     270             : 
     271             : #undef UXX_ENABLED
     272             : #undef AIO_ENABLED
     273             : 
     274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     276             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     277             : 
     278             : #define UXX_ENABLED 1
     279             : #define TSO_ENABLED 1
     280             : 
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #define SK_ENABLED 1
     284             : 
     285             : #if SK5_ENABLED
     286             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_SK5
     287             :         use pm_kind, only: SKC => SK5
     288             : #include "pm_matrixCopy@routines.inc.F90"
     289             :     end procedure
     290             : #endif
     291             : 
     292             : #if SK4_ENABLED
     293             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_SK4
     294             :         use pm_kind, only: SKC => SK4
     295             : #include "pm_matrixCopy@routines.inc.F90"
     296             :     end procedure
     297             : #endif
     298             : 
     299             : #if SK3_ENABLED
     300             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_SK3
     301             :         use pm_kind, only: SKC => SK3
     302             : #include "pm_matrixCopy@routines.inc.F90"
     303             :     end procedure
     304             : #endif
     305             : 
     306             : #if SK2_ENABLED
     307             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_SK2
     308             :         use pm_kind, only: SKC => SK2
     309             : #include "pm_matrixCopy@routines.inc.F90"
     310             :     end procedure
     311             : #endif
     312             : 
     313             : #if SK1_ENABLED
     314           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_SK1
     315             :         use pm_kind, only: SKC => SK1
     316             : #include "pm_matrixCopy@routines.inc.F90"
     317           0 :     end procedure
     318             : #endif
     319             : 
     320             : #undef SK_ENABLED
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             : 
     324             : #define IK_ENABLED 1
     325             : 
     326             : #if IK5_ENABLED
     327           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_IK5
     328             :         use pm_kind, only: IKC => IK5
     329             : #include "pm_matrixCopy@routines.inc.F90"
     330           0 :     end procedure
     331             : #endif
     332             : 
     333             : #if IK4_ENABLED
     334           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_IK4
     335             :         use pm_kind, only: IKC => IK4
     336             : #include "pm_matrixCopy@routines.inc.F90"
     337           0 :     end procedure
     338             : #endif
     339             : 
     340             : #if IK3_ENABLED
     341           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_IK3
     342             :         use pm_kind, only: IKC => IK3
     343             : #include "pm_matrixCopy@routines.inc.F90"
     344           0 :     end procedure
     345             : #endif
     346             : 
     347             : #if IK2_ENABLED
     348           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_IK2
     349             :         use pm_kind, only: IKC => IK2
     350             : #include "pm_matrixCopy@routines.inc.F90"
     351           0 :     end procedure
     352             : #endif
     353             : 
     354             : #if IK1_ENABLED
     355           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_IK1
     356             :         use pm_kind, only: IKC => IK1
     357             : #include "pm_matrixCopy@routines.inc.F90"
     358           0 :     end procedure
     359             : #endif
     360             : 
     361             : #undef IK_ENABLED
     362             : 
     363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     364             : 
     365             : #define LK_ENABLED 1
     366             : 
     367             : #if LK5_ENABLED
     368           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_LK5
     369             :         use pm_kind, only: LKC => LK5
     370             : #include "pm_matrixCopy@routines.inc.F90"
     371           0 :     end procedure
     372             : #endif
     373             : 
     374             : #if LK4_ENABLED
     375           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_LK4
     376             :         use pm_kind, only: LKC => LK4
     377             : #include "pm_matrixCopy@routines.inc.F90"
     378           0 :     end procedure
     379             : #endif
     380             : 
     381             : #if LK3_ENABLED
     382           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_LK3
     383             :         use pm_kind, only: LKC => LK3
     384             : #include "pm_matrixCopy@routines.inc.F90"
     385           0 :     end procedure
     386             : #endif
     387             : 
     388             : #if LK2_ENABLED
     389           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_LK2
     390             :         use pm_kind, only: LKC => LK2
     391             : #include "pm_matrixCopy@routines.inc.F90"
     392           0 :     end procedure
     393             : #endif
     394             : 
     395             : #if LK1_ENABLED
     396           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_LK1
     397             :         use pm_kind, only: LKC => LK1
     398             : #include "pm_matrixCopy@routines.inc.F90"
     399           0 :     end procedure
     400             : #endif
     401             : 
     402             : #undef LK_ENABLED
     403             : 
     404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     405             : 
     406             : #define CK_ENABLED 1
     407             : 
     408             : #if CK5_ENABLED
     409             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_CK5
     410             :         use pm_kind, only: CKC => CK5
     411             : #include "pm_matrixCopy@routines.inc.F90"
     412             :     end procedure
     413             : #endif
     414             : 
     415             : #if CK4_ENABLED
     416           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_CK4
     417             :         use pm_kind, only: CKC => CK4
     418             : #include "pm_matrixCopy@routines.inc.F90"
     419           0 :     end procedure
     420             : #endif
     421             : 
     422             : #if CK3_ENABLED
     423           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_CK3
     424             :         use pm_kind, only: CKC => CK3
     425             : #include "pm_matrixCopy@routines.inc.F90"
     426           0 :     end procedure
     427             : #endif
     428             : 
     429             : #if CK2_ENABLED
     430           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_CK2
     431             :         use pm_kind, only: CKC => CK2
     432             : #include "pm_matrixCopy@routines.inc.F90"
     433           0 :     end procedure
     434             : #endif
     435             : 
     436             : #if CK1_ENABLED
     437           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_CK1
     438             :         use pm_kind, only: CKC => CK1
     439             : #include "pm_matrixCopy@routines.inc.F90"
     440           0 :     end procedure
     441             : #endif
     442             : 
     443             : #undef CK_ENABLED
     444             : 
     445             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     446             : 
     447             : #define RK_ENABLED 1
     448             : 
     449             : #if RK5_ENABLED
     450             :     module procedure getMatCopy_RDP_RDP_UXX_TSO_RK5
     451             :         use pm_kind, only: RKC => RK5
     452             : #include "pm_matrixCopy@routines.inc.F90"
     453             :     end procedure
     454             : #endif
     455             : 
     456             : #if RK4_ENABLED
     457           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_RK4
     458             :         use pm_kind, only: RKC => RK4
     459             : #include "pm_matrixCopy@routines.inc.F90"
     460           0 :     end procedure
     461             : #endif
     462             : 
     463             : #if RK3_ENABLED
     464           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_RK3
     465             :         use pm_kind, only: RKC => RK3
     466             : #include "pm_matrixCopy@routines.inc.F90"
     467           0 :     end procedure
     468             : #endif
     469             : 
     470             : #if RK2_ENABLED
     471           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_RK2
     472             :         use pm_kind, only: RKC => RK2
     473             : #include "pm_matrixCopy@routines.inc.F90"
     474           0 :     end procedure
     475             : #endif
     476             : 
     477             : #if RK1_ENABLED
     478           0 :     module procedure getMatCopy_RDP_RDP_UXX_TSO_RK1
     479             :         use pm_kind, only: RKC => RK1
     480             : #include "pm_matrixCopy@routines.inc.F90"
     481           0 :     end procedure
     482             : #endif
     483             : 
     484             : #undef RK_ENABLED
     485             : 
     486             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     487             : 
     488             : #undef UXX_ENABLED
     489             : #undef TSO_ENABLED
     490             : 
     491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     493             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     494             : 
     495             : #define UXX_ENABLED 1
     496             : #define THO_ENABLED 1
     497             : 
     498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     499             : 
     500             : #define SK_ENABLED 1
     501             : 
     502             : #if SK5_ENABLED
     503             :     module procedure getMatCopy_RDP_RDP_UXX_THO_SK5
     504             :         use pm_kind, only: SKC => SK5
     505             : #include "pm_matrixCopy@routines.inc.F90"
     506             :     end procedure
     507             : #endif
     508             : 
     509             : #if SK4_ENABLED
     510             :     module procedure getMatCopy_RDP_RDP_UXX_THO_SK4
     511             :         use pm_kind, only: SKC => SK4
     512             : #include "pm_matrixCopy@routines.inc.F90"
     513             :     end procedure
     514             : #endif
     515             : 
     516             : #if SK3_ENABLED
     517             :     module procedure getMatCopy_RDP_RDP_UXX_THO_SK3
     518             :         use pm_kind, only: SKC => SK3
     519             : #include "pm_matrixCopy@routines.inc.F90"
     520             :     end procedure
     521             : #endif
     522             : 
     523             : #if SK2_ENABLED
     524             :     module procedure getMatCopy_RDP_RDP_UXX_THO_SK2
     525             :         use pm_kind, only: SKC => SK2
     526             : #include "pm_matrixCopy@routines.inc.F90"
     527             :     end procedure
     528             : #endif
     529             : 
     530             : #if SK1_ENABLED
     531           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_SK1
     532             :         use pm_kind, only: SKC => SK1
     533             : #include "pm_matrixCopy@routines.inc.F90"
     534           0 :     end procedure
     535             : #endif
     536             : 
     537             : #undef SK_ENABLED
     538             : 
     539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     540             : 
     541             : #define IK_ENABLED 1
     542             : 
     543             : #if IK5_ENABLED
     544           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_IK5
     545             :         use pm_kind, only: IKC => IK5
     546             : #include "pm_matrixCopy@routines.inc.F90"
     547           0 :     end procedure
     548             : #endif
     549             : 
     550             : #if IK4_ENABLED
     551           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_IK4
     552             :         use pm_kind, only: IKC => IK4
     553             : #include "pm_matrixCopy@routines.inc.F90"
     554           0 :     end procedure
     555             : #endif
     556             : 
     557             : #if IK3_ENABLED
     558           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_IK3
     559             :         use pm_kind, only: IKC => IK3
     560             : #include "pm_matrixCopy@routines.inc.F90"
     561           0 :     end procedure
     562             : #endif
     563             : 
     564             : #if IK2_ENABLED
     565           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_IK2
     566             :         use pm_kind, only: IKC => IK2
     567             : #include "pm_matrixCopy@routines.inc.F90"
     568           0 :     end procedure
     569             : #endif
     570             : 
     571             : #if IK1_ENABLED
     572           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_IK1
     573             :         use pm_kind, only: IKC => IK1
     574             : #include "pm_matrixCopy@routines.inc.F90"
     575           0 :     end procedure
     576             : #endif
     577             : 
     578             : #undef IK_ENABLED
     579             : 
     580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     581             : 
     582             : #define LK_ENABLED 1
     583             : 
     584             : #if LK5_ENABLED
     585           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_LK5
     586             :         use pm_kind, only: LKC => LK5
     587             : #include "pm_matrixCopy@routines.inc.F90"
     588           0 :     end procedure
     589             : #endif
     590             : 
     591             : #if LK4_ENABLED
     592           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_LK4
     593             :         use pm_kind, only: LKC => LK4
     594             : #include "pm_matrixCopy@routines.inc.F90"
     595           0 :     end procedure
     596             : #endif
     597             : 
     598             : #if LK3_ENABLED
     599           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_LK3
     600             :         use pm_kind, only: LKC => LK3
     601             : #include "pm_matrixCopy@routines.inc.F90"
     602           0 :     end procedure
     603             : #endif
     604             : 
     605             : #if LK2_ENABLED
     606           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_LK2
     607             :         use pm_kind, only: LKC => LK2
     608             : #include "pm_matrixCopy@routines.inc.F90"
     609           0 :     end procedure
     610             : #endif
     611             : 
     612             : #if LK1_ENABLED
     613           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_LK1
     614             :         use pm_kind, only: LKC => LK1
     615             : #include "pm_matrixCopy@routines.inc.F90"
     616           0 :     end procedure
     617             : #endif
     618             : 
     619             : #undef LK_ENABLED
     620             : 
     621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     622             : 
     623             : #define CK_ENABLED 1
     624             : 
     625             : #if CK5_ENABLED
     626             :     module procedure getMatCopy_RDP_RDP_UXX_THO_CK5
     627             :         use pm_kind, only: CKC => CK5
     628             : #include "pm_matrixCopy@routines.inc.F90"
     629             :     end procedure
     630             : #endif
     631             : 
     632             : #if CK4_ENABLED
     633           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_CK4
     634             :         use pm_kind, only: CKC => CK4
     635             : #include "pm_matrixCopy@routines.inc.F90"
     636           0 :     end procedure
     637             : #endif
     638             : 
     639             : #if CK3_ENABLED
     640           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_CK3
     641             :         use pm_kind, only: CKC => CK3
     642             : #include "pm_matrixCopy@routines.inc.F90"
     643           0 :     end procedure
     644             : #endif
     645             : 
     646             : #if CK2_ENABLED
     647           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_CK2
     648             :         use pm_kind, only: CKC => CK2
     649             : #include "pm_matrixCopy@routines.inc.F90"
     650           0 :     end procedure
     651             : #endif
     652             : 
     653             : #if CK1_ENABLED
     654           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_CK1
     655             :         use pm_kind, only: CKC => CK1
     656             : #include "pm_matrixCopy@routines.inc.F90"
     657           0 :     end procedure
     658             : #endif
     659             : 
     660             : #undef CK_ENABLED
     661             : 
     662             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     663             : 
     664             : #define RK_ENABLED 1
     665             : 
     666             : #if RK5_ENABLED
     667             :     module procedure getMatCopy_RDP_RDP_UXX_THO_RK5
     668             :         use pm_kind, only: RKC => RK5
     669             : #include "pm_matrixCopy@routines.inc.F90"
     670             :     end procedure
     671             : #endif
     672             : 
     673             : #if RK4_ENABLED
     674           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_RK4
     675             :         use pm_kind, only: RKC => RK4
     676             : #include "pm_matrixCopy@routines.inc.F90"
     677           0 :     end procedure
     678             : #endif
     679             : 
     680             : #if RK3_ENABLED
     681           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_RK3
     682             :         use pm_kind, only: RKC => RK3
     683             : #include "pm_matrixCopy@routines.inc.F90"
     684           0 :     end procedure
     685             : #endif
     686             : 
     687             : #if RK2_ENABLED
     688           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_RK2
     689             :         use pm_kind, only: RKC => RK2
     690             : #include "pm_matrixCopy@routines.inc.F90"
     691           0 :     end procedure
     692             : #endif
     693             : 
     694             : #if RK1_ENABLED
     695           0 :     module procedure getMatCopy_RDP_RDP_UXX_THO_RK1
     696             :         use pm_kind, only: RKC => RK1
     697             : #include "pm_matrixCopy@routines.inc.F90"
     698           0 :     end procedure
     699             : #endif
     700             : 
     701             : #undef RK_ENABLED
     702             : 
     703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705             : #undef UXX_ENABLED
     706             : #undef THO_ENABLED
     707             : 
     708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     711             : 
     712             : #define XLX_ENABLED 1
     713             : #define AIO_ENABLED 1
     714             : 
     715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     716             : 
     717             : #define SK_ENABLED 1
     718             : 
     719             : #if SK5_ENABLED
     720             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_SK5
     721             :         use pm_kind, only: SKC => SK5
     722             : #include "pm_matrixCopy@routines.inc.F90"
     723             :     end procedure
     724             : #endif
     725             : 
     726             : #if SK4_ENABLED
     727             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_SK4
     728             :         use pm_kind, only: SKC => SK4
     729             : #include "pm_matrixCopy@routines.inc.F90"
     730             :     end procedure
     731             : #endif
     732             : 
     733             : #if SK3_ENABLED
     734             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_SK3
     735             :         use pm_kind, only: SKC => SK3
     736             : #include "pm_matrixCopy@routines.inc.F90"
     737             :     end procedure
     738             : #endif
     739             : 
     740             : #if SK2_ENABLED
     741             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_SK2
     742             :         use pm_kind, only: SKC => SK2
     743             : #include "pm_matrixCopy@routines.inc.F90"
     744             :     end procedure
     745             : #endif
     746             : 
     747             : #if SK1_ENABLED
     748           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_SK1
     749             :         use pm_kind, only: SKC => SK1
     750             : #include "pm_matrixCopy@routines.inc.F90"
     751           0 :     end procedure
     752             : #endif
     753             : 
     754             : #undef SK_ENABLED
     755             : 
     756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     757             : 
     758             : #define IK_ENABLED 1
     759             : 
     760             : #if IK5_ENABLED
     761           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_IK5
     762             :         use pm_kind, only: IKC => IK5
     763             : #include "pm_matrixCopy@routines.inc.F90"
     764           0 :     end procedure
     765             : #endif
     766             : 
     767             : #if IK4_ENABLED
     768           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_IK4
     769             :         use pm_kind, only: IKC => IK4
     770             : #include "pm_matrixCopy@routines.inc.F90"
     771           0 :     end procedure
     772             : #endif
     773             : 
     774             : #if IK3_ENABLED
     775           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_IK3
     776             :         use pm_kind, only: IKC => IK3
     777             : #include "pm_matrixCopy@routines.inc.F90"
     778           0 :     end procedure
     779             : #endif
     780             : 
     781             : #if IK2_ENABLED
     782           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_IK2
     783             :         use pm_kind, only: IKC => IK2
     784             : #include "pm_matrixCopy@routines.inc.F90"
     785           0 :     end procedure
     786             : #endif
     787             : 
     788             : #if IK1_ENABLED
     789           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_IK1
     790             :         use pm_kind, only: IKC => IK1
     791             : #include "pm_matrixCopy@routines.inc.F90"
     792           0 :     end procedure
     793             : #endif
     794             : 
     795             : #undef IK_ENABLED
     796             : 
     797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     798             : 
     799             : #define LK_ENABLED 1
     800             : 
     801             : #if LK5_ENABLED
     802           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_LK5
     803             :         use pm_kind, only: LKC => LK5
     804             : #include "pm_matrixCopy@routines.inc.F90"
     805           0 :     end procedure
     806             : #endif
     807             : 
     808             : #if LK4_ENABLED
     809           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_LK4
     810             :         use pm_kind, only: LKC => LK4
     811             : #include "pm_matrixCopy@routines.inc.F90"
     812           0 :     end procedure
     813             : #endif
     814             : 
     815             : #if LK3_ENABLED
     816           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_LK3
     817             :         use pm_kind, only: LKC => LK3
     818             : #include "pm_matrixCopy@routines.inc.F90"
     819           0 :     end procedure
     820             : #endif
     821             : 
     822             : #if LK2_ENABLED
     823           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_LK2
     824             :         use pm_kind, only: LKC => LK2
     825             : #include "pm_matrixCopy@routines.inc.F90"
     826           0 :     end procedure
     827             : #endif
     828             : 
     829             : #if LK1_ENABLED
     830           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_LK1
     831             :         use pm_kind, only: LKC => LK1
     832             : #include "pm_matrixCopy@routines.inc.F90"
     833           0 :     end procedure
     834             : #endif
     835             : 
     836             : #undef LK_ENABLED
     837             : 
     838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     839             : 
     840             : #define CK_ENABLED 1
     841             : 
     842             : #if CK5_ENABLED
     843             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_CK5
     844             :         use pm_kind, only: CKC => CK5
     845             : #include "pm_matrixCopy@routines.inc.F90"
     846             :     end procedure
     847             : #endif
     848             : 
     849             : #if CK4_ENABLED
     850           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_CK4
     851             :         use pm_kind, only: CKC => CK4
     852             : #include "pm_matrixCopy@routines.inc.F90"
     853           0 :     end procedure
     854             : #endif
     855             : 
     856             : #if CK3_ENABLED
     857           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_CK3
     858             :         use pm_kind, only: CKC => CK3
     859             : #include "pm_matrixCopy@routines.inc.F90"
     860           0 :     end procedure
     861             : #endif
     862             : 
     863             : #if CK2_ENABLED
     864           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_CK2
     865             :         use pm_kind, only: CKC => CK2
     866             : #include "pm_matrixCopy@routines.inc.F90"
     867           0 :     end procedure
     868             : #endif
     869             : 
     870             : #if CK1_ENABLED
     871           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_CK1
     872             :         use pm_kind, only: CKC => CK1
     873             : #include "pm_matrixCopy@routines.inc.F90"
     874           0 :     end procedure
     875             : #endif
     876             : 
     877             : #undef CK_ENABLED
     878             : 
     879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     880             : 
     881             : #define RK_ENABLED 1
     882             : 
     883             : #if RK5_ENABLED
     884             :     module procedure getMatCopy_RDP_RDP_XLX_AIO_RK5
     885             :         use pm_kind, only: RKC => RK5
     886             : #include "pm_matrixCopy@routines.inc.F90"
     887             :     end procedure
     888             : #endif
     889             : 
     890             : #if RK4_ENABLED
     891           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_RK4
     892             :         use pm_kind, only: RKC => RK4
     893             : #include "pm_matrixCopy@routines.inc.F90"
     894           0 :     end procedure
     895             : #endif
     896             : 
     897             : #if RK3_ENABLED
     898           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_RK3
     899             :         use pm_kind, only: RKC => RK3
     900             : #include "pm_matrixCopy@routines.inc.F90"
     901           0 :     end procedure
     902             : #endif
     903             : 
     904             : #if RK2_ENABLED
     905           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_RK2
     906             :         use pm_kind, only: RKC => RK2
     907             : #include "pm_matrixCopy@routines.inc.F90"
     908           0 :     end procedure
     909             : #endif
     910             : 
     911             : #if RK1_ENABLED
     912           0 :     module procedure getMatCopy_RDP_RDP_XLX_AIO_RK1
     913             :         use pm_kind, only: RKC => RK1
     914             : #include "pm_matrixCopy@routines.inc.F90"
     915           0 :     end procedure
     916             : #endif
     917             : 
     918             : #undef RK_ENABLED
     919             : 
     920             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     921             : 
     922             : #undef XLX_ENABLED
     923             : #undef AIO_ENABLED
     924             : 
     925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     927             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     928             : 
     929             : #define XLX_ENABLED 1
     930             : #define TSO_ENABLED 1
     931             : 
     932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     933             : 
     934             : #define SK_ENABLED 1
     935             : 
     936             : #if SK5_ENABLED
     937             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_SK5
     938             :         use pm_kind, only: SKC => SK5
     939             : #include "pm_matrixCopy@routines.inc.F90"
     940             :     end procedure
     941             : #endif
     942             : 
     943             : #if SK4_ENABLED
     944             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_SK4
     945             :         use pm_kind, only: SKC => SK4
     946             : #include "pm_matrixCopy@routines.inc.F90"
     947             :     end procedure
     948             : #endif
     949             : 
     950             : #if SK3_ENABLED
     951             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_SK3
     952             :         use pm_kind, only: SKC => SK3
     953             : #include "pm_matrixCopy@routines.inc.F90"
     954             :     end procedure
     955             : #endif
     956             : 
     957             : #if SK2_ENABLED
     958             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_SK2
     959             :         use pm_kind, only: SKC => SK2
     960             : #include "pm_matrixCopy@routines.inc.F90"
     961             :     end procedure
     962             : #endif
     963             : 
     964             : #if SK1_ENABLED
     965           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_SK1
     966             :         use pm_kind, only: SKC => SK1
     967             : #include "pm_matrixCopy@routines.inc.F90"
     968           0 :     end procedure
     969             : #endif
     970             : 
     971             : #undef SK_ENABLED
     972             : 
     973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     974             : 
     975             : #define IK_ENABLED 1
     976             : 
     977             : #if IK5_ENABLED
     978           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_IK5
     979             :         use pm_kind, only: IKC => IK5
     980             : #include "pm_matrixCopy@routines.inc.F90"
     981           0 :     end procedure
     982             : #endif
     983             : 
     984             : #if IK4_ENABLED
     985           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_IK4
     986             :         use pm_kind, only: IKC => IK4
     987             : #include "pm_matrixCopy@routines.inc.F90"
     988           0 :     end procedure
     989             : #endif
     990             : 
     991             : #if IK3_ENABLED
     992           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_IK3
     993             :         use pm_kind, only: IKC => IK3
     994             : #include "pm_matrixCopy@routines.inc.F90"
     995           0 :     end procedure
     996             : #endif
     997             : 
     998             : #if IK2_ENABLED
     999           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_IK2
    1000             :         use pm_kind, only: IKC => IK2
    1001             : #include "pm_matrixCopy@routines.inc.F90"
    1002           0 :     end procedure
    1003             : #endif
    1004             : 
    1005             : #if IK1_ENABLED
    1006           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_IK1
    1007             :         use pm_kind, only: IKC => IK1
    1008             : #include "pm_matrixCopy@routines.inc.F90"
    1009           0 :     end procedure
    1010             : #endif
    1011             : 
    1012             : #undef IK_ENABLED
    1013             : 
    1014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1015             : 
    1016             : #define LK_ENABLED 1
    1017             : 
    1018             : #if LK5_ENABLED
    1019           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_LK5
    1020             :         use pm_kind, only: LKC => LK5
    1021             : #include "pm_matrixCopy@routines.inc.F90"
    1022           0 :     end procedure
    1023             : #endif
    1024             : 
    1025             : #if LK4_ENABLED
    1026           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_LK4
    1027             :         use pm_kind, only: LKC => LK4
    1028             : #include "pm_matrixCopy@routines.inc.F90"
    1029           0 :     end procedure
    1030             : #endif
    1031             : 
    1032             : #if LK3_ENABLED
    1033           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_LK3
    1034             :         use pm_kind, only: LKC => LK3
    1035             : #include "pm_matrixCopy@routines.inc.F90"
    1036           0 :     end procedure
    1037             : #endif
    1038             : 
    1039             : #if LK2_ENABLED
    1040           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_LK2
    1041             :         use pm_kind, only: LKC => LK2
    1042             : #include "pm_matrixCopy@routines.inc.F90"
    1043           0 :     end procedure
    1044             : #endif
    1045             : 
    1046             : #if LK1_ENABLED
    1047           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_LK1
    1048             :         use pm_kind, only: LKC => LK1
    1049             : #include "pm_matrixCopy@routines.inc.F90"
    1050           0 :     end procedure
    1051             : #endif
    1052             : 
    1053             : #undef LK_ENABLED
    1054             : 
    1055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1056             : 
    1057             : #define CK_ENABLED 1
    1058             : 
    1059             : #if CK5_ENABLED
    1060             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_CK5
    1061             :         use pm_kind, only: CKC => CK5
    1062             : #include "pm_matrixCopy@routines.inc.F90"
    1063             :     end procedure
    1064             : #endif
    1065             : 
    1066             : #if CK4_ENABLED
    1067           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_CK4
    1068             :         use pm_kind, only: CKC => CK4
    1069             : #include "pm_matrixCopy@routines.inc.F90"
    1070           0 :     end procedure
    1071             : #endif
    1072             : 
    1073             : #if CK3_ENABLED
    1074           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_CK3
    1075             :         use pm_kind, only: CKC => CK3
    1076             : #include "pm_matrixCopy@routines.inc.F90"
    1077           0 :     end procedure
    1078             : #endif
    1079             : 
    1080             : #if CK2_ENABLED
    1081           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_CK2
    1082             :         use pm_kind, only: CKC => CK2
    1083             : #include "pm_matrixCopy@routines.inc.F90"
    1084           0 :     end procedure
    1085             : #endif
    1086             : 
    1087             : #if CK1_ENABLED
    1088           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_CK1
    1089             :         use pm_kind, only: CKC => CK1
    1090             : #include "pm_matrixCopy@routines.inc.F90"
    1091           0 :     end procedure
    1092             : #endif
    1093             : 
    1094             : #undef CK_ENABLED
    1095             : 
    1096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1097             : 
    1098             : #define RK_ENABLED 1
    1099             : 
    1100             : #if RK5_ENABLED
    1101             :     module procedure getMatCopy_RDP_RDP_XLX_TSO_RK5
    1102             :         use pm_kind, only: RKC => RK5
    1103             : #include "pm_matrixCopy@routines.inc.F90"
    1104             :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if RK4_ENABLED
    1108           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_RK4
    1109             :         use pm_kind, only: RKC => RK4
    1110             : #include "pm_matrixCopy@routines.inc.F90"
    1111           0 :     end procedure
    1112             : #endif
    1113             : 
    1114             : #if RK3_ENABLED
    1115           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_RK3
    1116             :         use pm_kind, only: RKC => RK3
    1117             : #include "pm_matrixCopy@routines.inc.F90"
    1118           0 :     end procedure
    1119             : #endif
    1120             : 
    1121             : #if RK2_ENABLED
    1122           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_RK2
    1123             :         use pm_kind, only: RKC => RK2
    1124             : #include "pm_matrixCopy@routines.inc.F90"
    1125           0 :     end procedure
    1126             : #endif
    1127             : 
    1128             : #if RK1_ENABLED
    1129           0 :     module procedure getMatCopy_RDP_RDP_XLX_TSO_RK1
    1130             :         use pm_kind, only: RKC => RK1
    1131             : #include "pm_matrixCopy@routines.inc.F90"
    1132           0 :     end procedure
    1133             : #endif
    1134             : 
    1135             : #undef RK_ENABLED
    1136             : 
    1137             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1138             : 
    1139             : #undef XLX_ENABLED
    1140             : #undef TSO_ENABLED
    1141             : 
    1142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1144             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1145             : 
    1146             : #define XLX_ENABLED 1
    1147             : #define THO_ENABLED 1
    1148             : 
    1149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1150             : 
    1151             : #define SK_ENABLED 1
    1152             : 
    1153             : #if SK5_ENABLED
    1154             :     module procedure getMatCopy_RDP_RDP_XLX_THO_SK5
    1155             :         use pm_kind, only: SKC => SK5
    1156             : #include "pm_matrixCopy@routines.inc.F90"
    1157             :     end procedure
    1158             : #endif
    1159             : 
    1160             : #if SK4_ENABLED
    1161             :     module procedure getMatCopy_RDP_RDP_XLX_THO_SK4
    1162             :         use pm_kind, only: SKC => SK4
    1163             : #include "pm_matrixCopy@routines.inc.F90"
    1164             :     end procedure
    1165             : #endif
    1166             : 
    1167             : #if SK3_ENABLED
    1168             :     module procedure getMatCopy_RDP_RDP_XLX_THO_SK3
    1169             :         use pm_kind, only: SKC => SK3
    1170             : #include "pm_matrixCopy@routines.inc.F90"
    1171             :     end procedure
    1172             : #endif
    1173             : 
    1174             : #if SK2_ENABLED
    1175             :     module procedure getMatCopy_RDP_RDP_XLX_THO_SK2
    1176             :         use pm_kind, only: SKC => SK2
    1177             : #include "pm_matrixCopy@routines.inc.F90"
    1178             :     end procedure
    1179             : #endif
    1180             : 
    1181             : #if SK1_ENABLED
    1182           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_SK1
    1183             :         use pm_kind, only: SKC => SK1
    1184             : #include "pm_matrixCopy@routines.inc.F90"
    1185           0 :     end procedure
    1186             : #endif
    1187             : 
    1188             : #undef SK_ENABLED
    1189             : 
    1190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1191             : 
    1192             : #define IK_ENABLED 1
    1193             : 
    1194             : #if IK5_ENABLED
    1195           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_IK5
    1196             :         use pm_kind, only: IKC => IK5
    1197             : #include "pm_matrixCopy@routines.inc.F90"
    1198           0 :     end procedure
    1199             : #endif
    1200             : 
    1201             : #if IK4_ENABLED
    1202           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_IK4
    1203             :         use pm_kind, only: IKC => IK4
    1204             : #include "pm_matrixCopy@routines.inc.F90"
    1205           0 :     end procedure
    1206             : #endif
    1207             : 
    1208             : #if IK3_ENABLED
    1209           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_IK3
    1210             :         use pm_kind, only: IKC => IK3
    1211             : #include "pm_matrixCopy@routines.inc.F90"
    1212           0 :     end procedure
    1213             : #endif
    1214             : 
    1215             : #if IK2_ENABLED
    1216           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_IK2
    1217             :         use pm_kind, only: IKC => IK2
    1218             : #include "pm_matrixCopy@routines.inc.F90"
    1219           0 :     end procedure
    1220             : #endif
    1221             : 
    1222             : #if IK1_ENABLED
    1223           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_IK1
    1224             :         use pm_kind, only: IKC => IK1
    1225             : #include "pm_matrixCopy@routines.inc.F90"
    1226           0 :     end procedure
    1227             : #endif
    1228             : 
    1229             : #undef IK_ENABLED
    1230             : 
    1231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1232             : 
    1233             : #define LK_ENABLED 1
    1234             : 
    1235             : #if LK5_ENABLED
    1236           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_LK5
    1237             :         use pm_kind, only: LKC => LK5
    1238             : #include "pm_matrixCopy@routines.inc.F90"
    1239           0 :     end procedure
    1240             : #endif
    1241             : 
    1242             : #if LK4_ENABLED
    1243           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_LK4
    1244             :         use pm_kind, only: LKC => LK4
    1245             : #include "pm_matrixCopy@routines.inc.F90"
    1246           0 :     end procedure
    1247             : #endif
    1248             : 
    1249             : #if LK3_ENABLED
    1250           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_LK3
    1251             :         use pm_kind, only: LKC => LK3
    1252             : #include "pm_matrixCopy@routines.inc.F90"
    1253           0 :     end procedure
    1254             : #endif
    1255             : 
    1256             : #if LK2_ENABLED
    1257           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_LK2
    1258             :         use pm_kind, only: LKC => LK2
    1259             : #include "pm_matrixCopy@routines.inc.F90"
    1260           0 :     end procedure
    1261             : #endif
    1262             : 
    1263             : #if LK1_ENABLED
    1264           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_LK1
    1265             :         use pm_kind, only: LKC => LK1
    1266             : #include "pm_matrixCopy@routines.inc.F90"
    1267           0 :     end procedure
    1268             : #endif
    1269             : 
    1270             : #undef LK_ENABLED
    1271             : 
    1272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1273             : 
    1274             : #define CK_ENABLED 1
    1275             : 
    1276             : #if CK5_ENABLED
    1277             :     module procedure getMatCopy_RDP_RDP_XLX_THO_CK5
    1278             :         use pm_kind, only: CKC => CK5
    1279             : #include "pm_matrixCopy@routines.inc.F90"
    1280             :     end procedure
    1281             : #endif
    1282             : 
    1283             : #if CK4_ENABLED
    1284           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_CK4
    1285             :         use pm_kind, only: CKC => CK4
    1286             : #include "pm_matrixCopy@routines.inc.F90"
    1287           0 :     end procedure
    1288             : #endif
    1289             : 
    1290             : #if CK3_ENABLED
    1291           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_CK3
    1292             :         use pm_kind, only: CKC => CK3
    1293             : #include "pm_matrixCopy@routines.inc.F90"
    1294           0 :     end procedure
    1295             : #endif
    1296             : 
    1297             : #if CK2_ENABLED
    1298           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_CK2
    1299             :         use pm_kind, only: CKC => CK2
    1300             : #include "pm_matrixCopy@routines.inc.F90"
    1301           0 :     end procedure
    1302             : #endif
    1303             : 
    1304             : #if CK1_ENABLED
    1305           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_CK1
    1306             :         use pm_kind, only: CKC => CK1
    1307             : #include "pm_matrixCopy@routines.inc.F90"
    1308           0 :     end procedure
    1309             : #endif
    1310             : 
    1311             : #undef CK_ENABLED
    1312             : 
    1313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1314             : 
    1315             : #define RK_ENABLED 1
    1316             : 
    1317             : #if RK5_ENABLED
    1318             :     module procedure getMatCopy_RDP_RDP_XLX_THO_RK5
    1319             :         use pm_kind, only: RKC => RK5
    1320             : #include "pm_matrixCopy@routines.inc.F90"
    1321             :     end procedure
    1322             : #endif
    1323             : 
    1324             : #if RK4_ENABLED
    1325           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_RK4
    1326             :         use pm_kind, only: RKC => RK4
    1327             : #include "pm_matrixCopy@routines.inc.F90"
    1328           0 :     end procedure
    1329             : #endif
    1330             : 
    1331             : #if RK3_ENABLED
    1332           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_RK3
    1333             :         use pm_kind, only: RKC => RK3
    1334             : #include "pm_matrixCopy@routines.inc.F90"
    1335           0 :     end procedure
    1336             : #endif
    1337             : 
    1338             : #if RK2_ENABLED
    1339           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_RK2
    1340             :         use pm_kind, only: RKC => RK2
    1341             : #include "pm_matrixCopy@routines.inc.F90"
    1342           0 :     end procedure
    1343             : #endif
    1344             : 
    1345             : #if RK1_ENABLED
    1346           0 :     module procedure getMatCopy_RDP_RDP_XLX_THO_RK1
    1347             :         use pm_kind, only: RKC => RK1
    1348             : #include "pm_matrixCopy@routines.inc.F90"
    1349           0 :     end procedure
    1350             : #endif
    1351             : 
    1352             : #undef RK_ENABLED
    1353             : 
    1354             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1355             : 
    1356             : #undef XLX_ENABLED
    1357             : #undef THO_ENABLED
    1358             : 
    1359             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1361             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1362             : 
    1363             : #define XXD_ENABLED 1
    1364             : #define AIO_ENABLED 1
    1365             : 
    1366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1367             : 
    1368             : #define SK_ENABLED 1
    1369             : 
    1370             : #if SK5_ENABLED
    1371             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_SK5
    1372             :         use pm_kind, only: SKC => SK5
    1373             : #include "pm_matrixCopy@routines.inc.F90"
    1374             :     end procedure
    1375             : #endif
    1376             : 
    1377             : #if SK4_ENABLED
    1378             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_SK4
    1379             :         use pm_kind, only: SKC => SK4
    1380             : #include "pm_matrixCopy@routines.inc.F90"
    1381             :     end procedure
    1382             : #endif
    1383             : 
    1384             : #if SK3_ENABLED
    1385             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_SK3
    1386             :         use pm_kind, only: SKC => SK3
    1387             : #include "pm_matrixCopy@routines.inc.F90"
    1388             :     end procedure
    1389             : #endif
    1390             : 
    1391             : #if SK2_ENABLED
    1392             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_SK2
    1393             :         use pm_kind, only: SKC => SK2
    1394             : #include "pm_matrixCopy@routines.inc.F90"
    1395             :     end procedure
    1396             : #endif
    1397             : 
    1398             : #if SK1_ENABLED
    1399          16 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_SK1
    1400             :         use pm_kind, only: SKC => SK1
    1401             : #include "pm_matrixCopy@routines.inc.F90"
    1402          16 :     end procedure
    1403             : #endif
    1404             : 
    1405             : #undef SK_ENABLED
    1406             : 
    1407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1408             : 
    1409             : #define IK_ENABLED 1
    1410             : 
    1411             : #if IK5_ENABLED
    1412           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_IK5
    1413             :         use pm_kind, only: IKC => IK5
    1414             : #include "pm_matrixCopy@routines.inc.F90"
    1415           0 :     end procedure
    1416             : #endif
    1417             : 
    1418             : #if IK4_ENABLED
    1419           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_IK4
    1420             :         use pm_kind, only: IKC => IK4
    1421             : #include "pm_matrixCopy@routines.inc.F90"
    1422           0 :     end procedure
    1423             : #endif
    1424             : 
    1425             : #if IK3_ENABLED
    1426           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_IK3
    1427             :         use pm_kind, only: IKC => IK3
    1428             : #include "pm_matrixCopy@routines.inc.F90"
    1429           0 :     end procedure
    1430             : #endif
    1431             : 
    1432             : #if IK2_ENABLED
    1433           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_IK2
    1434             :         use pm_kind, only: IKC => IK2
    1435             : #include "pm_matrixCopy@routines.inc.F90"
    1436           0 :     end procedure
    1437             : #endif
    1438             : 
    1439             : #if IK1_ENABLED
    1440           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_IK1
    1441             :         use pm_kind, only: IKC => IK1
    1442             : #include "pm_matrixCopy@routines.inc.F90"
    1443           0 :     end procedure
    1444             : #endif
    1445             : 
    1446             : #undef IK_ENABLED
    1447             : 
    1448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1449             : 
    1450             : #define LK_ENABLED 1
    1451             : 
    1452             : #if LK5_ENABLED
    1453           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_LK5
    1454             :         use pm_kind, only: LKC => LK5
    1455             : #include "pm_matrixCopy@routines.inc.F90"
    1456           0 :     end procedure
    1457             : #endif
    1458             : 
    1459             : #if LK4_ENABLED
    1460           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_LK4
    1461             :         use pm_kind, only: LKC => LK4
    1462             : #include "pm_matrixCopy@routines.inc.F90"
    1463           0 :     end procedure
    1464             : #endif
    1465             : 
    1466             : #if LK3_ENABLED
    1467           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_LK3
    1468             :         use pm_kind, only: LKC => LK3
    1469             : #include "pm_matrixCopy@routines.inc.F90"
    1470           0 :     end procedure
    1471             : #endif
    1472             : 
    1473             : #if LK2_ENABLED
    1474           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_LK2
    1475             :         use pm_kind, only: LKC => LK2
    1476             : #include "pm_matrixCopy@routines.inc.F90"
    1477           0 :     end procedure
    1478             : #endif
    1479             : 
    1480             : #if LK1_ENABLED
    1481           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_LK1
    1482             :         use pm_kind, only: LKC => LK1
    1483             : #include "pm_matrixCopy@routines.inc.F90"
    1484           0 :     end procedure
    1485             : #endif
    1486             : 
    1487             : #undef LK_ENABLED
    1488             : 
    1489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1490             : 
    1491             : #define CK_ENABLED 1
    1492             : 
    1493             : #if CK5_ENABLED
    1494             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_CK5
    1495             :         use pm_kind, only: CKC => CK5
    1496             : #include "pm_matrixCopy@routines.inc.F90"
    1497             :     end procedure
    1498             : #endif
    1499             : 
    1500             : #if CK4_ENABLED
    1501           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_CK4
    1502             :         use pm_kind, only: CKC => CK4
    1503             : #include "pm_matrixCopy@routines.inc.F90"
    1504           0 :     end procedure
    1505             : #endif
    1506             : 
    1507             : #if CK3_ENABLED
    1508           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_CK3
    1509             :         use pm_kind, only: CKC => CK3
    1510             : #include "pm_matrixCopy@routines.inc.F90"
    1511           0 :     end procedure
    1512             : #endif
    1513             : 
    1514             : #if CK2_ENABLED
    1515           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_CK2
    1516             :         use pm_kind, only: CKC => CK2
    1517             : #include "pm_matrixCopy@routines.inc.F90"
    1518           0 :     end procedure
    1519             : #endif
    1520             : 
    1521             : #if CK1_ENABLED
    1522           2 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_CK1
    1523             :         use pm_kind, only: CKC => CK1
    1524             : #include "pm_matrixCopy@routines.inc.F90"
    1525           2 :     end procedure
    1526             : #endif
    1527             : 
    1528             : #undef CK_ENABLED
    1529             : 
    1530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1531             : 
    1532             : #define RK_ENABLED 1
    1533             : 
    1534             : #if RK5_ENABLED
    1535             :     module procedure getMatCopy_RDP_RDP_XXD_AIO_RK5
    1536             :         use pm_kind, only: RKC => RK5
    1537             : #include "pm_matrixCopy@routines.inc.F90"
    1538             :     end procedure
    1539             : #endif
    1540             : 
    1541             : #if RK4_ENABLED
    1542           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_RK4
    1543             :         use pm_kind, only: RKC => RK4
    1544             : #include "pm_matrixCopy@routines.inc.F90"
    1545           0 :     end procedure
    1546             : #endif
    1547             : 
    1548             : #if RK3_ENABLED
    1549           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_RK3
    1550             :         use pm_kind, only: RKC => RK3
    1551             : #include "pm_matrixCopy@routines.inc.F90"
    1552           0 :     end procedure
    1553             : #endif
    1554             : 
    1555             : #if RK2_ENABLED
    1556           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_RK2
    1557             :         use pm_kind, only: RKC => RK2
    1558             : #include "pm_matrixCopy@routines.inc.F90"
    1559           0 :     end procedure
    1560             : #endif
    1561             : 
    1562             : #if RK1_ENABLED
    1563           0 :     module procedure getMatCopy_RDP_RDP_XXD_AIO_RK1
    1564             :         use pm_kind, only: RKC => RK1
    1565             : #include "pm_matrixCopy@routines.inc.F90"
    1566           0 :     end procedure
    1567             : #endif
    1568             : 
    1569             : #undef RK_ENABLED
    1570             : 
    1571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1572             : 
    1573             : #undef XXD_ENABLED
    1574             : #undef AIO_ENABLED
    1575             : 
    1576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1579             : 
    1580             : #define XXD_ENABLED 1
    1581             : #define TSO_ENABLED 1
    1582             : 
    1583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1584             : 
    1585             : #define SK_ENABLED 1
    1586             : 
    1587             : #if SK5_ENABLED
    1588             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_SK5
    1589             :         use pm_kind, only: SKC => SK5
    1590             : #include "pm_matrixCopy@routines.inc.F90"
    1591             :     end procedure
    1592             : #endif
    1593             : 
    1594             : #if SK4_ENABLED
    1595             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_SK4
    1596             :         use pm_kind, only: SKC => SK4
    1597             : #include "pm_matrixCopy@routines.inc.F90"
    1598             :     end procedure
    1599             : #endif
    1600             : 
    1601             : #if SK3_ENABLED
    1602             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_SK3
    1603             :         use pm_kind, only: SKC => SK3
    1604             : #include "pm_matrixCopy@routines.inc.F90"
    1605             :     end procedure
    1606             : #endif
    1607             : 
    1608             : #if SK2_ENABLED
    1609             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_SK2
    1610             :         use pm_kind, only: SKC => SK2
    1611             : #include "pm_matrixCopy@routines.inc.F90"
    1612             :     end procedure
    1613             : #endif
    1614             : 
    1615             : #if SK1_ENABLED
    1616          16 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_SK1
    1617             :         use pm_kind, only: SKC => SK1
    1618             : #include "pm_matrixCopy@routines.inc.F90"
    1619          16 :     end procedure
    1620             : #endif
    1621             : 
    1622             : #undef SK_ENABLED
    1623             : 
    1624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1625             : 
    1626             : #define IK_ENABLED 1
    1627             : 
    1628             : #if IK5_ENABLED
    1629           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_IK5
    1630             :         use pm_kind, only: IKC => IK5
    1631             : #include "pm_matrixCopy@routines.inc.F90"
    1632           0 :     end procedure
    1633             : #endif
    1634             : 
    1635             : #if IK4_ENABLED
    1636           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_IK4
    1637             :         use pm_kind, only: IKC => IK4
    1638             : #include "pm_matrixCopy@routines.inc.F90"
    1639           0 :     end procedure
    1640             : #endif
    1641             : 
    1642             : #if IK3_ENABLED
    1643           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_IK3
    1644             :         use pm_kind, only: IKC => IK3
    1645             : #include "pm_matrixCopy@routines.inc.F90"
    1646           0 :     end procedure
    1647             : #endif
    1648             : 
    1649             : #if IK2_ENABLED
    1650           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_IK2
    1651             :         use pm_kind, only: IKC => IK2
    1652             : #include "pm_matrixCopy@routines.inc.F90"
    1653           0 :     end procedure
    1654             : #endif
    1655             : 
    1656             : #if IK1_ENABLED
    1657           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_IK1
    1658             :         use pm_kind, only: IKC => IK1
    1659             : #include "pm_matrixCopy@routines.inc.F90"
    1660           0 :     end procedure
    1661             : #endif
    1662             : 
    1663             : #undef IK_ENABLED
    1664             : 
    1665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1666             : 
    1667             : #define LK_ENABLED 1
    1668             : 
    1669             : #if LK5_ENABLED
    1670           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_LK5
    1671             :         use pm_kind, only: LKC => LK5
    1672             : #include "pm_matrixCopy@routines.inc.F90"
    1673           0 :     end procedure
    1674             : #endif
    1675             : 
    1676             : #if LK4_ENABLED
    1677           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_LK4
    1678             :         use pm_kind, only: LKC => LK4
    1679             : #include "pm_matrixCopy@routines.inc.F90"
    1680           0 :     end procedure
    1681             : #endif
    1682             : 
    1683             : #if LK3_ENABLED
    1684           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_LK3
    1685             :         use pm_kind, only: LKC => LK3
    1686             : #include "pm_matrixCopy@routines.inc.F90"
    1687           0 :     end procedure
    1688             : #endif
    1689             : 
    1690             : #if LK2_ENABLED
    1691           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_LK2
    1692             :         use pm_kind, only: LKC => LK2
    1693             : #include "pm_matrixCopy@routines.inc.F90"
    1694           0 :     end procedure
    1695             : #endif
    1696             : 
    1697             : #if LK1_ENABLED
    1698           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_LK1
    1699             :         use pm_kind, only: LKC => LK1
    1700             : #include "pm_matrixCopy@routines.inc.F90"
    1701           0 :     end procedure
    1702             : #endif
    1703             : 
    1704             : #undef LK_ENABLED
    1705             : 
    1706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1707             : 
    1708             : #define CK_ENABLED 1
    1709             : 
    1710             : #if CK5_ENABLED
    1711             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_CK5
    1712             :         use pm_kind, only: CKC => CK5
    1713             : #include "pm_matrixCopy@routines.inc.F90"
    1714             :     end procedure
    1715             : #endif
    1716             : 
    1717             : #if CK4_ENABLED
    1718           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_CK4
    1719             :         use pm_kind, only: CKC => CK4
    1720             : #include "pm_matrixCopy@routines.inc.F90"
    1721           0 :     end procedure
    1722             : #endif
    1723             : 
    1724             : #if CK3_ENABLED
    1725           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_CK3
    1726             :         use pm_kind, only: CKC => CK3
    1727             : #include "pm_matrixCopy@routines.inc.F90"
    1728           0 :     end procedure
    1729             : #endif
    1730             : 
    1731             : #if CK2_ENABLED
    1732           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_CK2
    1733             :         use pm_kind, only: CKC => CK2
    1734             : #include "pm_matrixCopy@routines.inc.F90"
    1735           0 :     end procedure
    1736             : #endif
    1737             : 
    1738             : #if CK1_ENABLED
    1739           4 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_CK1
    1740             :         use pm_kind, only: CKC => CK1
    1741             : #include "pm_matrixCopy@routines.inc.F90"
    1742           4 :     end procedure
    1743             : #endif
    1744             : 
    1745             : #undef CK_ENABLED
    1746             : 
    1747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1748             : 
    1749             : #define RK_ENABLED 1
    1750             : 
    1751             : #if RK5_ENABLED
    1752             :     module procedure getMatCopy_RDP_RDP_XXD_TSO_RK5
    1753             :         use pm_kind, only: RKC => RK5
    1754             : #include "pm_matrixCopy@routines.inc.F90"
    1755             :     end procedure
    1756             : #endif
    1757             : 
    1758             : #if RK4_ENABLED
    1759           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_RK4
    1760             :         use pm_kind, only: RKC => RK4
    1761             : #include "pm_matrixCopy@routines.inc.F90"
    1762           0 :     end procedure
    1763             : #endif
    1764             : 
    1765             : #if RK3_ENABLED
    1766           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_RK3
    1767             :         use pm_kind, only: RKC => RK3
    1768             : #include "pm_matrixCopy@routines.inc.F90"
    1769           0 :     end procedure
    1770             : #endif
    1771             : 
    1772             : #if RK2_ENABLED
    1773           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_RK2
    1774             :         use pm_kind, only: RKC => RK2
    1775             : #include "pm_matrixCopy@routines.inc.F90"
    1776           0 :     end procedure
    1777             : #endif
    1778             : 
    1779             : #if RK1_ENABLED
    1780           0 :     module procedure getMatCopy_RDP_RDP_XXD_TSO_RK1
    1781             :         use pm_kind, only: RKC => RK1
    1782             : #include "pm_matrixCopy@routines.inc.F90"
    1783           0 :     end procedure
    1784             : #endif
    1785             : 
    1786             : #undef RK_ENABLED
    1787             : 
    1788             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1789             : 
    1790             : #undef XXD_ENABLED
    1791             : #undef TSO_ENABLED
    1792             : 
    1793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1795             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1796             : 
    1797             : #define XXD_ENABLED 1
    1798             : #define THO_ENABLED 1
    1799             : 
    1800             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1801             : 
    1802             : #define SK_ENABLED 1
    1803             : 
    1804             : #if SK5_ENABLED
    1805             :     module procedure getMatCopy_RDP_RDP_XXD_THO_SK5
    1806             :         use pm_kind, only: SKC => SK5
    1807             : #include "pm_matrixCopy@routines.inc.F90"
    1808             :     end procedure
    1809             : #endif
    1810             : 
    1811             : #if SK4_ENABLED
    1812             :     module procedure getMatCopy_RDP_RDP_XXD_THO_SK4
    1813             :         use pm_kind, only: SKC => SK4
    1814             : #include "pm_matrixCopy@routines.inc.F90"
    1815             :     end procedure
    1816             : #endif
    1817             : 
    1818             : #if SK3_ENABLED
    1819             :     module procedure getMatCopy_RDP_RDP_XXD_THO_SK3
    1820             :         use pm_kind, only: SKC => SK3
    1821             : #include "pm_matrixCopy@routines.inc.F90"
    1822             :     end procedure
    1823             : #endif
    1824             : 
    1825             : #if SK2_ENABLED
    1826             :     module procedure getMatCopy_RDP_RDP_XXD_THO_SK2
    1827             :         use pm_kind, only: SKC => SK2
    1828             : #include "pm_matrixCopy@routines.inc.F90"
    1829             :     end procedure
    1830             : #endif
    1831             : 
    1832             : #if SK1_ENABLED
    1833          16 :     module procedure getMatCopy_RDP_RDP_XXD_THO_SK1
    1834             :         use pm_kind, only: SKC => SK1
    1835             : #include "pm_matrixCopy@routines.inc.F90"
    1836          16 :     end procedure
    1837             : #endif
    1838             : 
    1839             : #undef SK_ENABLED
    1840             : 
    1841             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1842             : 
    1843             : #define IK_ENABLED 1
    1844             : 
    1845             : #if IK5_ENABLED
    1846           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_IK5
    1847             :         use pm_kind, only: IKC => IK5
    1848             : #include "pm_matrixCopy@routines.inc.F90"
    1849           0 :     end procedure
    1850             : #endif
    1851             : 
    1852             : #if IK4_ENABLED
    1853           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_IK4
    1854             :         use pm_kind, only: IKC => IK4
    1855             : #include "pm_matrixCopy@routines.inc.F90"
    1856           0 :     end procedure
    1857             : #endif
    1858             : 
    1859             : #if IK3_ENABLED
    1860           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_IK3
    1861             :         use pm_kind, only: IKC => IK3
    1862             : #include "pm_matrixCopy@routines.inc.F90"
    1863           0 :     end procedure
    1864             : #endif
    1865             : 
    1866             : #if IK2_ENABLED
    1867           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_IK2
    1868             :         use pm_kind, only: IKC => IK2
    1869             : #include "pm_matrixCopy@routines.inc.F90"
    1870           0 :     end procedure
    1871             : #endif
    1872             : 
    1873             : #if IK1_ENABLED
    1874           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_IK1
    1875             :         use pm_kind, only: IKC => IK1
    1876             : #include "pm_matrixCopy@routines.inc.F90"
    1877           0 :     end procedure
    1878             : #endif
    1879             : 
    1880             : #undef IK_ENABLED
    1881             : 
    1882             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1883             : 
    1884             : #define LK_ENABLED 1
    1885             : 
    1886             : #if LK5_ENABLED
    1887           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_LK5
    1888             :         use pm_kind, only: LKC => LK5
    1889             : #include "pm_matrixCopy@routines.inc.F90"
    1890           0 :     end procedure
    1891             : #endif
    1892             : 
    1893             : #if LK4_ENABLED
    1894           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_LK4
    1895             :         use pm_kind, only: LKC => LK4
    1896             : #include "pm_matrixCopy@routines.inc.F90"
    1897           0 :     end procedure
    1898             : #endif
    1899             : 
    1900             : #if LK3_ENABLED
    1901           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_LK3
    1902             :         use pm_kind, only: LKC => LK3
    1903             : #include "pm_matrixCopy@routines.inc.F90"
    1904           0 :     end procedure
    1905             : #endif
    1906             : 
    1907             : #if LK2_ENABLED
    1908           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_LK2
    1909             :         use pm_kind, only: LKC => LK2
    1910             : #include "pm_matrixCopy@routines.inc.F90"
    1911           0 :     end procedure
    1912             : #endif
    1913             : 
    1914             : #if LK1_ENABLED
    1915           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_LK1
    1916             :         use pm_kind, only: LKC => LK1
    1917             : #include "pm_matrixCopy@routines.inc.F90"
    1918           0 :     end procedure
    1919             : #endif
    1920             : 
    1921             : #undef LK_ENABLED
    1922             : 
    1923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1924             : 
    1925             : #define CK_ENABLED 1
    1926             : 
    1927             : #if CK5_ENABLED
    1928             :     module procedure getMatCopy_RDP_RDP_XXD_THO_CK5
    1929             :         use pm_kind, only: CKC => CK5
    1930             : #include "pm_matrixCopy@routines.inc.F90"
    1931             :     end procedure
    1932             : #endif
    1933             : 
    1934             : #if CK4_ENABLED
    1935           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_CK4
    1936             :         use pm_kind, only: CKC => CK4
    1937             : #include "pm_matrixCopy@routines.inc.F90"
    1938           0 :     end procedure
    1939             : #endif
    1940             : 
    1941             : #if CK3_ENABLED
    1942           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_CK3
    1943             :         use pm_kind, only: CKC => CK3
    1944             : #include "pm_matrixCopy@routines.inc.F90"
    1945           0 :     end procedure
    1946             : #endif
    1947             : 
    1948             : #if CK2_ENABLED
    1949           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_CK2
    1950             :         use pm_kind, only: CKC => CK2
    1951             : #include "pm_matrixCopy@routines.inc.F90"
    1952           0 :     end procedure
    1953             : #endif
    1954             : 
    1955             : #if CK1_ENABLED
    1956           4 :     module procedure getMatCopy_RDP_RDP_XXD_THO_CK1
    1957             :         use pm_kind, only: CKC => CK1
    1958             : #include "pm_matrixCopy@routines.inc.F90"
    1959           4 :     end procedure
    1960             : #endif
    1961             : 
    1962             : #undef CK_ENABLED
    1963             : 
    1964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1965             : 
    1966             : #define RK_ENABLED 1
    1967             : 
    1968             : #if RK5_ENABLED
    1969             :     module procedure getMatCopy_RDP_RDP_XXD_THO_RK5
    1970             :         use pm_kind, only: RKC => RK5
    1971             : #include "pm_matrixCopy@routines.inc.F90"
    1972             :     end procedure
    1973             : #endif
    1974             : 
    1975             : #if RK4_ENABLED
    1976           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_RK4
    1977             :         use pm_kind, only: RKC => RK4
    1978             : #include "pm_matrixCopy@routines.inc.F90"
    1979           0 :     end procedure
    1980             : #endif
    1981             : 
    1982             : #if RK3_ENABLED
    1983           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_RK3
    1984             :         use pm_kind, only: RKC => RK3
    1985             : #include "pm_matrixCopy@routines.inc.F90"
    1986           0 :     end procedure
    1987             : #endif
    1988             : 
    1989             : #if RK2_ENABLED
    1990           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_RK2
    1991             :         use pm_kind, only: RKC => RK2
    1992             : #include "pm_matrixCopy@routines.inc.F90"
    1993           0 :     end procedure
    1994             : #endif
    1995             : 
    1996             : #if RK1_ENABLED
    1997           0 :     module procedure getMatCopy_RDP_RDP_XXD_THO_RK1
    1998             :         use pm_kind, only: RKC => RK1
    1999             : #include "pm_matrixCopy@routines.inc.F90"
    2000           0 :     end procedure
    2001             : #endif
    2002             : 
    2003             : #undef RK_ENABLED
    2004             : 
    2005             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2006             : 
    2007             : #undef XXD_ENABLED
    2008             : #undef THO_ENABLED
    2009             : 
    2010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2012             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2013             : 
    2014             : #define UXD_ENABLED 1
    2015             : #define AIO_ENABLED 1
    2016             : 
    2017             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2018             : 
    2019             : #define SK_ENABLED 1
    2020             : 
    2021             : #if SK5_ENABLED
    2022             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_SK5
    2023             :         use pm_kind, only: SKC => SK5
    2024             : #include "pm_matrixCopy@routines.inc.F90"
    2025             :     end procedure
    2026             : #endif
    2027             : 
    2028             : #if SK4_ENABLED
    2029             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_SK4
    2030             :         use pm_kind, only: SKC => SK4
    2031             : #include "pm_matrixCopy@routines.inc.F90"
    2032             :     end procedure
    2033             : #endif
    2034             : 
    2035             : #if SK3_ENABLED
    2036             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_SK3
    2037             :         use pm_kind, only: SKC => SK3
    2038             : #include "pm_matrixCopy@routines.inc.F90"
    2039             :     end procedure
    2040             : #endif
    2041             : 
    2042             : #if SK2_ENABLED
    2043             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_SK2
    2044             :         use pm_kind, only: SKC => SK2
    2045             : #include "pm_matrixCopy@routines.inc.F90"
    2046             :     end procedure
    2047             : #endif
    2048             : 
    2049             : #if SK1_ENABLED
    2050           5 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_SK1
    2051             :         use pm_kind, only: SKC => SK1
    2052             : #include "pm_matrixCopy@routines.inc.F90"
    2053           5 :     end procedure
    2054             : #endif
    2055             : 
    2056             : #undef SK_ENABLED
    2057             : 
    2058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2059             : 
    2060             : #define IK_ENABLED 1
    2061             : 
    2062             : #if IK5_ENABLED
    2063         286 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_IK5
    2064             :         use pm_kind, only: IKC => IK5
    2065             : #include "pm_matrixCopy@routines.inc.F90"
    2066         286 :     end procedure
    2067             : #endif
    2068             : 
    2069             : #if IK4_ENABLED
    2070         298 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_IK4
    2071             :         use pm_kind, only: IKC => IK4
    2072             : #include "pm_matrixCopy@routines.inc.F90"
    2073         298 :     end procedure
    2074             : #endif
    2075             : 
    2076             : #if IK3_ENABLED
    2077         309 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_IK3
    2078             :         use pm_kind, only: IKC => IK3
    2079             : #include "pm_matrixCopy@routines.inc.F90"
    2080         309 :     end procedure
    2081             : #endif
    2082             : 
    2083             : #if IK2_ENABLED
    2084         264 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_IK2
    2085             :         use pm_kind, only: IKC => IK2
    2086             : #include "pm_matrixCopy@routines.inc.F90"
    2087         264 :     end procedure
    2088             : #endif
    2089             : 
    2090             : #if IK1_ENABLED
    2091         288 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_IK1
    2092             :         use pm_kind, only: IKC => IK1
    2093             : #include "pm_matrixCopy@routines.inc.F90"
    2094         288 :     end procedure
    2095             : #endif
    2096             : 
    2097             : #undef IK_ENABLED
    2098             : 
    2099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2100             : 
    2101             : #define LK_ENABLED 1
    2102             : 
    2103             : #if LK5_ENABLED
    2104           0 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_LK5
    2105             :         use pm_kind, only: LKC => LK5
    2106             : #include "pm_matrixCopy@routines.inc.F90"
    2107           0 :     end procedure
    2108             : #endif
    2109             : 
    2110             : #if LK4_ENABLED
    2111           0 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_LK4
    2112             :         use pm_kind, only: LKC => LK4
    2113             : #include "pm_matrixCopy@routines.inc.F90"
    2114           0 :     end procedure
    2115             : #endif
    2116             : 
    2117             : #if LK3_ENABLED
    2118           0 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_LK3
    2119             :         use pm_kind, only: LKC => LK3
    2120             : #include "pm_matrixCopy@routines.inc.F90"
    2121           0 :     end procedure
    2122             : #endif
    2123             : 
    2124             : #if LK2_ENABLED
    2125           0 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_LK2
    2126             :         use pm_kind, only: LKC => LK2
    2127             : #include "pm_matrixCopy@routines.inc.F90"
    2128           0 :     end procedure
    2129             : #endif
    2130             : 
    2131             : #if LK1_ENABLED
    2132           0 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_LK1
    2133             :         use pm_kind, only: LKC => LK1
    2134             : #include "pm_matrixCopy@routines.inc.F90"
    2135           0 :     end procedure
    2136             : #endif
    2137             : 
    2138             : #undef LK_ENABLED
    2139             : 
    2140             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2141             : 
    2142             : #define CK_ENABLED 1
    2143             : 
    2144             : #if CK5_ENABLED
    2145             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_CK5
    2146             :         use pm_kind, only: CKC => CK5
    2147             : #include "pm_matrixCopy@routines.inc.F90"
    2148             :     end procedure
    2149             : #endif
    2150             : 
    2151             : #if CK4_ENABLED
    2152         678 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_CK4
    2153             :         use pm_kind, only: CKC => CK4
    2154             : #include "pm_matrixCopy@routines.inc.F90"
    2155         678 :     end procedure
    2156             : #endif
    2157             : 
    2158             : #if CK3_ENABLED
    2159         686 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_CK3
    2160             :         use pm_kind, only: CKC => CK3
    2161             : #include "pm_matrixCopy@routines.inc.F90"
    2162         686 :     end procedure
    2163             : #endif
    2164             : 
    2165             : #if CK2_ENABLED
    2166         690 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_CK2
    2167             :         use pm_kind, only: CKC => CK2
    2168             : #include "pm_matrixCopy@routines.inc.F90"
    2169         690 :     end procedure
    2170             : #endif
    2171             : 
    2172             : #if CK1_ENABLED
    2173         685 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_CK1
    2174             :         use pm_kind, only: CKC => CK1
    2175             : #include "pm_matrixCopy@routines.inc.F90"
    2176         685 :     end procedure
    2177             : #endif
    2178             : 
    2179             : #undef CK_ENABLED
    2180             : 
    2181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2182             : 
    2183             : #define RK_ENABLED 1
    2184             : 
    2185             : #if RK5_ENABLED
    2186             :     module procedure getMatCopy_RDP_RDP_UXD_AIO_RK5
    2187             :         use pm_kind, only: RKC => RK5
    2188             : #include "pm_matrixCopy@routines.inc.F90"
    2189             :     end procedure
    2190             : #endif
    2191             : 
    2192             : #if RK4_ENABLED
    2193         670 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_RK4
    2194             :         use pm_kind, only: RKC => RK4
    2195             : #include "pm_matrixCopy@routines.inc.F90"
    2196         670 :     end procedure
    2197             : #endif
    2198             : 
    2199             : #if RK3_ENABLED
    2200         688 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_RK3
    2201             :         use pm_kind, only: RKC => RK3
    2202             : #include "pm_matrixCopy@routines.inc.F90"
    2203         688 :     end procedure
    2204             : #endif
    2205             : 
    2206             : #if RK2_ENABLED
    2207         658 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_RK2
    2208             :         use pm_kind, only: RKC => RK2
    2209             : #include "pm_matrixCopy@routines.inc.F90"
    2210         658 :     end procedure
    2211             : #endif
    2212             : 
    2213             : #if RK1_ENABLED
    2214         722 :     module procedure getMatCopy_RDP_RDP_UXD_AIO_RK1
    2215             :         use pm_kind, only: RKC => RK1
    2216             : #include "pm_matrixCopy@routines.inc.F90"
    2217         722 :     end procedure
    2218             : #endif
    2219             : 
    2220             : #undef RK_ENABLED
    2221             : 
    2222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2223             : 
    2224             : #undef UXD_ENABLED
    2225             : #undef AIO_ENABLED
    2226             : 
    2227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2230             : 
    2231             : #define UXD_ENABLED 1
    2232             : #define TSO_ENABLED 1
    2233             : 
    2234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2235             : 
    2236             : #define SK_ENABLED 1
    2237             : 
    2238             : #if SK5_ENABLED
    2239             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_SK5
    2240             :         use pm_kind, only: SKC => SK5
    2241             : #include "pm_matrixCopy@routines.inc.F90"
    2242             :     end procedure
    2243             : #endif
    2244             : 
    2245             : #if SK4_ENABLED
    2246             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_SK4
    2247             :         use pm_kind, only: SKC => SK4
    2248             : #include "pm_matrixCopy@routines.inc.F90"
    2249             :     end procedure
    2250             : #endif
    2251             : 
    2252             : #if SK3_ENABLED
    2253             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_SK3
    2254             :         use pm_kind, only: SKC => SK3
    2255             : #include "pm_matrixCopy@routines.inc.F90"
    2256             :     end procedure
    2257             : #endif
    2258             : 
    2259             : #if SK2_ENABLED
    2260             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_SK2
    2261             :         use pm_kind, only: SKC => SK2
    2262             : #include "pm_matrixCopy@routines.inc.F90"
    2263             :     end procedure
    2264             : #endif
    2265             : 
    2266             : #if SK1_ENABLED
    2267           5 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_SK1
    2268             :         use pm_kind, only: SKC => SK1
    2269             : #include "pm_matrixCopy@routines.inc.F90"
    2270           5 :     end procedure
    2271             : #endif
    2272             : 
    2273             : #undef SK_ENABLED
    2274             : 
    2275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2276             : 
    2277             : #define IK_ENABLED 1
    2278             : 
    2279             : #if IK5_ENABLED
    2280           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_IK5
    2281             :         use pm_kind, only: IKC => IK5
    2282             : #include "pm_matrixCopy@routines.inc.F90"
    2283           0 :     end procedure
    2284             : #endif
    2285             : 
    2286             : #if IK4_ENABLED
    2287           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_IK4
    2288             :         use pm_kind, only: IKC => IK4
    2289             : #include "pm_matrixCopy@routines.inc.F90"
    2290           0 :     end procedure
    2291             : #endif
    2292             : 
    2293             : #if IK3_ENABLED
    2294           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_IK3
    2295             :         use pm_kind, only: IKC => IK3
    2296             : #include "pm_matrixCopy@routines.inc.F90"
    2297           0 :     end procedure
    2298             : #endif
    2299             : 
    2300             : #if IK2_ENABLED
    2301           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_IK2
    2302             :         use pm_kind, only: IKC => IK2
    2303             : #include "pm_matrixCopy@routines.inc.F90"
    2304           0 :     end procedure
    2305             : #endif
    2306             : 
    2307             : #if IK1_ENABLED
    2308           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_IK1
    2309             :         use pm_kind, only: IKC => IK1
    2310             : #include "pm_matrixCopy@routines.inc.F90"
    2311           0 :     end procedure
    2312             : #endif
    2313             : 
    2314             : #undef IK_ENABLED
    2315             : 
    2316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2317             : 
    2318             : #define LK_ENABLED 1
    2319             : 
    2320             : #if LK5_ENABLED
    2321           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_LK5
    2322             :         use pm_kind, only: LKC => LK5
    2323             : #include "pm_matrixCopy@routines.inc.F90"
    2324           0 :     end procedure
    2325             : #endif
    2326             : 
    2327             : #if LK4_ENABLED
    2328           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_LK4
    2329             :         use pm_kind, only: LKC => LK4
    2330             : #include "pm_matrixCopy@routines.inc.F90"
    2331           0 :     end procedure
    2332             : #endif
    2333             : 
    2334             : #if LK3_ENABLED
    2335           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_LK3
    2336             :         use pm_kind, only: LKC => LK3
    2337             : #include "pm_matrixCopy@routines.inc.F90"
    2338           0 :     end procedure
    2339             : #endif
    2340             : 
    2341             : #if LK2_ENABLED
    2342           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_LK2
    2343             :         use pm_kind, only: LKC => LK2
    2344             : #include "pm_matrixCopy@routines.inc.F90"
    2345           0 :     end procedure
    2346             : #endif
    2347             : 
    2348             : #if LK1_ENABLED
    2349           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_LK1
    2350             :         use pm_kind, only: LKC => LK1
    2351             : #include "pm_matrixCopy@routines.inc.F90"
    2352           0 :     end procedure
    2353             : #endif
    2354             : 
    2355             : #undef LK_ENABLED
    2356             : 
    2357             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2358             : 
    2359             : #define CK_ENABLED 1
    2360             : 
    2361             : #if CK5_ENABLED
    2362             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_CK5
    2363             :         use pm_kind, only: CKC => CK5
    2364             : #include "pm_matrixCopy@routines.inc.F90"
    2365             :     end procedure
    2366             : #endif
    2367             : 
    2368             : #if CK4_ENABLED
    2369           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_CK4
    2370             :         use pm_kind, only: CKC => CK4
    2371             : #include "pm_matrixCopy@routines.inc.F90"
    2372           0 :     end procedure
    2373             : #endif
    2374             : 
    2375             : #if CK3_ENABLED
    2376           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_CK3
    2377             :         use pm_kind, only: CKC => CK3
    2378             : #include "pm_matrixCopy@routines.inc.F90"
    2379           0 :     end procedure
    2380             : #endif
    2381             : 
    2382             : #if CK2_ENABLED
    2383           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_CK2
    2384             :         use pm_kind, only: CKC => CK2
    2385             : #include "pm_matrixCopy@routines.inc.F90"
    2386           0 :     end procedure
    2387             : #endif
    2388             : 
    2389             : #if CK1_ENABLED
    2390           1 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_CK1
    2391             :         use pm_kind, only: CKC => CK1
    2392             : #include "pm_matrixCopy@routines.inc.F90"
    2393           1 :     end procedure
    2394             : #endif
    2395             : 
    2396             : #undef CK_ENABLED
    2397             : 
    2398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2399             : 
    2400             : #define RK_ENABLED 1
    2401             : 
    2402             : #if RK5_ENABLED
    2403             :     module procedure getMatCopy_RDP_RDP_UXD_TSO_RK5
    2404             :         use pm_kind, only: RKC => RK5
    2405             : #include "pm_matrixCopy@routines.inc.F90"
    2406             :     end procedure
    2407             : #endif
    2408             : 
    2409             : #if RK4_ENABLED
    2410           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_RK4
    2411             :         use pm_kind, only: RKC => RK4
    2412             : #include "pm_matrixCopy@routines.inc.F90"
    2413           0 :     end procedure
    2414             : #endif
    2415             : 
    2416             : #if RK3_ENABLED
    2417           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_RK3
    2418             :         use pm_kind, only: RKC => RK3
    2419             : #include "pm_matrixCopy@routines.inc.F90"
    2420           0 :     end procedure
    2421             : #endif
    2422             : 
    2423             : #if RK2_ENABLED
    2424           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_RK2
    2425             :         use pm_kind, only: RKC => RK2
    2426             : #include "pm_matrixCopy@routines.inc.F90"
    2427           0 :     end procedure
    2428             : #endif
    2429             : 
    2430             : #if RK1_ENABLED
    2431           0 :     module procedure getMatCopy_RDP_RDP_UXD_TSO_RK1
    2432             :         use pm_kind, only: RKC => RK1
    2433             : #include "pm_matrixCopy@routines.inc.F90"
    2434           0 :     end procedure
    2435             : #endif
    2436             : 
    2437             : #undef RK_ENABLED
    2438             : 
    2439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2440             : 
    2441             : #undef UXD_ENABLED
    2442             : #undef TSO_ENABLED
    2443             : 
    2444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2445             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2446             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2447             : 
    2448             : #define UXD_ENABLED 1
    2449             : #define THO_ENABLED 1
    2450             : 
    2451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2452             : 
    2453             : #define SK_ENABLED 1
    2454             : 
    2455             : #if SK5_ENABLED
    2456             :     module procedure getMatCopy_RDP_RDP_UXD_THO_SK5
    2457             :         use pm_kind, only: SKC => SK5
    2458             : #include "pm_matrixCopy@routines.inc.F90"
    2459             :     end procedure
    2460             : #endif
    2461             : 
    2462             : #if SK4_ENABLED
    2463             :     module procedure getMatCopy_RDP_RDP_UXD_THO_SK4
    2464             :         use pm_kind, only: SKC => SK4
    2465             : #include "pm_matrixCopy@routines.inc.F90"
    2466             :     end procedure
    2467             : #endif
    2468             : 
    2469             : #if SK3_ENABLED
    2470             :     module procedure getMatCopy_RDP_RDP_UXD_THO_SK3
    2471             :         use pm_kind, only: SKC => SK3
    2472             : #include "pm_matrixCopy@routines.inc.F90"
    2473             :     end procedure
    2474             : #endif
    2475             : 
    2476             : #if SK2_ENABLED
    2477             :     module procedure getMatCopy_RDP_RDP_UXD_THO_SK2
    2478             :         use pm_kind, only: SKC => SK2
    2479             : #include "pm_matrixCopy@routines.inc.F90"
    2480             :     end procedure
    2481             : #endif
    2482             : 
    2483             : #if SK1_ENABLED
    2484           5 :     module procedure getMatCopy_RDP_RDP_UXD_THO_SK1
    2485             :         use pm_kind, only: SKC => SK1
    2486             : #include "pm_matrixCopy@routines.inc.F90"
    2487           5 :     end procedure
    2488             : #endif
    2489             : 
    2490             : #undef SK_ENABLED
    2491             : 
    2492             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2493             : 
    2494             : #define IK_ENABLED 1
    2495             : 
    2496             : #if IK5_ENABLED
    2497           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_IK5
    2498             :         use pm_kind, only: IKC => IK5
    2499             : #include "pm_matrixCopy@routines.inc.F90"
    2500           0 :     end procedure
    2501             : #endif
    2502             : 
    2503             : #if IK4_ENABLED
    2504           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_IK4
    2505             :         use pm_kind, only: IKC => IK4
    2506             : #include "pm_matrixCopy@routines.inc.F90"
    2507           0 :     end procedure
    2508             : #endif
    2509             : 
    2510             : #if IK3_ENABLED
    2511           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_IK3
    2512             :         use pm_kind, only: IKC => IK3
    2513             : #include "pm_matrixCopy@routines.inc.F90"
    2514           0 :     end procedure
    2515             : #endif
    2516             : 
    2517             : #if IK2_ENABLED
    2518           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_IK2
    2519             :         use pm_kind, only: IKC => IK2
    2520             : #include "pm_matrixCopy@routines.inc.F90"
    2521           0 :     end procedure
    2522             : #endif
    2523             : 
    2524             : #if IK1_ENABLED
    2525           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_IK1
    2526             :         use pm_kind, only: IKC => IK1
    2527             : #include "pm_matrixCopy@routines.inc.F90"
    2528           0 :     end procedure
    2529             : #endif
    2530             : 
    2531             : #undef IK_ENABLED
    2532             : 
    2533             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2534             : 
    2535             : #define LK_ENABLED 1
    2536             : 
    2537             : #if LK5_ENABLED
    2538           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_LK5
    2539             :         use pm_kind, only: LKC => LK5
    2540             : #include "pm_matrixCopy@routines.inc.F90"
    2541           0 :     end procedure
    2542             : #endif
    2543             : 
    2544             : #if LK4_ENABLED
    2545           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_LK4
    2546             :         use pm_kind, only: LKC => LK4
    2547             : #include "pm_matrixCopy@routines.inc.F90"
    2548           0 :     end procedure
    2549             : #endif
    2550             : 
    2551             : #if LK3_ENABLED
    2552           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_LK3
    2553             :         use pm_kind, only: LKC => LK3
    2554             : #include "pm_matrixCopy@routines.inc.F90"
    2555           0 :     end procedure
    2556             : #endif
    2557             : 
    2558             : #if LK2_ENABLED
    2559           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_LK2
    2560             :         use pm_kind, only: LKC => LK2
    2561             : #include "pm_matrixCopy@routines.inc.F90"
    2562           0 :     end procedure
    2563             : #endif
    2564             : 
    2565             : #if LK1_ENABLED
    2566           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_LK1
    2567             :         use pm_kind, only: LKC => LK1
    2568             : #include "pm_matrixCopy@routines.inc.F90"
    2569           0 :     end procedure
    2570             : #endif
    2571             : 
    2572             : #undef LK_ENABLED
    2573             : 
    2574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2575             : 
    2576             : #define CK_ENABLED 1
    2577             : 
    2578             : #if CK5_ENABLED
    2579             :     module procedure getMatCopy_RDP_RDP_UXD_THO_CK5
    2580             :         use pm_kind, only: CKC => CK5
    2581             : #include "pm_matrixCopy@routines.inc.F90"
    2582             :     end procedure
    2583             : #endif
    2584             : 
    2585             : #if CK4_ENABLED
    2586           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_CK4
    2587             :         use pm_kind, only: CKC => CK4
    2588             : #include "pm_matrixCopy@routines.inc.F90"
    2589           0 :     end procedure
    2590             : #endif
    2591             : 
    2592             : #if CK3_ENABLED
    2593           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_CK3
    2594             :         use pm_kind, only: CKC => CK3
    2595             : #include "pm_matrixCopy@routines.inc.F90"
    2596           0 :     end procedure
    2597             : #endif
    2598             : 
    2599             : #if CK2_ENABLED
    2600           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_CK2
    2601             :         use pm_kind, only: CKC => CK2
    2602             : #include "pm_matrixCopy@routines.inc.F90"
    2603           0 :     end procedure
    2604             : #endif
    2605             : 
    2606             : #if CK1_ENABLED
    2607           1 :     module procedure getMatCopy_RDP_RDP_UXD_THO_CK1
    2608             :         use pm_kind, only: CKC => CK1
    2609             : #include "pm_matrixCopy@routines.inc.F90"
    2610           1 :     end procedure
    2611             : #endif
    2612             : 
    2613             : #undef CK_ENABLED
    2614             : 
    2615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2616             : 
    2617             : #define RK_ENABLED 1
    2618             : 
    2619             : #if RK5_ENABLED
    2620             :     module procedure getMatCopy_RDP_RDP_UXD_THO_RK5
    2621             :         use pm_kind, only: RKC => RK5
    2622             : #include "pm_matrixCopy@routines.inc.F90"
    2623             :     end procedure
    2624             : #endif
    2625             : 
    2626             : #if RK4_ENABLED
    2627           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_RK4
    2628             :         use pm_kind, only: RKC => RK4
    2629             : #include "pm_matrixCopy@routines.inc.F90"
    2630           0 :     end procedure
    2631             : #endif
    2632             : 
    2633             : #if RK3_ENABLED
    2634           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_RK3
    2635             :         use pm_kind, only: RKC => RK3
    2636             : #include "pm_matrixCopy@routines.inc.F90"
    2637           0 :     end procedure
    2638             : #endif
    2639             : 
    2640             : #if RK2_ENABLED
    2641           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_RK2
    2642             :         use pm_kind, only: RKC => RK2
    2643             : #include "pm_matrixCopy@routines.inc.F90"
    2644           0 :     end procedure
    2645             : #endif
    2646             : 
    2647             : #if RK1_ENABLED
    2648           0 :     module procedure getMatCopy_RDP_RDP_UXD_THO_RK1
    2649             :         use pm_kind, only: RKC => RK1
    2650             : #include "pm_matrixCopy@routines.inc.F90"
    2651           0 :     end procedure
    2652             : #endif
    2653             : 
    2654             : #undef RK_ENABLED
    2655             : 
    2656             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2657             : 
    2658             : #undef UXD_ENABLED
    2659             : #undef THO_ENABLED
    2660             : 
    2661             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2662             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2663             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2664             : 
    2665             : #define XLD_ENABLED 1
    2666             : #define AIO_ENABLED 1
    2667             : 
    2668             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2669             : 
    2670             : #define SK_ENABLED 1
    2671             : 
    2672             : #if SK5_ENABLED
    2673             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_SK5
    2674             :         use pm_kind, only: SKC => SK5
    2675             : #include "pm_matrixCopy@routines.inc.F90"
    2676             :     end procedure
    2677             : #endif
    2678             : 
    2679             : #if SK4_ENABLED
    2680             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_SK4
    2681             :         use pm_kind, only: SKC => SK4
    2682             : #include "pm_matrixCopy@routines.inc.F90"
    2683             :     end procedure
    2684             : #endif
    2685             : 
    2686             : #if SK3_ENABLED
    2687             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_SK3
    2688             :         use pm_kind, only: SKC => SK3
    2689             : #include "pm_matrixCopy@routines.inc.F90"
    2690             :     end procedure
    2691             : #endif
    2692             : 
    2693             : #if SK2_ENABLED
    2694             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_SK2
    2695             :         use pm_kind, only: SKC => SK2
    2696             : #include "pm_matrixCopy@routines.inc.F90"
    2697             :     end procedure
    2698             : #endif
    2699             : 
    2700             : #if SK1_ENABLED
    2701           5 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_SK1
    2702             :         use pm_kind, only: SKC => SK1
    2703             : #include "pm_matrixCopy@routines.inc.F90"
    2704           5 :     end procedure
    2705             : #endif
    2706             : 
    2707             : #undef SK_ENABLED
    2708             : 
    2709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2710             : 
    2711             : #define IK_ENABLED 1
    2712             : 
    2713             : #if IK5_ENABLED
    2714         286 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_IK5
    2715             :         use pm_kind, only: IKC => IK5
    2716             : #include "pm_matrixCopy@routines.inc.F90"
    2717         286 :     end procedure
    2718             : #endif
    2719             : 
    2720             : #if IK4_ENABLED
    2721         298 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_IK4
    2722             :         use pm_kind, only: IKC => IK4
    2723             : #include "pm_matrixCopy@routines.inc.F90"
    2724         298 :     end procedure
    2725             : #endif
    2726             : 
    2727             : #if IK3_ENABLED
    2728         309 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_IK3
    2729             :         use pm_kind, only: IKC => IK3
    2730             : #include "pm_matrixCopy@routines.inc.F90"
    2731         309 :     end procedure
    2732             : #endif
    2733             : 
    2734             : #if IK2_ENABLED
    2735         264 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_IK2
    2736             :         use pm_kind, only: IKC => IK2
    2737             : #include "pm_matrixCopy@routines.inc.F90"
    2738         264 :     end procedure
    2739             : #endif
    2740             : 
    2741             : #if IK1_ENABLED
    2742         288 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_IK1
    2743             :         use pm_kind, only: IKC => IK1
    2744             : #include "pm_matrixCopy@routines.inc.F90"
    2745         288 :     end procedure
    2746             : #endif
    2747             : 
    2748             : #undef IK_ENABLED
    2749             : 
    2750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2751             : 
    2752             : #define LK_ENABLED 1
    2753             : 
    2754             : #if LK5_ENABLED
    2755           0 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_LK5
    2756             :         use pm_kind, only: LKC => LK5
    2757             : #include "pm_matrixCopy@routines.inc.F90"
    2758           0 :     end procedure
    2759             : #endif
    2760             : 
    2761             : #if LK4_ENABLED
    2762           0 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_LK4
    2763             :         use pm_kind, only: LKC => LK4
    2764             : #include "pm_matrixCopy@routines.inc.F90"
    2765           0 :     end procedure
    2766             : #endif
    2767             : 
    2768             : #if LK3_ENABLED
    2769           0 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_LK3
    2770             :         use pm_kind, only: LKC => LK3
    2771             : #include "pm_matrixCopy@routines.inc.F90"
    2772           0 :     end procedure
    2773             : #endif
    2774             : 
    2775             : #if LK2_ENABLED
    2776           0 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_LK2
    2777             :         use pm_kind, only: LKC => LK2
    2778             : #include "pm_matrixCopy@routines.inc.F90"
    2779           0 :     end procedure
    2780             : #endif
    2781             : 
    2782             : #if LK1_ENABLED
    2783           0 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_LK1
    2784             :         use pm_kind, only: LKC => LK1
    2785             : #include "pm_matrixCopy@routines.inc.F90"
    2786           0 :     end procedure
    2787             : #endif
    2788             : 
    2789             : #undef LK_ENABLED
    2790             : 
    2791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2792             : 
    2793             : #define CK_ENABLED 1
    2794             : 
    2795             : #if CK5_ENABLED
    2796             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_CK5
    2797             :         use pm_kind, only: CKC => CK5
    2798             : #include "pm_matrixCopy@routines.inc.F90"
    2799             :     end procedure
    2800             : #endif
    2801             : 
    2802             : #if CK4_ENABLED
    2803         778 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_CK4
    2804             :         use pm_kind, only: CKC => CK4
    2805             : #include "pm_matrixCopy@routines.inc.F90"
    2806         778 :     end procedure
    2807             : #endif
    2808             : 
    2809             : #if CK3_ENABLED
    2810         786 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_CK3
    2811             :         use pm_kind, only: CKC => CK3
    2812             : #include "pm_matrixCopy@routines.inc.F90"
    2813         786 :     end procedure
    2814             : #endif
    2815             : 
    2816             : #if CK2_ENABLED
    2817         790 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_CK2
    2818             :         use pm_kind, only: CKC => CK2
    2819             : #include "pm_matrixCopy@routines.inc.F90"
    2820         790 :     end procedure
    2821             : #endif
    2822             : 
    2823             : #if CK1_ENABLED
    2824         785 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_CK1
    2825             :         use pm_kind, only: CKC => CK1
    2826             : #include "pm_matrixCopy@routines.inc.F90"
    2827         785 :     end procedure
    2828             : #endif
    2829             : 
    2830             : #undef CK_ENABLED
    2831             : 
    2832             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2833             : 
    2834             : #define RK_ENABLED 1
    2835             : 
    2836             : #if RK5_ENABLED
    2837             :     module procedure getMatCopy_RDP_RDP_XLD_AIO_RK5
    2838             :         use pm_kind, only: RKC => RK5
    2839             : #include "pm_matrixCopy@routines.inc.F90"
    2840             :     end procedure
    2841             : #endif
    2842             : 
    2843             : #if RK4_ENABLED
    2844         770 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_RK4
    2845             :         use pm_kind, only: RKC => RK4
    2846             : #include "pm_matrixCopy@routines.inc.F90"
    2847         770 :     end procedure
    2848             : #endif
    2849             : 
    2850             : #if RK3_ENABLED
    2851         788 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_RK3
    2852             :         use pm_kind, only: RKC => RK3
    2853             : #include "pm_matrixCopy@routines.inc.F90"
    2854         788 :     end procedure
    2855             : #endif
    2856             : 
    2857             : #if RK2_ENABLED
    2858         758 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_RK2
    2859             :         use pm_kind, only: RKC => RK2
    2860             : #include "pm_matrixCopy@routines.inc.F90"
    2861         758 :     end procedure
    2862             : #endif
    2863             : 
    2864             : #if RK1_ENABLED
    2865         822 :     module procedure getMatCopy_RDP_RDP_XLD_AIO_RK1
    2866             :         use pm_kind, only: RKC => RK1
    2867             : #include "pm_matrixCopy@routines.inc.F90"
    2868         822 :     end procedure
    2869             : #endif
    2870             : 
    2871             : #undef RK_ENABLED
    2872             : 
    2873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2874             : 
    2875             : #undef XLD_ENABLED
    2876             : #undef AIO_ENABLED
    2877             : 
    2878             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2881             : 
    2882             : #define XLD_ENABLED 1
    2883             : #define TSO_ENABLED 1
    2884             : 
    2885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2886             : 
    2887             : #define SK_ENABLED 1
    2888             : 
    2889             : #if SK5_ENABLED
    2890             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_SK5
    2891             :         use pm_kind, only: SKC => SK5
    2892             : #include "pm_matrixCopy@routines.inc.F90"
    2893             :     end procedure
    2894             : #endif
    2895             : 
    2896             : #if SK4_ENABLED
    2897             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_SK4
    2898             :         use pm_kind, only: SKC => SK4
    2899             : #include "pm_matrixCopy@routines.inc.F90"
    2900             :     end procedure
    2901             : #endif
    2902             : 
    2903             : #if SK3_ENABLED
    2904             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_SK3
    2905             :         use pm_kind, only: SKC => SK3
    2906             : #include "pm_matrixCopy@routines.inc.F90"
    2907             :     end procedure
    2908             : #endif
    2909             : 
    2910             : #if SK2_ENABLED
    2911             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_SK2
    2912             :         use pm_kind, only: SKC => SK2
    2913             : #include "pm_matrixCopy@routines.inc.F90"
    2914             :     end procedure
    2915             : #endif
    2916             : 
    2917             : #if SK1_ENABLED
    2918           5 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_SK1
    2919             :         use pm_kind, only: SKC => SK1
    2920             : #include "pm_matrixCopy@routines.inc.F90"
    2921           5 :     end procedure
    2922             : #endif
    2923             : 
    2924             : #undef SK_ENABLED
    2925             : 
    2926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2927             : 
    2928             : #define IK_ENABLED 1
    2929             : 
    2930             : #if IK5_ENABLED
    2931           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_IK5
    2932             :         use pm_kind, only: IKC => IK5
    2933             : #include "pm_matrixCopy@routines.inc.F90"
    2934           0 :     end procedure
    2935             : #endif
    2936             : 
    2937             : #if IK4_ENABLED
    2938           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_IK4
    2939             :         use pm_kind, only: IKC => IK4
    2940             : #include "pm_matrixCopy@routines.inc.F90"
    2941           0 :     end procedure
    2942             : #endif
    2943             : 
    2944             : #if IK3_ENABLED
    2945           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_IK3
    2946             :         use pm_kind, only: IKC => IK3
    2947             : #include "pm_matrixCopy@routines.inc.F90"
    2948           0 :     end procedure
    2949             : #endif
    2950             : 
    2951             : #if IK2_ENABLED
    2952           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_IK2
    2953             :         use pm_kind, only: IKC => IK2
    2954             : #include "pm_matrixCopy@routines.inc.F90"
    2955           0 :     end procedure
    2956             : #endif
    2957             : 
    2958             : #if IK1_ENABLED
    2959           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_IK1
    2960             :         use pm_kind, only: IKC => IK1
    2961             : #include "pm_matrixCopy@routines.inc.F90"
    2962           0 :     end procedure
    2963             : #endif
    2964             : 
    2965             : #undef IK_ENABLED
    2966             : 
    2967             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2968             : 
    2969             : #define LK_ENABLED 1
    2970             : 
    2971             : #if LK5_ENABLED
    2972           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_LK5
    2973             :         use pm_kind, only: LKC => LK5
    2974             : #include "pm_matrixCopy@routines.inc.F90"
    2975           0 :     end procedure
    2976             : #endif
    2977             : 
    2978             : #if LK4_ENABLED
    2979           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_LK4
    2980             :         use pm_kind, only: LKC => LK4
    2981             : #include "pm_matrixCopy@routines.inc.F90"
    2982           0 :     end procedure
    2983             : #endif
    2984             : 
    2985             : #if LK3_ENABLED
    2986           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_LK3
    2987             :         use pm_kind, only: LKC => LK3
    2988             : #include "pm_matrixCopy@routines.inc.F90"
    2989           0 :     end procedure
    2990             : #endif
    2991             : 
    2992             : #if LK2_ENABLED
    2993           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_LK2
    2994             :         use pm_kind, only: LKC => LK2
    2995             : #include "pm_matrixCopy@routines.inc.F90"
    2996           0 :     end procedure
    2997             : #endif
    2998             : 
    2999             : #if LK1_ENABLED
    3000           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_LK1
    3001             :         use pm_kind, only: LKC => LK1
    3002             : #include "pm_matrixCopy@routines.inc.F90"
    3003           0 :     end procedure
    3004             : #endif
    3005             : 
    3006             : #undef LK_ENABLED
    3007             : 
    3008             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3009             : 
    3010             : #define CK_ENABLED 1
    3011             : 
    3012             : #if CK5_ENABLED
    3013             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_CK5
    3014             :         use pm_kind, only: CKC => CK5
    3015             : #include "pm_matrixCopy@routines.inc.F90"
    3016             :     end procedure
    3017             : #endif
    3018             : 
    3019             : #if CK4_ENABLED
    3020           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_CK4
    3021             :         use pm_kind, only: CKC => CK4
    3022             : #include "pm_matrixCopy@routines.inc.F90"
    3023           0 :     end procedure
    3024             : #endif
    3025             : 
    3026             : #if CK3_ENABLED
    3027           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_CK3
    3028             :         use pm_kind, only: CKC => CK3
    3029             : #include "pm_matrixCopy@routines.inc.F90"
    3030           0 :     end procedure
    3031             : #endif
    3032             : 
    3033             : #if CK2_ENABLED
    3034           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_CK2
    3035             :         use pm_kind, only: CKC => CK2
    3036             : #include "pm_matrixCopy@routines.inc.F90"
    3037           0 :     end procedure
    3038             : #endif
    3039             : 
    3040             : #if CK1_ENABLED
    3041           1 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_CK1
    3042             :         use pm_kind, only: CKC => CK1
    3043             : #include "pm_matrixCopy@routines.inc.F90"
    3044           1 :     end procedure
    3045             : #endif
    3046             : 
    3047             : #undef CK_ENABLED
    3048             : 
    3049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3050             : 
    3051             : #define RK_ENABLED 1
    3052             : 
    3053             : #if RK5_ENABLED
    3054             :     module procedure getMatCopy_RDP_RDP_XLD_TSO_RK5
    3055             :         use pm_kind, only: RKC => RK5
    3056             : #include "pm_matrixCopy@routines.inc.F90"
    3057             :     end procedure
    3058             : #endif
    3059             : 
    3060             : #if RK4_ENABLED
    3061           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_RK4
    3062             :         use pm_kind, only: RKC => RK4
    3063             : #include "pm_matrixCopy@routines.inc.F90"
    3064           0 :     end procedure
    3065             : #endif
    3066             : 
    3067             : #if RK3_ENABLED
    3068           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_RK3
    3069             :         use pm_kind, only: RKC => RK3
    3070             : #include "pm_matrixCopy@routines.inc.F90"
    3071           0 :     end procedure
    3072             : #endif
    3073             : 
    3074             : #if RK2_ENABLED
    3075           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_RK2
    3076             :         use pm_kind, only: RKC => RK2
    3077             : #include "pm_matrixCopy@routines.inc.F90"
    3078           0 :     end procedure
    3079             : #endif
    3080             : 
    3081             : #if RK1_ENABLED
    3082           0 :     module procedure getMatCopy_RDP_RDP_XLD_TSO_RK1
    3083             :         use pm_kind, only: RKC => RK1
    3084             : #include "pm_matrixCopy@routines.inc.F90"
    3085           0 :     end procedure
    3086             : #endif
    3087             : 
    3088             : #undef RK_ENABLED
    3089             : 
    3090             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3091             : 
    3092             : #undef XLD_ENABLED
    3093             : #undef TSO_ENABLED
    3094             : 
    3095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3098             : 
    3099             : #define XLD_ENABLED 1
    3100             : #define THO_ENABLED 1
    3101             : 
    3102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3103             : 
    3104             : #define SK_ENABLED 1
    3105             : 
    3106             : #if SK5_ENABLED
    3107             :     module procedure getMatCopy_RDP_RDP_XLD_THO_SK5
    3108             :         use pm_kind, only: SKC => SK5
    3109             : #include "pm_matrixCopy@routines.inc.F90"
    3110             :     end procedure
    3111             : #endif
    3112             : 
    3113             : #if SK4_ENABLED
    3114             :     module procedure getMatCopy_RDP_RDP_XLD_THO_SK4
    3115             :         use pm_kind, only: SKC => SK4
    3116             : #include "pm_matrixCopy@routines.inc.F90"
    3117             :     end procedure
    3118             : #endif
    3119             : 
    3120             : #if SK3_ENABLED
    3121             :     module procedure getMatCopy_RDP_RDP_XLD_THO_SK3
    3122             :         use pm_kind, only: SKC => SK3
    3123             : #include "pm_matrixCopy@routines.inc.F90"
    3124             :     end procedure
    3125             : #endif
    3126             : 
    3127             : #if SK2_ENABLED
    3128             :     module procedure getMatCopy_RDP_RDP_XLD_THO_SK2
    3129             :         use pm_kind, only: SKC => SK2
    3130             : #include "pm_matrixCopy@routines.inc.F90"
    3131             :     end procedure
    3132             : #endif
    3133             : 
    3134             : #if SK1_ENABLED
    3135           5 :     module procedure getMatCopy_RDP_RDP_XLD_THO_SK1
    3136             :         use pm_kind, only: SKC => SK1
    3137             : #include "pm_matrixCopy@routines.inc.F90"
    3138           5 :     end procedure
    3139             : #endif
    3140             : 
    3141             : #undef SK_ENABLED
    3142             : 
    3143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3144             : 
    3145             : #define IK_ENABLED 1
    3146             : 
    3147             : #if IK5_ENABLED
    3148           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_IK5
    3149             :         use pm_kind, only: IKC => IK5
    3150             : #include "pm_matrixCopy@routines.inc.F90"
    3151           0 :     end procedure
    3152             : #endif
    3153             : 
    3154             : #if IK4_ENABLED
    3155           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_IK4
    3156             :         use pm_kind, only: IKC => IK4
    3157             : #include "pm_matrixCopy@routines.inc.F90"
    3158           0 :     end procedure
    3159             : #endif
    3160             : 
    3161             : #if IK3_ENABLED
    3162           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_IK3
    3163             :         use pm_kind, only: IKC => IK3
    3164             : #include "pm_matrixCopy@routines.inc.F90"
    3165           0 :     end procedure
    3166             : #endif
    3167             : 
    3168             : #if IK2_ENABLED
    3169           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_IK2
    3170             :         use pm_kind, only: IKC => IK2
    3171             : #include "pm_matrixCopy@routines.inc.F90"
    3172           0 :     end procedure
    3173             : #endif
    3174             : 
    3175             : #if IK1_ENABLED
    3176           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_IK1
    3177             :         use pm_kind, only: IKC => IK1
    3178             : #include "pm_matrixCopy@routines.inc.F90"
    3179           0 :     end procedure
    3180             : #endif
    3181             : 
    3182             : #undef IK_ENABLED
    3183             : 
    3184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3185             : 
    3186             : #define LK_ENABLED 1
    3187             : 
    3188             : #if LK5_ENABLED
    3189           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_LK5
    3190             :         use pm_kind, only: LKC => LK5
    3191             : #include "pm_matrixCopy@routines.inc.F90"
    3192           0 :     end procedure
    3193             : #endif
    3194             : 
    3195             : #if LK4_ENABLED
    3196           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_LK4
    3197             :         use pm_kind, only: LKC => LK4
    3198             : #include "pm_matrixCopy@routines.inc.F90"
    3199           0 :     end procedure
    3200             : #endif
    3201             : 
    3202             : #if LK3_ENABLED
    3203           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_LK3
    3204             :         use pm_kind, only: LKC => LK3
    3205             : #include "pm_matrixCopy@routines.inc.F90"
    3206           0 :     end procedure
    3207             : #endif
    3208             : 
    3209             : #if LK2_ENABLED
    3210           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_LK2
    3211             :         use pm_kind, only: LKC => LK2
    3212             : #include "pm_matrixCopy@routines.inc.F90"
    3213           0 :     end procedure
    3214             : #endif
    3215             : 
    3216             : #if LK1_ENABLED
    3217           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_LK1
    3218             :         use pm_kind, only: LKC => LK1
    3219             : #include "pm_matrixCopy@routines.inc.F90"
    3220           0 :     end procedure
    3221             : #endif
    3222             : 
    3223             : #undef LK_ENABLED
    3224             : 
    3225             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3226             : 
    3227             : #define CK_ENABLED 1
    3228             : 
    3229             : #if CK5_ENABLED
    3230             :     module procedure getMatCopy_RDP_RDP_XLD_THO_CK5
    3231             :         use pm_kind, only: CKC => CK5
    3232             : #include "pm_matrixCopy@routines.inc.F90"
    3233             :     end procedure
    3234             : #endif
    3235             : 
    3236             : #if CK4_ENABLED
    3237           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_CK4
    3238             :         use pm_kind, only: CKC => CK4
    3239             : #include "pm_matrixCopy@routines.inc.F90"
    3240           0 :     end procedure
    3241             : #endif
    3242             : 
    3243             : #if CK3_ENABLED
    3244           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_CK3
    3245             :         use pm_kind, only: CKC => CK3
    3246             : #include "pm_matrixCopy@routines.inc.F90"
    3247           0 :     end procedure
    3248             : #endif
    3249             : 
    3250             : #if CK2_ENABLED
    3251           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_CK2
    3252             :         use pm_kind, only: CKC => CK2
    3253             : #include "pm_matrixCopy@routines.inc.F90"
    3254           0 :     end procedure
    3255             : #endif
    3256             : 
    3257             : #if CK1_ENABLED
    3258           1 :     module procedure getMatCopy_RDP_RDP_XLD_THO_CK1
    3259             :         use pm_kind, only: CKC => CK1
    3260             : #include "pm_matrixCopy@routines.inc.F90"
    3261           1 :     end procedure
    3262             : #endif
    3263             : 
    3264             : #undef CK_ENABLED
    3265             : 
    3266             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3267             : 
    3268             : #define RK_ENABLED 1
    3269             : 
    3270             : #if RK5_ENABLED
    3271             :     module procedure getMatCopy_RDP_RDP_XLD_THO_RK5
    3272             :         use pm_kind, only: RKC => RK5
    3273             : #include "pm_matrixCopy@routines.inc.F90"
    3274             :     end procedure
    3275             : #endif
    3276             : 
    3277             : #if RK4_ENABLED
    3278           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_RK4
    3279             :         use pm_kind, only: RKC => RK4
    3280             : #include "pm_matrixCopy@routines.inc.F90"
    3281           0 :     end procedure
    3282             : #endif
    3283             : 
    3284             : #if RK3_ENABLED
    3285           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_RK3
    3286             :         use pm_kind, only: RKC => RK3
    3287             : #include "pm_matrixCopy@routines.inc.F90"
    3288           0 :     end procedure
    3289             : #endif
    3290             : 
    3291             : #if RK2_ENABLED
    3292           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_RK2
    3293             :         use pm_kind, only: RKC => RK2
    3294             : #include "pm_matrixCopy@routines.inc.F90"
    3295           0 :     end procedure
    3296             : #endif
    3297             : 
    3298             : #if RK1_ENABLED
    3299           0 :     module procedure getMatCopy_RDP_RDP_XLD_THO_RK1
    3300             :         use pm_kind, only: RKC => RK1
    3301             : #include "pm_matrixCopy@routines.inc.F90"
    3302           0 :     end procedure
    3303             : #endif
    3304             : 
    3305             : #undef RK_ENABLED
    3306             : 
    3307             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3308             : 
    3309             : #undef XLD_ENABLED
    3310             : #undef THO_ENABLED
    3311             : 
    3312             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3315             : 
    3316             : #define ULX_ENABLED 1
    3317             : #define AIO_ENABLED 1
    3318             : 
    3319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3320             : 
    3321             : #define SK_ENABLED 1
    3322             : 
    3323             : #if SK5_ENABLED
    3324             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_SK5
    3325             :         use pm_kind, only: SKC => SK5
    3326             : #include "pm_matrixCopy@routines.inc.F90"
    3327             :     end procedure
    3328             : #endif
    3329             : 
    3330             : #if SK4_ENABLED
    3331             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_SK4
    3332             :         use pm_kind, only: SKC => SK4
    3333             : #include "pm_matrixCopy@routines.inc.F90"
    3334             :     end procedure
    3335             : #endif
    3336             : 
    3337             : #if SK3_ENABLED
    3338             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_SK3
    3339             :         use pm_kind, only: SKC => SK3
    3340             : #include "pm_matrixCopy@routines.inc.F90"
    3341             :     end procedure
    3342             : #endif
    3343             : 
    3344             : #if SK2_ENABLED
    3345             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_SK2
    3346             :         use pm_kind, only: SKC => SK2
    3347             : #include "pm_matrixCopy@routines.inc.F90"
    3348             :     end procedure
    3349             : #endif
    3350             : 
    3351             : #if SK1_ENABLED
    3352           6 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_SK1
    3353             :         use pm_kind, only: SKC => SK1
    3354             : #include "pm_matrixCopy@routines.inc.F90"
    3355           6 :     end procedure
    3356             : #endif
    3357             : 
    3358             : #undef SK_ENABLED
    3359             : 
    3360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3361             : 
    3362             : #define IK_ENABLED 1
    3363             : 
    3364             : #if IK5_ENABLED
    3365           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_IK5
    3366             :         use pm_kind, only: IKC => IK5
    3367             : #include "pm_matrixCopy@routines.inc.F90"
    3368           0 :     end procedure
    3369             : #endif
    3370             : 
    3371             : #if IK4_ENABLED
    3372           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_IK4
    3373             :         use pm_kind, only: IKC => IK4
    3374             : #include "pm_matrixCopy@routines.inc.F90"
    3375           0 :     end procedure
    3376             : #endif
    3377             : 
    3378             : #if IK3_ENABLED
    3379           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_IK3
    3380             :         use pm_kind, only: IKC => IK3
    3381             : #include "pm_matrixCopy@routines.inc.F90"
    3382           0 :     end procedure
    3383             : #endif
    3384             : 
    3385             : #if IK2_ENABLED
    3386           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_IK2
    3387             :         use pm_kind, only: IKC => IK2
    3388             : #include "pm_matrixCopy@routines.inc.F90"
    3389           0 :     end procedure
    3390             : #endif
    3391             : 
    3392             : #if IK1_ENABLED
    3393           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_IK1
    3394             :         use pm_kind, only: IKC => IK1
    3395             : #include "pm_matrixCopy@routines.inc.F90"
    3396           0 :     end procedure
    3397             : #endif
    3398             : 
    3399             : #undef IK_ENABLED
    3400             : 
    3401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3402             : 
    3403             : #define LK_ENABLED 1
    3404             : 
    3405             : #if LK5_ENABLED
    3406           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_LK5
    3407             :         use pm_kind, only: LKC => LK5
    3408             : #include "pm_matrixCopy@routines.inc.F90"
    3409           0 :     end procedure
    3410             : #endif
    3411             : 
    3412             : #if LK4_ENABLED
    3413           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_LK4
    3414             :         use pm_kind, only: LKC => LK4
    3415             : #include "pm_matrixCopy@routines.inc.F90"
    3416           0 :     end procedure
    3417             : #endif
    3418             : 
    3419             : #if LK3_ENABLED
    3420           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_LK3
    3421             :         use pm_kind, only: LKC => LK3
    3422             : #include "pm_matrixCopy@routines.inc.F90"
    3423           0 :     end procedure
    3424             : #endif
    3425             : 
    3426             : #if LK2_ENABLED
    3427           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_LK2
    3428             :         use pm_kind, only: LKC => LK2
    3429             : #include "pm_matrixCopy@routines.inc.F90"
    3430           0 :     end procedure
    3431             : #endif
    3432             : 
    3433             : #if LK1_ENABLED
    3434           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_LK1
    3435             :         use pm_kind, only: LKC => LK1
    3436             : #include "pm_matrixCopy@routines.inc.F90"
    3437           0 :     end procedure
    3438             : #endif
    3439             : 
    3440             : #undef LK_ENABLED
    3441             : 
    3442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3443             : 
    3444             : #define CK_ENABLED 1
    3445             : 
    3446             : #if CK5_ENABLED
    3447             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_CK5
    3448             :         use pm_kind, only: CKC => CK5
    3449             : #include "pm_matrixCopy@routines.inc.F90"
    3450             :     end procedure
    3451             : #endif
    3452             : 
    3453             : #if CK4_ENABLED
    3454           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_CK4
    3455             :         use pm_kind, only: CKC => CK4
    3456             : #include "pm_matrixCopy@routines.inc.F90"
    3457           0 :     end procedure
    3458             : #endif
    3459             : 
    3460             : #if CK3_ENABLED
    3461           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_CK3
    3462             :         use pm_kind, only: CKC => CK3
    3463             : #include "pm_matrixCopy@routines.inc.F90"
    3464           0 :     end procedure
    3465             : #endif
    3466             : 
    3467             : #if CK2_ENABLED
    3468           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_CK2
    3469             :         use pm_kind, only: CKC => CK2
    3470             : #include "pm_matrixCopy@routines.inc.F90"
    3471           0 :     end procedure
    3472             : #endif
    3473             : 
    3474             : #if CK1_ENABLED
    3475           2 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_CK1
    3476             :         use pm_kind, only: CKC => CK1
    3477             : #include "pm_matrixCopy@routines.inc.F90"
    3478           2 :     end procedure
    3479             : #endif
    3480             : 
    3481             : #undef CK_ENABLED
    3482             : 
    3483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3484             : 
    3485             : #define RK_ENABLED 1
    3486             : 
    3487             : #if RK5_ENABLED
    3488             :     module procedure getMatCopy_RDP_RDP_ULX_AIO_RK5
    3489             :         use pm_kind, only: RKC => RK5
    3490             : #include "pm_matrixCopy@routines.inc.F90"
    3491             :     end procedure
    3492             : #endif
    3493             : 
    3494             : #if RK4_ENABLED
    3495           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_RK4
    3496             :         use pm_kind, only: RKC => RK4
    3497             : #include "pm_matrixCopy@routines.inc.F90"
    3498           0 :     end procedure
    3499             : #endif
    3500             : 
    3501             : #if RK3_ENABLED
    3502           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_RK3
    3503             :         use pm_kind, only: RKC => RK3
    3504             : #include "pm_matrixCopy@routines.inc.F90"
    3505           0 :     end procedure
    3506             : #endif
    3507             : 
    3508             : #if RK2_ENABLED
    3509           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_RK2
    3510             :         use pm_kind, only: RKC => RK2
    3511             : #include "pm_matrixCopy@routines.inc.F90"
    3512           0 :     end procedure
    3513             : #endif
    3514             : 
    3515             : #if RK1_ENABLED
    3516           0 :     module procedure getMatCopy_RDP_RDP_ULX_AIO_RK1
    3517             :         use pm_kind, only: RKC => RK1
    3518             : #include "pm_matrixCopy@routines.inc.F90"
    3519           0 :     end procedure
    3520             : #endif
    3521             : 
    3522             : #undef RK_ENABLED
    3523             : 
    3524             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3525             : 
    3526             : #undef ULX_ENABLED
    3527             : #undef AIO_ENABLED
    3528             : 
    3529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3532             : 
    3533             : #define ULX_ENABLED 1
    3534             : #define TSO_ENABLED 1
    3535             : 
    3536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3537             : 
    3538             : #define SK_ENABLED 1
    3539             : 
    3540             : #if SK5_ENABLED
    3541             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_SK5
    3542             :         use pm_kind, only: SKC => SK5
    3543             : #include "pm_matrixCopy@routines.inc.F90"
    3544             :     end procedure
    3545             : #endif
    3546             : 
    3547             : #if SK4_ENABLED
    3548             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_SK4
    3549             :         use pm_kind, only: SKC => SK4
    3550             : #include "pm_matrixCopy@routines.inc.F90"
    3551             :     end procedure
    3552             : #endif
    3553             : 
    3554             : #if SK3_ENABLED
    3555             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_SK3
    3556             :         use pm_kind, only: SKC => SK3
    3557             : #include "pm_matrixCopy@routines.inc.F90"
    3558             :     end procedure
    3559             : #endif
    3560             : 
    3561             : #if SK2_ENABLED
    3562             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_SK2
    3563             :         use pm_kind, only: SKC => SK2
    3564             : #include "pm_matrixCopy@routines.inc.F90"
    3565             :     end procedure
    3566             : #endif
    3567             : 
    3568             : #if SK1_ENABLED
    3569           6 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_SK1
    3570             :         use pm_kind, only: SKC => SK1
    3571             : #include "pm_matrixCopy@routines.inc.F90"
    3572           6 :     end procedure
    3573             : #endif
    3574             : 
    3575             : #undef SK_ENABLED
    3576             : 
    3577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3578             : 
    3579             : #define IK_ENABLED 1
    3580             : 
    3581             : #if IK5_ENABLED
    3582           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_IK5
    3583             :         use pm_kind, only: IKC => IK5
    3584             : #include "pm_matrixCopy@routines.inc.F90"
    3585           0 :     end procedure
    3586             : #endif
    3587             : 
    3588             : #if IK4_ENABLED
    3589           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_IK4
    3590             :         use pm_kind, only: IKC => IK4
    3591             : #include "pm_matrixCopy@routines.inc.F90"
    3592           0 :     end procedure
    3593             : #endif
    3594             : 
    3595             : #if IK3_ENABLED
    3596           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_IK3
    3597             :         use pm_kind, only: IKC => IK3
    3598             : #include "pm_matrixCopy@routines.inc.F90"
    3599           0 :     end procedure
    3600             : #endif
    3601             : 
    3602             : #if IK2_ENABLED
    3603           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_IK2
    3604             :         use pm_kind, only: IKC => IK2
    3605             : #include "pm_matrixCopy@routines.inc.F90"
    3606           0 :     end procedure
    3607             : #endif
    3608             : 
    3609             : #if IK1_ENABLED
    3610           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_IK1
    3611             :         use pm_kind, only: IKC => IK1
    3612             : #include "pm_matrixCopy@routines.inc.F90"
    3613           0 :     end procedure
    3614             : #endif
    3615             : 
    3616             : #undef IK_ENABLED
    3617             : 
    3618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3619             : 
    3620             : #define LK_ENABLED 1
    3621             : 
    3622             : #if LK5_ENABLED
    3623           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_LK5
    3624             :         use pm_kind, only: LKC => LK5
    3625             : #include "pm_matrixCopy@routines.inc.F90"
    3626           0 :     end procedure
    3627             : #endif
    3628             : 
    3629             : #if LK4_ENABLED
    3630           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_LK4
    3631             :         use pm_kind, only: LKC => LK4
    3632             : #include "pm_matrixCopy@routines.inc.F90"
    3633           0 :     end procedure
    3634             : #endif
    3635             : 
    3636             : #if LK3_ENABLED
    3637           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_LK3
    3638             :         use pm_kind, only: LKC => LK3
    3639             : #include "pm_matrixCopy@routines.inc.F90"
    3640           0 :     end procedure
    3641             : #endif
    3642             : 
    3643             : #if LK2_ENABLED
    3644           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_LK2
    3645             :         use pm_kind, only: LKC => LK2
    3646             : #include "pm_matrixCopy@routines.inc.F90"
    3647           0 :     end procedure
    3648             : #endif
    3649             : 
    3650             : #if LK1_ENABLED
    3651           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_LK1
    3652             :         use pm_kind, only: LKC => LK1
    3653             : #include "pm_matrixCopy@routines.inc.F90"
    3654           0 :     end procedure
    3655             : #endif
    3656             : 
    3657             : #undef LK_ENABLED
    3658             : 
    3659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3660             : 
    3661             : #define CK_ENABLED 1
    3662             : 
    3663             : #if CK5_ENABLED
    3664             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_CK5
    3665             :         use pm_kind, only: CKC => CK5
    3666             : #include "pm_matrixCopy@routines.inc.F90"
    3667             :     end procedure
    3668             : #endif
    3669             : 
    3670             : #if CK4_ENABLED
    3671           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_CK4
    3672             :         use pm_kind, only: CKC => CK4
    3673             : #include "pm_matrixCopy@routines.inc.F90"
    3674           0 :     end procedure
    3675             : #endif
    3676             : 
    3677             : #if CK3_ENABLED
    3678           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_CK3
    3679             :         use pm_kind, only: CKC => CK3
    3680             : #include "pm_matrixCopy@routines.inc.F90"
    3681           0 :     end procedure
    3682             : #endif
    3683             : 
    3684             : #if CK2_ENABLED
    3685           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_CK2
    3686             :         use pm_kind, only: CKC => CK2
    3687             : #include "pm_matrixCopy@routines.inc.F90"
    3688           0 :     end procedure
    3689             : #endif
    3690             : 
    3691             : #if CK1_ENABLED
    3692           2 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_CK1
    3693             :         use pm_kind, only: CKC => CK1
    3694             : #include "pm_matrixCopy@routines.inc.F90"
    3695           2 :     end procedure
    3696             : #endif
    3697             : 
    3698             : #undef CK_ENABLED
    3699             : 
    3700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3701             : 
    3702             : #define RK_ENABLED 1
    3703             : 
    3704             : #if RK5_ENABLED
    3705             :     module procedure getMatCopy_RDP_RDP_ULX_TSO_RK5
    3706             :         use pm_kind, only: RKC => RK5
    3707             : #include "pm_matrixCopy@routines.inc.F90"
    3708             :     end procedure
    3709             : #endif
    3710             : 
    3711             : #if RK4_ENABLED
    3712           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_RK4
    3713             :         use pm_kind, only: RKC => RK4
    3714             : #include "pm_matrixCopy@routines.inc.F90"
    3715           0 :     end procedure
    3716             : #endif
    3717             : 
    3718             : #if RK3_ENABLED
    3719           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_RK3
    3720             :         use pm_kind, only: RKC => RK3
    3721             : #include "pm_matrixCopy@routines.inc.F90"
    3722           0 :     end procedure
    3723             : #endif
    3724             : 
    3725             : #if RK2_ENABLED
    3726           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_RK2
    3727             :         use pm_kind, only: RKC => RK2
    3728             : #include "pm_matrixCopy@routines.inc.F90"
    3729           0 :     end procedure
    3730             : #endif
    3731             : 
    3732             : #if RK1_ENABLED
    3733           0 :     module procedure getMatCopy_RDP_RDP_ULX_TSO_RK1
    3734             :         use pm_kind, only: RKC => RK1
    3735             : #include "pm_matrixCopy@routines.inc.F90"
    3736           0 :     end procedure
    3737             : #endif
    3738             : 
    3739             : #undef RK_ENABLED
    3740             : 
    3741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3742             : 
    3743             : #undef ULX_ENABLED
    3744             : #undef TSO_ENABLED
    3745             : 
    3746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3749             : 
    3750             : #define ULX_ENABLED 1
    3751             : #define THO_ENABLED 1
    3752             : 
    3753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3754             : 
    3755             : #define SK_ENABLED 1
    3756             : 
    3757             : #if SK5_ENABLED
    3758             :     module procedure getMatCopy_RDP_RDP_ULX_THO_SK5
    3759             :         use pm_kind, only: SKC => SK5
    3760             : #include "pm_matrixCopy@routines.inc.F90"
    3761             :     end procedure
    3762             : #endif
    3763             : 
    3764             : #if SK4_ENABLED
    3765             :     module procedure getMatCopy_RDP_RDP_ULX_THO_SK4
    3766             :         use pm_kind, only: SKC => SK4
    3767             : #include "pm_matrixCopy@routines.inc.F90"
    3768             :     end procedure
    3769             : #endif
    3770             : 
    3771             : #if SK3_ENABLED
    3772             :     module procedure getMatCopy_RDP_RDP_ULX_THO_SK3
    3773             :         use pm_kind, only: SKC => SK3
    3774             : #include "pm_matrixCopy@routines.inc.F90"
    3775             :     end procedure
    3776             : #endif
    3777             : 
    3778             : #if SK2_ENABLED
    3779             :     module procedure getMatCopy_RDP_RDP_ULX_THO_SK2
    3780             :         use pm_kind, only: SKC => SK2
    3781             : #include "pm_matrixCopy@routines.inc.F90"
    3782             :     end procedure
    3783             : #endif
    3784             : 
    3785             : #if SK1_ENABLED
    3786           6 :     module procedure getMatCopy_RDP_RDP_ULX_THO_SK1
    3787             :         use pm_kind, only: SKC => SK1
    3788             : #include "pm_matrixCopy@routines.inc.F90"
    3789           6 :     end procedure
    3790             : #endif
    3791             : 
    3792             : #undef SK_ENABLED
    3793             : 
    3794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3795             : 
    3796             : #define IK_ENABLED 1
    3797             : 
    3798             : #if IK5_ENABLED
    3799           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_IK5
    3800             :         use pm_kind, only: IKC => IK5
    3801             : #include "pm_matrixCopy@routines.inc.F90"
    3802           0 :     end procedure
    3803             : #endif
    3804             : 
    3805             : #if IK4_ENABLED
    3806           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_IK4
    3807             :         use pm_kind, only: IKC => IK4
    3808             : #include "pm_matrixCopy@routines.inc.F90"
    3809           0 :     end procedure
    3810             : #endif
    3811             : 
    3812             : #if IK3_ENABLED
    3813           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_IK3
    3814             :         use pm_kind, only: IKC => IK3
    3815             : #include "pm_matrixCopy@routines.inc.F90"
    3816           0 :     end procedure
    3817             : #endif
    3818             : 
    3819             : #if IK2_ENABLED
    3820           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_IK2
    3821             :         use pm_kind, only: IKC => IK2
    3822             : #include "pm_matrixCopy@routines.inc.F90"
    3823           0 :     end procedure
    3824             : #endif
    3825             : 
    3826             : #if IK1_ENABLED
    3827           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_IK1
    3828             :         use pm_kind, only: IKC => IK1
    3829             : #include "pm_matrixCopy@routines.inc.F90"
    3830           0 :     end procedure
    3831             : #endif
    3832             : 
    3833             : #undef IK_ENABLED
    3834             : 
    3835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3836             : 
    3837             : #define LK_ENABLED 1
    3838             : 
    3839             : #if LK5_ENABLED
    3840           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_LK5
    3841             :         use pm_kind, only: LKC => LK5
    3842             : #include "pm_matrixCopy@routines.inc.F90"
    3843           0 :     end procedure
    3844             : #endif
    3845             : 
    3846             : #if LK4_ENABLED
    3847           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_LK4
    3848             :         use pm_kind, only: LKC => LK4
    3849             : #include "pm_matrixCopy@routines.inc.F90"
    3850           0 :     end procedure
    3851             : #endif
    3852             : 
    3853             : #if LK3_ENABLED
    3854           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_LK3
    3855             :         use pm_kind, only: LKC => LK3
    3856             : #include "pm_matrixCopy@routines.inc.F90"
    3857           0 :     end procedure
    3858             : #endif
    3859             : 
    3860             : #if LK2_ENABLED
    3861           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_LK2
    3862             :         use pm_kind, only: LKC => LK2
    3863             : #include "pm_matrixCopy@routines.inc.F90"
    3864           0 :     end procedure
    3865             : #endif
    3866             : 
    3867             : #if LK1_ENABLED
    3868           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_LK1
    3869             :         use pm_kind, only: LKC => LK1
    3870             : #include "pm_matrixCopy@routines.inc.F90"
    3871           0 :     end procedure
    3872             : #endif
    3873             : 
    3874             : #undef LK_ENABLED
    3875             : 
    3876             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3877             : 
    3878             : #define CK_ENABLED 1
    3879             : 
    3880             : #if CK5_ENABLED
    3881             :     module procedure getMatCopy_RDP_RDP_ULX_THO_CK5
    3882             :         use pm_kind, only: CKC => CK5
    3883             : #include "pm_matrixCopy@routines.inc.F90"
    3884             :     end procedure
    3885             : #endif
    3886             : 
    3887             : #if CK4_ENABLED
    3888           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_CK4
    3889             :         use pm_kind, only: CKC => CK4
    3890             : #include "pm_matrixCopy@routines.inc.F90"
    3891           0 :     end procedure
    3892             : #endif
    3893             : 
    3894             : #if CK3_ENABLED
    3895           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_CK3
    3896             :         use pm_kind, only: CKC => CK3
    3897             : #include "pm_matrixCopy@routines.inc.F90"
    3898           0 :     end procedure
    3899             : #endif
    3900             : 
    3901             : #if CK2_ENABLED
    3902           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_CK2
    3903             :         use pm_kind, only: CKC => CK2
    3904             : #include "pm_matrixCopy@routines.inc.F90"
    3905           0 :     end procedure
    3906             : #endif
    3907             : 
    3908             : #if CK1_ENABLED
    3909           2 :     module procedure getMatCopy_RDP_RDP_ULX_THO_CK1
    3910             :         use pm_kind, only: CKC => CK1
    3911             : #include "pm_matrixCopy@routines.inc.F90"
    3912           2 :     end procedure
    3913             : #endif
    3914             : 
    3915             : #undef CK_ENABLED
    3916             : 
    3917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3918             : 
    3919             : #define RK_ENABLED 1
    3920             : 
    3921             : #if RK5_ENABLED
    3922             :     module procedure getMatCopy_RDP_RDP_ULX_THO_RK5
    3923             :         use pm_kind, only: RKC => RK5
    3924             : #include "pm_matrixCopy@routines.inc.F90"
    3925             :     end procedure
    3926             : #endif
    3927             : 
    3928             : #if RK4_ENABLED
    3929           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_RK4
    3930             :         use pm_kind, only: RKC => RK4
    3931             : #include "pm_matrixCopy@routines.inc.F90"
    3932           0 :     end procedure
    3933             : #endif
    3934             : 
    3935             : #if RK3_ENABLED
    3936           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_RK3
    3937             :         use pm_kind, only: RKC => RK3
    3938             : #include "pm_matrixCopy@routines.inc.F90"
    3939           0 :     end procedure
    3940             : #endif
    3941             : 
    3942             : #if RK2_ENABLED
    3943           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_RK2
    3944             :         use pm_kind, only: RKC => RK2
    3945             : #include "pm_matrixCopy@routines.inc.F90"
    3946           0 :     end procedure
    3947             : #endif
    3948             : 
    3949             : #if RK1_ENABLED
    3950           0 :     module procedure getMatCopy_RDP_RDP_ULX_THO_RK1
    3951             :         use pm_kind, only: RKC => RK1
    3952             : #include "pm_matrixCopy@routines.inc.F90"
    3953           0 :     end procedure
    3954             : #endif
    3955             : 
    3956             : #undef RK_ENABLED
    3957             : 
    3958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3959             : 
    3960             : #undef ULX_ENABLED
    3961             : #undef THO_ENABLED
    3962             : 
    3963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3965             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3966             : 
    3967             : #undef RDP_RDP_ENABLED
    3968             : 
    3969             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3970             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3971             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3972             : 
    3973             : #define RDP_LFP_ENABLED 1
    3974             : 
    3975             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3976             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3978             : 
    3979             : #define XXD_ENABLED 1
    3980             : #define AIO_ENABLED 1
    3981             : 
    3982             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3983             : 
    3984             : #define SK_ENABLED 1
    3985             : 
    3986             : #if SK5_ENABLED
    3987             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_SK5
    3988             :         use pm_kind, only: SKC => SK5
    3989             : #include "pm_matrixCopy@routines.inc.F90"
    3990             :     end procedure
    3991             : #endif
    3992             : 
    3993             : #if SK4_ENABLED
    3994             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_SK4
    3995             :         use pm_kind, only: SKC => SK4
    3996             : #include "pm_matrixCopy@routines.inc.F90"
    3997             :     end procedure
    3998             : #endif
    3999             : 
    4000             : #if SK3_ENABLED
    4001             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_SK3
    4002             :         use pm_kind, only: SKC => SK3
    4003             : #include "pm_matrixCopy@routines.inc.F90"
    4004             :     end procedure
    4005             : #endif
    4006             : 
    4007             : #if SK2_ENABLED
    4008             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_SK2
    4009             :         use pm_kind, only: SKC => SK2
    4010             : #include "pm_matrixCopy@routines.inc.F90"
    4011             :     end procedure
    4012             : #endif
    4013             : 
    4014             : #if SK1_ENABLED
    4015           4 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_SK1
    4016             :         use pm_kind, only: SKC => SK1
    4017             : #include "pm_matrixCopy@routines.inc.F90"
    4018           4 :     end procedure
    4019             : #endif
    4020             : 
    4021             : #undef SK_ENABLED
    4022             : 
    4023             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4024             : 
    4025             : #define IK_ENABLED 1
    4026             : 
    4027             : #if IK5_ENABLED
    4028           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_IK5
    4029             :         use pm_kind, only: IKC => IK5
    4030             : #include "pm_matrixCopy@routines.inc.F90"
    4031           0 :     end procedure
    4032             : #endif
    4033             : 
    4034             : #if IK4_ENABLED
    4035           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_IK4
    4036             :         use pm_kind, only: IKC => IK4
    4037             : #include "pm_matrixCopy@routines.inc.F90"
    4038           0 :     end procedure
    4039             : #endif
    4040             : 
    4041             : #if IK3_ENABLED
    4042           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_IK3
    4043             :         use pm_kind, only: IKC => IK3
    4044             : #include "pm_matrixCopy@routines.inc.F90"
    4045           0 :     end procedure
    4046             : #endif
    4047             : 
    4048             : #if IK2_ENABLED
    4049           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_IK2
    4050             :         use pm_kind, only: IKC => IK2
    4051             : #include "pm_matrixCopy@routines.inc.F90"
    4052           0 :     end procedure
    4053             : #endif
    4054             : 
    4055             : #if IK1_ENABLED
    4056           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_IK1
    4057             :         use pm_kind, only: IKC => IK1
    4058             : #include "pm_matrixCopy@routines.inc.F90"
    4059           0 :     end procedure
    4060             : #endif
    4061             : 
    4062             : #undef IK_ENABLED
    4063             : 
    4064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4065             : 
    4066             : #define LK_ENABLED 1
    4067             : 
    4068             : #if LK5_ENABLED
    4069           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_LK5
    4070             :         use pm_kind, only: LKC => LK5
    4071             : #include "pm_matrixCopy@routines.inc.F90"
    4072           0 :     end procedure
    4073             : #endif
    4074             : 
    4075             : #if LK4_ENABLED
    4076           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_LK4
    4077             :         use pm_kind, only: LKC => LK4
    4078             : #include "pm_matrixCopy@routines.inc.F90"
    4079           0 :     end procedure
    4080             : #endif
    4081             : 
    4082             : #if LK3_ENABLED
    4083           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_LK3
    4084             :         use pm_kind, only: LKC => LK3
    4085             : #include "pm_matrixCopy@routines.inc.F90"
    4086           0 :     end procedure
    4087             : #endif
    4088             : 
    4089             : #if LK2_ENABLED
    4090           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_LK2
    4091             :         use pm_kind, only: LKC => LK2
    4092             : #include "pm_matrixCopy@routines.inc.F90"
    4093           0 :     end procedure
    4094             : #endif
    4095             : 
    4096             : #if LK1_ENABLED
    4097           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_LK1
    4098             :         use pm_kind, only: LKC => LK1
    4099             : #include "pm_matrixCopy@routines.inc.F90"
    4100           0 :     end procedure
    4101             : #endif
    4102             : 
    4103             : #undef LK_ENABLED
    4104             : 
    4105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4106             : 
    4107             : #define CK_ENABLED 1
    4108             : 
    4109             : #if CK5_ENABLED
    4110             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_CK5
    4111             :         use pm_kind, only: CKC => CK5
    4112             : #include "pm_matrixCopy@routines.inc.F90"
    4113             :     end procedure
    4114             : #endif
    4115             : 
    4116             : #if CK4_ENABLED
    4117           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_CK4
    4118             :         use pm_kind, only: CKC => CK4
    4119             : #include "pm_matrixCopy@routines.inc.F90"
    4120           0 :     end procedure
    4121             : #endif
    4122             : 
    4123             : #if CK3_ENABLED
    4124           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_CK3
    4125             :         use pm_kind, only: CKC => CK3
    4126             : #include "pm_matrixCopy@routines.inc.F90"
    4127           0 :     end procedure
    4128             : #endif
    4129             : 
    4130             : #if CK2_ENABLED
    4131           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_CK2
    4132             :         use pm_kind, only: CKC => CK2
    4133             : #include "pm_matrixCopy@routines.inc.F90"
    4134           0 :     end procedure
    4135             : #endif
    4136             : 
    4137             : #if CK1_ENABLED
    4138           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_CK1
    4139             :         use pm_kind, only: CKC => CK1
    4140             : #include "pm_matrixCopy@routines.inc.F90"
    4141           0 :     end procedure
    4142             : #endif
    4143             : 
    4144             : #undef CK_ENABLED
    4145             : 
    4146             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4147             : 
    4148             : #define RK_ENABLED 1
    4149             : 
    4150             : #if RK5_ENABLED
    4151             :     module procedure getMatCopy_RDP_LFP_XXD_AIO_RK5
    4152             :         use pm_kind, only: RKC => RK5
    4153             : #include "pm_matrixCopy@routines.inc.F90"
    4154             :     end procedure
    4155             : #endif
    4156             : 
    4157             : #if RK4_ENABLED
    4158           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_RK4
    4159             :         use pm_kind, only: RKC => RK4
    4160             : #include "pm_matrixCopy@routines.inc.F90"
    4161           0 :     end procedure
    4162             : #endif
    4163             : 
    4164             : #if RK3_ENABLED
    4165           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_RK3
    4166             :         use pm_kind, only: RKC => RK3
    4167             : #include "pm_matrixCopy@routines.inc.F90"
    4168           0 :     end procedure
    4169             : #endif
    4170             : 
    4171             : #if RK2_ENABLED
    4172           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_RK2
    4173             :         use pm_kind, only: RKC => RK2
    4174             : #include "pm_matrixCopy@routines.inc.F90"
    4175           0 :     end procedure
    4176             : #endif
    4177             : 
    4178             : #if RK1_ENABLED
    4179           0 :     module procedure getMatCopy_RDP_LFP_XXD_AIO_RK1
    4180             :         use pm_kind, only: RKC => RK1
    4181             : #include "pm_matrixCopy@routines.inc.F90"
    4182           0 :     end procedure
    4183             : #endif
    4184             : 
    4185             : #undef RK_ENABLED
    4186             : 
    4187             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4188             : 
    4189             : #undef XXD_ENABLED
    4190             : #undef AIO_ENABLED
    4191             : 
    4192             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4193             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4195             : 
    4196             : #define XXD_ENABLED 1
    4197             : #define TSO_ENABLED 1
    4198             : 
    4199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4200             : 
    4201             : #define SK_ENABLED 1
    4202             : 
    4203             : #if SK5_ENABLED
    4204             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_SK5
    4205             :         use pm_kind, only: SKC => SK5
    4206             : #include "pm_matrixCopy@routines.inc.F90"
    4207             :     end procedure
    4208             : #endif
    4209             : 
    4210             : #if SK4_ENABLED
    4211             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_SK4
    4212             :         use pm_kind, only: SKC => SK4
    4213             : #include "pm_matrixCopy@routines.inc.F90"
    4214             :     end procedure
    4215             : #endif
    4216             : 
    4217             : #if SK3_ENABLED
    4218             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_SK3
    4219             :         use pm_kind, only: SKC => SK3
    4220             : #include "pm_matrixCopy@routines.inc.F90"
    4221             :     end procedure
    4222             : #endif
    4223             : 
    4224             : #if SK2_ENABLED
    4225             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_SK2
    4226             :         use pm_kind, only: SKC => SK2
    4227             : #include "pm_matrixCopy@routines.inc.F90"
    4228             :     end procedure
    4229             : #endif
    4230             : 
    4231             : #if SK1_ENABLED
    4232           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_SK1
    4233             :         use pm_kind, only: SKC => SK1
    4234             : #include "pm_matrixCopy@routines.inc.F90"
    4235           0 :     end procedure
    4236             : #endif
    4237             : 
    4238             : #undef SK_ENABLED
    4239             : 
    4240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4241             : 
    4242             : #define IK_ENABLED 1
    4243             : 
    4244             : #if IK5_ENABLED
    4245           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_IK5
    4246             :         use pm_kind, only: IKC => IK5
    4247             : #include "pm_matrixCopy@routines.inc.F90"
    4248           0 :     end procedure
    4249             : #endif
    4250             : 
    4251             : #if IK4_ENABLED
    4252           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_IK4
    4253             :         use pm_kind, only: IKC => IK4
    4254             : #include "pm_matrixCopy@routines.inc.F90"
    4255           0 :     end procedure
    4256             : #endif
    4257             : 
    4258             : #if IK3_ENABLED
    4259           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_IK3
    4260             :         use pm_kind, only: IKC => IK3
    4261             : #include "pm_matrixCopy@routines.inc.F90"
    4262           0 :     end procedure
    4263             : #endif
    4264             : 
    4265             : #if IK2_ENABLED
    4266           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_IK2
    4267             :         use pm_kind, only: IKC => IK2
    4268             : #include "pm_matrixCopy@routines.inc.F90"
    4269           0 :     end procedure
    4270             : #endif
    4271             : 
    4272             : #if IK1_ENABLED
    4273           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_IK1
    4274             :         use pm_kind, only: IKC => IK1
    4275             : #include "pm_matrixCopy@routines.inc.F90"
    4276           0 :     end procedure
    4277             : #endif
    4278             : 
    4279             : #undef IK_ENABLED
    4280             : 
    4281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4282             : 
    4283             : #define LK_ENABLED 1
    4284             : 
    4285             : #if LK5_ENABLED
    4286           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_LK5
    4287             :         use pm_kind, only: LKC => LK5
    4288             : #include "pm_matrixCopy@routines.inc.F90"
    4289           0 :     end procedure
    4290             : #endif
    4291             : 
    4292             : #if LK4_ENABLED
    4293           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_LK4
    4294             :         use pm_kind, only: LKC => LK4
    4295             : #include "pm_matrixCopy@routines.inc.F90"
    4296           0 :     end procedure
    4297             : #endif
    4298             : 
    4299             : #if LK3_ENABLED
    4300           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_LK3
    4301             :         use pm_kind, only: LKC => LK3
    4302             : #include "pm_matrixCopy@routines.inc.F90"
    4303           0 :     end procedure
    4304             : #endif
    4305             : 
    4306             : #if LK2_ENABLED
    4307           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_LK2
    4308             :         use pm_kind, only: LKC => LK2
    4309             : #include "pm_matrixCopy@routines.inc.F90"
    4310           0 :     end procedure
    4311             : #endif
    4312             : 
    4313             : #if LK1_ENABLED
    4314           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_LK1
    4315             :         use pm_kind, only: LKC => LK1
    4316             : #include "pm_matrixCopy@routines.inc.F90"
    4317           0 :     end procedure
    4318             : #endif
    4319             : 
    4320             : #undef LK_ENABLED
    4321             : 
    4322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4323             : 
    4324             : #define CK_ENABLED 1
    4325             : 
    4326             : #if CK5_ENABLED
    4327             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_CK5
    4328             :         use pm_kind, only: CKC => CK5
    4329             : #include "pm_matrixCopy@routines.inc.F90"
    4330             :     end procedure
    4331             : #endif
    4332             : 
    4333             : #if CK4_ENABLED
    4334           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_CK4
    4335             :         use pm_kind, only: CKC => CK4
    4336             : #include "pm_matrixCopy@routines.inc.F90"
    4337           0 :     end procedure
    4338             : #endif
    4339             : 
    4340             : #if CK3_ENABLED
    4341           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_CK3
    4342             :         use pm_kind, only: CKC => CK3
    4343             : #include "pm_matrixCopy@routines.inc.F90"
    4344           0 :     end procedure
    4345             : #endif
    4346             : 
    4347             : #if CK2_ENABLED
    4348           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_CK2
    4349             :         use pm_kind, only: CKC => CK2
    4350             : #include "pm_matrixCopy@routines.inc.F90"
    4351           0 :     end procedure
    4352             : #endif
    4353             : 
    4354             : #if CK1_ENABLED
    4355           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_CK1
    4356             :         use pm_kind, only: CKC => CK1
    4357             : #include "pm_matrixCopy@routines.inc.F90"
    4358           0 :     end procedure
    4359             : #endif
    4360             : 
    4361             : #undef CK_ENABLED
    4362             : 
    4363             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4364             : 
    4365             : #define RK_ENABLED 1
    4366             : 
    4367             : #if RK5_ENABLED
    4368             :     module procedure getMatCopy_RDP_LFP_XXD_TSO_RK5
    4369             :         use pm_kind, only: RKC => RK5
    4370             : #include "pm_matrixCopy@routines.inc.F90"
    4371             :     end procedure
    4372             : #endif
    4373             : 
    4374             : #if RK4_ENABLED
    4375           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_RK4
    4376             :         use pm_kind, only: RKC => RK4
    4377             : #include "pm_matrixCopy@routines.inc.F90"
    4378           0 :     end procedure
    4379             : #endif
    4380             : 
    4381             : #if RK3_ENABLED
    4382           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_RK3
    4383             :         use pm_kind, only: RKC => RK3
    4384             : #include "pm_matrixCopy@routines.inc.F90"
    4385           0 :     end procedure
    4386             : #endif
    4387             : 
    4388             : #if RK2_ENABLED
    4389           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_RK2
    4390             :         use pm_kind, only: RKC => RK2
    4391             : #include "pm_matrixCopy@routines.inc.F90"
    4392           0 :     end procedure
    4393             : #endif
    4394             : 
    4395             : #if RK1_ENABLED
    4396           0 :     module procedure getMatCopy_RDP_LFP_XXD_TSO_RK1
    4397             :         use pm_kind, only: RKC => RK1
    4398             : #include "pm_matrixCopy@routines.inc.F90"
    4399           0 :     end procedure
    4400             : #endif
    4401             : 
    4402             : #undef RK_ENABLED
    4403             : 
    4404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4405             : 
    4406             : #undef XXD_ENABLED
    4407             : #undef TSO_ENABLED
    4408             : 
    4409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4412             : 
    4413             : #define XXD_ENABLED 1
    4414             : #define THO_ENABLED 1
    4415             : 
    4416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4417             : 
    4418             : #define SK_ENABLED 1
    4419             : 
    4420             : #if SK5_ENABLED
    4421             :     module procedure getMatCopy_RDP_LFP_XXD_THO_SK5
    4422             :         use pm_kind, only: SKC => SK5
    4423             : #include "pm_matrixCopy@routines.inc.F90"
    4424             :     end procedure
    4425             : #endif
    4426             : 
    4427             : #if SK4_ENABLED
    4428             :     module procedure getMatCopy_RDP_LFP_XXD_THO_SK4
    4429             :         use pm_kind, only: SKC => SK4
    4430             : #include "pm_matrixCopy@routines.inc.F90"
    4431             :     end procedure
    4432             : #endif
    4433             : 
    4434             : #if SK3_ENABLED
    4435             :     module procedure getMatCopy_RDP_LFP_XXD_THO_SK3
    4436             :         use pm_kind, only: SKC => SK3
    4437             : #include "pm_matrixCopy@routines.inc.F90"
    4438             :     end procedure
    4439             : #endif
    4440             : 
    4441             : #if SK2_ENABLED
    4442             :     module procedure getMatCopy_RDP_LFP_XXD_THO_SK2
    4443             :         use pm_kind, only: SKC => SK2
    4444             : #include "pm_matrixCopy@routines.inc.F90"
    4445             :     end procedure
    4446             : #endif
    4447             : 
    4448             : #if SK1_ENABLED
    4449           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_SK1
    4450             :         use pm_kind, only: SKC => SK1
    4451             : #include "pm_matrixCopy@routines.inc.F90"
    4452           0 :     end procedure
    4453             : #endif
    4454             : 
    4455             : #undef SK_ENABLED
    4456             : 
    4457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4458             : 
    4459             : #define IK_ENABLED 1
    4460             : 
    4461             : #if IK5_ENABLED
    4462           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_IK5
    4463             :         use pm_kind, only: IKC => IK5
    4464             : #include "pm_matrixCopy@routines.inc.F90"
    4465           0 :     end procedure
    4466             : #endif
    4467             : 
    4468             : #if IK4_ENABLED
    4469           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_IK4
    4470             :         use pm_kind, only: IKC => IK4
    4471             : #include "pm_matrixCopy@routines.inc.F90"
    4472           0 :     end procedure
    4473             : #endif
    4474             : 
    4475             : #if IK3_ENABLED
    4476           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_IK3
    4477             :         use pm_kind, only: IKC => IK3
    4478             : #include "pm_matrixCopy@routines.inc.F90"
    4479           0 :     end procedure
    4480             : #endif
    4481             : 
    4482             : #if IK2_ENABLED
    4483           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_IK2
    4484             :         use pm_kind, only: IKC => IK2
    4485             : #include "pm_matrixCopy@routines.inc.F90"
    4486           0 :     end procedure
    4487             : #endif
    4488             : 
    4489             : #if IK1_ENABLED
    4490           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_IK1
    4491             :         use pm_kind, only: IKC => IK1
    4492             : #include "pm_matrixCopy@routines.inc.F90"
    4493           0 :     end procedure
    4494             : #endif
    4495             : 
    4496             : #undef IK_ENABLED
    4497             : 
    4498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4499             : 
    4500             : #define LK_ENABLED 1
    4501             : 
    4502             : #if LK5_ENABLED
    4503           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_LK5
    4504             :         use pm_kind, only: LKC => LK5
    4505             : #include "pm_matrixCopy@routines.inc.F90"
    4506           0 :     end procedure
    4507             : #endif
    4508             : 
    4509             : #if LK4_ENABLED
    4510           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_LK4
    4511             :         use pm_kind, only: LKC => LK4
    4512             : #include "pm_matrixCopy@routines.inc.F90"
    4513           0 :     end procedure
    4514             : #endif
    4515             : 
    4516             : #if LK3_ENABLED
    4517           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_LK3
    4518             :         use pm_kind, only: LKC => LK3
    4519             : #include "pm_matrixCopy@routines.inc.F90"
    4520           0 :     end procedure
    4521             : #endif
    4522             : 
    4523             : #if LK2_ENABLED
    4524           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_LK2
    4525             :         use pm_kind, only: LKC => LK2
    4526             : #include "pm_matrixCopy@routines.inc.F90"
    4527           0 :     end procedure
    4528             : #endif
    4529             : 
    4530             : #if LK1_ENABLED
    4531           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_LK1
    4532             :         use pm_kind, only: LKC => LK1
    4533             : #include "pm_matrixCopy@routines.inc.F90"
    4534           0 :     end procedure
    4535             : #endif
    4536             : 
    4537             : #undef LK_ENABLED
    4538             : 
    4539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4540             : 
    4541             : #define CK_ENABLED 1
    4542             : 
    4543             : #if CK5_ENABLED
    4544             :     module procedure getMatCopy_RDP_LFP_XXD_THO_CK5
    4545             :         use pm_kind, only: CKC => CK5
    4546             : #include "pm_matrixCopy@routines.inc.F90"
    4547             :     end procedure
    4548             : #endif
    4549             : 
    4550             : #if CK4_ENABLED
    4551           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_CK4
    4552             :         use pm_kind, only: CKC => CK4
    4553             : #include "pm_matrixCopy@routines.inc.F90"
    4554           0 :     end procedure
    4555             : #endif
    4556             : 
    4557             : #if CK3_ENABLED
    4558           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_CK3
    4559             :         use pm_kind, only: CKC => CK3
    4560             : #include "pm_matrixCopy@routines.inc.F90"
    4561           0 :     end procedure
    4562             : #endif
    4563             : 
    4564             : #if CK2_ENABLED
    4565           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_CK2
    4566             :         use pm_kind, only: CKC => CK2
    4567             : #include "pm_matrixCopy@routines.inc.F90"
    4568           0 :     end procedure
    4569             : #endif
    4570             : 
    4571             : #if CK1_ENABLED
    4572           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_CK1
    4573             :         use pm_kind, only: CKC => CK1
    4574             : #include "pm_matrixCopy@routines.inc.F90"
    4575           0 :     end procedure
    4576             : #endif
    4577             : 
    4578             : #undef CK_ENABLED
    4579             : 
    4580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4581             : 
    4582             : #define RK_ENABLED 1
    4583             : 
    4584             : #if RK5_ENABLED
    4585             :     module procedure getMatCopy_RDP_LFP_XXD_THO_RK5
    4586             :         use pm_kind, only: RKC => RK5
    4587             : #include "pm_matrixCopy@routines.inc.F90"
    4588             :     end procedure
    4589             : #endif
    4590             : 
    4591             : #if RK4_ENABLED
    4592           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_RK4
    4593             :         use pm_kind, only: RKC => RK4
    4594             : #include "pm_matrixCopy@routines.inc.F90"
    4595           0 :     end procedure
    4596             : #endif
    4597             : 
    4598             : #if RK3_ENABLED
    4599           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_RK3
    4600             :         use pm_kind, only: RKC => RK3
    4601             : #include "pm_matrixCopy@routines.inc.F90"
    4602           0 :     end procedure
    4603             : #endif
    4604             : 
    4605             : #if RK2_ENABLED
    4606           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_RK2
    4607             :         use pm_kind, only: RKC => RK2
    4608             : #include "pm_matrixCopy@routines.inc.F90"
    4609           0 :     end procedure
    4610             : #endif
    4611             : 
    4612             : #if RK1_ENABLED
    4613           0 :     module procedure getMatCopy_RDP_LFP_XXD_THO_RK1
    4614             :         use pm_kind, only: RKC => RK1
    4615             : #include "pm_matrixCopy@routines.inc.F90"
    4616           0 :     end procedure
    4617             : #endif
    4618             : 
    4619             : #undef RK_ENABLED
    4620             : 
    4621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4622             : 
    4623             : #undef XXD_ENABLED
    4624             : #undef THO_ENABLED
    4625             : 
    4626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4629             : 
    4630             : #define UXD_ENABLED 1
    4631             : #define AIO_ENABLED 1
    4632             : 
    4633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4634             : 
    4635             : #define SK_ENABLED 1
    4636             : 
    4637             : #if SK5_ENABLED
    4638             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_SK5
    4639             :         use pm_kind, only: SKC => SK5
    4640             : #include "pm_matrixCopy@routines.inc.F90"
    4641             :     end procedure
    4642             : #endif
    4643             : 
    4644             : #if SK4_ENABLED
    4645             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_SK4
    4646             :         use pm_kind, only: SKC => SK4
    4647             : #include "pm_matrixCopy@routines.inc.F90"
    4648             :     end procedure
    4649             : #endif
    4650             : 
    4651             : #if SK3_ENABLED
    4652             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_SK3
    4653             :         use pm_kind, only: SKC => SK3
    4654             : #include "pm_matrixCopy@routines.inc.F90"
    4655             :     end procedure
    4656             : #endif
    4657             : 
    4658             : #if SK2_ENABLED
    4659             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_SK2
    4660             :         use pm_kind, only: SKC => SK2
    4661             : #include "pm_matrixCopy@routines.inc.F90"
    4662             :     end procedure
    4663             : #endif
    4664             : 
    4665             : #if SK1_ENABLED
    4666           1 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_SK1
    4667             :         use pm_kind, only: SKC => SK1
    4668             : #include "pm_matrixCopy@routines.inc.F90"
    4669           1 :     end procedure
    4670             : #endif
    4671             : 
    4672             : #undef SK_ENABLED
    4673             : 
    4674             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4675             : 
    4676             : #define IK_ENABLED 1
    4677             : 
    4678             : #if IK5_ENABLED
    4679           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_IK5
    4680             :         use pm_kind, only: IKC => IK5
    4681             : #include "pm_matrixCopy@routines.inc.F90"
    4682           0 :     end procedure
    4683             : #endif
    4684             : 
    4685             : #if IK4_ENABLED
    4686           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_IK4
    4687             :         use pm_kind, only: IKC => IK4
    4688             : #include "pm_matrixCopy@routines.inc.F90"
    4689           0 :     end procedure
    4690             : #endif
    4691             : 
    4692             : #if IK3_ENABLED
    4693           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_IK3
    4694             :         use pm_kind, only: IKC => IK3
    4695             : #include "pm_matrixCopy@routines.inc.F90"
    4696           0 :     end procedure
    4697             : #endif
    4698             : 
    4699             : #if IK2_ENABLED
    4700           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_IK2
    4701             :         use pm_kind, only: IKC => IK2
    4702             : #include "pm_matrixCopy@routines.inc.F90"
    4703           0 :     end procedure
    4704             : #endif
    4705             : 
    4706             : #if IK1_ENABLED
    4707           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_IK1
    4708             :         use pm_kind, only: IKC => IK1
    4709             : #include "pm_matrixCopy@routines.inc.F90"
    4710           0 :     end procedure
    4711             : #endif
    4712             : 
    4713             : #undef IK_ENABLED
    4714             : 
    4715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4716             : 
    4717             : #define LK_ENABLED 1
    4718             : 
    4719             : #if LK5_ENABLED
    4720           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_LK5
    4721             :         use pm_kind, only: LKC => LK5
    4722             : #include "pm_matrixCopy@routines.inc.F90"
    4723           0 :     end procedure
    4724             : #endif
    4725             : 
    4726             : #if LK4_ENABLED
    4727           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_LK4
    4728             :         use pm_kind, only: LKC => LK4
    4729             : #include "pm_matrixCopy@routines.inc.F90"
    4730           0 :     end procedure
    4731             : #endif
    4732             : 
    4733             : #if LK3_ENABLED
    4734           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_LK3
    4735             :         use pm_kind, only: LKC => LK3
    4736             : #include "pm_matrixCopy@routines.inc.F90"
    4737           0 :     end procedure
    4738             : #endif
    4739             : 
    4740             : #if LK2_ENABLED
    4741           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_LK2
    4742             :         use pm_kind, only: LKC => LK2
    4743             : #include "pm_matrixCopy@routines.inc.F90"
    4744           0 :     end procedure
    4745             : #endif
    4746             : 
    4747             : #if LK1_ENABLED
    4748           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_LK1
    4749             :         use pm_kind, only: LKC => LK1
    4750             : #include "pm_matrixCopy@routines.inc.F90"
    4751           0 :     end procedure
    4752             : #endif
    4753             : 
    4754             : #undef LK_ENABLED
    4755             : 
    4756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4757             : 
    4758             : #define CK_ENABLED 1
    4759             : 
    4760             : #if CK5_ENABLED
    4761             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_CK5
    4762             :         use pm_kind, only: CKC => CK5
    4763             : #include "pm_matrixCopy@routines.inc.F90"
    4764             :     end procedure
    4765             : #endif
    4766             : 
    4767             : #if CK4_ENABLED
    4768           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_CK4
    4769             :         use pm_kind, only: CKC => CK4
    4770             : #include "pm_matrixCopy@routines.inc.F90"
    4771           0 :     end procedure
    4772             : #endif
    4773             : 
    4774             : #if CK3_ENABLED
    4775           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_CK3
    4776             :         use pm_kind, only: CKC => CK3
    4777             : #include "pm_matrixCopy@routines.inc.F90"
    4778           0 :     end procedure
    4779             : #endif
    4780             : 
    4781             : #if CK2_ENABLED
    4782           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_CK2
    4783             :         use pm_kind, only: CKC => CK2
    4784             : #include "pm_matrixCopy@routines.inc.F90"
    4785           0 :     end procedure
    4786             : #endif
    4787             : 
    4788             : #if CK1_ENABLED
    4789           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_CK1
    4790             :         use pm_kind, only: CKC => CK1
    4791             : #include "pm_matrixCopy@routines.inc.F90"
    4792           0 :     end procedure
    4793             : #endif
    4794             : 
    4795             : #undef CK_ENABLED
    4796             : 
    4797             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4798             : 
    4799             : #define RK_ENABLED 1
    4800             : 
    4801             : #if RK5_ENABLED
    4802             :     module procedure getMatCopy_RDP_LFP_UXD_AIO_RK5
    4803             :         use pm_kind, only: RKC => RK5
    4804             : #include "pm_matrixCopy@routines.inc.F90"
    4805             :     end procedure
    4806             : #endif
    4807             : 
    4808             : #if RK4_ENABLED
    4809           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_RK4
    4810             :         use pm_kind, only: RKC => RK4
    4811             : #include "pm_matrixCopy@routines.inc.F90"
    4812           0 :     end procedure
    4813             : #endif
    4814             : 
    4815             : #if RK3_ENABLED
    4816           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_RK3
    4817             :         use pm_kind, only: RKC => RK3
    4818             : #include "pm_matrixCopy@routines.inc.F90"
    4819           0 :     end procedure
    4820             : #endif
    4821             : 
    4822             : #if RK2_ENABLED
    4823           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_RK2
    4824             :         use pm_kind, only: RKC => RK2
    4825             : #include "pm_matrixCopy@routines.inc.F90"
    4826           0 :     end procedure
    4827             : #endif
    4828             : 
    4829             : #if RK1_ENABLED
    4830           0 :     module procedure getMatCopy_RDP_LFP_UXD_AIO_RK1
    4831             :         use pm_kind, only: RKC => RK1
    4832             : #include "pm_matrixCopy@routines.inc.F90"
    4833           0 :     end procedure
    4834             : #endif
    4835             : 
    4836             : #undef RK_ENABLED
    4837             : 
    4838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4839             : 
    4840             : #undef UXD_ENABLED
    4841             : #undef AIO_ENABLED
    4842             : 
    4843             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4844             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4846             : 
    4847             : #define UXD_ENABLED 1
    4848             : #define TSO_ENABLED 1
    4849             : 
    4850             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4851             : 
    4852             : #define SK_ENABLED 1
    4853             : 
    4854             : #if SK5_ENABLED
    4855             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_SK5
    4856             :         use pm_kind, only: SKC => SK5
    4857             : #include "pm_matrixCopy@routines.inc.F90"
    4858             :     end procedure
    4859             : #endif
    4860             : 
    4861             : #if SK4_ENABLED
    4862             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_SK4
    4863             :         use pm_kind, only: SKC => SK4
    4864             : #include "pm_matrixCopy@routines.inc.F90"
    4865             :     end procedure
    4866             : #endif
    4867             : 
    4868             : #if SK3_ENABLED
    4869             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_SK3
    4870             :         use pm_kind, only: SKC => SK3
    4871             : #include "pm_matrixCopy@routines.inc.F90"
    4872             :     end procedure
    4873             : #endif
    4874             : 
    4875             : #if SK2_ENABLED
    4876             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_SK2
    4877             :         use pm_kind, only: SKC => SK2
    4878             : #include "pm_matrixCopy@routines.inc.F90"
    4879             :     end procedure
    4880             : #endif
    4881             : 
    4882             : #if SK1_ENABLED
    4883           1 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_SK1
    4884             :         use pm_kind, only: SKC => SK1
    4885             : #include "pm_matrixCopy@routines.inc.F90"
    4886           1 :     end procedure
    4887             : #endif
    4888             : 
    4889             : #undef SK_ENABLED
    4890             : 
    4891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4892             : 
    4893             : #define IK_ENABLED 1
    4894             : 
    4895             : #if IK5_ENABLED
    4896           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_IK5
    4897             :         use pm_kind, only: IKC => IK5
    4898             : #include "pm_matrixCopy@routines.inc.F90"
    4899           0 :     end procedure
    4900             : #endif
    4901             : 
    4902             : #if IK4_ENABLED
    4903           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_IK4
    4904             :         use pm_kind, only: IKC => IK4
    4905             : #include "pm_matrixCopy@routines.inc.F90"
    4906           0 :     end procedure
    4907             : #endif
    4908             : 
    4909             : #if IK3_ENABLED
    4910           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_IK3
    4911             :         use pm_kind, only: IKC => IK3
    4912             : #include "pm_matrixCopy@routines.inc.F90"
    4913           0 :     end procedure
    4914             : #endif
    4915             : 
    4916             : #if IK2_ENABLED
    4917           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_IK2
    4918             :         use pm_kind, only: IKC => IK2
    4919             : #include "pm_matrixCopy@routines.inc.F90"
    4920           0 :     end procedure
    4921             : #endif
    4922             : 
    4923             : #if IK1_ENABLED
    4924           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_IK1
    4925             :         use pm_kind, only: IKC => IK1
    4926             : #include "pm_matrixCopy@routines.inc.F90"
    4927           0 :     end procedure
    4928             : #endif
    4929             : 
    4930             : #undef IK_ENABLED
    4931             : 
    4932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4933             : 
    4934             : #define LK_ENABLED 1
    4935             : 
    4936             : #if LK5_ENABLED
    4937           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_LK5
    4938             :         use pm_kind, only: LKC => LK5
    4939             : #include "pm_matrixCopy@routines.inc.F90"
    4940           0 :     end procedure
    4941             : #endif
    4942             : 
    4943             : #if LK4_ENABLED
    4944           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_LK4
    4945             :         use pm_kind, only: LKC => LK4
    4946             : #include "pm_matrixCopy@routines.inc.F90"
    4947           0 :     end procedure
    4948             : #endif
    4949             : 
    4950             : #if LK3_ENABLED
    4951           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_LK3
    4952             :         use pm_kind, only: LKC => LK3
    4953             : #include "pm_matrixCopy@routines.inc.F90"
    4954           0 :     end procedure
    4955             : #endif
    4956             : 
    4957             : #if LK2_ENABLED
    4958           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_LK2
    4959             :         use pm_kind, only: LKC => LK2
    4960             : #include "pm_matrixCopy@routines.inc.F90"
    4961           0 :     end procedure
    4962             : #endif
    4963             : 
    4964             : #if LK1_ENABLED
    4965           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_LK1
    4966             :         use pm_kind, only: LKC => LK1
    4967             : #include "pm_matrixCopy@routines.inc.F90"
    4968           0 :     end procedure
    4969             : #endif
    4970             : 
    4971             : #undef LK_ENABLED
    4972             : 
    4973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4974             : 
    4975             : #define CK_ENABLED 1
    4976             : 
    4977             : #if CK5_ENABLED
    4978             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_CK5
    4979             :         use pm_kind, only: CKC => CK5
    4980             : #include "pm_matrixCopy@routines.inc.F90"
    4981             :     end procedure
    4982             : #endif
    4983             : 
    4984             : #if CK4_ENABLED
    4985           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_CK4
    4986             :         use pm_kind, only: CKC => CK4
    4987             : #include "pm_matrixCopy@routines.inc.F90"
    4988           0 :     end procedure
    4989             : #endif
    4990             : 
    4991             : #if CK3_ENABLED
    4992           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_CK3
    4993             :         use pm_kind, only: CKC => CK3
    4994             : #include "pm_matrixCopy@routines.inc.F90"
    4995           0 :     end procedure
    4996             : #endif
    4997             : 
    4998             : #if CK2_ENABLED
    4999           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_CK2
    5000             :         use pm_kind, only: CKC => CK2
    5001             : #include "pm_matrixCopy@routines.inc.F90"
    5002           0 :     end procedure
    5003             : #endif
    5004             : 
    5005             : #if CK1_ENABLED
    5006           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_CK1
    5007             :         use pm_kind, only: CKC => CK1
    5008             : #include "pm_matrixCopy@routines.inc.F90"
    5009           0 :     end procedure
    5010             : #endif
    5011             : 
    5012             : #undef CK_ENABLED
    5013             : 
    5014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5015             : 
    5016             : #define RK_ENABLED 1
    5017             : 
    5018             : #if RK5_ENABLED
    5019             :     module procedure getMatCopy_RDP_LFP_UXD_TSO_RK5
    5020             :         use pm_kind, only: RKC => RK5
    5021             : #include "pm_matrixCopy@routines.inc.F90"
    5022             :     end procedure
    5023             : #endif
    5024             : 
    5025             : #if RK4_ENABLED
    5026           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_RK4
    5027             :         use pm_kind, only: RKC => RK4
    5028             : #include "pm_matrixCopy@routines.inc.F90"
    5029           0 :     end procedure
    5030             : #endif
    5031             : 
    5032             : #if RK3_ENABLED
    5033           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_RK3
    5034             :         use pm_kind, only: RKC => RK3
    5035             : #include "pm_matrixCopy@routines.inc.F90"
    5036           0 :     end procedure
    5037             : #endif
    5038             : 
    5039             : #if RK2_ENABLED
    5040           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_RK2
    5041             :         use pm_kind, only: RKC => RK2
    5042             : #include "pm_matrixCopy@routines.inc.F90"
    5043           0 :     end procedure
    5044             : #endif
    5045             : 
    5046             : #if RK1_ENABLED
    5047           0 :     module procedure getMatCopy_RDP_LFP_UXD_TSO_RK1
    5048             :         use pm_kind, only: RKC => RK1
    5049             : #include "pm_matrixCopy@routines.inc.F90"
    5050           0 :     end procedure
    5051             : #endif
    5052             : 
    5053             : #undef RK_ENABLED
    5054             : 
    5055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5056             : 
    5057             : #undef UXD_ENABLED
    5058             : #undef TSO_ENABLED
    5059             : 
    5060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5063             : 
    5064             : #define UXD_ENABLED 1
    5065             : #define THO_ENABLED 1
    5066             : 
    5067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5068             : 
    5069             : #define SK_ENABLED 1
    5070             : 
    5071             : #if SK5_ENABLED
    5072             :     module procedure getMatCopy_RDP_LFP_UXD_THO_SK5
    5073             :         use pm_kind, only: SKC => SK5
    5074             : #include "pm_matrixCopy@routines.inc.F90"
    5075             :     end procedure
    5076             : #endif
    5077             : 
    5078             : #if SK4_ENABLED
    5079             :     module procedure getMatCopy_RDP_LFP_UXD_THO_SK4
    5080             :         use pm_kind, only: SKC => SK4
    5081             : #include "pm_matrixCopy@routines.inc.F90"
    5082             :     end procedure
    5083             : #endif
    5084             : 
    5085             : #if SK3_ENABLED
    5086             :     module procedure getMatCopy_RDP_LFP_UXD_THO_SK3
    5087             :         use pm_kind, only: SKC => SK3
    5088             : #include "pm_matrixCopy@routines.inc.F90"
    5089             :     end procedure
    5090             : #endif
    5091             : 
    5092             : #if SK2_ENABLED
    5093             :     module procedure getMatCopy_RDP_LFP_UXD_THO_SK2
    5094             :         use pm_kind, only: SKC => SK2
    5095             : #include "pm_matrixCopy@routines.inc.F90"
    5096             :     end procedure
    5097             : #endif
    5098             : 
    5099             : #if SK1_ENABLED
    5100           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_SK1
    5101             :         use pm_kind, only: SKC => SK1
    5102             : #include "pm_matrixCopy@routines.inc.F90"
    5103           0 :     end procedure
    5104             : #endif
    5105             : 
    5106             : #undef SK_ENABLED
    5107             : 
    5108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5109             : 
    5110             : #define IK_ENABLED 1
    5111             : 
    5112             : #if IK5_ENABLED
    5113           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_IK5
    5114             :         use pm_kind, only: IKC => IK5
    5115             : #include "pm_matrixCopy@routines.inc.F90"
    5116           0 :     end procedure
    5117             : #endif
    5118             : 
    5119             : #if IK4_ENABLED
    5120           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_IK4
    5121             :         use pm_kind, only: IKC => IK4
    5122             : #include "pm_matrixCopy@routines.inc.F90"
    5123           0 :     end procedure
    5124             : #endif
    5125             : 
    5126             : #if IK3_ENABLED
    5127           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_IK3
    5128             :         use pm_kind, only: IKC => IK3
    5129             : #include "pm_matrixCopy@routines.inc.F90"
    5130           0 :     end procedure
    5131             : #endif
    5132             : 
    5133             : #if IK2_ENABLED
    5134           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_IK2
    5135             :         use pm_kind, only: IKC => IK2
    5136             : #include "pm_matrixCopy@routines.inc.F90"
    5137           0 :     end procedure
    5138             : #endif
    5139             : 
    5140             : #if IK1_ENABLED
    5141           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_IK1
    5142             :         use pm_kind, only: IKC => IK1
    5143             : #include "pm_matrixCopy@routines.inc.F90"
    5144           0 :     end procedure
    5145             : #endif
    5146             : 
    5147             : #undef IK_ENABLED
    5148             : 
    5149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5150             : 
    5151             : #define LK_ENABLED 1
    5152             : 
    5153             : #if LK5_ENABLED
    5154           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_LK5
    5155             :         use pm_kind, only: LKC => LK5
    5156             : #include "pm_matrixCopy@routines.inc.F90"
    5157           0 :     end procedure
    5158             : #endif
    5159             : 
    5160             : #if LK4_ENABLED
    5161           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_LK4
    5162             :         use pm_kind, only: LKC => LK4
    5163             : #include "pm_matrixCopy@routines.inc.F90"
    5164           0 :     end procedure
    5165             : #endif
    5166             : 
    5167             : #if LK3_ENABLED
    5168           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_LK3
    5169             :         use pm_kind, only: LKC => LK3
    5170             : #include "pm_matrixCopy@routines.inc.F90"
    5171           0 :     end procedure
    5172             : #endif
    5173             : 
    5174             : #if LK2_ENABLED
    5175           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_LK2
    5176             :         use pm_kind, only: LKC => LK2
    5177             : #include "pm_matrixCopy@routines.inc.F90"
    5178           0 :     end procedure
    5179             : #endif
    5180             : 
    5181             : #if LK1_ENABLED
    5182           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_LK1
    5183             :         use pm_kind, only: LKC => LK1
    5184             : #include "pm_matrixCopy@routines.inc.F90"
    5185           0 :     end procedure
    5186             : #endif
    5187             : 
    5188             : #undef LK_ENABLED
    5189             : 
    5190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5191             : 
    5192             : #define CK_ENABLED 1
    5193             : 
    5194             : #if CK5_ENABLED
    5195             :     module procedure getMatCopy_RDP_LFP_UXD_THO_CK5
    5196             :         use pm_kind, only: CKC => CK5
    5197             : #include "pm_matrixCopy@routines.inc.F90"
    5198             :     end procedure
    5199             : #endif
    5200             : 
    5201             : #if CK4_ENABLED
    5202           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_CK4
    5203             :         use pm_kind, only: CKC => CK4
    5204             : #include "pm_matrixCopy@routines.inc.F90"
    5205           0 :     end procedure
    5206             : #endif
    5207             : 
    5208             : #if CK3_ENABLED
    5209           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_CK3
    5210             :         use pm_kind, only: CKC => CK3
    5211             : #include "pm_matrixCopy@routines.inc.F90"
    5212           0 :     end procedure
    5213             : #endif
    5214             : 
    5215             : #if CK2_ENABLED
    5216           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_CK2
    5217             :         use pm_kind, only: CKC => CK2
    5218             : #include "pm_matrixCopy@routines.inc.F90"
    5219           0 :     end procedure
    5220             : #endif
    5221             : 
    5222             : #if CK1_ENABLED
    5223           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_CK1
    5224             :         use pm_kind, only: CKC => CK1
    5225             : #include "pm_matrixCopy@routines.inc.F90"
    5226           0 :     end procedure
    5227             : #endif
    5228             : 
    5229             : #undef CK_ENABLED
    5230             : 
    5231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5232             : 
    5233             : #define RK_ENABLED 1
    5234             : 
    5235             : #if RK5_ENABLED
    5236             :     module procedure getMatCopy_RDP_LFP_UXD_THO_RK5
    5237             :         use pm_kind, only: RKC => RK5
    5238             : #include "pm_matrixCopy@routines.inc.F90"
    5239             :     end procedure
    5240             : #endif
    5241             : 
    5242             : #if RK4_ENABLED
    5243           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_RK4
    5244             :         use pm_kind, only: RKC => RK4
    5245             : #include "pm_matrixCopy@routines.inc.F90"
    5246           0 :     end procedure
    5247             : #endif
    5248             : 
    5249             : #if RK3_ENABLED
    5250           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_RK3
    5251             :         use pm_kind, only: RKC => RK3
    5252             : #include "pm_matrixCopy@routines.inc.F90"
    5253           0 :     end procedure
    5254             : #endif
    5255             : 
    5256             : #if RK2_ENABLED
    5257           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_RK2
    5258             :         use pm_kind, only: RKC => RK2
    5259             : #include "pm_matrixCopy@routines.inc.F90"
    5260           0 :     end procedure
    5261             : #endif
    5262             : 
    5263             : #if RK1_ENABLED
    5264           0 :     module procedure getMatCopy_RDP_LFP_UXD_THO_RK1
    5265             :         use pm_kind, only: RKC => RK1
    5266             : #include "pm_matrixCopy@routines.inc.F90"
    5267           0 :     end procedure
    5268             : #endif
    5269             : 
    5270             : #undef RK_ENABLED
    5271             : 
    5272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5273             : 
    5274             : #undef UXD_ENABLED
    5275             : #undef THO_ENABLED
    5276             : 
    5277             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5278             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5279             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5280             : 
    5281             : #define XLD_ENABLED 1
    5282             : #define AIO_ENABLED 1
    5283             : 
    5284             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5285             : 
    5286             : #define SK_ENABLED 1
    5287             : 
    5288             : #if SK5_ENABLED
    5289             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_SK5
    5290             :         use pm_kind, only: SKC => SK5
    5291             : #include "pm_matrixCopy@routines.inc.F90"
    5292             :     end procedure
    5293             : #endif
    5294             : 
    5295             : #if SK4_ENABLED
    5296             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_SK4
    5297             :         use pm_kind, only: SKC => SK4
    5298             : #include "pm_matrixCopy@routines.inc.F90"
    5299             :     end procedure
    5300             : #endif
    5301             : 
    5302             : #if SK3_ENABLED
    5303             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_SK3
    5304             :         use pm_kind, only: SKC => SK3
    5305             : #include "pm_matrixCopy@routines.inc.F90"
    5306             :     end procedure
    5307             : #endif
    5308             : 
    5309             : #if SK2_ENABLED
    5310             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_SK2
    5311             :         use pm_kind, only: SKC => SK2
    5312             : #include "pm_matrixCopy@routines.inc.F90"
    5313             :     end procedure
    5314             : #endif
    5315             : 
    5316             : #if SK1_ENABLED
    5317           1 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_SK1
    5318             :         use pm_kind, only: SKC => SK1
    5319             : #include "pm_matrixCopy@routines.inc.F90"
    5320           1 :     end procedure
    5321             : #endif
    5322             : 
    5323             : #undef SK_ENABLED
    5324             : 
    5325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5326             : 
    5327             : #define IK_ENABLED 1
    5328             : 
    5329             : #if IK5_ENABLED
    5330           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_IK5
    5331             :         use pm_kind, only: IKC => IK5
    5332             : #include "pm_matrixCopy@routines.inc.F90"
    5333           0 :     end procedure
    5334             : #endif
    5335             : 
    5336             : #if IK4_ENABLED
    5337           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_IK4
    5338             :         use pm_kind, only: IKC => IK4
    5339             : #include "pm_matrixCopy@routines.inc.F90"
    5340           0 :     end procedure
    5341             : #endif
    5342             : 
    5343             : #if IK3_ENABLED
    5344           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_IK3
    5345             :         use pm_kind, only: IKC => IK3
    5346             : #include "pm_matrixCopy@routines.inc.F90"
    5347           0 :     end procedure
    5348             : #endif
    5349             : 
    5350             : #if IK2_ENABLED
    5351           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_IK2
    5352             :         use pm_kind, only: IKC => IK2
    5353             : #include "pm_matrixCopy@routines.inc.F90"
    5354           0 :     end procedure
    5355             : #endif
    5356             : 
    5357             : #if IK1_ENABLED
    5358           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_IK1
    5359             :         use pm_kind, only: IKC => IK1
    5360             : #include "pm_matrixCopy@routines.inc.F90"
    5361           0 :     end procedure
    5362             : #endif
    5363             : 
    5364             : #undef IK_ENABLED
    5365             : 
    5366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5367             : 
    5368             : #define LK_ENABLED 1
    5369             : 
    5370             : #if LK5_ENABLED
    5371           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_LK5
    5372             :         use pm_kind, only: LKC => LK5
    5373             : #include "pm_matrixCopy@routines.inc.F90"
    5374           0 :     end procedure
    5375             : #endif
    5376             : 
    5377             : #if LK4_ENABLED
    5378           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_LK4
    5379             :         use pm_kind, only: LKC => LK4
    5380             : #include "pm_matrixCopy@routines.inc.F90"
    5381           0 :     end procedure
    5382             : #endif
    5383             : 
    5384             : #if LK3_ENABLED
    5385           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_LK3
    5386             :         use pm_kind, only: LKC => LK3
    5387             : #include "pm_matrixCopy@routines.inc.F90"
    5388           0 :     end procedure
    5389             : #endif
    5390             : 
    5391             : #if LK2_ENABLED
    5392           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_LK2
    5393             :         use pm_kind, only: LKC => LK2
    5394             : #include "pm_matrixCopy@routines.inc.F90"
    5395           0 :     end procedure
    5396             : #endif
    5397             : 
    5398             : #if LK1_ENABLED
    5399           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_LK1
    5400             :         use pm_kind, only: LKC => LK1
    5401             : #include "pm_matrixCopy@routines.inc.F90"
    5402           0 :     end procedure
    5403             : #endif
    5404             : 
    5405             : #undef LK_ENABLED
    5406             : 
    5407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5408             : 
    5409             : #define CK_ENABLED 1
    5410             : 
    5411             : #if CK5_ENABLED
    5412             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_CK5
    5413             :         use pm_kind, only: CKC => CK5
    5414             : #include "pm_matrixCopy@routines.inc.F90"
    5415             :     end procedure
    5416             : #endif
    5417             : 
    5418             : #if CK4_ENABLED
    5419           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_CK4
    5420             :         use pm_kind, only: CKC => CK4
    5421             : #include "pm_matrixCopy@routines.inc.F90"
    5422           0 :     end procedure
    5423             : #endif
    5424             : 
    5425             : #if CK3_ENABLED
    5426           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_CK3
    5427             :         use pm_kind, only: CKC => CK3
    5428             : #include "pm_matrixCopy@routines.inc.F90"
    5429           0 :     end procedure
    5430             : #endif
    5431             : 
    5432             : #if CK2_ENABLED
    5433           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_CK2
    5434             :         use pm_kind, only: CKC => CK2
    5435             : #include "pm_matrixCopy@routines.inc.F90"
    5436           0 :     end procedure
    5437             : #endif
    5438             : 
    5439             : #if CK1_ENABLED
    5440           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_CK1
    5441             :         use pm_kind, only: CKC => CK1
    5442             : #include "pm_matrixCopy@routines.inc.F90"
    5443           0 :     end procedure
    5444             : #endif
    5445             : 
    5446             : #undef CK_ENABLED
    5447             : 
    5448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5449             : 
    5450             : #define RK_ENABLED 1
    5451             : 
    5452             : #if RK5_ENABLED
    5453             :     module procedure getMatCopy_RDP_LFP_XLD_AIO_RK5
    5454             :         use pm_kind, only: RKC => RK5
    5455             : #include "pm_matrixCopy@routines.inc.F90"
    5456             :     end procedure
    5457             : #endif
    5458             : 
    5459             : #if RK4_ENABLED
    5460           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_RK4
    5461             :         use pm_kind, only: RKC => RK4
    5462             : #include "pm_matrixCopy@routines.inc.F90"
    5463           0 :     end procedure
    5464             : #endif
    5465             : 
    5466             : #if RK3_ENABLED
    5467           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_RK3
    5468             :         use pm_kind, only: RKC => RK3
    5469             : #include "pm_matrixCopy@routines.inc.F90"
    5470           0 :     end procedure
    5471             : #endif
    5472             : 
    5473             : #if RK2_ENABLED
    5474           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_RK2
    5475             :         use pm_kind, only: RKC => RK2
    5476             : #include "pm_matrixCopy@routines.inc.F90"
    5477           0 :     end procedure
    5478             : #endif
    5479             : 
    5480             : #if RK1_ENABLED
    5481           0 :     module procedure getMatCopy_RDP_LFP_XLD_AIO_RK1
    5482             :         use pm_kind, only: RKC => RK1
    5483             : #include "pm_matrixCopy@routines.inc.F90"
    5484           0 :     end procedure
    5485             : #endif
    5486             : 
    5487             : #undef RK_ENABLED
    5488             : 
    5489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5490             : 
    5491             : #undef XLD_ENABLED
    5492             : #undef AIO_ENABLED
    5493             : 
    5494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5497             : 
    5498             : #define XLD_ENABLED 1
    5499             : #define TSO_ENABLED 1
    5500             : 
    5501             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5502             : 
    5503             : #define SK_ENABLED 1
    5504             : 
    5505             : #if SK5_ENABLED
    5506             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_SK5
    5507             :         use pm_kind, only: SKC => SK5
    5508             : #include "pm_matrixCopy@routines.inc.F90"
    5509             :     end procedure
    5510             : #endif
    5511             : 
    5512             : #if SK4_ENABLED
    5513             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_SK4
    5514             :         use pm_kind, only: SKC => SK4
    5515             : #include "pm_matrixCopy@routines.inc.F90"
    5516             :     end procedure
    5517             : #endif
    5518             : 
    5519             : #if SK3_ENABLED
    5520             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_SK3
    5521             :         use pm_kind, only: SKC => SK3
    5522             : #include "pm_matrixCopy@routines.inc.F90"
    5523             :     end procedure
    5524             : #endif
    5525             : 
    5526             : #if SK2_ENABLED
    5527             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_SK2
    5528             :         use pm_kind, only: SKC => SK2
    5529             : #include "pm_matrixCopy@routines.inc.F90"
    5530             :     end procedure
    5531             : #endif
    5532             : 
    5533             : #if SK1_ENABLED
    5534           1 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_SK1
    5535             :         use pm_kind, only: SKC => SK1
    5536             : #include "pm_matrixCopy@routines.inc.F90"
    5537           1 :     end procedure
    5538             : #endif
    5539             : 
    5540             : #undef SK_ENABLED
    5541             : 
    5542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5543             : 
    5544             : #define IK_ENABLED 1
    5545             : 
    5546             : #if IK5_ENABLED
    5547           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_IK5
    5548             :         use pm_kind, only: IKC => IK5
    5549             : #include "pm_matrixCopy@routines.inc.F90"
    5550           0 :     end procedure
    5551             : #endif
    5552             : 
    5553             : #if IK4_ENABLED
    5554           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_IK4
    5555             :         use pm_kind, only: IKC => IK4
    5556             : #include "pm_matrixCopy@routines.inc.F90"
    5557           0 :     end procedure
    5558             : #endif
    5559             : 
    5560             : #if IK3_ENABLED
    5561           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_IK3
    5562             :         use pm_kind, only: IKC => IK3
    5563             : #include "pm_matrixCopy@routines.inc.F90"
    5564           0 :     end procedure
    5565             : #endif
    5566             : 
    5567             : #if IK2_ENABLED
    5568           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_IK2
    5569             :         use pm_kind, only: IKC => IK2
    5570             : #include "pm_matrixCopy@routines.inc.F90"
    5571           0 :     end procedure
    5572             : #endif
    5573             : 
    5574             : #if IK1_ENABLED
    5575           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_IK1
    5576             :         use pm_kind, only: IKC => IK1
    5577             : #include "pm_matrixCopy@routines.inc.F90"
    5578           0 :     end procedure
    5579             : #endif
    5580             : 
    5581             : #undef IK_ENABLED
    5582             : 
    5583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5584             : 
    5585             : #define LK_ENABLED 1
    5586             : 
    5587             : #if LK5_ENABLED
    5588           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_LK5
    5589             :         use pm_kind, only: LKC => LK5
    5590             : #include "pm_matrixCopy@routines.inc.F90"
    5591           0 :     end procedure
    5592             : #endif
    5593             : 
    5594             : #if LK4_ENABLED
    5595           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_LK4
    5596             :         use pm_kind, only: LKC => LK4
    5597             : #include "pm_matrixCopy@routines.inc.F90"
    5598           0 :     end procedure
    5599             : #endif
    5600             : 
    5601             : #if LK3_ENABLED
    5602           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_LK3
    5603             :         use pm_kind, only: LKC => LK3
    5604             : #include "pm_matrixCopy@routines.inc.F90"
    5605           0 :     end procedure
    5606             : #endif
    5607             : 
    5608             : #if LK2_ENABLED
    5609           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_LK2
    5610             :         use pm_kind, only: LKC => LK2
    5611             : #include "pm_matrixCopy@routines.inc.F90"
    5612           0 :     end procedure
    5613             : #endif
    5614             : 
    5615             : #if LK1_ENABLED
    5616           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_LK1
    5617             :         use pm_kind, only: LKC => LK1
    5618             : #include "pm_matrixCopy@routines.inc.F90"
    5619           0 :     end procedure
    5620             : #endif
    5621             : 
    5622             : #undef LK_ENABLED
    5623             : 
    5624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5625             : 
    5626             : #define CK_ENABLED 1
    5627             : 
    5628             : #if CK5_ENABLED
    5629             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_CK5
    5630             :         use pm_kind, only: CKC => CK5
    5631             : #include "pm_matrixCopy@routines.inc.F90"
    5632             :     end procedure
    5633             : #endif
    5634             : 
    5635             : #if CK4_ENABLED
    5636           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_CK4
    5637             :         use pm_kind, only: CKC => CK4
    5638             : #include "pm_matrixCopy@routines.inc.F90"
    5639           0 :     end procedure
    5640             : #endif
    5641             : 
    5642             : #if CK3_ENABLED
    5643           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_CK3
    5644             :         use pm_kind, only: CKC => CK3
    5645             : #include "pm_matrixCopy@routines.inc.F90"
    5646           0 :     end procedure
    5647             : #endif
    5648             : 
    5649             : #if CK2_ENABLED
    5650           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_CK2
    5651             :         use pm_kind, only: CKC => CK2
    5652             : #include "pm_matrixCopy@routines.inc.F90"
    5653           0 :     end procedure
    5654             : #endif
    5655             : 
    5656             : #if CK1_ENABLED
    5657           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_CK1
    5658             :         use pm_kind, only: CKC => CK1
    5659             : #include "pm_matrixCopy@routines.inc.F90"
    5660           0 :     end procedure
    5661             : #endif
    5662             : 
    5663             : #undef CK_ENABLED
    5664             : 
    5665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5666             : 
    5667             : #define RK_ENABLED 1
    5668             : 
    5669             : #if RK5_ENABLED
    5670             :     module procedure getMatCopy_RDP_LFP_XLD_TSO_RK5
    5671             :         use pm_kind, only: RKC => RK5
    5672             : #include "pm_matrixCopy@routines.inc.F90"
    5673             :     end procedure
    5674             : #endif
    5675             : 
    5676             : #if RK4_ENABLED
    5677           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_RK4
    5678             :         use pm_kind, only: RKC => RK4
    5679             : #include "pm_matrixCopy@routines.inc.F90"
    5680           0 :     end procedure
    5681             : #endif
    5682             : 
    5683             : #if RK3_ENABLED
    5684           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_RK3
    5685             :         use pm_kind, only: RKC => RK3
    5686             : #include "pm_matrixCopy@routines.inc.F90"
    5687           0 :     end procedure
    5688             : #endif
    5689             : 
    5690             : #if RK2_ENABLED
    5691           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_RK2
    5692             :         use pm_kind, only: RKC => RK2
    5693             : #include "pm_matrixCopy@routines.inc.F90"
    5694           0 :     end procedure
    5695             : #endif
    5696             : 
    5697             : #if RK1_ENABLED
    5698           0 :     module procedure getMatCopy_RDP_LFP_XLD_TSO_RK1
    5699             :         use pm_kind, only: RKC => RK1
    5700             : #include "pm_matrixCopy@routines.inc.F90"
    5701           0 :     end procedure
    5702             : #endif
    5703             : 
    5704             : #undef RK_ENABLED
    5705             : 
    5706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5707             : 
    5708             : #undef XLD_ENABLED
    5709             : #undef TSO_ENABLED
    5710             : 
    5711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5712             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5714             : 
    5715             : #define XLD_ENABLED 1
    5716             : #define THO_ENABLED 1
    5717             : 
    5718             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5719             : 
    5720             : #define SK_ENABLED 1
    5721             : 
    5722             : #if SK5_ENABLED
    5723             :     module procedure getMatCopy_RDP_LFP_XLD_THO_SK5
    5724             :         use pm_kind, only: SKC => SK5
    5725             : #include "pm_matrixCopy@routines.inc.F90"
    5726             :     end procedure
    5727             : #endif
    5728             : 
    5729             : #if SK4_ENABLED
    5730             :     module procedure getMatCopy_RDP_LFP_XLD_THO_SK4
    5731             :         use pm_kind, only: SKC => SK4
    5732             : #include "pm_matrixCopy@routines.inc.F90"
    5733             :     end procedure
    5734             : #endif
    5735             : 
    5736             : #if SK3_ENABLED
    5737             :     module procedure getMatCopy_RDP_LFP_XLD_THO_SK3
    5738             :         use pm_kind, only: SKC => SK3
    5739             : #include "pm_matrixCopy@routines.inc.F90"
    5740             :     end procedure
    5741             : #endif
    5742             : 
    5743             : #if SK2_ENABLED
    5744             :     module procedure getMatCopy_RDP_LFP_XLD_THO_SK2
    5745             :         use pm_kind, only: SKC => SK2
    5746             : #include "pm_matrixCopy@routines.inc.F90"
    5747             :     end procedure
    5748             : #endif
    5749             : 
    5750             : #if SK1_ENABLED
    5751           1 :     module procedure getMatCopy_RDP_LFP_XLD_THO_SK1
    5752             :         use pm_kind, only: SKC => SK1
    5753             : #include "pm_matrixCopy@routines.inc.F90"
    5754           1 :     end procedure
    5755             : #endif
    5756             : 
    5757             : #undef SK_ENABLED
    5758             : 
    5759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5760             : 
    5761             : #define IK_ENABLED 1
    5762             : 
    5763             : #if IK5_ENABLED
    5764           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_IK5
    5765             :         use pm_kind, only: IKC => IK5
    5766             : #include "pm_matrixCopy@routines.inc.F90"
    5767           0 :     end procedure
    5768             : #endif
    5769             : 
    5770             : #if IK4_ENABLED
    5771           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_IK4
    5772             :         use pm_kind, only: IKC => IK4
    5773             : #include "pm_matrixCopy@routines.inc.F90"
    5774           0 :     end procedure
    5775             : #endif
    5776             : 
    5777             : #if IK3_ENABLED
    5778           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_IK3
    5779             :         use pm_kind, only: IKC => IK3
    5780             : #include "pm_matrixCopy@routines.inc.F90"
    5781           0 :     end procedure
    5782             : #endif
    5783             : 
    5784             : #if IK2_ENABLED
    5785           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_IK2
    5786             :         use pm_kind, only: IKC => IK2
    5787             : #include "pm_matrixCopy@routines.inc.F90"
    5788           0 :     end procedure
    5789             : #endif
    5790             : 
    5791             : #if IK1_ENABLED
    5792           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_IK1
    5793             :         use pm_kind, only: IKC => IK1
    5794             : #include "pm_matrixCopy@routines.inc.F90"
    5795           0 :     end procedure
    5796             : #endif
    5797             : 
    5798             : #undef IK_ENABLED
    5799             : 
    5800             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5801             : 
    5802             : #define LK_ENABLED 1
    5803             : 
    5804             : #if LK5_ENABLED
    5805           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_LK5
    5806             :         use pm_kind, only: LKC => LK5
    5807             : #include "pm_matrixCopy@routines.inc.F90"
    5808           0 :     end procedure
    5809             : #endif
    5810             : 
    5811             : #if LK4_ENABLED
    5812           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_LK4
    5813             :         use pm_kind, only: LKC => LK4
    5814             : #include "pm_matrixCopy@routines.inc.F90"
    5815           0 :     end procedure
    5816             : #endif
    5817             : 
    5818             : #if LK3_ENABLED
    5819           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_LK3
    5820             :         use pm_kind, only: LKC => LK3
    5821             : #include "pm_matrixCopy@routines.inc.F90"
    5822           0 :     end procedure
    5823             : #endif
    5824             : 
    5825             : #if LK2_ENABLED
    5826           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_LK2
    5827             :         use pm_kind, only: LKC => LK2
    5828             : #include "pm_matrixCopy@routines.inc.F90"
    5829           0 :     end procedure
    5830             : #endif
    5831             : 
    5832             : #if LK1_ENABLED
    5833           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_LK1
    5834             :         use pm_kind, only: LKC => LK1
    5835             : #include "pm_matrixCopy@routines.inc.F90"
    5836           0 :     end procedure
    5837             : #endif
    5838             : 
    5839             : #undef LK_ENABLED
    5840             : 
    5841             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5842             : 
    5843             : #define CK_ENABLED 1
    5844             : 
    5845             : #if CK5_ENABLED
    5846             :     module procedure getMatCopy_RDP_LFP_XLD_THO_CK5
    5847             :         use pm_kind, only: CKC => CK5
    5848             : #include "pm_matrixCopy@routines.inc.F90"
    5849             :     end procedure
    5850             : #endif
    5851             : 
    5852             : #if CK4_ENABLED
    5853           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_CK4
    5854             :         use pm_kind, only: CKC => CK4
    5855             : #include "pm_matrixCopy@routines.inc.F90"
    5856           0 :     end procedure
    5857             : #endif
    5858             : 
    5859             : #if CK3_ENABLED
    5860           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_CK3
    5861             :         use pm_kind, only: CKC => CK3
    5862             : #include "pm_matrixCopy@routines.inc.F90"
    5863           0 :     end procedure
    5864             : #endif
    5865             : 
    5866             : #if CK2_ENABLED
    5867           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_CK2
    5868             :         use pm_kind, only: CKC => CK2
    5869             : #include "pm_matrixCopy@routines.inc.F90"
    5870           0 :     end procedure
    5871             : #endif
    5872             : 
    5873             : #if CK1_ENABLED
    5874           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_CK1
    5875             :         use pm_kind, only: CKC => CK1
    5876             : #include "pm_matrixCopy@routines.inc.F90"
    5877           0 :     end procedure
    5878             : #endif
    5879             : 
    5880             : #undef CK_ENABLED
    5881             : 
    5882             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5883             : 
    5884             : #define RK_ENABLED 1
    5885             : 
    5886             : #if RK5_ENABLED
    5887             :     module procedure getMatCopy_RDP_LFP_XLD_THO_RK5
    5888             :         use pm_kind, only: RKC => RK5
    5889             : #include "pm_matrixCopy@routines.inc.F90"
    5890             :     end procedure
    5891             : #endif
    5892             : 
    5893             : #if RK4_ENABLED
    5894           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_RK4
    5895             :         use pm_kind, only: RKC => RK4
    5896             : #include "pm_matrixCopy@routines.inc.F90"
    5897           0 :     end procedure
    5898             : #endif
    5899             : 
    5900             : #if RK3_ENABLED
    5901           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_RK3
    5902             :         use pm_kind, only: RKC => RK3
    5903             : #include "pm_matrixCopy@routines.inc.F90"
    5904           0 :     end procedure
    5905             : #endif
    5906             : 
    5907             : #if RK2_ENABLED
    5908           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_RK2
    5909             :         use pm_kind, only: RKC => RK2
    5910             : #include "pm_matrixCopy@routines.inc.F90"
    5911           0 :     end procedure
    5912             : #endif
    5913             : 
    5914             : #if RK1_ENABLED
    5915           0 :     module procedure getMatCopy_RDP_LFP_XLD_THO_RK1
    5916             :         use pm_kind, only: RKC => RK1
    5917             : #include "pm_matrixCopy@routines.inc.F90"
    5918           0 :     end procedure
    5919             : #endif
    5920             : 
    5921             : #undef RK_ENABLED
    5922             : 
    5923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5924             : 
    5925             : #undef XLD_ENABLED
    5926             : #undef THO_ENABLED
    5927             : 
    5928             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5929             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5930             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5931             : 
    5932             : #undef RDP_LFP_ENABLED
    5933             : 
    5934             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5935             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5936             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5937             : 
    5938             : #define LFP_RDP_ENABLED 1
    5939             : 
    5940             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5941             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5942             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5943             : 
    5944             : #define XXD_ENABLED 1
    5945             : #define AIO_ENABLED 1
    5946             : 
    5947             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5948             : 
    5949             : #define SK_ENABLED 1
    5950             : 
    5951             : #if SK5_ENABLED
    5952             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_SK5
    5953             :         use pm_kind, only: SKC => SK5
    5954             : #include "pm_matrixCopy@routines.inc.F90"
    5955             :     end procedure
    5956             : #endif
    5957             : 
    5958             : #if SK4_ENABLED
    5959             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_SK4
    5960             :         use pm_kind, only: SKC => SK4
    5961             : #include "pm_matrixCopy@routines.inc.F90"
    5962             :     end procedure
    5963             : #endif
    5964             : 
    5965             : #if SK3_ENABLED
    5966             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_SK3
    5967             :         use pm_kind, only: SKC => SK3
    5968             : #include "pm_matrixCopy@routines.inc.F90"
    5969             :     end procedure
    5970             : #endif
    5971             : 
    5972             : #if SK2_ENABLED
    5973             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_SK2
    5974             :         use pm_kind, only: SKC => SK2
    5975             : #include "pm_matrixCopy@routines.inc.F90"
    5976             :     end procedure
    5977             : #endif
    5978             : 
    5979             : #if SK1_ENABLED
    5980           4 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_SK1
    5981             :         use pm_kind, only: SKC => SK1
    5982             : #include "pm_matrixCopy@routines.inc.F90"
    5983           4 :     end procedure
    5984             : #endif
    5985             : 
    5986             : #undef SK_ENABLED
    5987             : 
    5988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5989             : 
    5990             : #define IK_ENABLED 1
    5991             : 
    5992             : #if IK5_ENABLED
    5993           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_IK5
    5994             :         use pm_kind, only: IKC => IK5
    5995             : #include "pm_matrixCopy@routines.inc.F90"
    5996           0 :     end procedure
    5997             : #endif
    5998             : 
    5999             : #if IK4_ENABLED
    6000           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_IK4
    6001             :         use pm_kind, only: IKC => IK4
    6002             : #include "pm_matrixCopy@routines.inc.F90"
    6003           0 :     end procedure
    6004             : #endif
    6005             : 
    6006             : #if IK3_ENABLED
    6007           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_IK3
    6008             :         use pm_kind, only: IKC => IK3
    6009             : #include "pm_matrixCopy@routines.inc.F90"
    6010           0 :     end procedure
    6011             : #endif
    6012             : 
    6013             : #if IK2_ENABLED
    6014           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_IK2
    6015             :         use pm_kind, only: IKC => IK2
    6016             : #include "pm_matrixCopy@routines.inc.F90"
    6017           0 :     end procedure
    6018             : #endif
    6019             : 
    6020             : #if IK1_ENABLED
    6021           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_IK1
    6022             :         use pm_kind, only: IKC => IK1
    6023             : #include "pm_matrixCopy@routines.inc.F90"
    6024           0 :     end procedure
    6025             : #endif
    6026             : 
    6027             : #undef IK_ENABLED
    6028             : 
    6029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6030             : 
    6031             : #define LK_ENABLED 1
    6032             : 
    6033             : #if LK5_ENABLED
    6034           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_LK5
    6035             :         use pm_kind, only: LKC => LK5
    6036             : #include "pm_matrixCopy@routines.inc.F90"
    6037           0 :     end procedure
    6038             : #endif
    6039             : 
    6040             : #if LK4_ENABLED
    6041           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_LK4
    6042             :         use pm_kind, only: LKC => LK4
    6043             : #include "pm_matrixCopy@routines.inc.F90"
    6044           0 :     end procedure
    6045             : #endif
    6046             : 
    6047             : #if LK3_ENABLED
    6048           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_LK3
    6049             :         use pm_kind, only: LKC => LK3
    6050             : #include "pm_matrixCopy@routines.inc.F90"
    6051           0 :     end procedure
    6052             : #endif
    6053             : 
    6054             : #if LK2_ENABLED
    6055           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_LK2
    6056             :         use pm_kind, only: LKC => LK2
    6057             : #include "pm_matrixCopy@routines.inc.F90"
    6058           0 :     end procedure
    6059             : #endif
    6060             : 
    6061             : #if LK1_ENABLED
    6062           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_LK1
    6063             :         use pm_kind, only: LKC => LK1
    6064             : #include "pm_matrixCopy@routines.inc.F90"
    6065           0 :     end procedure
    6066             : #endif
    6067             : 
    6068             : #undef LK_ENABLED
    6069             : 
    6070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6071             : 
    6072             : #define CK_ENABLED 1
    6073             : 
    6074             : #if CK5_ENABLED
    6075             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_CK5
    6076             :         use pm_kind, only: CKC => CK5
    6077             : #include "pm_matrixCopy@routines.inc.F90"
    6078             :     end procedure
    6079             : #endif
    6080             : 
    6081             : #if CK4_ENABLED
    6082           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_CK4
    6083             :         use pm_kind, only: CKC => CK4
    6084             : #include "pm_matrixCopy@routines.inc.F90"
    6085           0 :     end procedure
    6086             : #endif
    6087             : 
    6088             : #if CK3_ENABLED
    6089           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_CK3
    6090             :         use pm_kind, only: CKC => CK3
    6091             : #include "pm_matrixCopy@routines.inc.F90"
    6092           0 :     end procedure
    6093             : #endif
    6094             : 
    6095             : #if CK2_ENABLED
    6096           0 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_CK2
    6097             :         use pm_kind, only: CKC => CK2
    6098             : #include "pm_matrixCopy@routines.inc.F90"
    6099           0 :     end procedure
    6100             : #endif
    6101             : 
    6102             : #if CK1_ENABLED
    6103          52 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_CK1
    6104             :         use pm_kind, only: CKC => CK1
    6105             : #include "pm_matrixCopy@routines.inc.F90"
    6106          52 :     end procedure
    6107             : #endif
    6108             : 
    6109             : #undef CK_ENABLED
    6110             : 
    6111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6112             : 
    6113             : #define RK_ENABLED 1
    6114             : 
    6115             : #if RK5_ENABLED
    6116             :     module procedure getMatCopy_LFP_RDP_XXD_AIO_RK5
    6117             :         use pm_kind, only: RKC => RK5
    6118             : #include "pm_matrixCopy@routines.inc.F90"
    6119             :     end procedure
    6120             : #endif
    6121             : 
    6122             : #if RK4_ENABLED
    6123         200 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_RK4
    6124             :         use pm_kind, only: RKC => RK4
    6125             : #include "pm_matrixCopy@routines.inc.F90"
    6126         200 :     end procedure
    6127             : #endif
    6128             : 
    6129             : #if RK3_ENABLED
    6130         200 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_RK3
    6131             :         use pm_kind, only: RKC => RK3
    6132             : #include "pm_matrixCopy@routines.inc.F90"
    6133         200 :     end procedure
    6134             : #endif
    6135             : 
    6136             : #if RK2_ENABLED
    6137         202 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_RK2
    6138             :         use pm_kind, only: RKC => RK2
    6139             : #include "pm_matrixCopy@routines.inc.F90"
    6140         202 :     end procedure
    6141             : #endif
    6142             : 
    6143             : #if RK1_ENABLED
    6144         322 :     module procedure getMatCopy_LFP_RDP_XXD_AIO_RK1
    6145             :         use pm_kind, only: RKC => RK1
    6146             : #include "pm_matrixCopy@routines.inc.F90"
    6147         322 :     end procedure
    6148             : #endif
    6149             : 
    6150             : #undef RK_ENABLED
    6151             : 
    6152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6153             : 
    6154             : #undef XXD_ENABLED
    6155             : #undef AIO_ENABLED
    6156             : 
    6157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6160             : 
    6161             : #define XXD_ENABLED 1
    6162             : #define TSO_ENABLED 1
    6163             : 
    6164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6165             : 
    6166             : #define SK_ENABLED 1
    6167             : 
    6168             : #if SK5_ENABLED
    6169             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_SK5
    6170             :         use pm_kind, only: SKC => SK5
    6171             : #include "pm_matrixCopy@routines.inc.F90"
    6172             :     end procedure
    6173             : #endif
    6174             : 
    6175             : #if SK4_ENABLED
    6176             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_SK4
    6177             :         use pm_kind, only: SKC => SK4
    6178             : #include "pm_matrixCopy@routines.inc.F90"
    6179             :     end procedure
    6180             : #endif
    6181             : 
    6182             : #if SK3_ENABLED
    6183             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_SK3
    6184             :         use pm_kind, only: SKC => SK3
    6185             : #include "pm_matrixCopy@routines.inc.F90"
    6186             :     end procedure
    6187             : #endif
    6188             : 
    6189             : #if SK2_ENABLED
    6190             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_SK2
    6191             :         use pm_kind, only: SKC => SK2
    6192             : #include "pm_matrixCopy@routines.inc.F90"
    6193             :     end procedure
    6194             : #endif
    6195             : 
    6196             : #if SK1_ENABLED
    6197           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_SK1
    6198             :         use pm_kind, only: SKC => SK1
    6199             : #include "pm_matrixCopy@routines.inc.F90"
    6200           0 :     end procedure
    6201             : #endif
    6202             : 
    6203             : #undef SK_ENABLED
    6204             : 
    6205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6206             : 
    6207             : #define IK_ENABLED 1
    6208             : 
    6209             : #if IK5_ENABLED
    6210           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_IK5
    6211             :         use pm_kind, only: IKC => IK5
    6212             : #include "pm_matrixCopy@routines.inc.F90"
    6213           0 :     end procedure
    6214             : #endif
    6215             : 
    6216             : #if IK4_ENABLED
    6217           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_IK4
    6218             :         use pm_kind, only: IKC => IK4
    6219             : #include "pm_matrixCopy@routines.inc.F90"
    6220           0 :     end procedure
    6221             : #endif
    6222             : 
    6223             : #if IK3_ENABLED
    6224           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_IK3
    6225             :         use pm_kind, only: IKC => IK3
    6226             : #include "pm_matrixCopy@routines.inc.F90"
    6227           0 :     end procedure
    6228             : #endif
    6229             : 
    6230             : #if IK2_ENABLED
    6231           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_IK2
    6232             :         use pm_kind, only: IKC => IK2
    6233             : #include "pm_matrixCopy@routines.inc.F90"
    6234           0 :     end procedure
    6235             : #endif
    6236             : 
    6237             : #if IK1_ENABLED
    6238           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_IK1
    6239             :         use pm_kind, only: IKC => IK1
    6240             : #include "pm_matrixCopy@routines.inc.F90"
    6241           0 :     end procedure
    6242             : #endif
    6243             : 
    6244             : #undef IK_ENABLED
    6245             : 
    6246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6247             : 
    6248             : #define LK_ENABLED 1
    6249             : 
    6250             : #if LK5_ENABLED
    6251           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_LK5
    6252             :         use pm_kind, only: LKC => LK5
    6253             : #include "pm_matrixCopy@routines.inc.F90"
    6254           0 :     end procedure
    6255             : #endif
    6256             : 
    6257             : #if LK4_ENABLED
    6258           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_LK4
    6259             :         use pm_kind, only: LKC => LK4
    6260             : #include "pm_matrixCopy@routines.inc.F90"
    6261           0 :     end procedure
    6262             : #endif
    6263             : 
    6264             : #if LK3_ENABLED
    6265           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_LK3
    6266             :         use pm_kind, only: LKC => LK3
    6267             : #include "pm_matrixCopy@routines.inc.F90"
    6268           0 :     end procedure
    6269             : #endif
    6270             : 
    6271             : #if LK2_ENABLED
    6272           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_LK2
    6273             :         use pm_kind, only: LKC => LK2
    6274             : #include "pm_matrixCopy@routines.inc.F90"
    6275           0 :     end procedure
    6276             : #endif
    6277             : 
    6278             : #if LK1_ENABLED
    6279           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_LK1
    6280             :         use pm_kind, only: LKC => LK1
    6281             : #include "pm_matrixCopy@routines.inc.F90"
    6282           0 :     end procedure
    6283             : #endif
    6284             : 
    6285             : #undef LK_ENABLED
    6286             : 
    6287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6288             : 
    6289             : #define CK_ENABLED 1
    6290             : 
    6291             : #if CK5_ENABLED
    6292             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_CK5
    6293             :         use pm_kind, only: CKC => CK5
    6294             : #include "pm_matrixCopy@routines.inc.F90"
    6295             :     end procedure
    6296             : #endif
    6297             : 
    6298             : #if CK4_ENABLED
    6299           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_CK4
    6300             :         use pm_kind, only: CKC => CK4
    6301             : #include "pm_matrixCopy@routines.inc.F90"
    6302           0 :     end procedure
    6303             : #endif
    6304             : 
    6305             : #if CK3_ENABLED
    6306           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_CK3
    6307             :         use pm_kind, only: CKC => CK3
    6308             : #include "pm_matrixCopy@routines.inc.F90"
    6309           0 :     end procedure
    6310             : #endif
    6311             : 
    6312             : #if CK2_ENABLED
    6313           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_CK2
    6314             :         use pm_kind, only: CKC => CK2
    6315             : #include "pm_matrixCopy@routines.inc.F90"
    6316           0 :     end procedure
    6317             : #endif
    6318             : 
    6319             : #if CK1_ENABLED
    6320           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_CK1
    6321             :         use pm_kind, only: CKC => CK1
    6322             : #include "pm_matrixCopy@routines.inc.F90"
    6323           0 :     end procedure
    6324             : #endif
    6325             : 
    6326             : #undef CK_ENABLED
    6327             : 
    6328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6329             : 
    6330             : #define RK_ENABLED 1
    6331             : 
    6332             : #if RK5_ENABLED
    6333             :     module procedure getMatCopy_LFP_RDP_XXD_TSO_RK5
    6334             :         use pm_kind, only: RKC => RK5
    6335             : #include "pm_matrixCopy@routines.inc.F90"
    6336             :     end procedure
    6337             : #endif
    6338             : 
    6339             : #if RK4_ENABLED
    6340           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_RK4
    6341             :         use pm_kind, only: RKC => RK4
    6342             : #include "pm_matrixCopy@routines.inc.F90"
    6343           0 :     end procedure
    6344             : #endif
    6345             : 
    6346             : #if RK3_ENABLED
    6347           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_RK3
    6348             :         use pm_kind, only: RKC => RK3
    6349             : #include "pm_matrixCopy@routines.inc.F90"
    6350           0 :     end procedure
    6351             : #endif
    6352             : 
    6353             : #if RK2_ENABLED
    6354           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_RK2
    6355             :         use pm_kind, only: RKC => RK2
    6356             : #include "pm_matrixCopy@routines.inc.F90"
    6357           0 :     end procedure
    6358             : #endif
    6359             : 
    6360             : #if RK1_ENABLED
    6361           0 :     module procedure getMatCopy_LFP_RDP_XXD_TSO_RK1
    6362             :         use pm_kind, only: RKC => RK1
    6363             : #include "pm_matrixCopy@routines.inc.F90"
    6364           0 :     end procedure
    6365             : #endif
    6366             : 
    6367             : #undef RK_ENABLED
    6368             : 
    6369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6370             : 
    6371             : #undef XXD_ENABLED
    6372             : #undef TSO_ENABLED
    6373             : 
    6374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6375             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6377             : 
    6378             : #define XXD_ENABLED 1
    6379             : #define THO_ENABLED 1
    6380             : 
    6381             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6382             : 
    6383             : #define SK_ENABLED 1
    6384             : 
    6385             : #if SK5_ENABLED
    6386             :     module procedure getMatCopy_LFP_RDP_XXD_THO_SK5
    6387             :         use pm_kind, only: SKC => SK5
    6388             : #include "pm_matrixCopy@routines.inc.F90"
    6389             :     end procedure
    6390             : #endif
    6391             : 
    6392             : #if SK4_ENABLED
    6393             :     module procedure getMatCopy_LFP_RDP_XXD_THO_SK4
    6394             :         use pm_kind, only: SKC => SK4
    6395             : #include "pm_matrixCopy@routines.inc.F90"
    6396             :     end procedure
    6397             : #endif
    6398             : 
    6399             : #if SK3_ENABLED
    6400             :     module procedure getMatCopy_LFP_RDP_XXD_THO_SK3
    6401             :         use pm_kind, only: SKC => SK3
    6402             : #include "pm_matrixCopy@routines.inc.F90"
    6403             :     end procedure
    6404             : #endif
    6405             : 
    6406             : #if SK2_ENABLED
    6407             :     module procedure getMatCopy_LFP_RDP_XXD_THO_SK2
    6408             :         use pm_kind, only: SKC => SK2
    6409             : #include "pm_matrixCopy@routines.inc.F90"
    6410             :     end procedure
    6411             : #endif
    6412             : 
    6413             : #if SK1_ENABLED
    6414           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_SK1
    6415             :         use pm_kind, only: SKC => SK1
    6416             : #include "pm_matrixCopy@routines.inc.F90"
    6417           0 :     end procedure
    6418             : #endif
    6419             : 
    6420             : #undef SK_ENABLED
    6421             : 
    6422             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6423             : 
    6424             : #define IK_ENABLED 1
    6425             : 
    6426             : #if IK5_ENABLED
    6427           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_IK5
    6428             :         use pm_kind, only: IKC => IK5
    6429             : #include "pm_matrixCopy@routines.inc.F90"
    6430           0 :     end procedure
    6431             : #endif
    6432             : 
    6433             : #if IK4_ENABLED
    6434           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_IK4
    6435             :         use pm_kind, only: IKC => IK4
    6436             : #include "pm_matrixCopy@routines.inc.F90"
    6437           0 :     end procedure
    6438             : #endif
    6439             : 
    6440             : #if IK3_ENABLED
    6441           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_IK3
    6442             :         use pm_kind, only: IKC => IK3
    6443             : #include "pm_matrixCopy@routines.inc.F90"
    6444           0 :     end procedure
    6445             : #endif
    6446             : 
    6447             : #if IK2_ENABLED
    6448           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_IK2
    6449             :         use pm_kind, only: IKC => IK2
    6450             : #include "pm_matrixCopy@routines.inc.F90"
    6451           0 :     end procedure
    6452             : #endif
    6453             : 
    6454             : #if IK1_ENABLED
    6455           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_IK1
    6456             :         use pm_kind, only: IKC => IK1
    6457             : #include "pm_matrixCopy@routines.inc.F90"
    6458           0 :     end procedure
    6459             : #endif
    6460             : 
    6461             : #undef IK_ENABLED
    6462             : 
    6463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6464             : 
    6465             : #define LK_ENABLED 1
    6466             : 
    6467             : #if LK5_ENABLED
    6468           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_LK5
    6469             :         use pm_kind, only: LKC => LK5
    6470             : #include "pm_matrixCopy@routines.inc.F90"
    6471           0 :     end procedure
    6472             : #endif
    6473             : 
    6474             : #if LK4_ENABLED
    6475           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_LK4
    6476             :         use pm_kind, only: LKC => LK4
    6477             : #include "pm_matrixCopy@routines.inc.F90"
    6478           0 :     end procedure
    6479             : #endif
    6480             : 
    6481             : #if LK3_ENABLED
    6482           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_LK3
    6483             :         use pm_kind, only: LKC => LK3
    6484             : #include "pm_matrixCopy@routines.inc.F90"
    6485           0 :     end procedure
    6486             : #endif
    6487             : 
    6488             : #if LK2_ENABLED
    6489           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_LK2
    6490             :         use pm_kind, only: LKC => LK2
    6491             : #include "pm_matrixCopy@routines.inc.F90"
    6492           0 :     end procedure
    6493             : #endif
    6494             : 
    6495             : #if LK1_ENABLED
    6496           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_LK1
    6497             :         use pm_kind, only: LKC => LK1
    6498             : #include "pm_matrixCopy@routines.inc.F90"
    6499           0 :     end procedure
    6500             : #endif
    6501             : 
    6502             : #undef LK_ENABLED
    6503             : 
    6504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6505             : 
    6506             : #define CK_ENABLED 1
    6507             : 
    6508             : #if CK5_ENABLED
    6509             :     module procedure getMatCopy_LFP_RDP_XXD_THO_CK5
    6510             :         use pm_kind, only: CKC => CK5
    6511             : #include "pm_matrixCopy@routines.inc.F90"
    6512             :     end procedure
    6513             : #endif
    6514             : 
    6515             : #if CK4_ENABLED
    6516           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_CK4
    6517             :         use pm_kind, only: CKC => CK4
    6518             : #include "pm_matrixCopy@routines.inc.F90"
    6519           0 :     end procedure
    6520             : #endif
    6521             : 
    6522             : #if CK3_ENABLED
    6523           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_CK3
    6524             :         use pm_kind, only: CKC => CK3
    6525             : #include "pm_matrixCopy@routines.inc.F90"
    6526           0 :     end procedure
    6527             : #endif
    6528             : 
    6529             : #if CK2_ENABLED
    6530           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_CK2
    6531             :         use pm_kind, only: CKC => CK2
    6532             : #include "pm_matrixCopy@routines.inc.F90"
    6533           0 :     end procedure
    6534             : #endif
    6535             : 
    6536             : #if CK1_ENABLED
    6537           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_CK1
    6538             :         use pm_kind, only: CKC => CK1
    6539             : #include "pm_matrixCopy@routines.inc.F90"
    6540           0 :     end procedure
    6541             : #endif
    6542             : 
    6543             : #undef CK_ENABLED
    6544             : 
    6545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6546             : 
    6547             : #define RK_ENABLED 1
    6548             : 
    6549             : #if RK5_ENABLED
    6550             :     module procedure getMatCopy_LFP_RDP_XXD_THO_RK5
    6551             :         use pm_kind, only: RKC => RK5
    6552             : #include "pm_matrixCopy@routines.inc.F90"
    6553             :     end procedure
    6554             : #endif
    6555             : 
    6556             : #if RK4_ENABLED
    6557           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_RK4
    6558             :         use pm_kind, only: RKC => RK4
    6559             : #include "pm_matrixCopy@routines.inc.F90"
    6560           0 :     end procedure
    6561             : #endif
    6562             : 
    6563             : #if RK3_ENABLED
    6564           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_RK3
    6565             :         use pm_kind, only: RKC => RK3
    6566             : #include "pm_matrixCopy@routines.inc.F90"
    6567           0 :     end procedure
    6568             : #endif
    6569             : 
    6570             : #if RK2_ENABLED
    6571           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_RK2
    6572             :         use pm_kind, only: RKC => RK2
    6573             : #include "pm_matrixCopy@routines.inc.F90"
    6574           0 :     end procedure
    6575             : #endif
    6576             : 
    6577             : #if RK1_ENABLED
    6578           0 :     module procedure getMatCopy_LFP_RDP_XXD_THO_RK1
    6579             :         use pm_kind, only: RKC => RK1
    6580             : #include "pm_matrixCopy@routines.inc.F90"
    6581           0 :     end procedure
    6582             : #endif
    6583             : 
    6584             : #undef RK_ENABLED
    6585             : 
    6586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6587             : 
    6588             : #undef XXD_ENABLED
    6589             : #undef THO_ENABLED
    6590             : 
    6591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6592             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6594             : 
    6595             : #define UXD_ENABLED 1
    6596             : #define AIO_ENABLED 1
    6597             : 
    6598             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6599             : 
    6600             : #define SK_ENABLED 1
    6601             : 
    6602             : #if SK5_ENABLED
    6603             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_SK5
    6604             :         use pm_kind, only: SKC => SK5
    6605             : #include "pm_matrixCopy@routines.inc.F90"
    6606             :     end procedure
    6607             : #endif
    6608             : 
    6609             : #if SK4_ENABLED
    6610             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_SK4
    6611             :         use pm_kind, only: SKC => SK4
    6612             : #include "pm_matrixCopy@routines.inc.F90"
    6613             :     end procedure
    6614             : #endif
    6615             : 
    6616             : #if SK3_ENABLED
    6617             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_SK3
    6618             :         use pm_kind, only: SKC => SK3
    6619             : #include "pm_matrixCopy@routines.inc.F90"
    6620             :     end procedure
    6621             : #endif
    6622             : 
    6623             : #if SK2_ENABLED
    6624             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_SK2
    6625             :         use pm_kind, only: SKC => SK2
    6626             : #include "pm_matrixCopy@routines.inc.F90"
    6627             :     end procedure
    6628             : #endif
    6629             : 
    6630             : #if SK1_ENABLED
    6631           1 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_SK1
    6632             :         use pm_kind, only: SKC => SK1
    6633             : #include "pm_matrixCopy@routines.inc.F90"
    6634           1 :     end procedure
    6635             : #endif
    6636             : 
    6637             : #undef SK_ENABLED
    6638             : 
    6639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6640             : 
    6641             : #define IK_ENABLED 1
    6642             : 
    6643             : #if IK5_ENABLED
    6644         282 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_IK5
    6645             :         use pm_kind, only: IKC => IK5
    6646             : #include "pm_matrixCopy@routines.inc.F90"
    6647         282 :     end procedure
    6648             : #endif
    6649             : 
    6650             : #if IK4_ENABLED
    6651         288 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_IK4
    6652             :         use pm_kind, only: IKC => IK4
    6653             : #include "pm_matrixCopy@routines.inc.F90"
    6654         288 :     end procedure
    6655             : #endif
    6656             : 
    6657             : #if IK3_ENABLED
    6658         268 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_IK3
    6659             :         use pm_kind, only: IKC => IK3
    6660             : #include "pm_matrixCopy@routines.inc.F90"
    6661         268 :     end procedure
    6662             : #endif
    6663             : 
    6664             : #if IK2_ENABLED
    6665         260 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_IK2
    6666             :         use pm_kind, only: IKC => IK2
    6667             : #include "pm_matrixCopy@routines.inc.F90"
    6668         260 :     end procedure
    6669             : #endif
    6670             : 
    6671             : #if IK1_ENABLED
    6672         306 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_IK1
    6673             :         use pm_kind, only: IKC => IK1
    6674             : #include "pm_matrixCopy@routines.inc.F90"
    6675         306 :     end procedure
    6676             : #endif
    6677             : 
    6678             : #undef IK_ENABLED
    6679             : 
    6680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6681             : 
    6682             : #define LK_ENABLED 1
    6683             : 
    6684             : #if LK5_ENABLED
    6685           0 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_LK5
    6686             :         use pm_kind, only: LKC => LK5
    6687             : #include "pm_matrixCopy@routines.inc.F90"
    6688           0 :     end procedure
    6689             : #endif
    6690             : 
    6691             : #if LK4_ENABLED
    6692           0 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_LK4
    6693             :         use pm_kind, only: LKC => LK4
    6694             : #include "pm_matrixCopy@routines.inc.F90"
    6695           0 :     end procedure
    6696             : #endif
    6697             : 
    6698             : #if LK3_ENABLED
    6699           0 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_LK3
    6700             :         use pm_kind, only: LKC => LK3
    6701             : #include "pm_matrixCopy@routines.inc.F90"
    6702           0 :     end procedure
    6703             : #endif
    6704             : 
    6705             : #if LK2_ENABLED
    6706           0 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_LK2
    6707             :         use pm_kind, only: LKC => LK2
    6708             : #include "pm_matrixCopy@routines.inc.F90"
    6709           0 :     end procedure
    6710             : #endif
    6711             : 
    6712             : #if LK1_ENABLED
    6713           0 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_LK1
    6714             :         use pm_kind, only: LKC => LK1
    6715             : #include "pm_matrixCopy@routines.inc.F90"
    6716           0 :     end procedure
    6717             : #endif
    6718             : 
    6719             : #undef LK_ENABLED
    6720             : 
    6721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6722             : 
    6723             : #define CK_ENABLED 1
    6724             : 
    6725             : #if CK5_ENABLED
    6726             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_CK5
    6727             :         use pm_kind, only: CKC => CK5
    6728             : #include "pm_matrixCopy@routines.inc.F90"
    6729             :     end procedure
    6730             : #endif
    6731             : 
    6732             : #if CK4_ENABLED
    6733         284 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_CK4
    6734             :         use pm_kind, only: CKC => CK4
    6735             : #include "pm_matrixCopy@routines.inc.F90"
    6736         284 :     end procedure
    6737             : #endif
    6738             : 
    6739             : #if CK3_ENABLED
    6740         278 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_CK3
    6741             :         use pm_kind, only: CKC => CK3
    6742             : #include "pm_matrixCopy@routines.inc.F90"
    6743         278 :     end procedure
    6744             : #endif
    6745             : 
    6746             : #if CK2_ENABLED
    6747         264 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_CK2
    6748             :         use pm_kind, only: CKC => CK2
    6749             : #include "pm_matrixCopy@routines.inc.F90"
    6750         264 :     end procedure
    6751             : #endif
    6752             : 
    6753             : #if CK1_ENABLED
    6754         300 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_CK1
    6755             :         use pm_kind, only: CKC => CK1
    6756             : #include "pm_matrixCopy@routines.inc.F90"
    6757         300 :     end procedure
    6758             : #endif
    6759             : 
    6760             : #undef CK_ENABLED
    6761             : 
    6762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6763             : 
    6764             : #define RK_ENABLED 1
    6765             : 
    6766             : #if RK5_ENABLED
    6767             :     module procedure getMatCopy_LFP_RDP_UXD_AIO_RK5
    6768             :         use pm_kind, only: RKC => RK5
    6769             : #include "pm_matrixCopy@routines.inc.F90"
    6770             :     end procedure
    6771             : #endif
    6772             : 
    6773             : #if RK4_ENABLED
    6774         276 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_RK4
    6775             :         use pm_kind, only: RKC => RK4
    6776             : #include "pm_matrixCopy@routines.inc.F90"
    6777         276 :     end procedure
    6778             : #endif
    6779             : 
    6780             : #if RK3_ENABLED
    6781         280 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_RK3
    6782             :         use pm_kind, only: RKC => RK3
    6783             : #include "pm_matrixCopy@routines.inc.F90"
    6784         280 :     end procedure
    6785             : #endif
    6786             : 
    6787             : #if RK2_ENABLED
    6788         262 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_RK2
    6789             :         use pm_kind, only: RKC => RK2
    6790             : #include "pm_matrixCopy@routines.inc.F90"
    6791         262 :     end procedure
    6792             : #endif
    6793             : 
    6794             : #if RK1_ENABLED
    6795         300 :     module procedure getMatCopy_LFP_RDP_UXD_AIO_RK1
    6796             :         use pm_kind, only: RKC => RK1
    6797             : #include "pm_matrixCopy@routines.inc.F90"
    6798         300 :     end procedure
    6799             : #endif
    6800             : 
    6801             : #undef RK_ENABLED
    6802             : 
    6803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6804             : 
    6805             : #undef UXD_ENABLED
    6806             : #undef AIO_ENABLED
    6807             : 
    6808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6811             : 
    6812             : #define UXD_ENABLED 1
    6813             : #define TSO_ENABLED 1
    6814             : 
    6815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6816             : 
    6817             : #define SK_ENABLED 1
    6818             : 
    6819             : #if SK5_ENABLED
    6820             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_SK5
    6821             :         use pm_kind, only: SKC => SK5
    6822             : #include "pm_matrixCopy@routines.inc.F90"
    6823             :     end procedure
    6824             : #endif
    6825             : 
    6826             : #if SK4_ENABLED
    6827             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_SK4
    6828             :         use pm_kind, only: SKC => SK4
    6829             : #include "pm_matrixCopy@routines.inc.F90"
    6830             :     end procedure
    6831             : #endif
    6832             : 
    6833             : #if SK3_ENABLED
    6834             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_SK3
    6835             :         use pm_kind, only: SKC => SK3
    6836             : #include "pm_matrixCopy@routines.inc.F90"
    6837             :     end procedure
    6838             : #endif
    6839             : 
    6840             : #if SK2_ENABLED
    6841             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_SK2
    6842             :         use pm_kind, only: SKC => SK2
    6843             : #include "pm_matrixCopy@routines.inc.F90"
    6844             :     end procedure
    6845             : #endif
    6846             : 
    6847             : #if SK1_ENABLED
    6848           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_SK1
    6849             :         use pm_kind, only: SKC => SK1
    6850             : #include "pm_matrixCopy@routines.inc.F90"
    6851           0 :     end procedure
    6852             : #endif
    6853             : 
    6854             : #undef SK_ENABLED
    6855             : 
    6856             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6857             : 
    6858             : #define IK_ENABLED 1
    6859             : 
    6860             : #if IK5_ENABLED
    6861           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_IK5
    6862             :         use pm_kind, only: IKC => IK5
    6863             : #include "pm_matrixCopy@routines.inc.F90"
    6864           0 :     end procedure
    6865             : #endif
    6866             : 
    6867             : #if IK4_ENABLED
    6868           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_IK4
    6869             :         use pm_kind, only: IKC => IK4
    6870             : #include "pm_matrixCopy@routines.inc.F90"
    6871           0 :     end procedure
    6872             : #endif
    6873             : 
    6874             : #if IK3_ENABLED
    6875           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_IK3
    6876             :         use pm_kind, only: IKC => IK3
    6877             : #include "pm_matrixCopy@routines.inc.F90"
    6878           0 :     end procedure
    6879             : #endif
    6880             : 
    6881             : #if IK2_ENABLED
    6882           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_IK2
    6883             :         use pm_kind, only: IKC => IK2
    6884             : #include "pm_matrixCopy@routines.inc.F90"
    6885           0 :     end procedure
    6886             : #endif
    6887             : 
    6888             : #if IK1_ENABLED
    6889           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_IK1
    6890             :         use pm_kind, only: IKC => IK1
    6891             : #include "pm_matrixCopy@routines.inc.F90"
    6892           0 :     end procedure
    6893             : #endif
    6894             : 
    6895             : #undef IK_ENABLED
    6896             : 
    6897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6898             : 
    6899             : #define LK_ENABLED 1
    6900             : 
    6901             : #if LK5_ENABLED
    6902           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_LK5
    6903             :         use pm_kind, only: LKC => LK5
    6904             : #include "pm_matrixCopy@routines.inc.F90"
    6905           0 :     end procedure
    6906             : #endif
    6907             : 
    6908             : #if LK4_ENABLED
    6909           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_LK4
    6910             :         use pm_kind, only: LKC => LK4
    6911             : #include "pm_matrixCopy@routines.inc.F90"
    6912           0 :     end procedure
    6913             : #endif
    6914             : 
    6915             : #if LK3_ENABLED
    6916           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_LK3
    6917             :         use pm_kind, only: LKC => LK3
    6918             : #include "pm_matrixCopy@routines.inc.F90"
    6919           0 :     end procedure
    6920             : #endif
    6921             : 
    6922             : #if LK2_ENABLED
    6923           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_LK2
    6924             :         use pm_kind, only: LKC => LK2
    6925             : #include "pm_matrixCopy@routines.inc.F90"
    6926           0 :     end procedure
    6927             : #endif
    6928             : 
    6929             : #if LK1_ENABLED
    6930           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_LK1
    6931             :         use pm_kind, only: LKC => LK1
    6932             : #include "pm_matrixCopy@routines.inc.F90"
    6933           0 :     end procedure
    6934             : #endif
    6935             : 
    6936             : #undef LK_ENABLED
    6937             : 
    6938             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6939             : 
    6940             : #define CK_ENABLED 1
    6941             : 
    6942             : #if CK5_ENABLED
    6943             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_CK5
    6944             :         use pm_kind, only: CKC => CK5
    6945             : #include "pm_matrixCopy@routines.inc.F90"
    6946             :     end procedure
    6947             : #endif
    6948             : 
    6949             : #if CK4_ENABLED
    6950           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_CK4
    6951             :         use pm_kind, only: CKC => CK4
    6952             : #include "pm_matrixCopy@routines.inc.F90"
    6953           0 :     end procedure
    6954             : #endif
    6955             : 
    6956             : #if CK3_ENABLED
    6957           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_CK3
    6958             :         use pm_kind, only: CKC => CK3
    6959             : #include "pm_matrixCopy@routines.inc.F90"
    6960           0 :     end procedure
    6961             : #endif
    6962             : 
    6963             : #if CK2_ENABLED
    6964           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_CK2
    6965             :         use pm_kind, only: CKC => CK2
    6966             : #include "pm_matrixCopy@routines.inc.F90"
    6967           0 :     end procedure
    6968             : #endif
    6969             : 
    6970             : #if CK1_ENABLED
    6971           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_CK1
    6972             :         use pm_kind, only: CKC => CK1
    6973             : #include "pm_matrixCopy@routines.inc.F90"
    6974           0 :     end procedure
    6975             : #endif
    6976             : 
    6977             : #undef CK_ENABLED
    6978             : 
    6979             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6980             : 
    6981             : #define RK_ENABLED 1
    6982             : 
    6983             : #if RK5_ENABLED
    6984             :     module procedure getMatCopy_LFP_RDP_UXD_TSO_RK5
    6985             :         use pm_kind, only: RKC => RK5
    6986             : #include "pm_matrixCopy@routines.inc.F90"
    6987             :     end procedure
    6988             : #endif
    6989             : 
    6990             : #if RK4_ENABLED
    6991           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_RK4
    6992             :         use pm_kind, only: RKC => RK4
    6993             : #include "pm_matrixCopy@routines.inc.F90"
    6994           0 :     end procedure
    6995             : #endif
    6996             : 
    6997             : #if RK3_ENABLED
    6998           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_RK3
    6999             :         use pm_kind, only: RKC => RK3
    7000             : #include "pm_matrixCopy@routines.inc.F90"
    7001           0 :     end procedure
    7002             : #endif
    7003             : 
    7004             : #if RK2_ENABLED
    7005           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_RK2
    7006             :         use pm_kind, only: RKC => RK2
    7007             : #include "pm_matrixCopy@routines.inc.F90"
    7008           0 :     end procedure
    7009             : #endif
    7010             : 
    7011             : #if RK1_ENABLED
    7012           0 :     module procedure getMatCopy_LFP_RDP_UXD_TSO_RK1
    7013             :         use pm_kind, only: RKC => RK1
    7014             : #include "pm_matrixCopy@routines.inc.F90"
    7015           0 :     end procedure
    7016             : #endif
    7017             : 
    7018             : #undef RK_ENABLED
    7019             : 
    7020             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7021             : 
    7022             : #undef UXD_ENABLED
    7023             : #undef TSO_ENABLED
    7024             : 
    7025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7028             : 
    7029             : #define UXD_ENABLED 1
    7030             : #define THO_ENABLED 1
    7031             : 
    7032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7033             : 
    7034             : #define SK_ENABLED 1
    7035             : 
    7036             : #if SK5_ENABLED
    7037             :     module procedure getMatCopy_LFP_RDP_UXD_THO_SK5
    7038             :         use pm_kind, only: SKC => SK5
    7039             : #include "pm_matrixCopy@routines.inc.F90"
    7040             :     end procedure
    7041             : #endif
    7042             : 
    7043             : #if SK4_ENABLED
    7044             :     module procedure getMatCopy_LFP_RDP_UXD_THO_SK4
    7045             :         use pm_kind, only: SKC => SK4
    7046             : #include "pm_matrixCopy@routines.inc.F90"
    7047             :     end procedure
    7048             : #endif
    7049             : 
    7050             : #if SK3_ENABLED
    7051             :     module procedure getMatCopy_LFP_RDP_UXD_THO_SK3
    7052             :         use pm_kind, only: SKC => SK3
    7053             : #include "pm_matrixCopy@routines.inc.F90"
    7054             :     end procedure
    7055             : #endif
    7056             : 
    7057             : #if SK2_ENABLED
    7058             :     module procedure getMatCopy_LFP_RDP_UXD_THO_SK2
    7059             :         use pm_kind, only: SKC => SK2
    7060             : #include "pm_matrixCopy@routines.inc.F90"
    7061             :     end procedure
    7062             : #endif
    7063             : 
    7064             : #if SK1_ENABLED
    7065           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_SK1
    7066             :         use pm_kind, only: SKC => SK1
    7067             : #include "pm_matrixCopy@routines.inc.F90"
    7068           0 :     end procedure
    7069             : #endif
    7070             : 
    7071             : #undef SK_ENABLED
    7072             : 
    7073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7074             : 
    7075             : #define IK_ENABLED 1
    7076             : 
    7077             : #if IK5_ENABLED
    7078           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_IK5
    7079             :         use pm_kind, only: IKC => IK5
    7080             : #include "pm_matrixCopy@routines.inc.F90"
    7081           0 :     end procedure
    7082             : #endif
    7083             : 
    7084             : #if IK4_ENABLED
    7085           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_IK4
    7086             :         use pm_kind, only: IKC => IK4
    7087             : #include "pm_matrixCopy@routines.inc.F90"
    7088           0 :     end procedure
    7089             : #endif
    7090             : 
    7091             : #if IK3_ENABLED
    7092           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_IK3
    7093             :         use pm_kind, only: IKC => IK3
    7094             : #include "pm_matrixCopy@routines.inc.F90"
    7095           0 :     end procedure
    7096             : #endif
    7097             : 
    7098             : #if IK2_ENABLED
    7099           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_IK2
    7100             :         use pm_kind, only: IKC => IK2
    7101             : #include "pm_matrixCopy@routines.inc.F90"
    7102           0 :     end procedure
    7103             : #endif
    7104             : 
    7105             : #if IK1_ENABLED
    7106           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_IK1
    7107             :         use pm_kind, only: IKC => IK1
    7108             : #include "pm_matrixCopy@routines.inc.F90"
    7109           0 :     end procedure
    7110             : #endif
    7111             : 
    7112             : #undef IK_ENABLED
    7113             : 
    7114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7115             : 
    7116             : #define LK_ENABLED 1
    7117             : 
    7118             : #if LK5_ENABLED
    7119           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_LK5
    7120             :         use pm_kind, only: LKC => LK5
    7121             : #include "pm_matrixCopy@routines.inc.F90"
    7122           0 :     end procedure
    7123             : #endif
    7124             : 
    7125             : #if LK4_ENABLED
    7126           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_LK4
    7127             :         use pm_kind, only: LKC => LK4
    7128             : #include "pm_matrixCopy@routines.inc.F90"
    7129           0 :     end procedure
    7130             : #endif
    7131             : 
    7132             : #if LK3_ENABLED
    7133           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_LK3
    7134             :         use pm_kind, only: LKC => LK3
    7135             : #include "pm_matrixCopy@routines.inc.F90"
    7136           0 :     end procedure
    7137             : #endif
    7138             : 
    7139             : #if LK2_ENABLED
    7140           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_LK2
    7141             :         use pm_kind, only: LKC => LK2
    7142             : #include "pm_matrixCopy@routines.inc.F90"
    7143           0 :     end procedure
    7144             : #endif
    7145             : 
    7146             : #if LK1_ENABLED
    7147           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_LK1
    7148             :         use pm_kind, only: LKC => LK1
    7149             : #include "pm_matrixCopy@routines.inc.F90"
    7150           0 :     end procedure
    7151             : #endif
    7152             : 
    7153             : #undef LK_ENABLED
    7154             : 
    7155             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7156             : 
    7157             : #define CK_ENABLED 1
    7158             : 
    7159             : #if CK5_ENABLED
    7160             :     module procedure getMatCopy_LFP_RDP_UXD_THO_CK5
    7161             :         use pm_kind, only: CKC => CK5
    7162             : #include "pm_matrixCopy@routines.inc.F90"
    7163             :     end procedure
    7164             : #endif
    7165             : 
    7166             : #if CK4_ENABLED
    7167           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_CK4
    7168             :         use pm_kind, only: CKC => CK4
    7169             : #include "pm_matrixCopy@routines.inc.F90"
    7170           0 :     end procedure
    7171             : #endif
    7172             : 
    7173             : #if CK3_ENABLED
    7174           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_CK3
    7175             :         use pm_kind, only: CKC => CK3
    7176             : #include "pm_matrixCopy@routines.inc.F90"
    7177           0 :     end procedure
    7178             : #endif
    7179             : 
    7180             : #if CK2_ENABLED
    7181           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_CK2
    7182             :         use pm_kind, only: CKC => CK2
    7183             : #include "pm_matrixCopy@routines.inc.F90"
    7184           0 :     end procedure
    7185             : #endif
    7186             : 
    7187             : #if CK1_ENABLED
    7188           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_CK1
    7189             :         use pm_kind, only: CKC => CK1
    7190             : #include "pm_matrixCopy@routines.inc.F90"
    7191           0 :     end procedure
    7192             : #endif
    7193             : 
    7194             : #undef CK_ENABLED
    7195             : 
    7196             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7197             : 
    7198             : #define RK_ENABLED 1
    7199             : 
    7200             : #if RK5_ENABLED
    7201             :     module procedure getMatCopy_LFP_RDP_UXD_THO_RK5
    7202             :         use pm_kind, only: RKC => RK5
    7203             : #include "pm_matrixCopy@routines.inc.F90"
    7204             :     end procedure
    7205             : #endif
    7206             : 
    7207             : #if RK4_ENABLED
    7208           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_RK4
    7209             :         use pm_kind, only: RKC => RK4
    7210             : #include "pm_matrixCopy@routines.inc.F90"
    7211           0 :     end procedure
    7212             : #endif
    7213             : 
    7214             : #if RK3_ENABLED
    7215           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_RK3
    7216             :         use pm_kind, only: RKC => RK3
    7217             : #include "pm_matrixCopy@routines.inc.F90"
    7218           0 :     end procedure
    7219             : #endif
    7220             : 
    7221             : #if RK2_ENABLED
    7222           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_RK2
    7223             :         use pm_kind, only: RKC => RK2
    7224             : #include "pm_matrixCopy@routines.inc.F90"
    7225           0 :     end procedure
    7226             : #endif
    7227             : 
    7228             : #if RK1_ENABLED
    7229           0 :     module procedure getMatCopy_LFP_RDP_UXD_THO_RK1
    7230             :         use pm_kind, only: RKC => RK1
    7231             : #include "pm_matrixCopy@routines.inc.F90"
    7232           0 :     end procedure
    7233             : #endif
    7234             : 
    7235             : #undef RK_ENABLED
    7236             : 
    7237             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7238             : 
    7239             : #undef UXD_ENABLED
    7240             : #undef THO_ENABLED
    7241             : 
    7242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7245             : 
    7246             : #define XLD_ENABLED 1
    7247             : #define AIO_ENABLED 1
    7248             : 
    7249             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7250             : 
    7251             : #define SK_ENABLED 1
    7252             : 
    7253             : #if SK5_ENABLED
    7254             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_SK5
    7255             :         use pm_kind, only: SKC => SK5
    7256             : #include "pm_matrixCopy@routines.inc.F90"
    7257             :     end procedure
    7258             : #endif
    7259             : 
    7260             : #if SK4_ENABLED
    7261             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_SK4
    7262             :         use pm_kind, only: SKC => SK4
    7263             : #include "pm_matrixCopy@routines.inc.F90"
    7264             :     end procedure
    7265             : #endif
    7266             : 
    7267             : #if SK3_ENABLED
    7268             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_SK3
    7269             :         use pm_kind, only: SKC => SK3
    7270             : #include "pm_matrixCopy@routines.inc.F90"
    7271             :     end procedure
    7272             : #endif
    7273             : 
    7274             : #if SK2_ENABLED
    7275             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_SK2
    7276             :         use pm_kind, only: SKC => SK2
    7277             : #include "pm_matrixCopy@routines.inc.F90"
    7278             :     end procedure
    7279             : #endif
    7280             : 
    7281             : #if SK1_ENABLED
    7282           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_SK1
    7283             :         use pm_kind, only: SKC => SK1
    7284             : #include "pm_matrixCopy@routines.inc.F90"
    7285           0 :     end procedure
    7286             : #endif
    7287             : 
    7288             : #undef SK_ENABLED
    7289             : 
    7290             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7291             : 
    7292             : #define IK_ENABLED 1
    7293             : 
    7294             : #if IK5_ENABLED
    7295         282 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_IK5
    7296             :         use pm_kind, only: IKC => IK5
    7297             : #include "pm_matrixCopy@routines.inc.F90"
    7298         282 :     end procedure
    7299             : #endif
    7300             : 
    7301             : #if IK4_ENABLED
    7302         288 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_IK4
    7303             :         use pm_kind, only: IKC => IK4
    7304             : #include "pm_matrixCopy@routines.inc.F90"
    7305         288 :     end procedure
    7306             : #endif
    7307             : 
    7308             : #if IK3_ENABLED
    7309         283 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_IK3
    7310             :         use pm_kind, only: IKC => IK3
    7311             : #include "pm_matrixCopy@routines.inc.F90"
    7312         283 :     end procedure
    7313             : #endif
    7314             : 
    7315             : #if IK2_ENABLED
    7316         260 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_IK2
    7317             :         use pm_kind, only: IKC => IK2
    7318             : #include "pm_matrixCopy@routines.inc.F90"
    7319         260 :     end procedure
    7320             : #endif
    7321             : 
    7322             : #if IK1_ENABLED
    7323         306 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_IK1
    7324             :         use pm_kind, only: IKC => IK1
    7325             : #include "pm_matrixCopy@routines.inc.F90"
    7326         306 :     end procedure
    7327             : #endif
    7328             : 
    7329             : #undef IK_ENABLED
    7330             : 
    7331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7332             : 
    7333             : #define LK_ENABLED 1
    7334             : 
    7335             : #if LK5_ENABLED
    7336           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_LK5
    7337             :         use pm_kind, only: LKC => LK5
    7338             : #include "pm_matrixCopy@routines.inc.F90"
    7339           0 :     end procedure
    7340             : #endif
    7341             : 
    7342             : #if LK4_ENABLED
    7343           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_LK4
    7344             :         use pm_kind, only: LKC => LK4
    7345             : #include "pm_matrixCopy@routines.inc.F90"
    7346           0 :     end procedure
    7347             : #endif
    7348             : 
    7349             : #if LK3_ENABLED
    7350           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_LK3
    7351             :         use pm_kind, only: LKC => LK3
    7352             : #include "pm_matrixCopy@routines.inc.F90"
    7353           0 :     end procedure
    7354             : #endif
    7355             : 
    7356             : #if LK2_ENABLED
    7357           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_LK2
    7358             :         use pm_kind, only: LKC => LK2
    7359             : #include "pm_matrixCopy@routines.inc.F90"
    7360           0 :     end procedure
    7361             : #endif
    7362             : 
    7363             : #if LK1_ENABLED
    7364           0 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_LK1
    7365             :         use pm_kind, only: LKC => LK1
    7366             : #include "pm_matrixCopy@routines.inc.F90"
    7367           0 :     end procedure
    7368             : #endif
    7369             : 
    7370             : #undef LK_ENABLED
    7371             : 
    7372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7373             : 
    7374             : #define CK_ENABLED 1
    7375             : 
    7376             : #if CK5_ENABLED
    7377             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_CK5
    7378             :         use pm_kind, only: CKC => CK5
    7379             : #include "pm_matrixCopy@routines.inc.F90"
    7380             :     end procedure
    7381             : #endif
    7382             : 
    7383             : #if CK4_ENABLED
    7384         284 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_CK4
    7385             :         use pm_kind, only: CKC => CK4
    7386             : #include "pm_matrixCopy@routines.inc.F90"
    7387         284 :     end procedure
    7388             : #endif
    7389             : 
    7390             : #if CK3_ENABLED
    7391         278 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_CK3
    7392             :         use pm_kind, only: CKC => CK3
    7393             : #include "pm_matrixCopy@routines.inc.F90"
    7394         278 :     end procedure
    7395             : #endif
    7396             : 
    7397             : #if CK2_ENABLED
    7398         264 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_CK2
    7399             :         use pm_kind, only: CKC => CK2
    7400             : #include "pm_matrixCopy@routines.inc.F90"
    7401         264 :     end procedure
    7402             : #endif
    7403             : 
    7404             : #if CK1_ENABLED
    7405         300 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_CK1
    7406             :         use pm_kind, only: CKC => CK1
    7407             : #include "pm_matrixCopy@routines.inc.F90"
    7408         300 :     end procedure
    7409             : #endif
    7410             : 
    7411             : #undef CK_ENABLED
    7412             : 
    7413             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7414             : 
    7415             : #define RK_ENABLED 1
    7416             : 
    7417             : #if RK5_ENABLED
    7418             :     module procedure getMatCopy_LFP_RDP_XLD_AIO_RK5
    7419             :         use pm_kind, only: RKC => RK5
    7420             : #include "pm_matrixCopy@routines.inc.F90"
    7421             :     end procedure
    7422             : #endif
    7423             : 
    7424             : #if RK4_ENABLED
    7425         276 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_RK4
    7426             :         use pm_kind, only: RKC => RK4
    7427             : #include "pm_matrixCopy@routines.inc.F90"
    7428         276 :     end procedure
    7429             : #endif
    7430             : 
    7431             : #if RK3_ENABLED
    7432         280 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_RK3
    7433             :         use pm_kind, only: RKC => RK3
    7434             : #include "pm_matrixCopy@routines.inc.F90"
    7435         280 :     end procedure
    7436             : #endif
    7437             : 
    7438             : #if RK2_ENABLED
    7439         262 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_RK2
    7440             :         use pm_kind, only: RKC => RK2
    7441             : #include "pm_matrixCopy@routines.inc.F90"
    7442         262 :     end procedure
    7443             : #endif
    7444             : 
    7445             : #if RK1_ENABLED
    7446         300 :     module procedure getMatCopy_LFP_RDP_XLD_AIO_RK1
    7447             :         use pm_kind, only: RKC => RK1
    7448             : #include "pm_matrixCopy@routines.inc.F90"
    7449         300 :     end procedure
    7450             : #endif
    7451             : 
    7452             : #undef RK_ENABLED
    7453             : 
    7454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7455             : 
    7456             : #undef XLD_ENABLED
    7457             : #undef AIO_ENABLED
    7458             : 
    7459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7462             : 
    7463             : #define XLD_ENABLED 1
    7464             : #define TSO_ENABLED 1
    7465             : 
    7466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7467             : 
    7468             : #define SK_ENABLED 1
    7469             : 
    7470             : #if SK5_ENABLED
    7471             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_SK5
    7472             :         use pm_kind, only: SKC => SK5
    7473             : #include "pm_matrixCopy@routines.inc.F90"
    7474             :     end procedure
    7475             : #endif
    7476             : 
    7477             : #if SK4_ENABLED
    7478             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_SK4
    7479             :         use pm_kind, only: SKC => SK4
    7480             : #include "pm_matrixCopy@routines.inc.F90"
    7481             :     end procedure
    7482             : #endif
    7483             : 
    7484             : #if SK3_ENABLED
    7485             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_SK3
    7486             :         use pm_kind, only: SKC => SK3
    7487             : #include "pm_matrixCopy@routines.inc.F90"
    7488             :     end procedure
    7489             : #endif
    7490             : 
    7491             : #if SK2_ENABLED
    7492             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_SK2
    7493             :         use pm_kind, only: SKC => SK2
    7494             : #include "pm_matrixCopy@routines.inc.F90"
    7495             :     end procedure
    7496             : #endif
    7497             : 
    7498             : #if SK1_ENABLED
    7499           2 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_SK1
    7500             :         use pm_kind, only: SKC => SK1
    7501             : #include "pm_matrixCopy@routines.inc.F90"
    7502           2 :     end procedure
    7503             : #endif
    7504             : 
    7505             : #undef SK_ENABLED
    7506             : 
    7507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7508             : 
    7509             : #define IK_ENABLED 1
    7510             : 
    7511             : #if IK5_ENABLED
    7512           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_IK5
    7513             :         use pm_kind, only: IKC => IK5
    7514             : #include "pm_matrixCopy@routines.inc.F90"
    7515           0 :     end procedure
    7516             : #endif
    7517             : 
    7518             : #if IK4_ENABLED
    7519           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_IK4
    7520             :         use pm_kind, only: IKC => IK4
    7521             : #include "pm_matrixCopy@routines.inc.F90"
    7522           0 :     end procedure
    7523             : #endif
    7524             : 
    7525             : #if IK3_ENABLED
    7526           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_IK3
    7527             :         use pm_kind, only: IKC => IK3
    7528             : #include "pm_matrixCopy@routines.inc.F90"
    7529           0 :     end procedure
    7530             : #endif
    7531             : 
    7532             : #if IK2_ENABLED
    7533           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_IK2
    7534             :         use pm_kind, only: IKC => IK2
    7535             : #include "pm_matrixCopy@routines.inc.F90"
    7536           0 :     end procedure
    7537             : #endif
    7538             : 
    7539             : #if IK1_ENABLED
    7540           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_IK1
    7541             :         use pm_kind, only: IKC => IK1
    7542             : #include "pm_matrixCopy@routines.inc.F90"
    7543           0 :     end procedure
    7544             : #endif
    7545             : 
    7546             : #undef IK_ENABLED
    7547             : 
    7548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7549             : 
    7550             : #define LK_ENABLED 1
    7551             : 
    7552             : #if LK5_ENABLED
    7553           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_LK5
    7554             :         use pm_kind, only: LKC => LK5
    7555             : #include "pm_matrixCopy@routines.inc.F90"
    7556           0 :     end procedure
    7557             : #endif
    7558             : 
    7559             : #if LK4_ENABLED
    7560           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_LK4
    7561             :         use pm_kind, only: LKC => LK4
    7562             : #include "pm_matrixCopy@routines.inc.F90"
    7563           0 :     end procedure
    7564             : #endif
    7565             : 
    7566             : #if LK3_ENABLED
    7567           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_LK3
    7568             :         use pm_kind, only: LKC => LK3
    7569             : #include "pm_matrixCopy@routines.inc.F90"
    7570           0 :     end procedure
    7571             : #endif
    7572             : 
    7573             : #if LK2_ENABLED
    7574           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_LK2
    7575             :         use pm_kind, only: LKC => LK2
    7576             : #include "pm_matrixCopy@routines.inc.F90"
    7577           0 :     end procedure
    7578             : #endif
    7579             : 
    7580             : #if LK1_ENABLED
    7581           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_LK1
    7582             :         use pm_kind, only: LKC => LK1
    7583             : #include "pm_matrixCopy@routines.inc.F90"
    7584           0 :     end procedure
    7585             : #endif
    7586             : 
    7587             : #undef LK_ENABLED
    7588             : 
    7589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7590             : 
    7591             : #define CK_ENABLED 1
    7592             : 
    7593             : #if CK5_ENABLED
    7594             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_CK5
    7595             :         use pm_kind, only: CKC => CK5
    7596             : #include "pm_matrixCopy@routines.inc.F90"
    7597             :     end procedure
    7598             : #endif
    7599             : 
    7600             : #if CK4_ENABLED
    7601           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_CK4
    7602             :         use pm_kind, only: CKC => CK4
    7603             : #include "pm_matrixCopy@routines.inc.F90"
    7604           0 :     end procedure
    7605             : #endif
    7606             : 
    7607             : #if CK3_ENABLED
    7608           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_CK3
    7609             :         use pm_kind, only: CKC => CK3
    7610             : #include "pm_matrixCopy@routines.inc.F90"
    7611           0 :     end procedure
    7612             : #endif
    7613             : 
    7614             : #if CK2_ENABLED
    7615           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_CK2
    7616             :         use pm_kind, only: CKC => CK2
    7617             : #include "pm_matrixCopy@routines.inc.F90"
    7618           0 :     end procedure
    7619             : #endif
    7620             : 
    7621             : #if CK1_ENABLED
    7622           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_CK1
    7623             :         use pm_kind, only: CKC => CK1
    7624             : #include "pm_matrixCopy@routines.inc.F90"
    7625           0 :     end procedure
    7626             : #endif
    7627             : 
    7628             : #undef CK_ENABLED
    7629             : 
    7630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7631             : 
    7632             : #define RK_ENABLED 1
    7633             : 
    7634             : #if RK5_ENABLED
    7635             :     module procedure getMatCopy_LFP_RDP_XLD_TSO_RK5
    7636             :         use pm_kind, only: RKC => RK5
    7637             : #include "pm_matrixCopy@routines.inc.F90"
    7638             :     end procedure
    7639             : #endif
    7640             : 
    7641             : #if RK4_ENABLED
    7642           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_RK4
    7643             :         use pm_kind, only: RKC => RK4
    7644             : #include "pm_matrixCopy@routines.inc.F90"
    7645           0 :     end procedure
    7646             : #endif
    7647             : 
    7648             : #if RK3_ENABLED
    7649           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_RK3
    7650             :         use pm_kind, only: RKC => RK3
    7651             : #include "pm_matrixCopy@routines.inc.F90"
    7652           0 :     end procedure
    7653             : #endif
    7654             : 
    7655             : #if RK2_ENABLED
    7656           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_RK2
    7657             :         use pm_kind, only: RKC => RK2
    7658             : #include "pm_matrixCopy@routines.inc.F90"
    7659           0 :     end procedure
    7660             : #endif
    7661             : 
    7662             : #if RK1_ENABLED
    7663           0 :     module procedure getMatCopy_LFP_RDP_XLD_TSO_RK1
    7664             :         use pm_kind, only: RKC => RK1
    7665             : #include "pm_matrixCopy@routines.inc.F90"
    7666           0 :     end procedure
    7667             : #endif
    7668             : 
    7669             : #undef RK_ENABLED
    7670             : 
    7671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7672             : 
    7673             : #undef XLD_ENABLED
    7674             : #undef TSO_ENABLED
    7675             : 
    7676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7679             : 
    7680             : #define XLD_ENABLED 1
    7681             : #define THO_ENABLED 1
    7682             : 
    7683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7684             : 
    7685             : #define SK_ENABLED 1
    7686             : 
    7687             : #if SK5_ENABLED
    7688             :     module procedure getMatCopy_LFP_RDP_XLD_THO_SK5
    7689             :         use pm_kind, only: SKC => SK5
    7690             : #include "pm_matrixCopy@routines.inc.F90"
    7691             :     end procedure
    7692             : #endif
    7693             : 
    7694             : #if SK4_ENABLED
    7695             :     module procedure getMatCopy_LFP_RDP_XLD_THO_SK4
    7696             :         use pm_kind, only: SKC => SK4
    7697             : #include "pm_matrixCopy@routines.inc.F90"
    7698             :     end procedure
    7699             : #endif
    7700             : 
    7701             : #if SK3_ENABLED
    7702             :     module procedure getMatCopy_LFP_RDP_XLD_THO_SK3
    7703             :         use pm_kind, only: SKC => SK3
    7704             : #include "pm_matrixCopy@routines.inc.F90"
    7705             :     end procedure
    7706             : #endif
    7707             : 
    7708             : #if SK2_ENABLED
    7709             :     module procedure getMatCopy_LFP_RDP_XLD_THO_SK2
    7710             :         use pm_kind, only: SKC => SK2
    7711             : #include "pm_matrixCopy@routines.inc.F90"
    7712             :     end procedure
    7713             : #endif
    7714             : 
    7715             : #if SK1_ENABLED
    7716           1 :     module procedure getMatCopy_LFP_RDP_XLD_THO_SK1
    7717             :         use pm_kind, only: SKC => SK1
    7718             : #include "pm_matrixCopy@routines.inc.F90"
    7719           1 :     end procedure
    7720             : #endif
    7721             : 
    7722             : #undef SK_ENABLED
    7723             : 
    7724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7725             : 
    7726             : #define IK_ENABLED 1
    7727             : 
    7728             : #if IK5_ENABLED
    7729           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_IK5
    7730             :         use pm_kind, only: IKC => IK5
    7731             : #include "pm_matrixCopy@routines.inc.F90"
    7732           0 :     end procedure
    7733             : #endif
    7734             : 
    7735             : #if IK4_ENABLED
    7736           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_IK4
    7737             :         use pm_kind, only: IKC => IK4
    7738             : #include "pm_matrixCopy@routines.inc.F90"
    7739           0 :     end procedure
    7740             : #endif
    7741             : 
    7742             : #if IK3_ENABLED
    7743           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_IK3
    7744             :         use pm_kind, only: IKC => IK3
    7745             : #include "pm_matrixCopy@routines.inc.F90"
    7746           0 :     end procedure
    7747             : #endif
    7748             : 
    7749             : #if IK2_ENABLED
    7750           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_IK2
    7751             :         use pm_kind, only: IKC => IK2
    7752             : #include "pm_matrixCopy@routines.inc.F90"
    7753           0 :     end procedure
    7754             : #endif
    7755             : 
    7756             : #if IK1_ENABLED
    7757           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_IK1
    7758             :         use pm_kind, only: IKC => IK1
    7759             : #include "pm_matrixCopy@routines.inc.F90"
    7760           0 :     end procedure
    7761             : #endif
    7762             : 
    7763             : #undef IK_ENABLED
    7764             : 
    7765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7766             : 
    7767             : #define LK_ENABLED 1
    7768             : 
    7769             : #if LK5_ENABLED
    7770           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_LK5
    7771             :         use pm_kind, only: LKC => LK5
    7772             : #include "pm_matrixCopy@routines.inc.F90"
    7773           0 :     end procedure
    7774             : #endif
    7775             : 
    7776             : #if LK4_ENABLED
    7777           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_LK4
    7778             :         use pm_kind, only: LKC => LK4
    7779             : #include "pm_matrixCopy@routines.inc.F90"
    7780           0 :     end procedure
    7781             : #endif
    7782             : 
    7783             : #if LK3_ENABLED
    7784           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_LK3
    7785             :         use pm_kind, only: LKC => LK3
    7786             : #include "pm_matrixCopy@routines.inc.F90"
    7787           0 :     end procedure
    7788             : #endif
    7789             : 
    7790             : #if LK2_ENABLED
    7791           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_LK2
    7792             :         use pm_kind, only: LKC => LK2
    7793             : #include "pm_matrixCopy@routines.inc.F90"
    7794           0 :     end procedure
    7795             : #endif
    7796             : 
    7797             : #if LK1_ENABLED
    7798           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_LK1
    7799             :         use pm_kind, only: LKC => LK1
    7800             : #include "pm_matrixCopy@routines.inc.F90"
    7801           0 :     end procedure
    7802             : #endif
    7803             : 
    7804             : #undef LK_ENABLED
    7805             : 
    7806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7807             : 
    7808             : #define CK_ENABLED 1
    7809             : 
    7810             : #if CK5_ENABLED
    7811             :     module procedure getMatCopy_LFP_RDP_XLD_THO_CK5
    7812             :         use pm_kind, only: CKC => CK5
    7813             : #include "pm_matrixCopy@routines.inc.F90"
    7814             :     end procedure
    7815             : #endif
    7816             : 
    7817             : #if CK4_ENABLED
    7818           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_CK4
    7819             :         use pm_kind, only: CKC => CK4
    7820             : #include "pm_matrixCopy@routines.inc.F90"
    7821           0 :     end procedure
    7822             : #endif
    7823             : 
    7824             : #if CK3_ENABLED
    7825           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_CK3
    7826             :         use pm_kind, only: CKC => CK3
    7827             : #include "pm_matrixCopy@routines.inc.F90"
    7828           0 :     end procedure
    7829             : #endif
    7830             : 
    7831             : #if CK2_ENABLED
    7832           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_CK2
    7833             :         use pm_kind, only: CKC => CK2
    7834             : #include "pm_matrixCopy@routines.inc.F90"
    7835           0 :     end procedure
    7836             : #endif
    7837             : 
    7838             : #if CK1_ENABLED
    7839           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_CK1
    7840             :         use pm_kind, only: CKC => CK1
    7841             : #include "pm_matrixCopy@routines.inc.F90"
    7842           0 :     end procedure
    7843             : #endif
    7844             : 
    7845             : #undef CK_ENABLED
    7846             : 
    7847             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7848             : 
    7849             : #define RK_ENABLED 1
    7850             : 
    7851             : #if RK5_ENABLED
    7852             :     module procedure getMatCopy_LFP_RDP_XLD_THO_RK5
    7853             :         use pm_kind, only: RKC => RK5
    7854             : #include "pm_matrixCopy@routines.inc.F90"
    7855             :     end procedure
    7856             : #endif
    7857             : 
    7858             : #if RK4_ENABLED
    7859           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_RK4
    7860             :         use pm_kind, only: RKC => RK4
    7861             : #include "pm_matrixCopy@routines.inc.F90"
    7862           0 :     end procedure
    7863             : #endif
    7864             : 
    7865             : #if RK3_ENABLED
    7866           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_RK3
    7867             :         use pm_kind, only: RKC => RK3
    7868             : #include "pm_matrixCopy@routines.inc.F90"
    7869           0 :     end procedure
    7870             : #endif
    7871             : 
    7872             : #if RK2_ENABLED
    7873           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_RK2
    7874             :         use pm_kind, only: RKC => RK2
    7875             : #include "pm_matrixCopy@routines.inc.F90"
    7876           0 :     end procedure
    7877             : #endif
    7878             : 
    7879             : #if RK1_ENABLED
    7880           0 :     module procedure getMatCopy_LFP_RDP_XLD_THO_RK1
    7881             :         use pm_kind, only: RKC => RK1
    7882             : #include "pm_matrixCopy@routines.inc.F90"
    7883           0 :     end procedure
    7884             : #endif
    7885             : 
    7886             : #undef RK_ENABLED
    7887             : 
    7888             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7889             : 
    7890             : #undef XLD_ENABLED
    7891             : #undef THO_ENABLED
    7892             : 
    7893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7894             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7895             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7896             : 
    7897             : #undef LFP_RDP_ENABLED
    7898             : 
    7899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7900             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7901             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7902             : 
    7903             : #define RDP_RFP_ENABLED 1
    7904             : 
    7905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7906             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7908             : 
    7909             : #define UXD_ENABLED 1
    7910             : #define AIO_ENABLED 1
    7911             : 
    7912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7913             : 
    7914             : #define SK_ENABLED 1
    7915             : 
    7916             : #if SK5_ENABLED
    7917             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_SK5
    7918             :         use pm_kind, only: SKC => SK5
    7919             : #include "pm_matrixCopy@routines.inc.F90"
    7920             :     end procedure
    7921             : #endif
    7922             : 
    7923             : #if SK4_ENABLED
    7924             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_SK4
    7925             :         use pm_kind, only: SKC => SK4
    7926             : #include "pm_matrixCopy@routines.inc.F90"
    7927             :     end procedure
    7928             : #endif
    7929             : 
    7930             : #if SK3_ENABLED
    7931             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_SK3
    7932             :         use pm_kind, only: SKC => SK3
    7933             : #include "pm_matrixCopy@routines.inc.F90"
    7934             :     end procedure
    7935             : #endif
    7936             : 
    7937             : #if SK2_ENABLED
    7938             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_SK2
    7939             :         use pm_kind, only: SKC => SK2
    7940             : #include "pm_matrixCopy@routines.inc.F90"
    7941             :     end procedure
    7942             : #endif
    7943             : 
    7944             : #if SK1_ENABLED
    7945           1 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_SK1
    7946             :         use pm_kind, only: SKC => SK1
    7947             : #include "pm_matrixCopy@routines.inc.F90"
    7948           1 :     end procedure
    7949             : #endif
    7950             : 
    7951             : #undef SK_ENABLED
    7952             : 
    7953             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7954             : 
    7955             : #define IK_ENABLED 1
    7956             : 
    7957             : #if IK5_ENABLED
    7958           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_IK5
    7959             :         use pm_kind, only: IKC => IK5
    7960             : #include "pm_matrixCopy@routines.inc.F90"
    7961           0 :     end procedure
    7962             : #endif
    7963             : 
    7964             : #if IK4_ENABLED
    7965           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_IK4
    7966             :         use pm_kind, only: IKC => IK4
    7967             : #include "pm_matrixCopy@routines.inc.F90"
    7968           0 :     end procedure
    7969             : #endif
    7970             : 
    7971             : #if IK3_ENABLED
    7972           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_IK3
    7973             :         use pm_kind, only: IKC => IK3
    7974             : #include "pm_matrixCopy@routines.inc.F90"
    7975           0 :     end procedure
    7976             : #endif
    7977             : 
    7978             : #if IK2_ENABLED
    7979           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_IK2
    7980             :         use pm_kind, only: IKC => IK2
    7981             : #include "pm_matrixCopy@routines.inc.F90"
    7982           0 :     end procedure
    7983             : #endif
    7984             : 
    7985             : #if IK1_ENABLED
    7986           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_IK1
    7987             :         use pm_kind, only: IKC => IK1
    7988             : #include "pm_matrixCopy@routines.inc.F90"
    7989           0 :     end procedure
    7990             : #endif
    7991             : 
    7992             : #undef IK_ENABLED
    7993             : 
    7994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7995             : 
    7996             : #define LK_ENABLED 1
    7997             : 
    7998             : #if LK5_ENABLED
    7999           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_LK5
    8000             :         use pm_kind, only: LKC => LK5
    8001             : #include "pm_matrixCopy@routines.inc.F90"
    8002           0 :     end procedure
    8003             : #endif
    8004             : 
    8005             : #if LK4_ENABLED
    8006           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_LK4
    8007             :         use pm_kind, only: LKC => LK4
    8008             : #include "pm_matrixCopy@routines.inc.F90"
    8009           0 :     end procedure
    8010             : #endif
    8011             : 
    8012             : #if LK3_ENABLED
    8013           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_LK3
    8014             :         use pm_kind, only: LKC => LK3
    8015             : #include "pm_matrixCopy@routines.inc.F90"
    8016           0 :     end procedure
    8017             : #endif
    8018             : 
    8019             : #if LK2_ENABLED
    8020           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_LK2
    8021             :         use pm_kind, only: LKC => LK2
    8022             : #include "pm_matrixCopy@routines.inc.F90"
    8023           0 :     end procedure
    8024             : #endif
    8025             : 
    8026             : #if LK1_ENABLED
    8027           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_LK1
    8028             :         use pm_kind, only: LKC => LK1
    8029             : #include "pm_matrixCopy@routines.inc.F90"
    8030           0 :     end procedure
    8031             : #endif
    8032             : 
    8033             : #undef LK_ENABLED
    8034             : 
    8035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8036             : 
    8037             : #define CK_ENABLED 1
    8038             : 
    8039             : #if CK5_ENABLED
    8040             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_CK5
    8041             :         use pm_kind, only: CKC => CK5
    8042             : #include "pm_matrixCopy@routines.inc.F90"
    8043             :     end procedure
    8044             : #endif
    8045             : 
    8046             : #if CK4_ENABLED
    8047           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_CK4
    8048             :         use pm_kind, only: CKC => CK4
    8049             : #include "pm_matrixCopy@routines.inc.F90"
    8050           0 :     end procedure
    8051             : #endif
    8052             : 
    8053             : #if CK3_ENABLED
    8054           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_CK3
    8055             :         use pm_kind, only: CKC => CK3
    8056             : #include "pm_matrixCopy@routines.inc.F90"
    8057           0 :     end procedure
    8058             : #endif
    8059             : 
    8060             : #if CK2_ENABLED
    8061           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_CK2
    8062             :         use pm_kind, only: CKC => CK2
    8063             : #include "pm_matrixCopy@routines.inc.F90"
    8064           0 :     end procedure
    8065             : #endif
    8066             : 
    8067             : #if CK1_ENABLED
    8068           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_CK1
    8069             :         use pm_kind, only: CKC => CK1
    8070             : #include "pm_matrixCopy@routines.inc.F90"
    8071           0 :     end procedure
    8072             : #endif
    8073             : 
    8074             : #undef CK_ENABLED
    8075             : 
    8076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8077             : 
    8078             : #define RK_ENABLED 1
    8079             : 
    8080             : #if RK5_ENABLED
    8081             :     module procedure getMatCopy_RDP_RFP_UXD_AIO_RK5
    8082             :         use pm_kind, only: RKC => RK5
    8083             : #include "pm_matrixCopy@routines.inc.F90"
    8084             :     end procedure
    8085             : #endif
    8086             : 
    8087             : #if RK4_ENABLED
    8088           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_RK4
    8089             :         use pm_kind, only: RKC => RK4
    8090             : #include "pm_matrixCopy@routines.inc.F90"
    8091           0 :     end procedure
    8092             : #endif
    8093             : 
    8094             : #if RK3_ENABLED
    8095           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_RK3
    8096             :         use pm_kind, only: RKC => RK3
    8097             : #include "pm_matrixCopy@routines.inc.F90"
    8098           0 :     end procedure
    8099             : #endif
    8100             : 
    8101             : #if RK2_ENABLED
    8102           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_RK2
    8103             :         use pm_kind, only: RKC => RK2
    8104             : #include "pm_matrixCopy@routines.inc.F90"
    8105           0 :     end procedure
    8106             : #endif
    8107             : 
    8108             : #if RK1_ENABLED
    8109           0 :     module procedure getMatCopy_RDP_RFP_UXD_AIO_RK1
    8110             :         use pm_kind, only: RKC => RK1
    8111             : #include "pm_matrixCopy@routines.inc.F90"
    8112           0 :     end procedure
    8113             : #endif
    8114             : 
    8115             : #undef RK_ENABLED
    8116             : 
    8117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8118             : 
    8119             : #undef UXD_ENABLED
    8120             : #undef AIO_ENABLED
    8121             : 
    8122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8125             : 
    8126             : #define XLD_ENABLED 1
    8127             : #define AIO_ENABLED 1
    8128             : 
    8129             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8130             : 
    8131             : #define SK_ENABLED 1
    8132             : 
    8133             : #if SK5_ENABLED
    8134             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_SK5
    8135             :         use pm_kind, only: SKC => SK5
    8136             : #include "pm_matrixCopy@routines.inc.F90"
    8137             :     end procedure
    8138             : #endif
    8139             : 
    8140             : #if SK4_ENABLED
    8141             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_SK4
    8142             :         use pm_kind, only: SKC => SK4
    8143             : #include "pm_matrixCopy@routines.inc.F90"
    8144             :     end procedure
    8145             : #endif
    8146             : 
    8147             : #if SK3_ENABLED
    8148             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_SK3
    8149             :         use pm_kind, only: SKC => SK3
    8150             : #include "pm_matrixCopy@routines.inc.F90"
    8151             :     end procedure
    8152             : #endif
    8153             : 
    8154             : #if SK2_ENABLED
    8155             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_SK2
    8156             :         use pm_kind, only: SKC => SK2
    8157             : #include "pm_matrixCopy@routines.inc.F90"
    8158             :     end procedure
    8159             : #endif
    8160             : 
    8161             : #if SK1_ENABLED
    8162           1 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_SK1
    8163             :         use pm_kind, only: SKC => SK1
    8164             : #include "pm_matrixCopy@routines.inc.F90"
    8165           1 :     end procedure
    8166             : #endif
    8167             : 
    8168             : #undef SK_ENABLED
    8169             : 
    8170             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8171             : 
    8172             : #define IK_ENABLED 1
    8173             : 
    8174             : #if IK5_ENABLED
    8175           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_IK5
    8176             :         use pm_kind, only: IKC => IK5
    8177             : #include "pm_matrixCopy@routines.inc.F90"
    8178           0 :     end procedure
    8179             : #endif
    8180             : 
    8181             : #if IK4_ENABLED
    8182           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_IK4
    8183             :         use pm_kind, only: IKC => IK4
    8184             : #include "pm_matrixCopy@routines.inc.F90"
    8185           0 :     end procedure
    8186             : #endif
    8187             : 
    8188             : #if IK3_ENABLED
    8189           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_IK3
    8190             :         use pm_kind, only: IKC => IK3
    8191             : #include "pm_matrixCopy@routines.inc.F90"
    8192           0 :     end procedure
    8193             : #endif
    8194             : 
    8195             : #if IK2_ENABLED
    8196           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_IK2
    8197             :         use pm_kind, only: IKC => IK2
    8198             : #include "pm_matrixCopy@routines.inc.F90"
    8199           0 :     end procedure
    8200             : #endif
    8201             : 
    8202             : #if IK1_ENABLED
    8203           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_IK1
    8204             :         use pm_kind, only: IKC => IK1
    8205             : #include "pm_matrixCopy@routines.inc.F90"
    8206           0 :     end procedure
    8207             : #endif
    8208             : 
    8209             : #undef IK_ENABLED
    8210             : 
    8211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8212             : 
    8213             : #define LK_ENABLED 1
    8214             : 
    8215             : #if LK5_ENABLED
    8216           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_LK5
    8217             :         use pm_kind, only: LKC => LK5
    8218             : #include "pm_matrixCopy@routines.inc.F90"
    8219           0 :     end procedure
    8220             : #endif
    8221             : 
    8222             : #if LK4_ENABLED
    8223           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_LK4
    8224             :         use pm_kind, only: LKC => LK4
    8225             : #include "pm_matrixCopy@routines.inc.F90"
    8226           0 :     end procedure
    8227             : #endif
    8228             : 
    8229             : #if LK3_ENABLED
    8230           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_LK3
    8231             :         use pm_kind, only: LKC => LK3
    8232             : #include "pm_matrixCopy@routines.inc.F90"
    8233           0 :     end procedure
    8234             : #endif
    8235             : 
    8236             : #if LK2_ENABLED
    8237           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_LK2
    8238             :         use pm_kind, only: LKC => LK2
    8239             : #include "pm_matrixCopy@routines.inc.F90"
    8240           0 :     end procedure
    8241             : #endif
    8242             : 
    8243             : #if LK1_ENABLED
    8244           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_LK1
    8245             :         use pm_kind, only: LKC => LK1
    8246             : #include "pm_matrixCopy@routines.inc.F90"
    8247           0 :     end procedure
    8248             : #endif
    8249             : 
    8250             : #undef LK_ENABLED
    8251             : 
    8252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8253             : 
    8254             : #define CK_ENABLED 1
    8255             : 
    8256             : #if CK5_ENABLED
    8257             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_CK5
    8258             :         use pm_kind, only: CKC => CK5
    8259             : #include "pm_matrixCopy@routines.inc.F90"
    8260             :     end procedure
    8261             : #endif
    8262             : 
    8263             : #if CK4_ENABLED
    8264           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_CK4
    8265             :         use pm_kind, only: CKC => CK4
    8266             : #include "pm_matrixCopy@routines.inc.F90"
    8267           0 :     end procedure
    8268             : #endif
    8269             : 
    8270             : #if CK3_ENABLED
    8271           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_CK3
    8272             :         use pm_kind, only: CKC => CK3
    8273             : #include "pm_matrixCopy@routines.inc.F90"
    8274           0 :     end procedure
    8275             : #endif
    8276             : 
    8277             : #if CK2_ENABLED
    8278           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_CK2
    8279             :         use pm_kind, only: CKC => CK2
    8280             : #include "pm_matrixCopy@routines.inc.F90"
    8281           0 :     end procedure
    8282             : #endif
    8283             : 
    8284             : #if CK1_ENABLED
    8285           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_CK1
    8286             :         use pm_kind, only: CKC => CK1
    8287             : #include "pm_matrixCopy@routines.inc.F90"
    8288           0 :     end procedure
    8289             : #endif
    8290             : 
    8291             : #undef CK_ENABLED
    8292             : 
    8293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8294             : 
    8295             : #define RK_ENABLED 1
    8296             : 
    8297             : #if RK5_ENABLED
    8298             :     module procedure getMatCopy_RDP_RFP_XLD_AIO_RK5
    8299             :         use pm_kind, only: RKC => RK5
    8300             : #include "pm_matrixCopy@routines.inc.F90"
    8301             :     end procedure
    8302             : #endif
    8303             : 
    8304             : #if RK4_ENABLED
    8305           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_RK4
    8306             :         use pm_kind, only: RKC => RK4
    8307             : #include "pm_matrixCopy@routines.inc.F90"
    8308           0 :     end procedure
    8309             : #endif
    8310             : 
    8311             : #if RK3_ENABLED
    8312           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_RK3
    8313             :         use pm_kind, only: RKC => RK3
    8314             : #include "pm_matrixCopy@routines.inc.F90"
    8315           0 :     end procedure
    8316             : #endif
    8317             : 
    8318             : #if RK2_ENABLED
    8319           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_RK2
    8320             :         use pm_kind, only: RKC => RK2
    8321             : #include "pm_matrixCopy@routines.inc.F90"
    8322           0 :     end procedure
    8323             : #endif
    8324             : 
    8325             : #if RK1_ENABLED
    8326           0 :     module procedure getMatCopy_RDP_RFP_XLD_AIO_RK1
    8327             :         use pm_kind, only: RKC => RK1
    8328             : #include "pm_matrixCopy@routines.inc.F90"
    8329           0 :     end procedure
    8330             : #endif
    8331             : 
    8332             : #undef RK_ENABLED
    8333             : 
    8334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8335             : 
    8336             : #undef XLD_ENABLED
    8337             : #undef AIO_ENABLED
    8338             : 
    8339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8342             : 
    8343             : #undef RDP_RFP_ENABLED
    8344             : 
    8345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8348             : 
    8349             : #define RFP_RDP_ENABLED 1
    8350             : 
    8351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8353             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8354             : 
    8355             : #define UXD_ENABLED 1
    8356             : #define AIO_ENABLED 1
    8357             : 
    8358             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8359             : 
    8360             : #define SK_ENABLED 1
    8361             : 
    8362             : #if SK5_ENABLED
    8363             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_SK5
    8364             :         use pm_kind, only: SKC => SK5
    8365             : #include "pm_matrixCopy@routines.inc.F90"
    8366             :     end procedure
    8367             : #endif
    8368             : 
    8369             : #if SK4_ENABLED
    8370             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_SK4
    8371             :         use pm_kind, only: SKC => SK4
    8372             : #include "pm_matrixCopy@routines.inc.F90"
    8373             :     end procedure
    8374             : #endif
    8375             : 
    8376             : #if SK3_ENABLED
    8377             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_SK3
    8378             :         use pm_kind, only: SKC => SK3
    8379             : #include "pm_matrixCopy@routines.inc.F90"
    8380             :     end procedure
    8381             : #endif
    8382             : 
    8383             : #if SK2_ENABLED
    8384             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_SK2
    8385             :         use pm_kind, only: SKC => SK2
    8386             : #include "pm_matrixCopy@routines.inc.F90"
    8387             :     end procedure
    8388             : #endif
    8389             : 
    8390             : #if SK1_ENABLED
    8391           2 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_SK1
    8392             :         use pm_kind, only: SKC => SK1
    8393             : #include "pm_matrixCopy@routines.inc.F90"
    8394           2 :     end procedure
    8395             : #endif
    8396             : 
    8397             : #undef SK_ENABLED
    8398             : 
    8399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8400             : 
    8401             : #define IK_ENABLED 1
    8402             : 
    8403             : #if IK5_ENABLED
    8404           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_IK5
    8405             :         use pm_kind, only: IKC => IK5
    8406             : #include "pm_matrixCopy@routines.inc.F90"
    8407           0 :     end procedure
    8408             : #endif
    8409             : 
    8410             : #if IK4_ENABLED
    8411           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_IK4
    8412             :         use pm_kind, only: IKC => IK4
    8413             : #include "pm_matrixCopy@routines.inc.F90"
    8414           0 :     end procedure
    8415             : #endif
    8416             : 
    8417             : #if IK3_ENABLED
    8418           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_IK3
    8419             :         use pm_kind, only: IKC => IK3
    8420             : #include "pm_matrixCopy@routines.inc.F90"
    8421           0 :     end procedure
    8422             : #endif
    8423             : 
    8424             : #if IK2_ENABLED
    8425           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_IK2
    8426             :         use pm_kind, only: IKC => IK2
    8427             : #include "pm_matrixCopy@routines.inc.F90"
    8428           0 :     end procedure
    8429             : #endif
    8430             : 
    8431             : #if IK1_ENABLED
    8432           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_IK1
    8433             :         use pm_kind, only: IKC => IK1
    8434             : #include "pm_matrixCopy@routines.inc.F90"
    8435           0 :     end procedure
    8436             : #endif
    8437             : 
    8438             : #undef IK_ENABLED
    8439             : 
    8440             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8441             : 
    8442             : #define LK_ENABLED 1
    8443             : 
    8444             : #if LK5_ENABLED
    8445           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_LK5
    8446             :         use pm_kind, only: LKC => LK5
    8447             : #include "pm_matrixCopy@routines.inc.F90"
    8448           0 :     end procedure
    8449             : #endif
    8450             : 
    8451             : #if LK4_ENABLED
    8452           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_LK4
    8453             :         use pm_kind, only: LKC => LK4
    8454             : #include "pm_matrixCopy@routines.inc.F90"
    8455           0 :     end procedure
    8456             : #endif
    8457             : 
    8458             : #if LK3_ENABLED
    8459           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_LK3
    8460             :         use pm_kind, only: LKC => LK3
    8461             : #include "pm_matrixCopy@routines.inc.F90"
    8462           0 :     end procedure
    8463             : #endif
    8464             : 
    8465             : #if LK2_ENABLED
    8466           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_LK2
    8467             :         use pm_kind, only: LKC => LK2
    8468             : #include "pm_matrixCopy@routines.inc.F90"
    8469           0 :     end procedure
    8470             : #endif
    8471             : 
    8472             : #if LK1_ENABLED
    8473           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_LK1
    8474             :         use pm_kind, only: LKC => LK1
    8475             : #include "pm_matrixCopy@routines.inc.F90"
    8476           0 :     end procedure
    8477             : #endif
    8478             : 
    8479             : #undef LK_ENABLED
    8480             : 
    8481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8482             : 
    8483             : #define CK_ENABLED 1
    8484             : 
    8485             : #if CK5_ENABLED
    8486             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_CK5
    8487             :         use pm_kind, only: CKC => CK5
    8488             : #include "pm_matrixCopy@routines.inc.F90"
    8489             :     end procedure
    8490             : #endif
    8491             : 
    8492             : #if CK4_ENABLED
    8493           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_CK4
    8494             :         use pm_kind, only: CKC => CK4
    8495             : #include "pm_matrixCopy@routines.inc.F90"
    8496           0 :     end procedure
    8497             : #endif
    8498             : 
    8499             : #if CK3_ENABLED
    8500           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_CK3
    8501             :         use pm_kind, only: CKC => CK3
    8502             : #include "pm_matrixCopy@routines.inc.F90"
    8503           0 :     end procedure
    8504             : #endif
    8505             : 
    8506             : #if CK2_ENABLED
    8507           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_CK2
    8508             :         use pm_kind, only: CKC => CK2
    8509             : #include "pm_matrixCopy@routines.inc.F90"
    8510           0 :     end procedure
    8511             : #endif
    8512             : 
    8513             : #if CK1_ENABLED
    8514           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_CK1
    8515             :         use pm_kind, only: CKC => CK1
    8516             : #include "pm_matrixCopy@routines.inc.F90"
    8517           0 :     end procedure
    8518             : #endif
    8519             : 
    8520             : #undef CK_ENABLED
    8521             : 
    8522             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8523             : 
    8524             : #define RK_ENABLED 1
    8525             : 
    8526             : #if RK5_ENABLED
    8527             :     module procedure getMatCopy_RFP_RDP_UXD_AIO_RK5
    8528             :         use pm_kind, only: RKC => RK5
    8529             : #include "pm_matrixCopy@routines.inc.F90"
    8530             :     end procedure
    8531             : #endif
    8532             : 
    8533             : #if RK4_ENABLED
    8534           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_RK4
    8535             :         use pm_kind, only: RKC => RK4
    8536             : #include "pm_matrixCopy@routines.inc.F90"
    8537           0 :     end procedure
    8538             : #endif
    8539             : 
    8540             : #if RK3_ENABLED
    8541           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_RK3
    8542             :         use pm_kind, only: RKC => RK3
    8543             : #include "pm_matrixCopy@routines.inc.F90"
    8544           0 :     end procedure
    8545             : #endif
    8546             : 
    8547             : #if RK2_ENABLED
    8548           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_RK2
    8549             :         use pm_kind, only: RKC => RK2
    8550             : #include "pm_matrixCopy@routines.inc.F90"
    8551           0 :     end procedure
    8552             : #endif
    8553             : 
    8554             : #if RK1_ENABLED
    8555           0 :     module procedure getMatCopy_RFP_RDP_UXD_AIO_RK1
    8556             :         use pm_kind, only: RKC => RK1
    8557             : #include "pm_matrixCopy@routines.inc.F90"
    8558           0 :     end procedure
    8559             : #endif
    8560             : 
    8561             : #undef RK_ENABLED
    8562             : 
    8563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8564             : 
    8565             : #undef UXD_ENABLED
    8566             : #undef AIO_ENABLED
    8567             : 
    8568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8571             : 
    8572             : #define XLD_ENABLED 1
    8573             : #define AIO_ENABLED 1
    8574             : 
    8575             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8576             : 
    8577             : #define SK_ENABLED 1
    8578             : 
    8579             : #if SK5_ENABLED
    8580             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_SK5
    8581             :         use pm_kind, only: SKC => SK5
    8582             : #include "pm_matrixCopy@routines.inc.F90"
    8583             :     end procedure
    8584             : #endif
    8585             : 
    8586             : #if SK4_ENABLED
    8587             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_SK4
    8588             :         use pm_kind, only: SKC => SK4
    8589             : #include "pm_matrixCopy@routines.inc.F90"
    8590             :     end procedure
    8591             : #endif
    8592             : 
    8593             : #if SK3_ENABLED
    8594             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_SK3
    8595             :         use pm_kind, only: SKC => SK3
    8596             : #include "pm_matrixCopy@routines.inc.F90"
    8597             :     end procedure
    8598             : #endif
    8599             : 
    8600             : #if SK2_ENABLED
    8601             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_SK2
    8602             :         use pm_kind, only: SKC => SK2
    8603             : #include "pm_matrixCopy@routines.inc.F90"
    8604             :     end procedure
    8605             : #endif
    8606             : 
    8607             : #if SK1_ENABLED
    8608           1 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_SK1
    8609             :         use pm_kind, only: SKC => SK1
    8610             : #include "pm_matrixCopy@routines.inc.F90"
    8611           1 :     end procedure
    8612             : #endif
    8613             : 
    8614             : #undef SK_ENABLED
    8615             : 
    8616             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8617             : 
    8618             : #define IK_ENABLED 1
    8619             : 
    8620             : #if IK5_ENABLED
    8621           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_IK5
    8622             :         use pm_kind, only: IKC => IK5
    8623             : #include "pm_matrixCopy@routines.inc.F90"
    8624           0 :     end procedure
    8625             : #endif
    8626             : 
    8627             : #if IK4_ENABLED
    8628           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_IK4
    8629             :         use pm_kind, only: IKC => IK4
    8630             : #include "pm_matrixCopy@routines.inc.F90"
    8631           0 :     end procedure
    8632             : #endif
    8633             : 
    8634             : #if IK3_ENABLED
    8635           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_IK3
    8636             :         use pm_kind, only: IKC => IK3
    8637             : #include "pm_matrixCopy@routines.inc.F90"
    8638           0 :     end procedure
    8639             : #endif
    8640             : 
    8641             : #if IK2_ENABLED
    8642           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_IK2
    8643             :         use pm_kind, only: IKC => IK2
    8644             : #include "pm_matrixCopy@routines.inc.F90"
    8645           0 :     end procedure
    8646             : #endif
    8647             : 
    8648             : #if IK1_ENABLED
    8649           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_IK1
    8650             :         use pm_kind, only: IKC => IK1
    8651             : #include "pm_matrixCopy@routines.inc.F90"
    8652           0 :     end procedure
    8653             : #endif
    8654             : 
    8655             : #undef IK_ENABLED
    8656             : 
    8657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8658             : 
    8659             : #define LK_ENABLED 1
    8660             : 
    8661             : #if LK5_ENABLED
    8662           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_LK5
    8663             :         use pm_kind, only: LKC => LK5
    8664             : #include "pm_matrixCopy@routines.inc.F90"
    8665           0 :     end procedure
    8666             : #endif
    8667             : 
    8668             : #if LK4_ENABLED
    8669           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_LK4
    8670             :         use pm_kind, only: LKC => LK4
    8671             : #include "pm_matrixCopy@routines.inc.F90"
    8672           0 :     end procedure
    8673             : #endif
    8674             : 
    8675             : #if LK3_ENABLED
    8676           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_LK3
    8677             :         use pm_kind, only: LKC => LK3
    8678             : #include "pm_matrixCopy@routines.inc.F90"
    8679           0 :     end procedure
    8680             : #endif
    8681             : 
    8682             : #if LK2_ENABLED
    8683           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_LK2
    8684             :         use pm_kind, only: LKC => LK2
    8685             : #include "pm_matrixCopy@routines.inc.F90"
    8686           0 :     end procedure
    8687             : #endif
    8688             : 
    8689             : #if LK1_ENABLED
    8690           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_LK1
    8691             :         use pm_kind, only: LKC => LK1
    8692             : #include "pm_matrixCopy@routines.inc.F90"
    8693           0 :     end procedure
    8694             : #endif
    8695             : 
    8696             : #undef LK_ENABLED
    8697             : 
    8698             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8699             : 
    8700             : #define CK_ENABLED 1
    8701             : 
    8702             : #if CK5_ENABLED
    8703             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_CK5
    8704             :         use pm_kind, only: CKC => CK5
    8705             : #include "pm_matrixCopy@routines.inc.F90"
    8706             :     end procedure
    8707             : #endif
    8708             : 
    8709             : #if CK4_ENABLED
    8710           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_CK4
    8711             :         use pm_kind, only: CKC => CK4
    8712             : #include "pm_matrixCopy@routines.inc.F90"
    8713           0 :     end procedure
    8714             : #endif
    8715             : 
    8716             : #if CK3_ENABLED
    8717           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_CK3
    8718             :         use pm_kind, only: CKC => CK3
    8719             : #include "pm_matrixCopy@routines.inc.F90"
    8720           0 :     end procedure
    8721             : #endif
    8722             : 
    8723             : #if CK2_ENABLED
    8724           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_CK2
    8725             :         use pm_kind, only: CKC => CK2
    8726             : #include "pm_matrixCopy@routines.inc.F90"
    8727           0 :     end procedure
    8728             : #endif
    8729             : 
    8730             : #if CK1_ENABLED
    8731           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_CK1
    8732             :         use pm_kind, only: CKC => CK1
    8733             : #include "pm_matrixCopy@routines.inc.F90"
    8734           0 :     end procedure
    8735             : #endif
    8736             : 
    8737             : #undef CK_ENABLED
    8738             : 
    8739             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8740             : 
    8741             : #define RK_ENABLED 1
    8742             : 
    8743             : #if RK5_ENABLED
    8744             :     module procedure getMatCopy_RFP_RDP_XLD_AIO_RK5
    8745             :         use pm_kind, only: RKC => RK5
    8746             : #include "pm_matrixCopy@routines.inc.F90"
    8747             :     end procedure
    8748             : #endif
    8749             : 
    8750             : #if RK4_ENABLED
    8751           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_RK4
    8752             :         use pm_kind, only: RKC => RK4
    8753             : #include "pm_matrixCopy@routines.inc.F90"
    8754           0 :     end procedure
    8755             : #endif
    8756             : 
    8757             : #if RK3_ENABLED
    8758           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_RK3
    8759             :         use pm_kind, only: RKC => RK3
    8760             : #include "pm_matrixCopy@routines.inc.F90"
    8761           0 :     end procedure
    8762             : #endif
    8763             : 
    8764             : #if RK2_ENABLED
    8765           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_RK2
    8766             :         use pm_kind, only: RKC => RK2
    8767             : #include "pm_matrixCopy@routines.inc.F90"
    8768           0 :     end procedure
    8769             : #endif
    8770             : 
    8771             : #if RK1_ENABLED
    8772           0 :     module procedure getMatCopy_RFP_RDP_XLD_AIO_RK1
    8773             :         use pm_kind, only: RKC => RK1
    8774             : #include "pm_matrixCopy@routines.inc.F90"
    8775           0 :     end procedure
    8776             : #endif
    8777             : 
    8778             : #undef RK_ENABLED
    8779             : 
    8780             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8781             : 
    8782             : #undef XLD_ENABLED
    8783             : #undef AIO_ENABLED
    8784             : 
    8785             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8786             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8787             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8788             : 
    8789             : #undef RFP_RDP_ENABLED
    8790             : 
    8791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8792             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8794             : 
    8795             : #undef getMatCopy_ENABLED
    8796             : 
    8797             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8798             : 
    8799             : #define setMatCopy_ENABLED 1
    8800             : 
    8801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8804             : 
    8805             : #define RDP_RDP_ENABLED 1
    8806             : 
    8807             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8810             : 
    8811             : #define UXX_ENABLED 1
    8812             : #define AIO_ENABLED 1
    8813             : 
    8814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8815             : 
    8816             : #define SK_ENABLED 1
    8817             : 
    8818             : #if SK5_ENABLED
    8819             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_SK5
    8820             :         use pm_kind, only: SKC => SK5
    8821             : #include "pm_matrixCopy@routines.inc.F90"
    8822             :     end procedure
    8823             : #endif
    8824             : 
    8825             : #if SK4_ENABLED
    8826             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_SK4
    8827             :         use pm_kind, only: SKC => SK4
    8828             : #include "pm_matrixCopy@routines.inc.F90"
    8829             :     end procedure
    8830             : #endif
    8831             : 
    8832             : #if SK3_ENABLED
    8833             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_SK3
    8834             :         use pm_kind, only: SKC => SK3
    8835             : #include "pm_matrixCopy@routines.inc.F90"
    8836             :     end procedure
    8837             : #endif
    8838             : 
    8839             : #if SK2_ENABLED
    8840             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_SK2
    8841             :         use pm_kind, only: SKC => SK2
    8842             : #include "pm_matrixCopy@routines.inc.F90"
    8843             :     end procedure
    8844             : #endif
    8845             : 
    8846             : #if SK1_ENABLED
    8847           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_SK1
    8848             :         use pm_kind, only: SKC => SK1
    8849             : #include "pm_matrixCopy@routines.inc.F90"
    8850           0 :     end procedure
    8851             : #endif
    8852             : 
    8853             : #undef SK_ENABLED
    8854             : 
    8855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8856             : 
    8857             : #define IK_ENABLED 1
    8858             : 
    8859             : #if IK5_ENABLED
    8860           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_IK5
    8861             :         use pm_kind, only: IKC => IK5
    8862             : #include "pm_matrixCopy@routines.inc.F90"
    8863           0 :     end procedure
    8864             : #endif
    8865             : 
    8866             : #if IK4_ENABLED
    8867           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_IK4
    8868             :         use pm_kind, only: IKC => IK4
    8869             : #include "pm_matrixCopy@routines.inc.F90"
    8870           0 :     end procedure
    8871             : #endif
    8872             : 
    8873             : #if IK3_ENABLED
    8874           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_IK3
    8875             :         use pm_kind, only: IKC => IK3
    8876             : #include "pm_matrixCopy@routines.inc.F90"
    8877           0 :     end procedure
    8878             : #endif
    8879             : 
    8880             : #if IK2_ENABLED
    8881           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_IK2
    8882             :         use pm_kind, only: IKC => IK2
    8883             : #include "pm_matrixCopy@routines.inc.F90"
    8884           0 :     end procedure
    8885             : #endif
    8886             : 
    8887             : #if IK1_ENABLED
    8888           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_IK1
    8889             :         use pm_kind, only: IKC => IK1
    8890             : #include "pm_matrixCopy@routines.inc.F90"
    8891           0 :     end procedure
    8892             : #endif
    8893             : 
    8894             : #undef IK_ENABLED
    8895             : 
    8896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8897             : 
    8898             : #define LK_ENABLED 1
    8899             : 
    8900             : #if LK5_ENABLED
    8901           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_LK5
    8902             :         use pm_kind, only: LKC => LK5
    8903             : #include "pm_matrixCopy@routines.inc.F90"
    8904           0 :     end procedure
    8905             : #endif
    8906             : 
    8907             : #if LK4_ENABLED
    8908           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_LK4
    8909             :         use pm_kind, only: LKC => LK4
    8910             : #include "pm_matrixCopy@routines.inc.F90"
    8911           0 :     end procedure
    8912             : #endif
    8913             : 
    8914             : #if LK3_ENABLED
    8915           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_LK3
    8916             :         use pm_kind, only: LKC => LK3
    8917             : #include "pm_matrixCopy@routines.inc.F90"
    8918           0 :     end procedure
    8919             : #endif
    8920             : 
    8921             : #if LK2_ENABLED
    8922           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_LK2
    8923             :         use pm_kind, only: LKC => LK2
    8924             : #include "pm_matrixCopy@routines.inc.F90"
    8925           0 :     end procedure
    8926             : #endif
    8927             : 
    8928             : #if LK1_ENABLED
    8929           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_LK1
    8930             :         use pm_kind, only: LKC => LK1
    8931             : #include "pm_matrixCopy@routines.inc.F90"
    8932           0 :     end procedure
    8933             : #endif
    8934             : 
    8935             : #undef LK_ENABLED
    8936             : 
    8937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8938             : 
    8939             : #define CK_ENABLED 1
    8940             : 
    8941             : #if CK5_ENABLED
    8942             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_CK5
    8943             :         use pm_kind, only: CKC => CK5
    8944             : #include "pm_matrixCopy@routines.inc.F90"
    8945             :     end procedure
    8946             : #endif
    8947             : 
    8948             : #if CK4_ENABLED
    8949           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_CK4
    8950             :         use pm_kind, only: CKC => CK4
    8951             : #include "pm_matrixCopy@routines.inc.F90"
    8952           0 :     end procedure
    8953             : #endif
    8954             : 
    8955             : #if CK3_ENABLED
    8956           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_CK3
    8957             :         use pm_kind, only: CKC => CK3
    8958             : #include "pm_matrixCopy@routines.inc.F90"
    8959           0 :     end procedure
    8960             : #endif
    8961             : 
    8962             : #if CK2_ENABLED
    8963           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_CK2
    8964             :         use pm_kind, only: CKC => CK2
    8965             : #include "pm_matrixCopy@routines.inc.F90"
    8966           0 :     end procedure
    8967             : #endif
    8968             : 
    8969             : #if CK1_ENABLED
    8970           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_CK1
    8971             :         use pm_kind, only: CKC => CK1
    8972             : #include "pm_matrixCopy@routines.inc.F90"
    8973           0 :     end procedure
    8974             : #endif
    8975             : 
    8976             : #undef CK_ENABLED
    8977             : 
    8978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    8979             : 
    8980             : #define RK_ENABLED 1
    8981             : 
    8982             : #if RK5_ENABLED
    8983             :     module procedure setMatCopy_RDP_RDP_UXX_AIO_RK5
    8984             :         use pm_kind, only: RKC => RK5
    8985             : #include "pm_matrixCopy@routines.inc.F90"
    8986             :     end procedure
    8987             : #endif
    8988             : 
    8989             : #if RK4_ENABLED
    8990           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_RK4
    8991             :         use pm_kind, only: RKC => RK4
    8992             : #include "pm_matrixCopy@routines.inc.F90"
    8993           0 :     end procedure
    8994             : #endif
    8995             : 
    8996             : #if RK3_ENABLED
    8997           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_RK3
    8998             :         use pm_kind, only: RKC => RK3
    8999             : #include "pm_matrixCopy@routines.inc.F90"
    9000           0 :     end procedure
    9001             : #endif
    9002             : 
    9003             : #if RK2_ENABLED
    9004           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_RK2
    9005             :         use pm_kind, only: RKC => RK2
    9006             : #include "pm_matrixCopy@routines.inc.F90"
    9007           0 :     end procedure
    9008             : #endif
    9009             : 
    9010             : #if RK1_ENABLED
    9011           0 :     module procedure setMatCopy_RDP_RDP_UXX_AIO_RK1
    9012             :         use pm_kind, only: RKC => RK1
    9013             : #include "pm_matrixCopy@routines.inc.F90"
    9014           0 :     end procedure
    9015             : #endif
    9016             : 
    9017             : #undef RK_ENABLED
    9018             : 
    9019             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9020             : 
    9021             : #undef UXX_ENABLED
    9022             : #undef AIO_ENABLED
    9023             : 
    9024             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9027             : 
    9028             : #define UXX_ENABLED 1
    9029             : #define TSO_ENABLED 1
    9030             : 
    9031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9032             : 
    9033             : #define SK_ENABLED 1
    9034             : 
    9035             : #if SK5_ENABLED
    9036             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_SK5
    9037             :         use pm_kind, only: SKC => SK5
    9038             : #include "pm_matrixCopy@routines.inc.F90"
    9039             :     end procedure
    9040             : #endif
    9041             : 
    9042             : #if SK4_ENABLED
    9043             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_SK4
    9044             :         use pm_kind, only: SKC => SK4
    9045             : #include "pm_matrixCopy@routines.inc.F90"
    9046             :     end procedure
    9047             : #endif
    9048             : 
    9049             : #if SK3_ENABLED
    9050             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_SK3
    9051             :         use pm_kind, only: SKC => SK3
    9052             : #include "pm_matrixCopy@routines.inc.F90"
    9053             :     end procedure
    9054             : #endif
    9055             : 
    9056             : #if SK2_ENABLED
    9057             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_SK2
    9058             :         use pm_kind, only: SKC => SK2
    9059             : #include "pm_matrixCopy@routines.inc.F90"
    9060             :     end procedure
    9061             : #endif
    9062             : 
    9063             : #if SK1_ENABLED
    9064           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_SK1
    9065             :         use pm_kind, only: SKC => SK1
    9066             : #include "pm_matrixCopy@routines.inc.F90"
    9067           0 :     end procedure
    9068             : #endif
    9069             : 
    9070             : #undef SK_ENABLED
    9071             : 
    9072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9073             : 
    9074             : #define IK_ENABLED 1
    9075             : 
    9076             : #if IK5_ENABLED
    9077           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_IK5
    9078             :         use pm_kind, only: IKC => IK5
    9079             : #include "pm_matrixCopy@routines.inc.F90"
    9080           0 :     end procedure
    9081             : #endif
    9082             : 
    9083             : #if IK4_ENABLED
    9084           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_IK4
    9085             :         use pm_kind, only: IKC => IK4
    9086             : #include "pm_matrixCopy@routines.inc.F90"
    9087           0 :     end procedure
    9088             : #endif
    9089             : 
    9090             : #if IK3_ENABLED
    9091           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_IK3
    9092             :         use pm_kind, only: IKC => IK3
    9093             : #include "pm_matrixCopy@routines.inc.F90"
    9094           0 :     end procedure
    9095             : #endif
    9096             : 
    9097             : #if IK2_ENABLED
    9098           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_IK2
    9099             :         use pm_kind, only: IKC => IK2
    9100             : #include "pm_matrixCopy@routines.inc.F90"
    9101           0 :     end procedure
    9102             : #endif
    9103             : 
    9104             : #if IK1_ENABLED
    9105           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_IK1
    9106             :         use pm_kind, only: IKC => IK1
    9107             : #include "pm_matrixCopy@routines.inc.F90"
    9108           0 :     end procedure
    9109             : #endif
    9110             : 
    9111             : #undef IK_ENABLED
    9112             : 
    9113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9114             : 
    9115             : #define LK_ENABLED 1
    9116             : 
    9117             : #if LK5_ENABLED
    9118           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_LK5
    9119             :         use pm_kind, only: LKC => LK5
    9120             : #include "pm_matrixCopy@routines.inc.F90"
    9121           0 :     end procedure
    9122             : #endif
    9123             : 
    9124             : #if LK4_ENABLED
    9125           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_LK4
    9126             :         use pm_kind, only: LKC => LK4
    9127             : #include "pm_matrixCopy@routines.inc.F90"
    9128           0 :     end procedure
    9129             : #endif
    9130             : 
    9131             : #if LK3_ENABLED
    9132           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_LK3
    9133             :         use pm_kind, only: LKC => LK3
    9134             : #include "pm_matrixCopy@routines.inc.F90"
    9135           0 :     end procedure
    9136             : #endif
    9137             : 
    9138             : #if LK2_ENABLED
    9139           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_LK2
    9140             :         use pm_kind, only: LKC => LK2
    9141             : #include "pm_matrixCopy@routines.inc.F90"
    9142           0 :     end procedure
    9143             : #endif
    9144             : 
    9145             : #if LK1_ENABLED
    9146           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_LK1
    9147             :         use pm_kind, only: LKC => LK1
    9148             : #include "pm_matrixCopy@routines.inc.F90"
    9149           0 :     end procedure
    9150             : #endif
    9151             : 
    9152             : #undef LK_ENABLED
    9153             : 
    9154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9155             : 
    9156             : #define CK_ENABLED 1
    9157             : 
    9158             : #if CK5_ENABLED
    9159             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_CK5
    9160             :         use pm_kind, only: CKC => CK5
    9161             : #include "pm_matrixCopy@routines.inc.F90"
    9162             :     end procedure
    9163             : #endif
    9164             : 
    9165             : #if CK4_ENABLED
    9166           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_CK4
    9167             :         use pm_kind, only: CKC => CK4
    9168             : #include "pm_matrixCopy@routines.inc.F90"
    9169           0 :     end procedure
    9170             : #endif
    9171             : 
    9172             : #if CK3_ENABLED
    9173           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_CK3
    9174             :         use pm_kind, only: CKC => CK3
    9175             : #include "pm_matrixCopy@routines.inc.F90"
    9176           0 :     end procedure
    9177             : #endif
    9178             : 
    9179             : #if CK2_ENABLED
    9180           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_CK2
    9181             :         use pm_kind, only: CKC => CK2
    9182             : #include "pm_matrixCopy@routines.inc.F90"
    9183           0 :     end procedure
    9184             : #endif
    9185             : 
    9186             : #if CK1_ENABLED
    9187           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_CK1
    9188             :         use pm_kind, only: CKC => CK1
    9189             : #include "pm_matrixCopy@routines.inc.F90"
    9190           0 :     end procedure
    9191             : #endif
    9192             : 
    9193             : #undef CK_ENABLED
    9194             : 
    9195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9196             : 
    9197             : #define RK_ENABLED 1
    9198             : 
    9199             : #if RK5_ENABLED
    9200             :     module procedure setMatCopy_RDP_RDP_UXX_TSO_RK5
    9201             :         use pm_kind, only: RKC => RK5
    9202             : #include "pm_matrixCopy@routines.inc.F90"
    9203             :     end procedure
    9204             : #endif
    9205             : 
    9206             : #if RK4_ENABLED
    9207           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_RK4
    9208             :         use pm_kind, only: RKC => RK4
    9209             : #include "pm_matrixCopy@routines.inc.F90"
    9210           0 :     end procedure
    9211             : #endif
    9212             : 
    9213             : #if RK3_ENABLED
    9214           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_RK3
    9215             :         use pm_kind, only: RKC => RK3
    9216             : #include "pm_matrixCopy@routines.inc.F90"
    9217           0 :     end procedure
    9218             : #endif
    9219             : 
    9220             : #if RK2_ENABLED
    9221           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_RK2
    9222             :         use pm_kind, only: RKC => RK2
    9223             : #include "pm_matrixCopy@routines.inc.F90"
    9224           0 :     end procedure
    9225             : #endif
    9226             : 
    9227             : #if RK1_ENABLED
    9228           0 :     module procedure setMatCopy_RDP_RDP_UXX_TSO_RK1
    9229             :         use pm_kind, only: RKC => RK1
    9230             : #include "pm_matrixCopy@routines.inc.F90"
    9231           0 :     end procedure
    9232             : #endif
    9233             : 
    9234             : #undef RK_ENABLED
    9235             : 
    9236             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9237             : 
    9238             : #undef UXX_ENABLED
    9239             : #undef TSO_ENABLED
    9240             : 
    9241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9244             : 
    9245             : #define UXX_ENABLED 1
    9246             : #define THO_ENABLED 1
    9247             : 
    9248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9249             : 
    9250             : #define SK_ENABLED 1
    9251             : 
    9252             : #if SK5_ENABLED
    9253             :     module procedure setMatCopy_RDP_RDP_UXX_THO_SK5
    9254             :         use pm_kind, only: SKC => SK5
    9255             : #include "pm_matrixCopy@routines.inc.F90"
    9256             :     end procedure
    9257             : #endif
    9258             : 
    9259             : #if SK4_ENABLED
    9260             :     module procedure setMatCopy_RDP_RDP_UXX_THO_SK4
    9261             :         use pm_kind, only: SKC => SK4
    9262             : #include "pm_matrixCopy@routines.inc.F90"
    9263             :     end procedure
    9264             : #endif
    9265             : 
    9266             : #if SK3_ENABLED
    9267             :     module procedure setMatCopy_RDP_RDP_UXX_THO_SK3
    9268             :         use pm_kind, only: SKC => SK3
    9269             : #include "pm_matrixCopy@routines.inc.F90"
    9270             :     end procedure
    9271             : #endif
    9272             : 
    9273             : #if SK2_ENABLED
    9274             :     module procedure setMatCopy_RDP_RDP_UXX_THO_SK2
    9275             :         use pm_kind, only: SKC => SK2
    9276             : #include "pm_matrixCopy@routines.inc.F90"
    9277             :     end procedure
    9278             : #endif
    9279             : 
    9280             : #if SK1_ENABLED
    9281           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_SK1
    9282             :         use pm_kind, only: SKC => SK1
    9283             : #include "pm_matrixCopy@routines.inc.F90"
    9284           0 :     end procedure
    9285             : #endif
    9286             : 
    9287             : #undef SK_ENABLED
    9288             : 
    9289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9290             : 
    9291             : #define IK_ENABLED 1
    9292             : 
    9293             : #if IK5_ENABLED
    9294           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_IK5
    9295             :         use pm_kind, only: IKC => IK5
    9296             : #include "pm_matrixCopy@routines.inc.F90"
    9297           0 :     end procedure
    9298             : #endif
    9299             : 
    9300             : #if IK4_ENABLED
    9301           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_IK4
    9302             :         use pm_kind, only: IKC => IK4
    9303             : #include "pm_matrixCopy@routines.inc.F90"
    9304           0 :     end procedure
    9305             : #endif
    9306             : 
    9307             : #if IK3_ENABLED
    9308           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_IK3
    9309             :         use pm_kind, only: IKC => IK3
    9310             : #include "pm_matrixCopy@routines.inc.F90"
    9311           0 :     end procedure
    9312             : #endif
    9313             : 
    9314             : #if IK2_ENABLED
    9315           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_IK2
    9316             :         use pm_kind, only: IKC => IK2
    9317             : #include "pm_matrixCopy@routines.inc.F90"
    9318           0 :     end procedure
    9319             : #endif
    9320             : 
    9321             : #if IK1_ENABLED
    9322           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_IK1
    9323             :         use pm_kind, only: IKC => IK1
    9324             : #include "pm_matrixCopy@routines.inc.F90"
    9325           0 :     end procedure
    9326             : #endif
    9327             : 
    9328             : #undef IK_ENABLED
    9329             : 
    9330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9331             : 
    9332             : #define LK_ENABLED 1
    9333             : 
    9334             : #if LK5_ENABLED
    9335           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_LK5
    9336             :         use pm_kind, only: LKC => LK5
    9337             : #include "pm_matrixCopy@routines.inc.F90"
    9338           0 :     end procedure
    9339             : #endif
    9340             : 
    9341             : #if LK4_ENABLED
    9342           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_LK4
    9343             :         use pm_kind, only: LKC => LK4
    9344             : #include "pm_matrixCopy@routines.inc.F90"
    9345           0 :     end procedure
    9346             : #endif
    9347             : 
    9348             : #if LK3_ENABLED
    9349           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_LK3
    9350             :         use pm_kind, only: LKC => LK3
    9351             : #include "pm_matrixCopy@routines.inc.F90"
    9352           0 :     end procedure
    9353             : #endif
    9354             : 
    9355             : #if LK2_ENABLED
    9356           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_LK2
    9357             :         use pm_kind, only: LKC => LK2
    9358             : #include "pm_matrixCopy@routines.inc.F90"
    9359           0 :     end procedure
    9360             : #endif
    9361             : 
    9362             : #if LK1_ENABLED
    9363           0 :     module procedure setMatCopy_RDP_RDP_UXX_THO_LK1
    9364             :         use pm_kind, only: LKC => LK1
    9365             : #include "pm_matrixCopy@routines.inc.F90"
    9366           0 :     end procedure
    9367             : #endif
    9368             : 
    9369             : #undef LK_ENABLED
    9370             : 
    9371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9372             : 
    9373             : #define CK_ENABLED 1
    9374             : 
    9375             : #if CK5_ENABLED
    9376             :     module procedure setMatCopy_RDP_RDP_UXX_THO_CK5
    9377             :         use pm_kind, only: CKC => CK5
    9378             : #include "pm_matrixCopy@routines.inc.F90"
    9379             :     end procedure
    9380             : #endif
    9381             : 
    9382             : #if CK4_ENABLED
    9383         150 :     module procedure setMatCopy_RDP_RDP_UXX_THO_CK4
    9384             :         use pm_kind, only: CKC => CK4
    9385             : #include "pm_matrixCopy@routines.inc.F90"
    9386         150 :     end procedure
    9387             : #endif
    9388             : 
    9389             : #if CK3_ENABLED
    9390         150 :     module procedure setMatCopy_RDP_RDP_UXX_THO_CK3
    9391             :         use pm_kind, only: CKC => CK3
    9392             : #include "pm_matrixCopy@routines.inc.F90"
    9393         150 :     end procedure
    9394             : #endif
    9395             : 
    9396             : #if CK2_ENABLED
    9397         165 :     module procedure setMatCopy_RDP_RDP_UXX_THO_CK2
    9398             :         use pm_kind, only: CKC => CK2
    9399             : #include "pm_matrixCopy@routines.inc.F90"
    9400         165 :     end procedure
    9401             : #endif
    9402             : 
    9403             : #if CK1_ENABLED
    9404         164 :     module procedure setMatCopy_RDP_RDP_UXX_THO_CK1
    9405             :         use pm_kind, only: CKC => CK1
    9406             : #include "pm_matrixCopy@routines.inc.F90"
    9407         164 :     end procedure
    9408             : #endif
    9409             : 
    9410             : #undef CK_ENABLED
    9411             : 
    9412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9413             : 
    9414             : #define RK_ENABLED 1
    9415             : 
    9416             : #if RK5_ENABLED
    9417             :     module procedure setMatCopy_RDP_RDP_UXX_THO_RK5
    9418             :         use pm_kind, only: RKC => RK5
    9419             : #include "pm_matrixCopy@routines.inc.F90"
    9420             :     end procedure
    9421             : #endif
    9422             : 
    9423             : #if RK4_ENABLED
    9424         250 :     module procedure setMatCopy_RDP_RDP_UXX_THO_RK4
    9425             :         use pm_kind, only: RKC => RK4
    9426             : #include "pm_matrixCopy@routines.inc.F90"
    9427         250 :     end procedure
    9428             : #endif
    9429             : 
    9430             : #if RK3_ENABLED
    9431         250 :     module procedure setMatCopy_RDP_RDP_UXX_THO_RK3
    9432             :         use pm_kind, only: RKC => RK3
    9433             : #include "pm_matrixCopy@routines.inc.F90"
    9434         250 :     end procedure
    9435             : #endif
    9436             : 
    9437             : #if RK2_ENABLED
    9438         251 :     module procedure setMatCopy_RDP_RDP_UXX_THO_RK2
    9439             :         use pm_kind, only: RKC => RK2
    9440             : #include "pm_matrixCopy@routines.inc.F90"
    9441         251 :     end procedure
    9442             : #endif
    9443             : 
    9444             : #if RK1_ENABLED
    9445         512 :     module procedure setMatCopy_RDP_RDP_UXX_THO_RK1
    9446             :         use pm_kind, only: RKC => RK1
    9447             : #include "pm_matrixCopy@routines.inc.F90"
    9448         512 :     end procedure
    9449             : #endif
    9450             : 
    9451             : #undef RK_ENABLED
    9452             : 
    9453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9454             : 
    9455             : #undef UXX_ENABLED
    9456             : #undef THO_ENABLED
    9457             : 
    9458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9461             : 
    9462             : #define XLX_ENABLED 1
    9463             : #define AIO_ENABLED 1
    9464             : 
    9465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9466             : 
    9467             : #define SK_ENABLED 1
    9468             : 
    9469             : #if SK5_ENABLED
    9470             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_SK5
    9471             :         use pm_kind, only: SKC => SK5
    9472             : #include "pm_matrixCopy@routines.inc.F90"
    9473             :     end procedure
    9474             : #endif
    9475             : 
    9476             : #if SK4_ENABLED
    9477             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_SK4
    9478             :         use pm_kind, only: SKC => SK4
    9479             : #include "pm_matrixCopy@routines.inc.F90"
    9480             :     end procedure
    9481             : #endif
    9482             : 
    9483             : #if SK3_ENABLED
    9484             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_SK3
    9485             :         use pm_kind, only: SKC => SK3
    9486             : #include "pm_matrixCopy@routines.inc.F90"
    9487             :     end procedure
    9488             : #endif
    9489             : 
    9490             : #if SK2_ENABLED
    9491             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_SK2
    9492             :         use pm_kind, only: SKC => SK2
    9493             : #include "pm_matrixCopy@routines.inc.F90"
    9494             :     end procedure
    9495             : #endif
    9496             : 
    9497             : #if SK1_ENABLED
    9498           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_SK1
    9499             :         use pm_kind, only: SKC => SK1
    9500             : #include "pm_matrixCopy@routines.inc.F90"
    9501           0 :     end procedure
    9502             : #endif
    9503             : 
    9504             : #undef SK_ENABLED
    9505             : 
    9506             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9507             : 
    9508             : #define IK_ENABLED 1
    9509             : 
    9510             : #if IK5_ENABLED
    9511           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_IK5
    9512             :         use pm_kind, only: IKC => IK5
    9513             : #include "pm_matrixCopy@routines.inc.F90"
    9514           0 :     end procedure
    9515             : #endif
    9516             : 
    9517             : #if IK4_ENABLED
    9518           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_IK4
    9519             :         use pm_kind, only: IKC => IK4
    9520             : #include "pm_matrixCopy@routines.inc.F90"
    9521           0 :     end procedure
    9522             : #endif
    9523             : 
    9524             : #if IK3_ENABLED
    9525           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_IK3
    9526             :         use pm_kind, only: IKC => IK3
    9527             : #include "pm_matrixCopy@routines.inc.F90"
    9528           0 :     end procedure
    9529             : #endif
    9530             : 
    9531             : #if IK2_ENABLED
    9532           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_IK2
    9533             :         use pm_kind, only: IKC => IK2
    9534             : #include "pm_matrixCopy@routines.inc.F90"
    9535           0 :     end procedure
    9536             : #endif
    9537             : 
    9538             : #if IK1_ENABLED
    9539           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_IK1
    9540             :         use pm_kind, only: IKC => IK1
    9541             : #include "pm_matrixCopy@routines.inc.F90"
    9542           0 :     end procedure
    9543             : #endif
    9544             : 
    9545             : #undef IK_ENABLED
    9546             : 
    9547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9548             : 
    9549             : #define LK_ENABLED 1
    9550             : 
    9551             : #if LK5_ENABLED
    9552           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_LK5
    9553             :         use pm_kind, only: LKC => LK5
    9554             : #include "pm_matrixCopy@routines.inc.F90"
    9555           0 :     end procedure
    9556             : #endif
    9557             : 
    9558             : #if LK4_ENABLED
    9559           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_LK4
    9560             :         use pm_kind, only: LKC => LK4
    9561             : #include "pm_matrixCopy@routines.inc.F90"
    9562           0 :     end procedure
    9563             : #endif
    9564             : 
    9565             : #if LK3_ENABLED
    9566           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_LK3
    9567             :         use pm_kind, only: LKC => LK3
    9568             : #include "pm_matrixCopy@routines.inc.F90"
    9569           0 :     end procedure
    9570             : #endif
    9571             : 
    9572             : #if LK2_ENABLED
    9573           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_LK2
    9574             :         use pm_kind, only: LKC => LK2
    9575             : #include "pm_matrixCopy@routines.inc.F90"
    9576           0 :     end procedure
    9577             : #endif
    9578             : 
    9579             : #if LK1_ENABLED
    9580           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_LK1
    9581             :         use pm_kind, only: LKC => LK1
    9582             : #include "pm_matrixCopy@routines.inc.F90"
    9583           0 :     end procedure
    9584             : #endif
    9585             : 
    9586             : #undef LK_ENABLED
    9587             : 
    9588             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9589             : 
    9590             : #define CK_ENABLED 1
    9591             : 
    9592             : #if CK5_ENABLED
    9593             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_CK5
    9594             :         use pm_kind, only: CKC => CK5
    9595             : #include "pm_matrixCopy@routines.inc.F90"
    9596             :     end procedure
    9597             : #endif
    9598             : 
    9599             : #if CK4_ENABLED
    9600           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_CK4
    9601             :         use pm_kind, only: CKC => CK4
    9602             : #include "pm_matrixCopy@routines.inc.F90"
    9603           0 :     end procedure
    9604             : #endif
    9605             : 
    9606             : #if CK3_ENABLED
    9607           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_CK3
    9608             :         use pm_kind, only: CKC => CK3
    9609             : #include "pm_matrixCopy@routines.inc.F90"
    9610           0 :     end procedure
    9611             : #endif
    9612             : 
    9613             : #if CK2_ENABLED
    9614           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_CK2
    9615             :         use pm_kind, only: CKC => CK2
    9616             : #include "pm_matrixCopy@routines.inc.F90"
    9617           0 :     end procedure
    9618             : #endif
    9619             : 
    9620             : #if CK1_ENABLED
    9621           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_CK1
    9622             :         use pm_kind, only: CKC => CK1
    9623             : #include "pm_matrixCopy@routines.inc.F90"
    9624           0 :     end procedure
    9625             : #endif
    9626             : 
    9627             : #undef CK_ENABLED
    9628             : 
    9629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9630             : 
    9631             : #define RK_ENABLED 1
    9632             : 
    9633             : #if RK5_ENABLED
    9634             :     module procedure setMatCopy_RDP_RDP_XLX_AIO_RK5
    9635             :         use pm_kind, only: RKC => RK5
    9636             : #include "pm_matrixCopy@routines.inc.F90"
    9637             :     end procedure
    9638             : #endif
    9639             : 
    9640             : #if RK4_ENABLED
    9641           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_RK4
    9642             :         use pm_kind, only: RKC => RK4
    9643             : #include "pm_matrixCopy@routines.inc.F90"
    9644           0 :     end procedure
    9645             : #endif
    9646             : 
    9647             : #if RK3_ENABLED
    9648           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_RK3
    9649             :         use pm_kind, only: RKC => RK3
    9650             : #include "pm_matrixCopy@routines.inc.F90"
    9651           0 :     end procedure
    9652             : #endif
    9653             : 
    9654             : #if RK2_ENABLED
    9655           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_RK2
    9656             :         use pm_kind, only: RKC => RK2
    9657             : #include "pm_matrixCopy@routines.inc.F90"
    9658           0 :     end procedure
    9659             : #endif
    9660             : 
    9661             : #if RK1_ENABLED
    9662           0 :     module procedure setMatCopy_RDP_RDP_XLX_AIO_RK1
    9663             :         use pm_kind, only: RKC => RK1
    9664             : #include "pm_matrixCopy@routines.inc.F90"
    9665           0 :     end procedure
    9666             : #endif
    9667             : 
    9668             : #undef RK_ENABLED
    9669             : 
    9670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9671             : 
    9672             : #undef XLX_ENABLED
    9673             : #undef AIO_ENABLED
    9674             : 
    9675             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9677             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9678             : 
    9679             : #define XLX_ENABLED 1
    9680             : #define TSO_ENABLED 1
    9681             : 
    9682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9683             : 
    9684             : #define SK_ENABLED 1
    9685             : 
    9686             : #if SK5_ENABLED
    9687             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_SK5
    9688             :         use pm_kind, only: SKC => SK5
    9689             : #include "pm_matrixCopy@routines.inc.F90"
    9690             :     end procedure
    9691             : #endif
    9692             : 
    9693             : #if SK4_ENABLED
    9694             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_SK4
    9695             :         use pm_kind, only: SKC => SK4
    9696             : #include "pm_matrixCopy@routines.inc.F90"
    9697             :     end procedure
    9698             : #endif
    9699             : 
    9700             : #if SK3_ENABLED
    9701             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_SK3
    9702             :         use pm_kind, only: SKC => SK3
    9703             : #include "pm_matrixCopy@routines.inc.F90"
    9704             :     end procedure
    9705             : #endif
    9706             : 
    9707             : #if SK2_ENABLED
    9708             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_SK2
    9709             :         use pm_kind, only: SKC => SK2
    9710             : #include "pm_matrixCopy@routines.inc.F90"
    9711             :     end procedure
    9712             : #endif
    9713             : 
    9714             : #if SK1_ENABLED
    9715           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_SK1
    9716             :         use pm_kind, only: SKC => SK1
    9717             : #include "pm_matrixCopy@routines.inc.F90"
    9718           0 :     end procedure
    9719             : #endif
    9720             : 
    9721             : #undef SK_ENABLED
    9722             : 
    9723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9724             : 
    9725             : #define IK_ENABLED 1
    9726             : 
    9727             : #if IK5_ENABLED
    9728           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_IK5
    9729             :         use pm_kind, only: IKC => IK5
    9730             : #include "pm_matrixCopy@routines.inc.F90"
    9731           0 :     end procedure
    9732             : #endif
    9733             : 
    9734             : #if IK4_ENABLED
    9735           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_IK4
    9736             :         use pm_kind, only: IKC => IK4
    9737             : #include "pm_matrixCopy@routines.inc.F90"
    9738           0 :     end procedure
    9739             : #endif
    9740             : 
    9741             : #if IK3_ENABLED
    9742           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_IK3
    9743             :         use pm_kind, only: IKC => IK3
    9744             : #include "pm_matrixCopy@routines.inc.F90"
    9745           0 :     end procedure
    9746             : #endif
    9747             : 
    9748             : #if IK2_ENABLED
    9749           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_IK2
    9750             :         use pm_kind, only: IKC => IK2
    9751             : #include "pm_matrixCopy@routines.inc.F90"
    9752           0 :     end procedure
    9753             : #endif
    9754             : 
    9755             : #if IK1_ENABLED
    9756           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_IK1
    9757             :         use pm_kind, only: IKC => IK1
    9758             : #include "pm_matrixCopy@routines.inc.F90"
    9759           0 :     end procedure
    9760             : #endif
    9761             : 
    9762             : #undef IK_ENABLED
    9763             : 
    9764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9765             : 
    9766             : #define LK_ENABLED 1
    9767             : 
    9768             : #if LK5_ENABLED
    9769           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_LK5
    9770             :         use pm_kind, only: LKC => LK5
    9771             : #include "pm_matrixCopy@routines.inc.F90"
    9772           0 :     end procedure
    9773             : #endif
    9774             : 
    9775             : #if LK4_ENABLED
    9776           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_LK4
    9777             :         use pm_kind, only: LKC => LK4
    9778             : #include "pm_matrixCopy@routines.inc.F90"
    9779           0 :     end procedure
    9780             : #endif
    9781             : 
    9782             : #if LK3_ENABLED
    9783           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_LK3
    9784             :         use pm_kind, only: LKC => LK3
    9785             : #include "pm_matrixCopy@routines.inc.F90"
    9786           0 :     end procedure
    9787             : #endif
    9788             : 
    9789             : #if LK2_ENABLED
    9790           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_LK2
    9791             :         use pm_kind, only: LKC => LK2
    9792             : #include "pm_matrixCopy@routines.inc.F90"
    9793           0 :     end procedure
    9794             : #endif
    9795             : 
    9796             : #if LK1_ENABLED
    9797           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_LK1
    9798             :         use pm_kind, only: LKC => LK1
    9799             : #include "pm_matrixCopy@routines.inc.F90"
    9800           0 :     end procedure
    9801             : #endif
    9802             : 
    9803             : #undef LK_ENABLED
    9804             : 
    9805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9806             : 
    9807             : #define CK_ENABLED 1
    9808             : 
    9809             : #if CK5_ENABLED
    9810             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_CK5
    9811             :         use pm_kind, only: CKC => CK5
    9812             : #include "pm_matrixCopy@routines.inc.F90"
    9813             :     end procedure
    9814             : #endif
    9815             : 
    9816             : #if CK4_ENABLED
    9817           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_CK4
    9818             :         use pm_kind, only: CKC => CK4
    9819             : #include "pm_matrixCopy@routines.inc.F90"
    9820           0 :     end procedure
    9821             : #endif
    9822             : 
    9823             : #if CK3_ENABLED
    9824           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_CK3
    9825             :         use pm_kind, only: CKC => CK3
    9826             : #include "pm_matrixCopy@routines.inc.F90"
    9827           0 :     end procedure
    9828             : #endif
    9829             : 
    9830             : #if CK2_ENABLED
    9831           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_CK2
    9832             :         use pm_kind, only: CKC => CK2
    9833             : #include "pm_matrixCopy@routines.inc.F90"
    9834           0 :     end procedure
    9835             : #endif
    9836             : 
    9837             : #if CK1_ENABLED
    9838           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_CK1
    9839             :         use pm_kind, only: CKC => CK1
    9840             : #include "pm_matrixCopy@routines.inc.F90"
    9841           0 :     end procedure
    9842             : #endif
    9843             : 
    9844             : #undef CK_ENABLED
    9845             : 
    9846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9847             : 
    9848             : #define RK_ENABLED 1
    9849             : 
    9850             : #if RK5_ENABLED
    9851             :     module procedure setMatCopy_RDP_RDP_XLX_TSO_RK5
    9852             :         use pm_kind, only: RKC => RK5
    9853             : #include "pm_matrixCopy@routines.inc.F90"
    9854             :     end procedure
    9855             : #endif
    9856             : 
    9857             : #if RK4_ENABLED
    9858           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_RK4
    9859             :         use pm_kind, only: RKC => RK4
    9860             : #include "pm_matrixCopy@routines.inc.F90"
    9861           0 :     end procedure
    9862             : #endif
    9863             : 
    9864             : #if RK3_ENABLED
    9865           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_RK3
    9866             :         use pm_kind, only: RKC => RK3
    9867             : #include "pm_matrixCopy@routines.inc.F90"
    9868           0 :     end procedure
    9869             : #endif
    9870             : 
    9871             : #if RK2_ENABLED
    9872           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_RK2
    9873             :         use pm_kind, only: RKC => RK2
    9874             : #include "pm_matrixCopy@routines.inc.F90"
    9875           0 :     end procedure
    9876             : #endif
    9877             : 
    9878             : #if RK1_ENABLED
    9879           0 :     module procedure setMatCopy_RDP_RDP_XLX_TSO_RK1
    9880             :         use pm_kind, only: RKC => RK1
    9881             : #include "pm_matrixCopy@routines.inc.F90"
    9882           0 :     end procedure
    9883             : #endif
    9884             : 
    9885             : #undef RK_ENABLED
    9886             : 
    9887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9888             : 
    9889             : #undef XLX_ENABLED
    9890             : #undef TSO_ENABLED
    9891             : 
    9892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9894             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9895             : 
    9896             : #define XLX_ENABLED 1
    9897             : #define THO_ENABLED 1
    9898             : 
    9899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9900             : 
    9901             : #define SK_ENABLED 1
    9902             : 
    9903             : #if SK5_ENABLED
    9904             :     module procedure setMatCopy_RDP_RDP_XLX_THO_SK5
    9905             :         use pm_kind, only: SKC => SK5
    9906             : #include "pm_matrixCopy@routines.inc.F90"
    9907             :     end procedure
    9908             : #endif
    9909             : 
    9910             : #if SK4_ENABLED
    9911             :     module procedure setMatCopy_RDP_RDP_XLX_THO_SK4
    9912             :         use pm_kind, only: SKC => SK4
    9913             : #include "pm_matrixCopy@routines.inc.F90"
    9914             :     end procedure
    9915             : #endif
    9916             : 
    9917             : #if SK3_ENABLED
    9918             :     module procedure setMatCopy_RDP_RDP_XLX_THO_SK3
    9919             :         use pm_kind, only: SKC => SK3
    9920             : #include "pm_matrixCopy@routines.inc.F90"
    9921             :     end procedure
    9922             : #endif
    9923             : 
    9924             : #if SK2_ENABLED
    9925             :     module procedure setMatCopy_RDP_RDP_XLX_THO_SK2
    9926             :         use pm_kind, only: SKC => SK2
    9927             : #include "pm_matrixCopy@routines.inc.F90"
    9928             :     end procedure
    9929             : #endif
    9930             : 
    9931             : #if SK1_ENABLED
    9932           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_SK1
    9933             :         use pm_kind, only: SKC => SK1
    9934             : #include "pm_matrixCopy@routines.inc.F90"
    9935           0 :     end procedure
    9936             : #endif
    9937             : 
    9938             : #undef SK_ENABLED
    9939             : 
    9940             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9941             : 
    9942             : #define IK_ENABLED 1
    9943             : 
    9944             : #if IK5_ENABLED
    9945           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_IK5
    9946             :         use pm_kind, only: IKC => IK5
    9947             : #include "pm_matrixCopy@routines.inc.F90"
    9948           0 :     end procedure
    9949             : #endif
    9950             : 
    9951             : #if IK4_ENABLED
    9952           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_IK4
    9953             :         use pm_kind, only: IKC => IK4
    9954             : #include "pm_matrixCopy@routines.inc.F90"
    9955           0 :     end procedure
    9956             : #endif
    9957             : 
    9958             : #if IK3_ENABLED
    9959           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_IK3
    9960             :         use pm_kind, only: IKC => IK3
    9961             : #include "pm_matrixCopy@routines.inc.F90"
    9962           0 :     end procedure
    9963             : #endif
    9964             : 
    9965             : #if IK2_ENABLED
    9966           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_IK2
    9967             :         use pm_kind, only: IKC => IK2
    9968             : #include "pm_matrixCopy@routines.inc.F90"
    9969           0 :     end procedure
    9970             : #endif
    9971             : 
    9972             : #if IK1_ENABLED
    9973           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_IK1
    9974             :         use pm_kind, only: IKC => IK1
    9975             : #include "pm_matrixCopy@routines.inc.F90"
    9976           0 :     end procedure
    9977             : #endif
    9978             : 
    9979             : #undef IK_ENABLED
    9980             : 
    9981             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    9982             : 
    9983             : #define LK_ENABLED 1
    9984             : 
    9985             : #if LK5_ENABLED
    9986           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_LK5
    9987             :         use pm_kind, only: LKC => LK5
    9988             : #include "pm_matrixCopy@routines.inc.F90"
    9989           0 :     end procedure
    9990             : #endif
    9991             : 
    9992             : #if LK4_ENABLED
    9993           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_LK4
    9994             :         use pm_kind, only: LKC => LK4
    9995             : #include "pm_matrixCopy@routines.inc.F90"
    9996           0 :     end procedure
    9997             : #endif
    9998             : 
    9999             : #if LK3_ENABLED
   10000           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_LK3
   10001             :         use pm_kind, only: LKC => LK3
   10002             : #include "pm_matrixCopy@routines.inc.F90"
   10003           0 :     end procedure
   10004             : #endif
   10005             : 
   10006             : #if LK2_ENABLED
   10007           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_LK2
   10008             :         use pm_kind, only: LKC => LK2
   10009             : #include "pm_matrixCopy@routines.inc.F90"
   10010           0 :     end procedure
   10011             : #endif
   10012             : 
   10013             : #if LK1_ENABLED
   10014           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_LK1
   10015             :         use pm_kind, only: LKC => LK1
   10016             : #include "pm_matrixCopy@routines.inc.F90"
   10017           0 :     end procedure
   10018             : #endif
   10019             : 
   10020             : #undef LK_ENABLED
   10021             : 
   10022             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10023             : 
   10024             : #define CK_ENABLED 1
   10025             : 
   10026             : #if CK5_ENABLED
   10027             :     module procedure setMatCopy_RDP_RDP_XLX_THO_CK5
   10028             :         use pm_kind, only: CKC => CK5
   10029             : #include "pm_matrixCopy@routines.inc.F90"
   10030             :     end procedure
   10031             : #endif
   10032             : 
   10033             : #if CK4_ENABLED
   10034           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_CK4
   10035             :         use pm_kind, only: CKC => CK4
   10036             : #include "pm_matrixCopy@routines.inc.F90"
   10037           0 :     end procedure
   10038             : #endif
   10039             : 
   10040             : #if CK3_ENABLED
   10041           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_CK3
   10042             :         use pm_kind, only: CKC => CK3
   10043             : #include "pm_matrixCopy@routines.inc.F90"
   10044           0 :     end procedure
   10045             : #endif
   10046             : 
   10047             : #if CK2_ENABLED
   10048           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_CK2
   10049             :         use pm_kind, only: CKC => CK2
   10050             : #include "pm_matrixCopy@routines.inc.F90"
   10051           0 :     end procedure
   10052             : #endif
   10053             : 
   10054             : #if CK1_ENABLED
   10055           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_CK1
   10056             :         use pm_kind, only: CKC => CK1
   10057             : #include "pm_matrixCopy@routines.inc.F90"
   10058           0 :     end procedure
   10059             : #endif
   10060             : 
   10061             : #undef CK_ENABLED
   10062             : 
   10063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10064             : 
   10065             : #define RK_ENABLED 1
   10066             : 
   10067             : #if RK5_ENABLED
   10068             :     module procedure setMatCopy_RDP_RDP_XLX_THO_RK5
   10069             :         use pm_kind, only: RKC => RK5
   10070             : #include "pm_matrixCopy@routines.inc.F90"
   10071             :     end procedure
   10072             : #endif
   10073             : 
   10074             : #if RK4_ENABLED
   10075           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_RK4
   10076             :         use pm_kind, only: RKC => RK4
   10077             : #include "pm_matrixCopy@routines.inc.F90"
   10078           0 :     end procedure
   10079             : #endif
   10080             : 
   10081             : #if RK3_ENABLED
   10082           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_RK3
   10083             :         use pm_kind, only: RKC => RK3
   10084             : #include "pm_matrixCopy@routines.inc.F90"
   10085           0 :     end procedure
   10086             : #endif
   10087             : 
   10088             : #if RK2_ENABLED
   10089           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_RK2
   10090             :         use pm_kind, only: RKC => RK2
   10091             : #include "pm_matrixCopy@routines.inc.F90"
   10092           0 :     end procedure
   10093             : #endif
   10094             : 
   10095             : #if RK1_ENABLED
   10096           0 :     module procedure setMatCopy_RDP_RDP_XLX_THO_RK1
   10097             :         use pm_kind, only: RKC => RK1
   10098             : #include "pm_matrixCopy@routines.inc.F90"
   10099           0 :     end procedure
   10100             : #endif
   10101             : 
   10102             : #undef RK_ENABLED
   10103             : 
   10104             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10105             : 
   10106             : #undef XLX_ENABLED
   10107             : #undef THO_ENABLED
   10108             : 
   10109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10112             : 
   10113             : #define XXD_ENABLED 1
   10114             : #define AIO_ENABLED 1
   10115             : 
   10116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10117             : 
   10118             : #define SK_ENABLED 1
   10119             : 
   10120             : #if SK5_ENABLED
   10121             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_SK5
   10122             :         use pm_kind, only: SKC => SK5
   10123             : #include "pm_matrixCopy@routines.inc.F90"
   10124             :     end procedure
   10125             : #endif
   10126             : 
   10127             : #if SK4_ENABLED
   10128             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_SK4
   10129             :         use pm_kind, only: SKC => SK4
   10130             : #include "pm_matrixCopy@routines.inc.F90"
   10131             :     end procedure
   10132             : #endif
   10133             : 
   10134             : #if SK3_ENABLED
   10135             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_SK3
   10136             :         use pm_kind, only: SKC => SK3
   10137             : #include "pm_matrixCopy@routines.inc.F90"
   10138             :     end procedure
   10139             : #endif
   10140             : 
   10141             : #if SK2_ENABLED
   10142             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_SK2
   10143             :         use pm_kind, only: SKC => SK2
   10144             : #include "pm_matrixCopy@routines.inc.F90"
   10145             :     end procedure
   10146             : #endif
   10147             : 
   10148             : #if SK1_ENABLED
   10149          32 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_SK1
   10150             :         use pm_kind, only: SKC => SK1
   10151             : #include "pm_matrixCopy@routines.inc.F90"
   10152          32 :     end procedure
   10153             : #endif
   10154             : 
   10155             : #undef SK_ENABLED
   10156             : 
   10157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10158             : 
   10159             : #define IK_ENABLED 1
   10160             : 
   10161             : #if IK5_ENABLED
   10162           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_IK5
   10163             :         use pm_kind, only: IKC => IK5
   10164             : #include "pm_matrixCopy@routines.inc.F90"
   10165           0 :     end procedure
   10166             : #endif
   10167             : 
   10168             : #if IK4_ENABLED
   10169           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_IK4
   10170             :         use pm_kind, only: IKC => IK4
   10171             : #include "pm_matrixCopy@routines.inc.F90"
   10172           0 :     end procedure
   10173             : #endif
   10174             : 
   10175             : #if IK3_ENABLED
   10176           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_IK3
   10177             :         use pm_kind, only: IKC => IK3
   10178             : #include "pm_matrixCopy@routines.inc.F90"
   10179           0 :     end procedure
   10180             : #endif
   10181             : 
   10182             : #if IK2_ENABLED
   10183           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_IK2
   10184             :         use pm_kind, only: IKC => IK2
   10185             : #include "pm_matrixCopy@routines.inc.F90"
   10186           0 :     end procedure
   10187             : #endif
   10188             : 
   10189             : #if IK1_ENABLED
   10190           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_IK1
   10191             :         use pm_kind, only: IKC => IK1
   10192             : #include "pm_matrixCopy@routines.inc.F90"
   10193           0 :     end procedure
   10194             : #endif
   10195             : 
   10196             : #undef IK_ENABLED
   10197             : 
   10198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10199             : 
   10200             : #define LK_ENABLED 1
   10201             : 
   10202             : #if LK5_ENABLED
   10203           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_LK5
   10204             :         use pm_kind, only: LKC => LK5
   10205             : #include "pm_matrixCopy@routines.inc.F90"
   10206           0 :     end procedure
   10207             : #endif
   10208             : 
   10209             : #if LK4_ENABLED
   10210           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_LK4
   10211             :         use pm_kind, only: LKC => LK4
   10212             : #include "pm_matrixCopy@routines.inc.F90"
   10213           0 :     end procedure
   10214             : #endif
   10215             : 
   10216             : #if LK3_ENABLED
   10217           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_LK3
   10218             :         use pm_kind, only: LKC => LK3
   10219             : #include "pm_matrixCopy@routines.inc.F90"
   10220           0 :     end procedure
   10221             : #endif
   10222             : 
   10223             : #if LK2_ENABLED
   10224           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_LK2
   10225             :         use pm_kind, only: LKC => LK2
   10226             : #include "pm_matrixCopy@routines.inc.F90"
   10227           0 :     end procedure
   10228             : #endif
   10229             : 
   10230             : #if LK1_ENABLED
   10231           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_LK1
   10232             :         use pm_kind, only: LKC => LK1
   10233             : #include "pm_matrixCopy@routines.inc.F90"
   10234           0 :     end procedure
   10235             : #endif
   10236             : 
   10237             : #undef LK_ENABLED
   10238             : 
   10239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10240             : 
   10241             : #define CK_ENABLED 1
   10242             : 
   10243             : #if CK5_ENABLED
   10244             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_CK5
   10245             :         use pm_kind, only: CKC => CK5
   10246             : #include "pm_matrixCopy@routines.inc.F90"
   10247             :     end procedure
   10248             : #endif
   10249             : 
   10250             : #if CK4_ENABLED
   10251           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_CK4
   10252             :         use pm_kind, only: CKC => CK4
   10253             : #include "pm_matrixCopy@routines.inc.F90"
   10254           0 :     end procedure
   10255             : #endif
   10256             : 
   10257             : #if CK3_ENABLED
   10258           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_CK3
   10259             :         use pm_kind, only: CKC => CK3
   10260             : #include "pm_matrixCopy@routines.inc.F90"
   10261           0 :     end procedure
   10262             : #endif
   10263             : 
   10264             : #if CK2_ENABLED
   10265           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_CK2
   10266             :         use pm_kind, only: CKC => CK2
   10267             : #include "pm_matrixCopy@routines.inc.F90"
   10268           0 :     end procedure
   10269             : #endif
   10270             : 
   10271             : #if CK1_ENABLED
   10272           4 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_CK1
   10273             :         use pm_kind, only: CKC => CK1
   10274             : #include "pm_matrixCopy@routines.inc.F90"
   10275           4 :     end procedure
   10276             : #endif
   10277             : 
   10278             : #undef CK_ENABLED
   10279             : 
   10280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10281             : 
   10282             : #define RK_ENABLED 1
   10283             : 
   10284             : #if RK5_ENABLED
   10285             :     module procedure setMatCopy_RDP_RDP_XXD_AIO_RK5
   10286             :         use pm_kind, only: RKC => RK5
   10287             : #include "pm_matrixCopy@routines.inc.F90"
   10288             :     end procedure
   10289             : #endif
   10290             : 
   10291             : #if RK4_ENABLED
   10292           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_RK4
   10293             :         use pm_kind, only: RKC => RK4
   10294             : #include "pm_matrixCopy@routines.inc.F90"
   10295           0 :     end procedure
   10296             : #endif
   10297             : 
   10298             : #if RK3_ENABLED
   10299           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_RK3
   10300             :         use pm_kind, only: RKC => RK3
   10301             : #include "pm_matrixCopy@routines.inc.F90"
   10302           0 :     end procedure
   10303             : #endif
   10304             : 
   10305             : #if RK2_ENABLED
   10306           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_RK2
   10307             :         use pm_kind, only: RKC => RK2
   10308             : #include "pm_matrixCopy@routines.inc.F90"
   10309           0 :     end procedure
   10310             : #endif
   10311             : 
   10312             : #if RK1_ENABLED
   10313           0 :     module procedure setMatCopy_RDP_RDP_XXD_AIO_RK1
   10314             :         use pm_kind, only: RKC => RK1
   10315             : #include "pm_matrixCopy@routines.inc.F90"
   10316           0 :     end procedure
   10317             : #endif
   10318             : 
   10319             : #undef RK_ENABLED
   10320             : 
   10321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10322             : 
   10323             : #undef XXD_ENABLED
   10324             : #undef AIO_ENABLED
   10325             : 
   10326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10329             : 
   10330             : #define XXD_ENABLED 1
   10331             : #define TSO_ENABLED 1
   10332             : 
   10333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10334             : 
   10335             : #define SK_ENABLED 1
   10336             : 
   10337             : #if SK5_ENABLED
   10338             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_SK5
   10339             :         use pm_kind, only: SKC => SK5
   10340             : #include "pm_matrixCopy@routines.inc.F90"
   10341             :     end procedure
   10342             : #endif
   10343             : 
   10344             : #if SK4_ENABLED
   10345             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_SK4
   10346             :         use pm_kind, only: SKC => SK4
   10347             : #include "pm_matrixCopy@routines.inc.F90"
   10348             :     end procedure
   10349             : #endif
   10350             : 
   10351             : #if SK3_ENABLED
   10352             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_SK3
   10353             :         use pm_kind, only: SKC => SK3
   10354             : #include "pm_matrixCopy@routines.inc.F90"
   10355             :     end procedure
   10356             : #endif
   10357             : 
   10358             : #if SK2_ENABLED
   10359             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_SK2
   10360             :         use pm_kind, only: SKC => SK2
   10361             : #include "pm_matrixCopy@routines.inc.F90"
   10362             :     end procedure
   10363             : #endif
   10364             : 
   10365             : #if SK1_ENABLED
   10366          32 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_SK1
   10367             :         use pm_kind, only: SKC => SK1
   10368             : #include "pm_matrixCopy@routines.inc.F90"
   10369          32 :     end procedure
   10370             : #endif
   10371             : 
   10372             : #undef SK_ENABLED
   10373             : 
   10374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10375             : 
   10376             : #define IK_ENABLED 1
   10377             : 
   10378             : #if IK5_ENABLED
   10379           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_IK5
   10380             :         use pm_kind, only: IKC => IK5
   10381             : #include "pm_matrixCopy@routines.inc.F90"
   10382           0 :     end procedure
   10383             : #endif
   10384             : 
   10385             : #if IK4_ENABLED
   10386           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_IK4
   10387             :         use pm_kind, only: IKC => IK4
   10388             : #include "pm_matrixCopy@routines.inc.F90"
   10389           0 :     end procedure
   10390             : #endif
   10391             : 
   10392             : #if IK3_ENABLED
   10393           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_IK3
   10394             :         use pm_kind, only: IKC => IK3
   10395             : #include "pm_matrixCopy@routines.inc.F90"
   10396           0 :     end procedure
   10397             : #endif
   10398             : 
   10399             : #if IK2_ENABLED
   10400           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_IK2
   10401             :         use pm_kind, only: IKC => IK2
   10402             : #include "pm_matrixCopy@routines.inc.F90"
   10403           0 :     end procedure
   10404             : #endif
   10405             : 
   10406             : #if IK1_ENABLED
   10407           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_IK1
   10408             :         use pm_kind, only: IKC => IK1
   10409             : #include "pm_matrixCopy@routines.inc.F90"
   10410           0 :     end procedure
   10411             : #endif
   10412             : 
   10413             : #undef IK_ENABLED
   10414             : 
   10415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10416             : 
   10417             : #define LK_ENABLED 1
   10418             : 
   10419             : #if LK5_ENABLED
   10420           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_LK5
   10421             :         use pm_kind, only: LKC => LK5
   10422             : #include "pm_matrixCopy@routines.inc.F90"
   10423           0 :     end procedure
   10424             : #endif
   10425             : 
   10426             : #if LK4_ENABLED
   10427           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_LK4
   10428             :         use pm_kind, only: LKC => LK4
   10429             : #include "pm_matrixCopy@routines.inc.F90"
   10430           0 :     end procedure
   10431             : #endif
   10432             : 
   10433             : #if LK3_ENABLED
   10434           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_LK3
   10435             :         use pm_kind, only: LKC => LK3
   10436             : #include "pm_matrixCopy@routines.inc.F90"
   10437           0 :     end procedure
   10438             : #endif
   10439             : 
   10440             : #if LK2_ENABLED
   10441           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_LK2
   10442             :         use pm_kind, only: LKC => LK2
   10443             : #include "pm_matrixCopy@routines.inc.F90"
   10444           0 :     end procedure
   10445             : #endif
   10446             : 
   10447             : #if LK1_ENABLED
   10448           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_LK1
   10449             :         use pm_kind, only: LKC => LK1
   10450             : #include "pm_matrixCopy@routines.inc.F90"
   10451           0 :     end procedure
   10452             : #endif
   10453             : 
   10454             : #undef LK_ENABLED
   10455             : 
   10456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10457             : 
   10458             : #define CK_ENABLED 1
   10459             : 
   10460             : #if CK5_ENABLED
   10461             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_CK5
   10462             :         use pm_kind, only: CKC => CK5
   10463             : #include "pm_matrixCopy@routines.inc.F90"
   10464             :     end procedure
   10465             : #endif
   10466             : 
   10467             : #if CK4_ENABLED
   10468           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_CK4
   10469             :         use pm_kind, only: CKC => CK4
   10470             : #include "pm_matrixCopy@routines.inc.F90"
   10471           0 :     end procedure
   10472             : #endif
   10473             : 
   10474             : #if CK3_ENABLED
   10475           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_CK3
   10476             :         use pm_kind, only: CKC => CK3
   10477             : #include "pm_matrixCopy@routines.inc.F90"
   10478           0 :     end procedure
   10479             : #endif
   10480             : 
   10481             : #if CK2_ENABLED
   10482           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_CK2
   10483             :         use pm_kind, only: CKC => CK2
   10484             : #include "pm_matrixCopy@routines.inc.F90"
   10485           0 :     end procedure
   10486             : #endif
   10487             : 
   10488             : #if CK1_ENABLED
   10489           8 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_CK1
   10490             :         use pm_kind, only: CKC => CK1
   10491             : #include "pm_matrixCopy@routines.inc.F90"
   10492           8 :     end procedure
   10493             : #endif
   10494             : 
   10495             : #undef CK_ENABLED
   10496             : 
   10497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10498             : 
   10499             : #define RK_ENABLED 1
   10500             : 
   10501             : #if RK5_ENABLED
   10502             :     module procedure setMatCopy_RDP_RDP_XXD_TSO_RK5
   10503             :         use pm_kind, only: RKC => RK5
   10504             : #include "pm_matrixCopy@routines.inc.F90"
   10505             :     end procedure
   10506             : #endif
   10507             : 
   10508             : #if RK4_ENABLED
   10509           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_RK4
   10510             :         use pm_kind, only: RKC => RK4
   10511             : #include "pm_matrixCopy@routines.inc.F90"
   10512           0 :     end procedure
   10513             : #endif
   10514             : 
   10515             : #if RK3_ENABLED
   10516           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_RK3
   10517             :         use pm_kind, only: RKC => RK3
   10518             : #include "pm_matrixCopy@routines.inc.F90"
   10519           0 :     end procedure
   10520             : #endif
   10521             : 
   10522             : #if RK2_ENABLED
   10523           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_RK2
   10524             :         use pm_kind, only: RKC => RK2
   10525             : #include "pm_matrixCopy@routines.inc.F90"
   10526           0 :     end procedure
   10527             : #endif
   10528             : 
   10529             : #if RK1_ENABLED
   10530           0 :     module procedure setMatCopy_RDP_RDP_XXD_TSO_RK1
   10531             :         use pm_kind, only: RKC => RK1
   10532             : #include "pm_matrixCopy@routines.inc.F90"
   10533           0 :     end procedure
   10534             : #endif
   10535             : 
   10536             : #undef RK_ENABLED
   10537             : 
   10538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10539             : 
   10540             : #undef XXD_ENABLED
   10541             : #undef TSO_ENABLED
   10542             : 
   10543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10546             : 
   10547             : #define XXD_ENABLED 1
   10548             : #define THO_ENABLED 1
   10549             : 
   10550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10551             : 
   10552             : #define SK_ENABLED 1
   10553             : 
   10554             : #if SK5_ENABLED
   10555             :     module procedure setMatCopy_RDP_RDP_XXD_THO_SK5
   10556             :         use pm_kind, only: SKC => SK5
   10557             : #include "pm_matrixCopy@routines.inc.F90"
   10558             :     end procedure
   10559             : #endif
   10560             : 
   10561             : #if SK4_ENABLED
   10562             :     module procedure setMatCopy_RDP_RDP_XXD_THO_SK4
   10563             :         use pm_kind, only: SKC => SK4
   10564             : #include "pm_matrixCopy@routines.inc.F90"
   10565             :     end procedure
   10566             : #endif
   10567             : 
   10568             : #if SK3_ENABLED
   10569             :     module procedure setMatCopy_RDP_RDP_XXD_THO_SK3
   10570             :         use pm_kind, only: SKC => SK3
   10571             : #include "pm_matrixCopy@routines.inc.F90"
   10572             :     end procedure
   10573             : #endif
   10574             : 
   10575             : #if SK2_ENABLED
   10576             :     module procedure setMatCopy_RDP_RDP_XXD_THO_SK2
   10577             :         use pm_kind, only: SKC => SK2
   10578             : #include "pm_matrixCopy@routines.inc.F90"
   10579             :     end procedure
   10580             : #endif
   10581             : 
   10582             : #if SK1_ENABLED
   10583          32 :     module procedure setMatCopy_RDP_RDP_XXD_THO_SK1
   10584             :         use pm_kind, only: SKC => SK1
   10585             : #include "pm_matrixCopy@routines.inc.F90"
   10586          32 :     end procedure
   10587             : #endif
   10588             : 
   10589             : #undef SK_ENABLED
   10590             : 
   10591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10592             : 
   10593             : #define IK_ENABLED 1
   10594             : 
   10595             : #if IK5_ENABLED
   10596           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_IK5
   10597             :         use pm_kind, only: IKC => IK5
   10598             : #include "pm_matrixCopy@routines.inc.F90"
   10599           0 :     end procedure
   10600             : #endif
   10601             : 
   10602             : #if IK4_ENABLED
   10603           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_IK4
   10604             :         use pm_kind, only: IKC => IK4
   10605             : #include "pm_matrixCopy@routines.inc.F90"
   10606           0 :     end procedure
   10607             : #endif
   10608             : 
   10609             : #if IK3_ENABLED
   10610           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_IK3
   10611             :         use pm_kind, only: IKC => IK3
   10612             : #include "pm_matrixCopy@routines.inc.F90"
   10613           0 :     end procedure
   10614             : #endif
   10615             : 
   10616             : #if IK2_ENABLED
   10617           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_IK2
   10618             :         use pm_kind, only: IKC => IK2
   10619             : #include "pm_matrixCopy@routines.inc.F90"
   10620           0 :     end procedure
   10621             : #endif
   10622             : 
   10623             : #if IK1_ENABLED
   10624           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_IK1
   10625             :         use pm_kind, only: IKC => IK1
   10626             : #include "pm_matrixCopy@routines.inc.F90"
   10627           0 :     end procedure
   10628             : #endif
   10629             : 
   10630             : #undef IK_ENABLED
   10631             : 
   10632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10633             : 
   10634             : #define LK_ENABLED 1
   10635             : 
   10636             : #if LK5_ENABLED
   10637           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_LK5
   10638             :         use pm_kind, only: LKC => LK5
   10639             : #include "pm_matrixCopy@routines.inc.F90"
   10640           0 :     end procedure
   10641             : #endif
   10642             : 
   10643             : #if LK4_ENABLED
   10644           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_LK4
   10645             :         use pm_kind, only: LKC => LK4
   10646             : #include "pm_matrixCopy@routines.inc.F90"
   10647           0 :     end procedure
   10648             : #endif
   10649             : 
   10650             : #if LK3_ENABLED
   10651           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_LK3
   10652             :         use pm_kind, only: LKC => LK3
   10653             : #include "pm_matrixCopy@routines.inc.F90"
   10654           0 :     end procedure
   10655             : #endif
   10656             : 
   10657             : #if LK2_ENABLED
   10658           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_LK2
   10659             :         use pm_kind, only: LKC => LK2
   10660             : #include "pm_matrixCopy@routines.inc.F90"
   10661           0 :     end procedure
   10662             : #endif
   10663             : 
   10664             : #if LK1_ENABLED
   10665           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_LK1
   10666             :         use pm_kind, only: LKC => LK1
   10667             : #include "pm_matrixCopy@routines.inc.F90"
   10668           0 :     end procedure
   10669             : #endif
   10670             : 
   10671             : #undef LK_ENABLED
   10672             : 
   10673             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10674             : 
   10675             : #define CK_ENABLED 1
   10676             : 
   10677             : #if CK5_ENABLED
   10678             :     module procedure setMatCopy_RDP_RDP_XXD_THO_CK5
   10679             :         use pm_kind, only: CKC => CK5
   10680             : #include "pm_matrixCopy@routines.inc.F90"
   10681             :     end procedure
   10682             : #endif
   10683             : 
   10684             : #if CK4_ENABLED
   10685           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_CK4
   10686             :         use pm_kind, only: CKC => CK4
   10687             : #include "pm_matrixCopy@routines.inc.F90"
   10688           0 :     end procedure
   10689             : #endif
   10690             : 
   10691             : #if CK3_ENABLED
   10692           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_CK3
   10693             :         use pm_kind, only: CKC => CK3
   10694             : #include "pm_matrixCopy@routines.inc.F90"
   10695           0 :     end procedure
   10696             : #endif
   10697             : 
   10698             : #if CK2_ENABLED
   10699           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_CK2
   10700             :         use pm_kind, only: CKC => CK2
   10701             : #include "pm_matrixCopy@routines.inc.F90"
   10702           0 :     end procedure
   10703             : #endif
   10704             : 
   10705             : #if CK1_ENABLED
   10706           8 :     module procedure setMatCopy_RDP_RDP_XXD_THO_CK1
   10707             :         use pm_kind, only: CKC => CK1
   10708             : #include "pm_matrixCopy@routines.inc.F90"
   10709           8 :     end procedure
   10710             : #endif
   10711             : 
   10712             : #undef CK_ENABLED
   10713             : 
   10714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10715             : 
   10716             : #define RK_ENABLED 1
   10717             : 
   10718             : #if RK5_ENABLED
   10719             :     module procedure setMatCopy_RDP_RDP_XXD_THO_RK5
   10720             :         use pm_kind, only: RKC => RK5
   10721             : #include "pm_matrixCopy@routines.inc.F90"
   10722             :     end procedure
   10723             : #endif
   10724             : 
   10725             : #if RK4_ENABLED
   10726           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_RK4
   10727             :         use pm_kind, only: RKC => RK4
   10728             : #include "pm_matrixCopy@routines.inc.F90"
   10729           0 :     end procedure
   10730             : #endif
   10731             : 
   10732             : #if RK3_ENABLED
   10733           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_RK3
   10734             :         use pm_kind, only: RKC => RK3
   10735             : #include "pm_matrixCopy@routines.inc.F90"
   10736           0 :     end procedure
   10737             : #endif
   10738             : 
   10739             : #if RK2_ENABLED
   10740           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_RK2
   10741             :         use pm_kind, only: RKC => RK2
   10742             : #include "pm_matrixCopy@routines.inc.F90"
   10743           0 :     end procedure
   10744             : #endif
   10745             : 
   10746             : #if RK1_ENABLED
   10747           0 :     module procedure setMatCopy_RDP_RDP_XXD_THO_RK1
   10748             :         use pm_kind, only: RKC => RK1
   10749             : #include "pm_matrixCopy@routines.inc.F90"
   10750           0 :     end procedure
   10751             : #endif
   10752             : 
   10753             : #undef RK_ENABLED
   10754             : 
   10755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10756             : 
   10757             : #undef XXD_ENABLED
   10758             : #undef THO_ENABLED
   10759             : 
   10760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10763             : 
   10764             : #define UXD_ENABLED 1
   10765             : #define AIO_ENABLED 1
   10766             : 
   10767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10768             : 
   10769             : #define SK_ENABLED 1
   10770             : 
   10771             : #if SK5_ENABLED
   10772             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_SK5
   10773             :         use pm_kind, only: SKC => SK5
   10774             : #include "pm_matrixCopy@routines.inc.F90"
   10775             :     end procedure
   10776             : #endif
   10777             : 
   10778             : #if SK4_ENABLED
   10779             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_SK4
   10780             :         use pm_kind, only: SKC => SK4
   10781             : #include "pm_matrixCopy@routines.inc.F90"
   10782             :     end procedure
   10783             : #endif
   10784             : 
   10785             : #if SK3_ENABLED
   10786             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_SK3
   10787             :         use pm_kind, only: SKC => SK3
   10788             : #include "pm_matrixCopy@routines.inc.F90"
   10789             :     end procedure
   10790             : #endif
   10791             : 
   10792             : #if SK2_ENABLED
   10793             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_SK2
   10794             :         use pm_kind, only: SKC => SK2
   10795             : #include "pm_matrixCopy@routines.inc.F90"
   10796             :     end procedure
   10797             : #endif
   10798             : 
   10799             : #if SK1_ENABLED
   10800          16 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_SK1
   10801             :         use pm_kind, only: SKC => SK1
   10802             : #include "pm_matrixCopy@routines.inc.F90"
   10803          16 :     end procedure
   10804             : #endif
   10805             : 
   10806             : #undef SK_ENABLED
   10807             : 
   10808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10809             : 
   10810             : #define IK_ENABLED 1
   10811             : 
   10812             : #if IK5_ENABLED
   10813         286 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_IK5
   10814             :         use pm_kind, only: IKC => IK5
   10815             : #include "pm_matrixCopy@routines.inc.F90"
   10816         286 :     end procedure
   10817             : #endif
   10818             : 
   10819             : #if IK4_ENABLED
   10820         298 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_IK4
   10821             :         use pm_kind, only: IKC => IK4
   10822             : #include "pm_matrixCopy@routines.inc.F90"
   10823         298 :     end procedure
   10824             : #endif
   10825             : 
   10826             : #if IK3_ENABLED
   10827         309 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_IK3
   10828             :         use pm_kind, only: IKC => IK3
   10829             : #include "pm_matrixCopy@routines.inc.F90"
   10830         309 :     end procedure
   10831             : #endif
   10832             : 
   10833             : #if IK2_ENABLED
   10834         264 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_IK2
   10835             :         use pm_kind, only: IKC => IK2
   10836             : #include "pm_matrixCopy@routines.inc.F90"
   10837         264 :     end procedure
   10838             : #endif
   10839             : 
   10840             : #if IK1_ENABLED
   10841         288 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_IK1
   10842             :         use pm_kind, only: IKC => IK1
   10843             : #include "pm_matrixCopy@routines.inc.F90"
   10844         288 :     end procedure
   10845             : #endif
   10846             : 
   10847             : #undef IK_ENABLED
   10848             : 
   10849             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10850             : 
   10851             : #define LK_ENABLED 1
   10852             : 
   10853             : #if LK5_ENABLED
   10854           0 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_LK5
   10855             :         use pm_kind, only: LKC => LK5
   10856             : #include "pm_matrixCopy@routines.inc.F90"
   10857           0 :     end procedure
   10858             : #endif
   10859             : 
   10860             : #if LK4_ENABLED
   10861           0 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_LK4
   10862             :         use pm_kind, only: LKC => LK4
   10863             : #include "pm_matrixCopy@routines.inc.F90"
   10864           0 :     end procedure
   10865             : #endif
   10866             : 
   10867             : #if LK3_ENABLED
   10868           0 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_LK3
   10869             :         use pm_kind, only: LKC => LK3
   10870             : #include "pm_matrixCopy@routines.inc.F90"
   10871           0 :     end procedure
   10872             : #endif
   10873             : 
   10874             : #if LK2_ENABLED
   10875           0 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_LK2
   10876             :         use pm_kind, only: LKC => LK2
   10877             : #include "pm_matrixCopy@routines.inc.F90"
   10878           0 :     end procedure
   10879             : #endif
   10880             : 
   10881             : #if LK1_ENABLED
   10882           0 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_LK1
   10883             :         use pm_kind, only: LKC => LK1
   10884             : #include "pm_matrixCopy@routines.inc.F90"
   10885           0 :     end procedure
   10886             : #endif
   10887             : 
   10888             : #undef LK_ENABLED
   10889             : 
   10890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10891             : 
   10892             : #define CK_ENABLED 1
   10893             : 
   10894             : #if CK5_ENABLED
   10895             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_CK5
   10896             :         use pm_kind, only: CKC => CK5
   10897             : #include "pm_matrixCopy@routines.inc.F90"
   10898             :     end procedure
   10899             : #endif
   10900             : 
   10901             : #if CK4_ENABLED
   10902         878 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_CK4
   10903             :         use pm_kind, only: CKC => CK4
   10904             : #include "pm_matrixCopy@routines.inc.F90"
   10905         878 :     end procedure
   10906             : #endif
   10907             : 
   10908             : #if CK3_ENABLED
   10909         886 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_CK3
   10910             :         use pm_kind, only: CKC => CK3
   10911             : #include "pm_matrixCopy@routines.inc.F90"
   10912         886 :     end procedure
   10913             : #endif
   10914             : 
   10915             : #if CK2_ENABLED
   10916         890 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_CK2
   10917             :         use pm_kind, only: CKC => CK2
   10918             : #include "pm_matrixCopy@routines.inc.F90"
   10919         890 :     end procedure
   10920             : #endif
   10921             : 
   10922             : #if CK1_ENABLED
   10923         886 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_CK1
   10924             :         use pm_kind, only: CKC => CK1
   10925             : #include "pm_matrixCopy@routines.inc.F90"
   10926         886 :     end procedure
   10927             : #endif
   10928             : 
   10929             : #undef CK_ENABLED
   10930             : 
   10931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10932             : 
   10933             : #define RK_ENABLED 1
   10934             : 
   10935             : #if RK5_ENABLED
   10936             :     module procedure setMatCopy_RDP_RDP_UXD_AIO_RK5
   10937             :         use pm_kind, only: RKC => RK5
   10938             : #include "pm_matrixCopy@routines.inc.F90"
   10939             :     end procedure
   10940             : #endif
   10941             : 
   10942             : #if RK4_ENABLED
   10943        1070 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_RK4
   10944             :         use pm_kind, only: RKC => RK4
   10945             : #include "pm_matrixCopy@routines.inc.F90"
   10946        1070 :     end procedure
   10947             : #endif
   10948             : 
   10949             : #if RK3_ENABLED
   10950        1088 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_RK3
   10951             :         use pm_kind, only: RKC => RK3
   10952             : #include "pm_matrixCopy@routines.inc.F90"
   10953        1088 :     end procedure
   10954             : #endif
   10955             : 
   10956             : #if RK2_ENABLED
   10957        1058 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_RK2
   10958             :         use pm_kind, only: RKC => RK2
   10959             : #include "pm_matrixCopy@routines.inc.F90"
   10960        1058 :     end procedure
   10961             : #endif
   10962             : 
   10963             : #if RK1_ENABLED
   10964        1134 :     module procedure setMatCopy_RDP_RDP_UXD_AIO_RK1
   10965             :         use pm_kind, only: RKC => RK1
   10966             : #include "pm_matrixCopy@routines.inc.F90"
   10967        1134 :     end procedure
   10968             : #endif
   10969             : 
   10970             : #undef RK_ENABLED
   10971             : 
   10972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10973             : 
   10974             : #undef UXD_ENABLED
   10975             : #undef AIO_ENABLED
   10976             : 
   10977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10979             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10980             : 
   10981             : #define UXD_ENABLED 1
   10982             : #define TSO_ENABLED 1
   10983             : 
   10984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   10985             : 
   10986             : #define SK_ENABLED 1
   10987             : 
   10988             : #if SK5_ENABLED
   10989             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_SK5
   10990             :         use pm_kind, only: SKC => SK5
   10991             : #include "pm_matrixCopy@routines.inc.F90"
   10992             :     end procedure
   10993             : #endif
   10994             : 
   10995             : #if SK4_ENABLED
   10996             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_SK4
   10997             :         use pm_kind, only: SKC => SK4
   10998             : #include "pm_matrixCopy@routines.inc.F90"
   10999             :     end procedure
   11000             : #endif
   11001             : 
   11002             : #if SK3_ENABLED
   11003             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_SK3
   11004             :         use pm_kind, only: SKC => SK3
   11005             : #include "pm_matrixCopy@routines.inc.F90"
   11006             :     end procedure
   11007             : #endif
   11008             : 
   11009             : #if SK2_ENABLED
   11010             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_SK2
   11011             :         use pm_kind, only: SKC => SK2
   11012             : #include "pm_matrixCopy@routines.inc.F90"
   11013             :     end procedure
   11014             : #endif
   11015             : 
   11016             : #if SK1_ENABLED
   11017          10 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_SK1
   11018             :         use pm_kind, only: SKC => SK1
   11019             : #include "pm_matrixCopy@routines.inc.F90"
   11020          10 :     end procedure
   11021             : #endif
   11022             : 
   11023             : #undef SK_ENABLED
   11024             : 
   11025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11026             : 
   11027             : #define IK_ENABLED 1
   11028             : 
   11029             : #if IK5_ENABLED
   11030         562 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_IK5
   11031             :         use pm_kind, only: IKC => IK5
   11032             : #include "pm_matrixCopy@routines.inc.F90"
   11033         562 :     end procedure
   11034             : #endif
   11035             : 
   11036             : #if IK4_ENABLED
   11037         573 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_IK4
   11038             :         use pm_kind, only: IKC => IK4
   11039             : #include "pm_matrixCopy@routines.inc.F90"
   11040         573 :     end procedure
   11041             : #endif
   11042             : 
   11043             : #if IK3_ENABLED
   11044         583 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_IK3
   11045             :         use pm_kind, only: IKC => IK3
   11046             : #include "pm_matrixCopy@routines.inc.F90"
   11047         583 :     end procedure
   11048             : #endif
   11049             : 
   11050             : #if IK2_ENABLED
   11051         514 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_IK2
   11052             :         use pm_kind, only: IKC => IK2
   11053             : #include "pm_matrixCopy@routines.inc.F90"
   11054         514 :     end procedure
   11055             : #endif
   11056             : 
   11057             : #if IK1_ENABLED
   11058         601 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_IK1
   11059             :         use pm_kind, only: IKC => IK1
   11060             : #include "pm_matrixCopy@routines.inc.F90"
   11061         601 :     end procedure
   11062             : #endif
   11063             : 
   11064             : #undef IK_ENABLED
   11065             : 
   11066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11067             : 
   11068             : #define LK_ENABLED 1
   11069             : 
   11070             : #if LK5_ENABLED
   11071           0 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_LK5
   11072             :         use pm_kind, only: LKC => LK5
   11073             : #include "pm_matrixCopy@routines.inc.F90"
   11074           0 :     end procedure
   11075             : #endif
   11076             : 
   11077             : #if LK4_ENABLED
   11078           0 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_LK4
   11079             :         use pm_kind, only: LKC => LK4
   11080             : #include "pm_matrixCopy@routines.inc.F90"
   11081           0 :     end procedure
   11082             : #endif
   11083             : 
   11084             : #if LK3_ENABLED
   11085           0 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_LK3
   11086             :         use pm_kind, only: LKC => LK3
   11087             : #include "pm_matrixCopy@routines.inc.F90"
   11088           0 :     end procedure
   11089             : #endif
   11090             : 
   11091             : #if LK2_ENABLED
   11092           0 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_LK2
   11093             :         use pm_kind, only: LKC => LK2
   11094             : #include "pm_matrixCopy@routines.inc.F90"
   11095           0 :     end procedure
   11096             : #endif
   11097             : 
   11098             : #if LK1_ENABLED
   11099           0 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_LK1
   11100             :         use pm_kind, only: LKC => LK1
   11101             : #include "pm_matrixCopy@routines.inc.F90"
   11102           0 :     end procedure
   11103             : #endif
   11104             : 
   11105             : #undef LK_ENABLED
   11106             : 
   11107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11108             : 
   11109             : #define CK_ENABLED 1
   11110             : 
   11111             : #if CK5_ENABLED
   11112             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_CK5
   11113             :         use pm_kind, only: CKC => CK5
   11114             : #include "pm_matrixCopy@routines.inc.F90"
   11115             :     end procedure
   11116             : #endif
   11117             : 
   11118             : #if CK4_ENABLED
   11119         557 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_CK4
   11120             :         use pm_kind, only: CKC => CK4
   11121             : #include "pm_matrixCopy@routines.inc.F90"
   11122         557 :     end procedure
   11123             : #endif
   11124             : 
   11125             : #if CK3_ENABLED
   11126         570 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_CK3
   11127             :         use pm_kind, only: CKC => CK3
   11128             : #include "pm_matrixCopy@routines.inc.F90"
   11129         570 :     end procedure
   11130             : #endif
   11131             : 
   11132             : #if CK2_ENABLED
   11133         561 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_CK2
   11134             :         use pm_kind, only: CKC => CK2
   11135             : #include "pm_matrixCopy@routines.inc.F90"
   11136         561 :     end procedure
   11137             : #endif
   11138             : 
   11139             : #if CK1_ENABLED
   11140         580 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_CK1
   11141             :         use pm_kind, only: CKC => CK1
   11142             : #include "pm_matrixCopy@routines.inc.F90"
   11143         580 :     end procedure
   11144             : #endif
   11145             : 
   11146             : #undef CK_ENABLED
   11147             : 
   11148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11149             : 
   11150             : #define RK_ENABLED 1
   11151             : 
   11152             : #if RK5_ENABLED
   11153             :     module procedure setMatCopy_RDP_RDP_UXD_TSO_RK5
   11154             :         use pm_kind, only: RKC => RK5
   11155             : #include "pm_matrixCopy@routines.inc.F90"
   11156             :     end procedure
   11157             : #endif
   11158             : 
   11159             : #if RK4_ENABLED
   11160         543 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_RK4
   11161             :         use pm_kind, only: RKC => RK4
   11162             : #include "pm_matrixCopy@routines.inc.F90"
   11163         543 :     end procedure
   11164             : #endif
   11165             : 
   11166             : #if RK3_ENABLED
   11167         592 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_RK3
   11168             :         use pm_kind, only: RKC => RK3
   11169             : #include "pm_matrixCopy@routines.inc.F90"
   11170         592 :     end procedure
   11171             : #endif
   11172             : 
   11173             : #if RK2_ENABLED
   11174         522 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_RK2
   11175             :         use pm_kind, only: RKC => RK2
   11176             : #include "pm_matrixCopy@routines.inc.F90"
   11177         522 :     end procedure
   11178             : #endif
   11179             : 
   11180             : #if RK1_ENABLED
   11181         589 :     module procedure setMatCopy_RDP_RDP_UXD_TSO_RK1
   11182             :         use pm_kind, only: RKC => RK1
   11183             : #include "pm_matrixCopy@routines.inc.F90"
   11184         589 :     end procedure
   11185             : #endif
   11186             : 
   11187             : #undef RK_ENABLED
   11188             : 
   11189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11190             : 
   11191             : #undef UXD_ENABLED
   11192             : #undef TSO_ENABLED
   11193             : 
   11194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11196             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11197             : 
   11198             : #define UXD_ENABLED 1
   11199             : #define THO_ENABLED 1
   11200             : 
   11201             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11202             : 
   11203             : #define SK_ENABLED 1
   11204             : 
   11205             : #if SK5_ENABLED
   11206             :     module procedure setMatCopy_RDP_RDP_UXD_THO_SK5
   11207             :         use pm_kind, only: SKC => SK5
   11208             : #include "pm_matrixCopy@routines.inc.F90"
   11209             :     end procedure
   11210             : #endif
   11211             : 
   11212             : #if SK4_ENABLED
   11213             :     module procedure setMatCopy_RDP_RDP_UXD_THO_SK4
   11214             :         use pm_kind, only: SKC => SK4
   11215             : #include "pm_matrixCopy@routines.inc.F90"
   11216             :     end procedure
   11217             : #endif
   11218             : 
   11219             : #if SK3_ENABLED
   11220             :     module procedure setMatCopy_RDP_RDP_UXD_THO_SK3
   11221             :         use pm_kind, only: SKC => SK3
   11222             : #include "pm_matrixCopy@routines.inc.F90"
   11223             :     end procedure
   11224             : #endif
   11225             : 
   11226             : #if SK2_ENABLED
   11227             :     module procedure setMatCopy_RDP_RDP_UXD_THO_SK2
   11228             :         use pm_kind, only: SKC => SK2
   11229             : #include "pm_matrixCopy@routines.inc.F90"
   11230             :     end procedure
   11231             : #endif
   11232             : 
   11233             : #if SK1_ENABLED
   11234          16 :     module procedure setMatCopy_RDP_RDP_UXD_THO_SK1
   11235             :         use pm_kind, only: SKC => SK1
   11236             : #include "pm_matrixCopy@routines.inc.F90"
   11237          16 :     end procedure
   11238             : #endif
   11239             : 
   11240             : #undef SK_ENABLED
   11241             : 
   11242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11243             : 
   11244             : #define IK_ENABLED 1
   11245             : 
   11246             : #if IK5_ENABLED
   11247         562 :     module procedure setMatCopy_RDP_RDP_UXD_THO_IK5
   11248             :         use pm_kind, only: IKC => IK5
   11249             : #include "pm_matrixCopy@routines.inc.F90"
   11250         562 :     end procedure
   11251             : #endif
   11252             : 
   11253             : #if IK4_ENABLED
   11254         573 :     module procedure setMatCopy_RDP_RDP_UXD_THO_IK4
   11255             :         use pm_kind, only: IKC => IK4
   11256             : #include "pm_matrixCopy@routines.inc.F90"
   11257         573 :     end procedure
   11258             : #endif
   11259             : 
   11260             : #if IK3_ENABLED
   11261         583 :     module procedure setMatCopy_RDP_RDP_UXD_THO_IK3
   11262             :         use pm_kind, only: IKC => IK3
   11263             : #include "pm_matrixCopy@routines.inc.F90"
   11264         583 :     end procedure
   11265             : #endif
   11266             : 
   11267             : #if IK2_ENABLED
   11268         514 :     module procedure setMatCopy_RDP_RDP_UXD_THO_IK2
   11269             :         use pm_kind, only: IKC => IK2
   11270             : #include "pm_matrixCopy@routines.inc.F90"
   11271         514 :     end procedure
   11272             : #endif
   11273             : 
   11274             : #if IK1_ENABLED
   11275         601 :     module procedure setMatCopy_RDP_RDP_UXD_THO_IK1
   11276             :         use pm_kind, only: IKC => IK1
   11277             : #include "pm_matrixCopy@routines.inc.F90"
   11278         601 :     end procedure
   11279             : #endif
   11280             : 
   11281             : #undef IK_ENABLED
   11282             : 
   11283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11284             : 
   11285             : #define LK_ENABLED 1
   11286             : 
   11287             : #if LK5_ENABLED
   11288           0 :     module procedure setMatCopy_RDP_RDP_UXD_THO_LK5
   11289             :         use pm_kind, only: LKC => LK5
   11290             : #include "pm_matrixCopy@routines.inc.F90"
   11291           0 :     end procedure
   11292             : #endif
   11293             : 
   11294             : #if LK4_ENABLED
   11295           0 :     module procedure setMatCopy_RDP_RDP_UXD_THO_LK4
   11296             :         use pm_kind, only: LKC => LK4
   11297             : #include "pm_matrixCopy@routines.inc.F90"
   11298           0 :     end procedure
   11299             : #endif
   11300             : 
   11301             : #if LK3_ENABLED
   11302           0 :     module procedure setMatCopy_RDP_RDP_UXD_THO_LK3
   11303             :         use pm_kind, only: LKC => LK3
   11304             : #include "pm_matrixCopy@routines.inc.F90"
   11305           0 :     end procedure
   11306             : #endif
   11307             : 
   11308             : #if LK2_ENABLED
   11309           0 :     module procedure setMatCopy_RDP_RDP_UXD_THO_LK2
   11310             :         use pm_kind, only: LKC => LK2
   11311             : #include "pm_matrixCopy@routines.inc.F90"
   11312           0 :     end procedure
   11313             : #endif
   11314             : 
   11315             : #if LK1_ENABLED
   11316           0 :     module procedure setMatCopy_RDP_RDP_UXD_THO_LK1
   11317             :         use pm_kind, only: LKC => LK1
   11318             : #include "pm_matrixCopy@routines.inc.F90"
   11319           0 :     end procedure
   11320             : #endif
   11321             : 
   11322             : #undef LK_ENABLED
   11323             : 
   11324             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11325             : 
   11326             : #define CK_ENABLED 1
   11327             : 
   11328             : #if CK5_ENABLED
   11329             :     module procedure setMatCopy_RDP_RDP_UXD_THO_CK5
   11330             :         use pm_kind, only: CKC => CK5
   11331             : #include "pm_matrixCopy@routines.inc.F90"
   11332             :     end procedure
   11333             : #endif
   11334             : 
   11335             : #if CK4_ENABLED
   11336        1957 :     module procedure setMatCopy_RDP_RDP_UXD_THO_CK4
   11337             :         use pm_kind, only: CKC => CK4
   11338             : #include "pm_matrixCopy@routines.inc.F90"
   11339        1957 :     end procedure
   11340             : #endif
   11341             : 
   11342             : #if CK3_ENABLED
   11343        1970 :     module procedure setMatCopy_RDP_RDP_UXD_THO_CK3
   11344             :         use pm_kind, only: CKC => CK3
   11345             : #include "pm_matrixCopy@routines.inc.F90"
   11346        1970 :     end procedure
   11347             : #endif
   11348             : 
   11349             : #if CK2_ENABLED
   11350        1961 :     module procedure setMatCopy_RDP_RDP_UXD_THO_CK2
   11351             :         use pm_kind, only: CKC => CK2
   11352             : #include "pm_matrixCopy@routines.inc.F90"
   11353        1961 :     end procedure
   11354             : #endif
   11355             : 
   11356             : #if CK1_ENABLED
   11357        1992 :     module procedure setMatCopy_RDP_RDP_UXD_THO_CK1
   11358             :         use pm_kind, only: CKC => CK1
   11359             : #include "pm_matrixCopy@routines.inc.F90"
   11360        1992 :     end procedure
   11361             : #endif
   11362             : 
   11363             : #undef CK_ENABLED
   11364             : 
   11365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11366             : 
   11367             : #define RK_ENABLED 1
   11368             : 
   11369             : #if RK5_ENABLED
   11370             :     module procedure setMatCopy_RDP_RDP_UXD_THO_RK5
   11371             :         use pm_kind, only: RKC => RK5
   11372             : #include "pm_matrixCopy@routines.inc.F90"
   11373             :     end procedure
   11374             : #endif
   11375             : 
   11376             : #if RK4_ENABLED
   11377        1943 :     module procedure setMatCopy_RDP_RDP_UXD_THO_RK4
   11378             :         use pm_kind, only: RKC => RK4
   11379             : #include "pm_matrixCopy@routines.inc.F90"
   11380        1943 :     end procedure
   11381             : #endif
   11382             : 
   11383             : #if RK3_ENABLED
   11384        1992 :     module procedure setMatCopy_RDP_RDP_UXD_THO_RK3
   11385             :         use pm_kind, only: RKC => RK3
   11386             : #include "pm_matrixCopy@routines.inc.F90"
   11387        1992 :     end procedure
   11388             : #endif
   11389             : 
   11390             : #if RK2_ENABLED
   11391        3572 :     module procedure setMatCopy_RDP_RDP_UXD_THO_RK2
   11392             :         use pm_kind, only: RKC => RK2
   11393             : #include "pm_matrixCopy@routines.inc.F90"
   11394        3572 :     end procedure
   11395             : #endif
   11396             : 
   11397             : #if RK1_ENABLED
   11398        2009 :     module procedure setMatCopy_RDP_RDP_UXD_THO_RK1
   11399             :         use pm_kind, only: RKC => RK1
   11400             : #include "pm_matrixCopy@routines.inc.F90"
   11401        2009 :     end procedure
   11402             : #endif
   11403             : 
   11404             : #undef RK_ENABLED
   11405             : 
   11406             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11407             : 
   11408             : #undef UXD_ENABLED
   11409             : #undef THO_ENABLED
   11410             : 
   11411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11412             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11413             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11414             : 
   11415             : #define XLD_ENABLED 1
   11416             : #define AIO_ENABLED 1
   11417             : 
   11418             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11419             : 
   11420             : #define SK_ENABLED 1
   11421             : 
   11422             : #if SK5_ENABLED
   11423             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_SK5
   11424             :         use pm_kind, only: SKC => SK5
   11425             : #include "pm_matrixCopy@routines.inc.F90"
   11426             :     end procedure
   11427             : #endif
   11428             : 
   11429             : #if SK4_ENABLED
   11430             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_SK4
   11431             :         use pm_kind, only: SKC => SK4
   11432             : #include "pm_matrixCopy@routines.inc.F90"
   11433             :     end procedure
   11434             : #endif
   11435             : 
   11436             : #if SK3_ENABLED
   11437             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_SK3
   11438             :         use pm_kind, only: SKC => SK3
   11439             : #include "pm_matrixCopy@routines.inc.F90"
   11440             :     end procedure
   11441             : #endif
   11442             : 
   11443             : #if SK2_ENABLED
   11444             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_SK2
   11445             :         use pm_kind, only: SKC => SK2
   11446             : #include "pm_matrixCopy@routines.inc.F90"
   11447             :     end procedure
   11448             : #endif
   11449             : 
   11450             : #if SK1_ENABLED
   11451          14 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_SK1
   11452             :         use pm_kind, only: SKC => SK1
   11453             : #include "pm_matrixCopy@routines.inc.F90"
   11454          14 :     end procedure
   11455             : #endif
   11456             : 
   11457             : #undef SK_ENABLED
   11458             : 
   11459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11460             : 
   11461             : #define IK_ENABLED 1
   11462             : 
   11463             : #if IK5_ENABLED
   11464         286 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_IK5
   11465             :         use pm_kind, only: IKC => IK5
   11466             : #include "pm_matrixCopy@routines.inc.F90"
   11467         286 :     end procedure
   11468             : #endif
   11469             : 
   11470             : #if IK4_ENABLED
   11471         298 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_IK4
   11472             :         use pm_kind, only: IKC => IK4
   11473             : #include "pm_matrixCopy@routines.inc.F90"
   11474         298 :     end procedure
   11475             : #endif
   11476             : 
   11477             : #if IK3_ENABLED
   11478         309 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_IK3
   11479             :         use pm_kind, only: IKC => IK3
   11480             : #include "pm_matrixCopy@routines.inc.F90"
   11481         309 :     end procedure
   11482             : #endif
   11483             : 
   11484             : #if IK2_ENABLED
   11485         264 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_IK2
   11486             :         use pm_kind, only: IKC => IK2
   11487             : #include "pm_matrixCopy@routines.inc.F90"
   11488         264 :     end procedure
   11489             : #endif
   11490             : 
   11491             : #if IK1_ENABLED
   11492         288 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_IK1
   11493             :         use pm_kind, only: IKC => IK1
   11494             : #include "pm_matrixCopy@routines.inc.F90"
   11495         288 :     end procedure
   11496             : #endif
   11497             : 
   11498             : #undef IK_ENABLED
   11499             : 
   11500             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11501             : 
   11502             : #define LK_ENABLED 1
   11503             : 
   11504             : #if LK5_ENABLED
   11505           0 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_LK5
   11506             :         use pm_kind, only: LKC => LK5
   11507             : #include "pm_matrixCopy@routines.inc.F90"
   11508           0 :     end procedure
   11509             : #endif
   11510             : 
   11511             : #if LK4_ENABLED
   11512           0 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_LK4
   11513             :         use pm_kind, only: LKC => LK4
   11514             : #include "pm_matrixCopy@routines.inc.F90"
   11515           0 :     end procedure
   11516             : #endif
   11517             : 
   11518             : #if LK3_ENABLED
   11519           0 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_LK3
   11520             :         use pm_kind, only: LKC => LK3
   11521             : #include "pm_matrixCopy@routines.inc.F90"
   11522           0 :     end procedure
   11523             : #endif
   11524             : 
   11525             : #if LK2_ENABLED
   11526           0 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_LK2
   11527             :         use pm_kind, only: LKC => LK2
   11528             : #include "pm_matrixCopy@routines.inc.F90"
   11529           0 :     end procedure
   11530             : #endif
   11531             : 
   11532             : #if LK1_ENABLED
   11533           0 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_LK1
   11534             :         use pm_kind, only: LKC => LK1
   11535             : #include "pm_matrixCopy@routines.inc.F90"
   11536           0 :     end procedure
   11537             : #endif
   11538             : 
   11539             : #undef LK_ENABLED
   11540             : 
   11541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11542             : 
   11543             : #define CK_ENABLED 1
   11544             : 
   11545             : #if CK5_ENABLED
   11546             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_CK5
   11547             :         use pm_kind, only: CKC => CK5
   11548             : #include "pm_matrixCopy@routines.inc.F90"
   11549             :     end procedure
   11550             : #endif
   11551             : 
   11552             : #if CK4_ENABLED
   11553         978 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_CK4
   11554             :         use pm_kind, only: CKC => CK4
   11555             : #include "pm_matrixCopy@routines.inc.F90"
   11556         978 :     end procedure
   11557             : #endif
   11558             : 
   11559             : #if CK3_ENABLED
   11560         986 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_CK3
   11561             :         use pm_kind, only: CKC => CK3
   11562             : #include "pm_matrixCopy@routines.inc.F90"
   11563         986 :     end procedure
   11564             : #endif
   11565             : 
   11566             : #if CK2_ENABLED
   11567         990 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_CK2
   11568             :         use pm_kind, only: CKC => CK2
   11569             : #include "pm_matrixCopy@routines.inc.F90"
   11570         990 :     end procedure
   11571             : #endif
   11572             : 
   11573             : #if CK1_ENABLED
   11574         986 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_CK1
   11575             :         use pm_kind, only: CKC => CK1
   11576             : #include "pm_matrixCopy@routines.inc.F90"
   11577         986 :     end procedure
   11578             : #endif
   11579             : 
   11580             : #undef CK_ENABLED
   11581             : 
   11582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11583             : 
   11584             : #define RK_ENABLED 1
   11585             : 
   11586             : #if RK5_ENABLED
   11587             :     module procedure setMatCopy_RDP_RDP_XLD_AIO_RK5
   11588             :         use pm_kind, only: RKC => RK5
   11589             : #include "pm_matrixCopy@routines.inc.F90"
   11590             :     end procedure
   11591             : #endif
   11592             : 
   11593             : #if RK4_ENABLED
   11594         970 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_RK4
   11595             :         use pm_kind, only: RKC => RK4
   11596             : #include "pm_matrixCopy@routines.inc.F90"
   11597         970 :     end procedure
   11598             : #endif
   11599             : 
   11600             : #if RK3_ENABLED
   11601         988 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_RK3
   11602             :         use pm_kind, only: RKC => RK3
   11603             : #include "pm_matrixCopy@routines.inc.F90"
   11604         988 :     end procedure
   11605             : #endif
   11606             : 
   11607             : #if RK2_ENABLED
   11608         958 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_RK2
   11609             :         use pm_kind, only: RKC => RK2
   11610             : #include "pm_matrixCopy@routines.inc.F90"
   11611         958 :     end procedure
   11612             : #endif
   11613             : 
   11614             : #if RK1_ENABLED
   11615        1032 :     module procedure setMatCopy_RDP_RDP_XLD_AIO_RK1
   11616             :         use pm_kind, only: RKC => RK1
   11617             : #include "pm_matrixCopy@routines.inc.F90"
   11618        1032 :     end procedure
   11619             : #endif
   11620             : 
   11621             : #undef RK_ENABLED
   11622             : 
   11623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11624             : 
   11625             : #undef XLD_ENABLED
   11626             : #undef AIO_ENABLED
   11627             : 
   11628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11631             : 
   11632             : #define XLD_ENABLED 1
   11633             : #define TSO_ENABLED 1
   11634             : 
   11635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11636             : 
   11637             : #define SK_ENABLED 1
   11638             : 
   11639             : #if SK5_ENABLED
   11640             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_SK5
   11641             :         use pm_kind, only: SKC => SK5
   11642             : #include "pm_matrixCopy@routines.inc.F90"
   11643             :     end procedure
   11644             : #endif
   11645             : 
   11646             : #if SK4_ENABLED
   11647             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_SK4
   11648             :         use pm_kind, only: SKC => SK4
   11649             : #include "pm_matrixCopy@routines.inc.F90"
   11650             :     end procedure
   11651             : #endif
   11652             : 
   11653             : #if SK3_ENABLED
   11654             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_SK3
   11655             :         use pm_kind, only: SKC => SK3
   11656             : #include "pm_matrixCopy@routines.inc.F90"
   11657             :     end procedure
   11658             : #endif
   11659             : 
   11660             : #if SK2_ENABLED
   11661             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_SK2
   11662             :         use pm_kind, only: SKC => SK2
   11663             : #include "pm_matrixCopy@routines.inc.F90"
   11664             :     end procedure
   11665             : #endif
   11666             : 
   11667             : #if SK1_ENABLED
   11668          10 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_SK1
   11669             :         use pm_kind, only: SKC => SK1
   11670             : #include "pm_matrixCopy@routines.inc.F90"
   11671          10 :     end procedure
   11672             : #endif
   11673             : 
   11674             : #undef SK_ENABLED
   11675             : 
   11676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11677             : 
   11678             : #define IK_ENABLED 1
   11679             : 
   11680             : #if IK5_ENABLED
   11681         562 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_IK5
   11682             :         use pm_kind, only: IKC => IK5
   11683             : #include "pm_matrixCopy@routines.inc.F90"
   11684         562 :     end procedure
   11685             : #endif
   11686             : 
   11687             : #if IK4_ENABLED
   11688         573 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_IK4
   11689             :         use pm_kind, only: IKC => IK4
   11690             : #include "pm_matrixCopy@routines.inc.F90"
   11691         573 :     end procedure
   11692             : #endif
   11693             : 
   11694             : #if IK3_ENABLED
   11695         583 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_IK3
   11696             :         use pm_kind, only: IKC => IK3
   11697             : #include "pm_matrixCopy@routines.inc.F90"
   11698         583 :     end procedure
   11699             : #endif
   11700             : 
   11701             : #if IK2_ENABLED
   11702         514 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_IK2
   11703             :         use pm_kind, only: IKC => IK2
   11704             : #include "pm_matrixCopy@routines.inc.F90"
   11705         514 :     end procedure
   11706             : #endif
   11707             : 
   11708             : #if IK1_ENABLED
   11709         601 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_IK1
   11710             :         use pm_kind, only: IKC => IK1
   11711             : #include "pm_matrixCopy@routines.inc.F90"
   11712         601 :     end procedure
   11713             : #endif
   11714             : 
   11715             : #undef IK_ENABLED
   11716             : 
   11717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11718             : 
   11719             : #define LK_ENABLED 1
   11720             : 
   11721             : #if LK5_ENABLED
   11722           0 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_LK5
   11723             :         use pm_kind, only: LKC => LK5
   11724             : #include "pm_matrixCopy@routines.inc.F90"
   11725           0 :     end procedure
   11726             : #endif
   11727             : 
   11728             : #if LK4_ENABLED
   11729           0 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_LK4
   11730             :         use pm_kind, only: LKC => LK4
   11731             : #include "pm_matrixCopy@routines.inc.F90"
   11732           0 :     end procedure
   11733             : #endif
   11734             : 
   11735             : #if LK3_ENABLED
   11736           0 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_LK3
   11737             :         use pm_kind, only: LKC => LK3
   11738             : #include "pm_matrixCopy@routines.inc.F90"
   11739           0 :     end procedure
   11740             : #endif
   11741             : 
   11742             : #if LK2_ENABLED
   11743           0 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_LK2
   11744             :         use pm_kind, only: LKC => LK2
   11745             : #include "pm_matrixCopy@routines.inc.F90"
   11746           0 :     end procedure
   11747             : #endif
   11748             : 
   11749             : #if LK1_ENABLED
   11750           0 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_LK1
   11751             :         use pm_kind, only: LKC => LK1
   11752             : #include "pm_matrixCopy@routines.inc.F90"
   11753           0 :     end procedure
   11754             : #endif
   11755             : 
   11756             : #undef LK_ENABLED
   11757             : 
   11758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11759             : 
   11760             : #define CK_ENABLED 1
   11761             : 
   11762             : #if CK5_ENABLED
   11763             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_CK5
   11764             :         use pm_kind, only: CKC => CK5
   11765             : #include "pm_matrixCopy@routines.inc.F90"
   11766             :     end procedure
   11767             : #endif
   11768             : 
   11769             : #if CK4_ENABLED
   11770         557 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_CK4
   11771             :         use pm_kind, only: CKC => CK4
   11772             : #include "pm_matrixCopy@routines.inc.F90"
   11773         557 :     end procedure
   11774             : #endif
   11775             : 
   11776             : #if CK3_ENABLED
   11777         570 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_CK3
   11778             :         use pm_kind, only: CKC => CK3
   11779             : #include "pm_matrixCopy@routines.inc.F90"
   11780         570 :     end procedure
   11781             : #endif
   11782             : 
   11783             : #if CK2_ENABLED
   11784         561 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_CK2
   11785             :         use pm_kind, only: CKC => CK2
   11786             : #include "pm_matrixCopy@routines.inc.F90"
   11787         561 :     end procedure
   11788             : #endif
   11789             : 
   11790             : #if CK1_ENABLED
   11791         580 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_CK1
   11792             :         use pm_kind, only: CKC => CK1
   11793             : #include "pm_matrixCopy@routines.inc.F90"
   11794         580 :     end procedure
   11795             : #endif
   11796             : 
   11797             : #undef CK_ENABLED
   11798             : 
   11799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11800             : 
   11801             : #define RK_ENABLED 1
   11802             : 
   11803             : #if RK5_ENABLED
   11804             :     module procedure setMatCopy_RDP_RDP_XLD_TSO_RK5
   11805             :         use pm_kind, only: RKC => RK5
   11806             : #include "pm_matrixCopy@routines.inc.F90"
   11807             :     end procedure
   11808             : #endif
   11809             : 
   11810             : #if RK4_ENABLED
   11811         543 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_RK4
   11812             :         use pm_kind, only: RKC => RK4
   11813             : #include "pm_matrixCopy@routines.inc.F90"
   11814         543 :     end procedure
   11815             : #endif
   11816             : 
   11817             : #if RK3_ENABLED
   11818         592 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_RK3
   11819             :         use pm_kind, only: RKC => RK3
   11820             : #include "pm_matrixCopy@routines.inc.F90"
   11821         592 :     end procedure
   11822             : #endif
   11823             : 
   11824             : #if RK2_ENABLED
   11825         522 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_RK2
   11826             :         use pm_kind, only: RKC => RK2
   11827             : #include "pm_matrixCopy@routines.inc.F90"
   11828         522 :     end procedure
   11829             : #endif
   11830             : 
   11831             : #if RK1_ENABLED
   11832         589 :     module procedure setMatCopy_RDP_RDP_XLD_TSO_RK1
   11833             :         use pm_kind, only: RKC => RK1
   11834             : #include "pm_matrixCopy@routines.inc.F90"
   11835         589 :     end procedure
   11836             : #endif
   11837             : 
   11838             : #undef RK_ENABLED
   11839             : 
   11840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11841             : 
   11842             : #undef XLD_ENABLED
   11843             : #undef TSO_ENABLED
   11844             : 
   11845             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11846             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11847             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11848             : 
   11849             : #define XLD_ENABLED 1
   11850             : #define THO_ENABLED 1
   11851             : 
   11852             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11853             : 
   11854             : #define SK_ENABLED 1
   11855             : 
   11856             : #if SK5_ENABLED
   11857             :     module procedure setMatCopy_RDP_RDP_XLD_THO_SK5
   11858             :         use pm_kind, only: SKC => SK5
   11859             : #include "pm_matrixCopy@routines.inc.F90"
   11860             :     end procedure
   11861             : #endif
   11862             : 
   11863             : #if SK4_ENABLED
   11864             :     module procedure setMatCopy_RDP_RDP_XLD_THO_SK4
   11865             :         use pm_kind, only: SKC => SK4
   11866             : #include "pm_matrixCopy@routines.inc.F90"
   11867             :     end procedure
   11868             : #endif
   11869             : 
   11870             : #if SK3_ENABLED
   11871             :     module procedure setMatCopy_RDP_RDP_XLD_THO_SK3
   11872             :         use pm_kind, only: SKC => SK3
   11873             : #include "pm_matrixCopy@routines.inc.F90"
   11874             :     end procedure
   11875             : #endif
   11876             : 
   11877             : #if SK2_ENABLED
   11878             :     module procedure setMatCopy_RDP_RDP_XLD_THO_SK2
   11879             :         use pm_kind, only: SKC => SK2
   11880             : #include "pm_matrixCopy@routines.inc.F90"
   11881             :     end procedure
   11882             : #endif
   11883             : 
   11884             : #if SK1_ENABLED
   11885          14 :     module procedure setMatCopy_RDP_RDP_XLD_THO_SK1
   11886             :         use pm_kind, only: SKC => SK1
   11887             : #include "pm_matrixCopy@routines.inc.F90"
   11888          14 :     end procedure
   11889             : #endif
   11890             : 
   11891             : #undef SK_ENABLED
   11892             : 
   11893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11894             : 
   11895             : #define IK_ENABLED 1
   11896             : 
   11897             : #if IK5_ENABLED
   11898         562 :     module procedure setMatCopy_RDP_RDP_XLD_THO_IK5
   11899             :         use pm_kind, only: IKC => IK5
   11900             : #include "pm_matrixCopy@routines.inc.F90"
   11901         562 :     end procedure
   11902             : #endif
   11903             : 
   11904             : #if IK4_ENABLED
   11905         573 :     module procedure setMatCopy_RDP_RDP_XLD_THO_IK4
   11906             :         use pm_kind, only: IKC => IK4
   11907             : #include "pm_matrixCopy@routines.inc.F90"
   11908         573 :     end procedure
   11909             : #endif
   11910             : 
   11911             : #if IK3_ENABLED
   11912         583 :     module procedure setMatCopy_RDP_RDP_XLD_THO_IK3
   11913             :         use pm_kind, only: IKC => IK3
   11914             : #include "pm_matrixCopy@routines.inc.F90"
   11915         583 :     end procedure
   11916             : #endif
   11917             : 
   11918             : #if IK2_ENABLED
   11919         514 :     module procedure setMatCopy_RDP_RDP_XLD_THO_IK2
   11920             :         use pm_kind, only: IKC => IK2
   11921             : #include "pm_matrixCopy@routines.inc.F90"
   11922         514 :     end procedure
   11923             : #endif
   11924             : 
   11925             : #if IK1_ENABLED
   11926         601 :     module procedure setMatCopy_RDP_RDP_XLD_THO_IK1
   11927             :         use pm_kind, only: IKC => IK1
   11928             : #include "pm_matrixCopy@routines.inc.F90"
   11929         601 :     end procedure
   11930             : #endif
   11931             : 
   11932             : #undef IK_ENABLED
   11933             : 
   11934             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11935             : 
   11936             : #define LK_ENABLED 1
   11937             : 
   11938             : #if LK5_ENABLED
   11939           0 :     module procedure setMatCopy_RDP_RDP_XLD_THO_LK5
   11940             :         use pm_kind, only: LKC => LK5
   11941             : #include "pm_matrixCopy@routines.inc.F90"
   11942           0 :     end procedure
   11943             : #endif
   11944             : 
   11945             : #if LK4_ENABLED
   11946           0 :     module procedure setMatCopy_RDP_RDP_XLD_THO_LK4
   11947             :         use pm_kind, only: LKC => LK4
   11948             : #include "pm_matrixCopy@routines.inc.F90"
   11949           0 :     end procedure
   11950             : #endif
   11951             : 
   11952             : #if LK3_ENABLED
   11953           0 :     module procedure setMatCopy_RDP_RDP_XLD_THO_LK3
   11954             :         use pm_kind, only: LKC => LK3
   11955             : #include "pm_matrixCopy@routines.inc.F90"
   11956           0 :     end procedure
   11957             : #endif
   11958             : 
   11959             : #if LK2_ENABLED
   11960           0 :     module procedure setMatCopy_RDP_RDP_XLD_THO_LK2
   11961             :         use pm_kind, only: LKC => LK2
   11962             : #include "pm_matrixCopy@routines.inc.F90"
   11963           0 :     end procedure
   11964             : #endif
   11965             : 
   11966             : #if LK1_ENABLED
   11967           0 :     module procedure setMatCopy_RDP_RDP_XLD_THO_LK1
   11968             :         use pm_kind, only: LKC => LK1
   11969             : #include "pm_matrixCopy@routines.inc.F90"
   11970           0 :     end procedure
   11971             : #endif
   11972             : 
   11973             : #undef LK_ENABLED
   11974             : 
   11975             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   11976             : 
   11977             : #define CK_ENABLED 1
   11978             : 
   11979             : #if CK5_ENABLED
   11980             :     module procedure setMatCopy_RDP_RDP_XLD_THO_CK5
   11981             :         use pm_kind, only: CKC => CK5
   11982             : #include "pm_matrixCopy@routines.inc.F90"
   11983             :     end procedure
   11984             : #endif
   11985             : 
   11986             : #if CK4_ENABLED
   11987        1957 :     module procedure setMatCopy_RDP_RDP_XLD_THO_CK4
   11988             :         use pm_kind, only: CKC => CK4
   11989             : #include "pm_matrixCopy@routines.inc.F90"
   11990        1957 :     end procedure
   11991             : #endif
   11992             : 
   11993             : #if CK3_ENABLED
   11994        1970 :     module procedure setMatCopy_RDP_RDP_XLD_THO_CK3
   11995             :         use pm_kind, only: CKC => CK3
   11996             : #include "pm_matrixCopy@routines.inc.F90"
   11997        1970 :     end procedure
   11998             : #endif
   11999             : 
   12000             : #if CK2_ENABLED
   12001        1961 :     module procedure setMatCopy_RDP_RDP_XLD_THO_CK2
   12002             :         use pm_kind, only: CKC => CK2
   12003             : #include "pm_matrixCopy@routines.inc.F90"
   12004        1961 :     end procedure
   12005             : #endif
   12006             : 
   12007             : #if CK1_ENABLED
   12008        1992 :     module procedure setMatCopy_RDP_RDP_XLD_THO_CK1
   12009             :         use pm_kind, only: CKC => CK1
   12010             : #include "pm_matrixCopy@routines.inc.F90"
   12011        1992 :     end procedure
   12012             : #endif
   12013             : 
   12014             : #undef CK_ENABLED
   12015             : 
   12016             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12017             : 
   12018             : #define RK_ENABLED 1
   12019             : 
   12020             : #if RK5_ENABLED
   12021             :     module procedure setMatCopy_RDP_RDP_XLD_THO_RK5
   12022             :         use pm_kind, only: RKC => RK5
   12023             : #include "pm_matrixCopy@routines.inc.F90"
   12024             :     end procedure
   12025             : #endif
   12026             : 
   12027             : #if RK4_ENABLED
   12028        1943 :     module procedure setMatCopy_RDP_RDP_XLD_THO_RK4
   12029             :         use pm_kind, only: RKC => RK4
   12030             : #include "pm_matrixCopy@routines.inc.F90"
   12031        1943 :     end procedure
   12032             : #endif
   12033             : 
   12034             : #if RK3_ENABLED
   12035        1992 :     module procedure setMatCopy_RDP_RDP_XLD_THO_RK3
   12036             :         use pm_kind, only: RKC => RK3
   12037             : #include "pm_matrixCopy@routines.inc.F90"
   12038        1992 :     end procedure
   12039             : #endif
   12040             : 
   12041             : #if RK2_ENABLED
   12042        3595 :     module procedure setMatCopy_RDP_RDP_XLD_THO_RK2
   12043             :         use pm_kind, only: RKC => RK2
   12044             : #include "pm_matrixCopy@routines.inc.F90"
   12045        3595 :     end procedure
   12046             : #endif
   12047             : 
   12048             : #if RK1_ENABLED
   12049        2011 :     module procedure setMatCopy_RDP_RDP_XLD_THO_RK1
   12050             :         use pm_kind, only: RKC => RK1
   12051             : #include "pm_matrixCopy@routines.inc.F90"
   12052        2011 :     end procedure
   12053             : #endif
   12054             : 
   12055             : #undef RK_ENABLED
   12056             : 
   12057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12058             : 
   12059             : #undef XLD_ENABLED
   12060             : #undef THO_ENABLED
   12061             : 
   12062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12065             : 
   12066             : #define ULX_ENABLED 1
   12067             : #define AIO_ENABLED 1
   12068             : 
   12069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12070             : 
   12071             : #define SK_ENABLED 1
   12072             : 
   12073             : #if SK5_ENABLED
   12074             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_SK5
   12075             :         use pm_kind, only: SKC => SK5
   12076             : #include "pm_matrixCopy@routines.inc.F90"
   12077             :     end procedure
   12078             : #endif
   12079             : 
   12080             : #if SK4_ENABLED
   12081             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_SK4
   12082             :         use pm_kind, only: SKC => SK4
   12083             : #include "pm_matrixCopy@routines.inc.F90"
   12084             :     end procedure
   12085             : #endif
   12086             : 
   12087             : #if SK3_ENABLED
   12088             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_SK3
   12089             :         use pm_kind, only: SKC => SK3
   12090             : #include "pm_matrixCopy@routines.inc.F90"
   12091             :     end procedure
   12092             : #endif
   12093             : 
   12094             : #if SK2_ENABLED
   12095             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_SK2
   12096             :         use pm_kind, only: SKC => SK2
   12097             : #include "pm_matrixCopy@routines.inc.F90"
   12098             :     end procedure
   12099             : #endif
   12100             : 
   12101             : #if SK1_ENABLED
   12102          12 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_SK1
   12103             :         use pm_kind, only: SKC => SK1
   12104             : #include "pm_matrixCopy@routines.inc.F90"
   12105          12 :     end procedure
   12106             : #endif
   12107             : 
   12108             : #undef SK_ENABLED
   12109             : 
   12110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12111             : 
   12112             : #define IK_ENABLED 1
   12113             : 
   12114             : #if IK5_ENABLED
   12115           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_IK5
   12116             :         use pm_kind, only: IKC => IK5
   12117             : #include "pm_matrixCopy@routines.inc.F90"
   12118           0 :     end procedure
   12119             : #endif
   12120             : 
   12121             : #if IK4_ENABLED
   12122           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_IK4
   12123             :         use pm_kind, only: IKC => IK4
   12124             : #include "pm_matrixCopy@routines.inc.F90"
   12125           0 :     end procedure
   12126             : #endif
   12127             : 
   12128             : #if IK3_ENABLED
   12129           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_IK3
   12130             :         use pm_kind, only: IKC => IK3
   12131             : #include "pm_matrixCopy@routines.inc.F90"
   12132           0 :     end procedure
   12133             : #endif
   12134             : 
   12135             : #if IK2_ENABLED
   12136           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_IK2
   12137             :         use pm_kind, only: IKC => IK2
   12138             : #include "pm_matrixCopy@routines.inc.F90"
   12139           0 :     end procedure
   12140             : #endif
   12141             : 
   12142             : #if IK1_ENABLED
   12143           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_IK1
   12144             :         use pm_kind, only: IKC => IK1
   12145             : #include "pm_matrixCopy@routines.inc.F90"
   12146           0 :     end procedure
   12147             : #endif
   12148             : 
   12149             : #undef IK_ENABLED
   12150             : 
   12151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12152             : 
   12153             : #define LK_ENABLED 1
   12154             : 
   12155             : #if LK5_ENABLED
   12156           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_LK5
   12157             :         use pm_kind, only: LKC => LK5
   12158             : #include "pm_matrixCopy@routines.inc.F90"
   12159           0 :     end procedure
   12160             : #endif
   12161             : 
   12162             : #if LK4_ENABLED
   12163           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_LK4
   12164             :         use pm_kind, only: LKC => LK4
   12165             : #include "pm_matrixCopy@routines.inc.F90"
   12166           0 :     end procedure
   12167             : #endif
   12168             : 
   12169             : #if LK3_ENABLED
   12170           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_LK3
   12171             :         use pm_kind, only: LKC => LK3
   12172             : #include "pm_matrixCopy@routines.inc.F90"
   12173           0 :     end procedure
   12174             : #endif
   12175             : 
   12176             : #if LK2_ENABLED
   12177           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_LK2
   12178             :         use pm_kind, only: LKC => LK2
   12179             : #include "pm_matrixCopy@routines.inc.F90"
   12180           0 :     end procedure
   12181             : #endif
   12182             : 
   12183             : #if LK1_ENABLED
   12184           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_LK1
   12185             :         use pm_kind, only: LKC => LK1
   12186             : #include "pm_matrixCopy@routines.inc.F90"
   12187           0 :     end procedure
   12188             : #endif
   12189             : 
   12190             : #undef LK_ENABLED
   12191             : 
   12192             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12193             : 
   12194             : #define CK_ENABLED 1
   12195             : 
   12196             : #if CK5_ENABLED
   12197             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_CK5
   12198             :         use pm_kind, only: CKC => CK5
   12199             : #include "pm_matrixCopy@routines.inc.F90"
   12200             :     end procedure
   12201             : #endif
   12202             : 
   12203             : #if CK4_ENABLED
   12204           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_CK4
   12205             :         use pm_kind, only: CKC => CK4
   12206             : #include "pm_matrixCopy@routines.inc.F90"
   12207           0 :     end procedure
   12208             : #endif
   12209             : 
   12210             : #if CK3_ENABLED
   12211           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_CK3
   12212             :         use pm_kind, only: CKC => CK3
   12213             : #include "pm_matrixCopy@routines.inc.F90"
   12214           0 :     end procedure
   12215             : #endif
   12216             : 
   12217             : #if CK2_ENABLED
   12218           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_CK2
   12219             :         use pm_kind, only: CKC => CK2
   12220             : #include "pm_matrixCopy@routines.inc.F90"
   12221           0 :     end procedure
   12222             : #endif
   12223             : 
   12224             : #if CK1_ENABLED
   12225           4 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_CK1
   12226             :         use pm_kind, only: CKC => CK1
   12227             : #include "pm_matrixCopy@routines.inc.F90"
   12228           4 :     end procedure
   12229             : #endif
   12230             : 
   12231             : #undef CK_ENABLED
   12232             : 
   12233             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12234             : 
   12235             : #define RK_ENABLED 1
   12236             : 
   12237             : #if RK5_ENABLED
   12238             :     module procedure setMatCopy_RDP_RDP_ULX_AIO_RK5
   12239             :         use pm_kind, only: RKC => RK5
   12240             : #include "pm_matrixCopy@routines.inc.F90"
   12241             :     end procedure
   12242             : #endif
   12243             : 
   12244             : #if RK4_ENABLED
   12245           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_RK4
   12246             :         use pm_kind, only: RKC => RK4
   12247             : #include "pm_matrixCopy@routines.inc.F90"
   12248           0 :     end procedure
   12249             : #endif
   12250             : 
   12251             : #if RK3_ENABLED
   12252           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_RK3
   12253             :         use pm_kind, only: RKC => RK3
   12254             : #include "pm_matrixCopy@routines.inc.F90"
   12255           0 :     end procedure
   12256             : #endif
   12257             : 
   12258             : #if RK2_ENABLED
   12259           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_RK2
   12260             :         use pm_kind, only: RKC => RK2
   12261             : #include "pm_matrixCopy@routines.inc.F90"
   12262           0 :     end procedure
   12263             : #endif
   12264             : 
   12265             : #if RK1_ENABLED
   12266           0 :     module procedure setMatCopy_RDP_RDP_ULX_AIO_RK1
   12267             :         use pm_kind, only: RKC => RK1
   12268             : #include "pm_matrixCopy@routines.inc.F90"
   12269           0 :     end procedure
   12270             : #endif
   12271             : 
   12272             : #undef RK_ENABLED
   12273             : 
   12274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12275             : 
   12276             : #undef ULX_ENABLED
   12277             : #undef AIO_ENABLED
   12278             : 
   12279             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12282             : 
   12283             : #define ULX_ENABLED 1
   12284             : #define TSO_ENABLED 1
   12285             : 
   12286             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12287             : 
   12288             : #define SK_ENABLED 1
   12289             : 
   12290             : #if SK5_ENABLED
   12291             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_SK5
   12292             :         use pm_kind, only: SKC => SK5
   12293             : #include "pm_matrixCopy@routines.inc.F90"
   12294             :     end procedure
   12295             : #endif
   12296             : 
   12297             : #if SK4_ENABLED
   12298             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_SK4
   12299             :         use pm_kind, only: SKC => SK4
   12300             : #include "pm_matrixCopy@routines.inc.F90"
   12301             :     end procedure
   12302             : #endif
   12303             : 
   12304             : #if SK3_ENABLED
   12305             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_SK3
   12306             :         use pm_kind, only: SKC => SK3
   12307             : #include "pm_matrixCopy@routines.inc.F90"
   12308             :     end procedure
   12309             : #endif
   12310             : 
   12311             : #if SK2_ENABLED
   12312             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_SK2
   12313             :         use pm_kind, only: SKC => SK2
   12314             : #include "pm_matrixCopy@routines.inc.F90"
   12315             :     end procedure
   12316             : #endif
   12317             : 
   12318             : #if SK1_ENABLED
   12319          12 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_SK1
   12320             :         use pm_kind, only: SKC => SK1
   12321             : #include "pm_matrixCopy@routines.inc.F90"
   12322          12 :     end procedure
   12323             : #endif
   12324             : 
   12325             : #undef SK_ENABLED
   12326             : 
   12327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12328             : 
   12329             : #define IK_ENABLED 1
   12330             : 
   12331             : #if IK5_ENABLED
   12332           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_IK5
   12333             :         use pm_kind, only: IKC => IK5
   12334             : #include "pm_matrixCopy@routines.inc.F90"
   12335           0 :     end procedure
   12336             : #endif
   12337             : 
   12338             : #if IK4_ENABLED
   12339           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_IK4
   12340             :         use pm_kind, only: IKC => IK4
   12341             : #include "pm_matrixCopy@routines.inc.F90"
   12342           0 :     end procedure
   12343             : #endif
   12344             : 
   12345             : #if IK3_ENABLED
   12346           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_IK3
   12347             :         use pm_kind, only: IKC => IK3
   12348             : #include "pm_matrixCopy@routines.inc.F90"
   12349           0 :     end procedure
   12350             : #endif
   12351             : 
   12352             : #if IK2_ENABLED
   12353           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_IK2
   12354             :         use pm_kind, only: IKC => IK2
   12355             : #include "pm_matrixCopy@routines.inc.F90"
   12356           0 :     end procedure
   12357             : #endif
   12358             : 
   12359             : #if IK1_ENABLED
   12360           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_IK1
   12361             :         use pm_kind, only: IKC => IK1
   12362             : #include "pm_matrixCopy@routines.inc.F90"
   12363           0 :     end procedure
   12364             : #endif
   12365             : 
   12366             : #undef IK_ENABLED
   12367             : 
   12368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12369             : 
   12370             : #define LK_ENABLED 1
   12371             : 
   12372             : #if LK5_ENABLED
   12373           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_LK5
   12374             :         use pm_kind, only: LKC => LK5
   12375             : #include "pm_matrixCopy@routines.inc.F90"
   12376           0 :     end procedure
   12377             : #endif
   12378             : 
   12379             : #if LK4_ENABLED
   12380           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_LK4
   12381             :         use pm_kind, only: LKC => LK4
   12382             : #include "pm_matrixCopy@routines.inc.F90"
   12383           0 :     end procedure
   12384             : #endif
   12385             : 
   12386             : #if LK3_ENABLED
   12387           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_LK3
   12388             :         use pm_kind, only: LKC => LK3
   12389             : #include "pm_matrixCopy@routines.inc.F90"
   12390           0 :     end procedure
   12391             : #endif
   12392             : 
   12393             : #if LK2_ENABLED
   12394           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_LK2
   12395             :         use pm_kind, only: LKC => LK2
   12396             : #include "pm_matrixCopy@routines.inc.F90"
   12397           0 :     end procedure
   12398             : #endif
   12399             : 
   12400             : #if LK1_ENABLED
   12401           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_LK1
   12402             :         use pm_kind, only: LKC => LK1
   12403             : #include "pm_matrixCopy@routines.inc.F90"
   12404           0 :     end procedure
   12405             : #endif
   12406             : 
   12407             : #undef LK_ENABLED
   12408             : 
   12409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12410             : 
   12411             : #define CK_ENABLED 1
   12412             : 
   12413             : #if CK5_ENABLED
   12414             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_CK5
   12415             :         use pm_kind, only: CKC => CK5
   12416             : #include "pm_matrixCopy@routines.inc.F90"
   12417             :     end procedure
   12418             : #endif
   12419             : 
   12420             : #if CK4_ENABLED
   12421           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_CK4
   12422             :         use pm_kind, only: CKC => CK4
   12423             : #include "pm_matrixCopy@routines.inc.F90"
   12424           0 :     end procedure
   12425             : #endif
   12426             : 
   12427             : #if CK3_ENABLED
   12428           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_CK3
   12429             :         use pm_kind, only: CKC => CK3
   12430             : #include "pm_matrixCopy@routines.inc.F90"
   12431           0 :     end procedure
   12432             : #endif
   12433             : 
   12434             : #if CK2_ENABLED
   12435           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_CK2
   12436             :         use pm_kind, only: CKC => CK2
   12437             : #include "pm_matrixCopy@routines.inc.F90"
   12438           0 :     end procedure
   12439             : #endif
   12440             : 
   12441             : #if CK1_ENABLED
   12442           4 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_CK1
   12443             :         use pm_kind, only: CKC => CK1
   12444             : #include "pm_matrixCopy@routines.inc.F90"
   12445           4 :     end procedure
   12446             : #endif
   12447             : 
   12448             : #undef CK_ENABLED
   12449             : 
   12450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12451             : 
   12452             : #define RK_ENABLED 1
   12453             : 
   12454             : #if RK5_ENABLED
   12455             :     module procedure setMatCopy_RDP_RDP_ULX_TSO_RK5
   12456             :         use pm_kind, only: RKC => RK5
   12457             : #include "pm_matrixCopy@routines.inc.F90"
   12458             :     end procedure
   12459             : #endif
   12460             : 
   12461             : #if RK4_ENABLED
   12462           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_RK4
   12463             :         use pm_kind, only: RKC => RK4
   12464             : #include "pm_matrixCopy@routines.inc.F90"
   12465           0 :     end procedure
   12466             : #endif
   12467             : 
   12468             : #if RK3_ENABLED
   12469           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_RK3
   12470             :         use pm_kind, only: RKC => RK3
   12471             : #include "pm_matrixCopy@routines.inc.F90"
   12472           0 :     end procedure
   12473             : #endif
   12474             : 
   12475             : #if RK2_ENABLED
   12476           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_RK2
   12477             :         use pm_kind, only: RKC => RK2
   12478             : #include "pm_matrixCopy@routines.inc.F90"
   12479           0 :     end procedure
   12480             : #endif
   12481             : 
   12482             : #if RK1_ENABLED
   12483           0 :     module procedure setMatCopy_RDP_RDP_ULX_TSO_RK1
   12484             :         use pm_kind, only: RKC => RK1
   12485             : #include "pm_matrixCopy@routines.inc.F90"
   12486           0 :     end procedure
   12487             : #endif
   12488             : 
   12489             : #undef RK_ENABLED
   12490             : 
   12491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12492             : 
   12493             : #undef ULX_ENABLED
   12494             : #undef TSO_ENABLED
   12495             : 
   12496             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12498             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12499             : 
   12500             : #define ULX_ENABLED 1
   12501             : #define THO_ENABLED 1
   12502             : 
   12503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12504             : 
   12505             : #define SK_ENABLED 1
   12506             : 
   12507             : #if SK5_ENABLED
   12508             :     module procedure setMatCopy_RDP_RDP_ULX_THO_SK5
   12509             :         use pm_kind, only: SKC => SK5
   12510             : #include "pm_matrixCopy@routines.inc.F90"
   12511             :     end procedure
   12512             : #endif
   12513             : 
   12514             : #if SK4_ENABLED
   12515             :     module procedure setMatCopy_RDP_RDP_ULX_THO_SK4
   12516             :         use pm_kind, only: SKC => SK4
   12517             : #include "pm_matrixCopy@routines.inc.F90"
   12518             :     end procedure
   12519             : #endif
   12520             : 
   12521             : #if SK3_ENABLED
   12522             :     module procedure setMatCopy_RDP_RDP_ULX_THO_SK3
   12523             :         use pm_kind, only: SKC => SK3
   12524             : #include "pm_matrixCopy@routines.inc.F90"
   12525             :     end procedure
   12526             : #endif
   12527             : 
   12528             : #if SK2_ENABLED
   12529             :     module procedure setMatCopy_RDP_RDP_ULX_THO_SK2
   12530             :         use pm_kind, only: SKC => SK2
   12531             : #include "pm_matrixCopy@routines.inc.F90"
   12532             :     end procedure
   12533             : #endif
   12534             : 
   12535             : #if SK1_ENABLED
   12536          12 :     module procedure setMatCopy_RDP_RDP_ULX_THO_SK1
   12537             :         use pm_kind, only: SKC => SK1
   12538             : #include "pm_matrixCopy@routines.inc.F90"
   12539          12 :     end procedure
   12540             : #endif
   12541             : 
   12542             : #undef SK_ENABLED
   12543             : 
   12544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12545             : 
   12546             : #define IK_ENABLED 1
   12547             : 
   12548             : #if IK5_ENABLED
   12549           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_IK5
   12550             :         use pm_kind, only: IKC => IK5
   12551             : #include "pm_matrixCopy@routines.inc.F90"
   12552           0 :     end procedure
   12553             : #endif
   12554             : 
   12555             : #if IK4_ENABLED
   12556           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_IK4
   12557             :         use pm_kind, only: IKC => IK4
   12558             : #include "pm_matrixCopy@routines.inc.F90"
   12559           0 :     end procedure
   12560             : #endif
   12561             : 
   12562             : #if IK3_ENABLED
   12563           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_IK3
   12564             :         use pm_kind, only: IKC => IK3
   12565             : #include "pm_matrixCopy@routines.inc.F90"
   12566           0 :     end procedure
   12567             : #endif
   12568             : 
   12569             : #if IK2_ENABLED
   12570           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_IK2
   12571             :         use pm_kind, only: IKC => IK2
   12572             : #include "pm_matrixCopy@routines.inc.F90"
   12573           0 :     end procedure
   12574             : #endif
   12575             : 
   12576             : #if IK1_ENABLED
   12577           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_IK1
   12578             :         use pm_kind, only: IKC => IK1
   12579             : #include "pm_matrixCopy@routines.inc.F90"
   12580           0 :     end procedure
   12581             : #endif
   12582             : 
   12583             : #undef IK_ENABLED
   12584             : 
   12585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12586             : 
   12587             : #define LK_ENABLED 1
   12588             : 
   12589             : #if LK5_ENABLED
   12590           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_LK5
   12591             :         use pm_kind, only: LKC => LK5
   12592             : #include "pm_matrixCopy@routines.inc.F90"
   12593           0 :     end procedure
   12594             : #endif
   12595             : 
   12596             : #if LK4_ENABLED
   12597           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_LK4
   12598             :         use pm_kind, only: LKC => LK4
   12599             : #include "pm_matrixCopy@routines.inc.F90"
   12600           0 :     end procedure
   12601             : #endif
   12602             : 
   12603             : #if LK3_ENABLED
   12604           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_LK3
   12605             :         use pm_kind, only: LKC => LK3
   12606             : #include "pm_matrixCopy@routines.inc.F90"
   12607           0 :     end procedure
   12608             : #endif
   12609             : 
   12610             : #if LK2_ENABLED
   12611           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_LK2
   12612             :         use pm_kind, only: LKC => LK2
   12613             : #include "pm_matrixCopy@routines.inc.F90"
   12614           0 :     end procedure
   12615             : #endif
   12616             : 
   12617             : #if LK1_ENABLED
   12618           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_LK1
   12619             :         use pm_kind, only: LKC => LK1
   12620             : #include "pm_matrixCopy@routines.inc.F90"
   12621           0 :     end procedure
   12622             : #endif
   12623             : 
   12624             : #undef LK_ENABLED
   12625             : 
   12626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12627             : 
   12628             : #define CK_ENABLED 1
   12629             : 
   12630             : #if CK5_ENABLED
   12631             :     module procedure setMatCopy_RDP_RDP_ULX_THO_CK5
   12632             :         use pm_kind, only: CKC => CK5
   12633             : #include "pm_matrixCopy@routines.inc.F90"
   12634             :     end procedure
   12635             : #endif
   12636             : 
   12637             : #if CK4_ENABLED
   12638           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_CK4
   12639             :         use pm_kind, only: CKC => CK4
   12640             : #include "pm_matrixCopy@routines.inc.F90"
   12641           0 :     end procedure
   12642             : #endif
   12643             : 
   12644             : #if CK3_ENABLED
   12645           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_CK3
   12646             :         use pm_kind, only: CKC => CK3
   12647             : #include "pm_matrixCopy@routines.inc.F90"
   12648           0 :     end procedure
   12649             : #endif
   12650             : 
   12651             : #if CK2_ENABLED
   12652           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_CK2
   12653             :         use pm_kind, only: CKC => CK2
   12654             : #include "pm_matrixCopy@routines.inc.F90"
   12655           0 :     end procedure
   12656             : #endif
   12657             : 
   12658             : #if CK1_ENABLED
   12659           4 :     module procedure setMatCopy_RDP_RDP_ULX_THO_CK1
   12660             :         use pm_kind, only: CKC => CK1
   12661             : #include "pm_matrixCopy@routines.inc.F90"
   12662           4 :     end procedure
   12663             : #endif
   12664             : 
   12665             : #undef CK_ENABLED
   12666             : 
   12667             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12668             : 
   12669             : #define RK_ENABLED 1
   12670             : 
   12671             : #if RK5_ENABLED
   12672             :     module procedure setMatCopy_RDP_RDP_ULX_THO_RK5
   12673             :         use pm_kind, only: RKC => RK5
   12674             : #include "pm_matrixCopy@routines.inc.F90"
   12675             :     end procedure
   12676             : #endif
   12677             : 
   12678             : #if RK4_ENABLED
   12679           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_RK4
   12680             :         use pm_kind, only: RKC => RK4
   12681             : #include "pm_matrixCopy@routines.inc.F90"
   12682           0 :     end procedure
   12683             : #endif
   12684             : 
   12685             : #if RK3_ENABLED
   12686           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_RK3
   12687             :         use pm_kind, only: RKC => RK3
   12688             : #include "pm_matrixCopy@routines.inc.F90"
   12689           0 :     end procedure
   12690             : #endif
   12691             : 
   12692             : #if RK2_ENABLED
   12693           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_RK2
   12694             :         use pm_kind, only: RKC => RK2
   12695             : #include "pm_matrixCopy@routines.inc.F90"
   12696           0 :     end procedure
   12697             : #endif
   12698             : 
   12699             : #if RK1_ENABLED
   12700           0 :     module procedure setMatCopy_RDP_RDP_ULX_THO_RK1
   12701             :         use pm_kind, only: RKC => RK1
   12702             : #include "pm_matrixCopy@routines.inc.F90"
   12703           0 :     end procedure
   12704             : #endif
   12705             : 
   12706             : #undef RK_ENABLED
   12707             : 
   12708             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12709             : 
   12710             : #undef ULX_ENABLED
   12711             : #undef THO_ENABLED
   12712             : 
   12713             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12714             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12715             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12716             : 
   12717             : #undef RDP_RDP_ENABLED
   12718             : 
   12719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12720             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12721             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12722             : 
   12723             : #define RDP_LFP_ENABLED 1
   12724             : 
   12725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12726             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12728             : 
   12729             : #define XXD_ENABLED 1
   12730             : #define AIO_ENABLED 1
   12731             : 
   12732             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12733             : 
   12734             : #define SK_ENABLED 1
   12735             : 
   12736             : #if SK5_ENABLED
   12737             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_SK5
   12738             :         use pm_kind, only: SKC => SK5
   12739             : #include "pm_matrixCopy@routines.inc.F90"
   12740             :     end procedure
   12741             : #endif
   12742             : 
   12743             : #if SK4_ENABLED
   12744             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_SK4
   12745             :         use pm_kind, only: SKC => SK4
   12746             : #include "pm_matrixCopy@routines.inc.F90"
   12747             :     end procedure
   12748             : #endif
   12749             : 
   12750             : #if SK3_ENABLED
   12751             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_SK3
   12752             :         use pm_kind, only: SKC => SK3
   12753             : #include "pm_matrixCopy@routines.inc.F90"
   12754             :     end procedure
   12755             : #endif
   12756             : 
   12757             : #if SK2_ENABLED
   12758             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_SK2
   12759             :         use pm_kind, only: SKC => SK2
   12760             : #include "pm_matrixCopy@routines.inc.F90"
   12761             :     end procedure
   12762             : #endif
   12763             : 
   12764             : #if SK1_ENABLED
   12765           8 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_SK1
   12766             :         use pm_kind, only: SKC => SK1
   12767             : #include "pm_matrixCopy@routines.inc.F90"
   12768             :     end procedure
   12769             : #endif
   12770             : 
   12771             : #undef SK_ENABLED
   12772             : 
   12773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12774             : 
   12775             : #define IK_ENABLED 1
   12776             : 
   12777             : #if IK5_ENABLED
   12778           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_IK5
   12779             :         use pm_kind, only: IKC => IK5
   12780             : #include "pm_matrixCopy@routines.inc.F90"
   12781             :     end procedure
   12782             : #endif
   12783             : 
   12784             : #if IK4_ENABLED
   12785           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_IK4
   12786             :         use pm_kind, only: IKC => IK4
   12787             : #include "pm_matrixCopy@routines.inc.F90"
   12788             :     end procedure
   12789             : #endif
   12790             : 
   12791             : #if IK3_ENABLED
   12792           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_IK3
   12793             :         use pm_kind, only: IKC => IK3
   12794             : #include "pm_matrixCopy@routines.inc.F90"
   12795             :     end procedure
   12796             : #endif
   12797             : 
   12798             : #if IK2_ENABLED
   12799           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_IK2
   12800             :         use pm_kind, only: IKC => IK2
   12801             : #include "pm_matrixCopy@routines.inc.F90"
   12802             :     end procedure
   12803             : #endif
   12804             : 
   12805             : #if IK1_ENABLED
   12806           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_IK1
   12807             :         use pm_kind, only: IKC => IK1
   12808             : #include "pm_matrixCopy@routines.inc.F90"
   12809             :     end procedure
   12810             : #endif
   12811             : 
   12812             : #undef IK_ENABLED
   12813             : 
   12814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12815             : 
   12816             : #define LK_ENABLED 1
   12817             : 
   12818             : #if LK5_ENABLED
   12819           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_LK5
   12820             :         use pm_kind, only: LKC => LK5
   12821             : #include "pm_matrixCopy@routines.inc.F90"
   12822             :     end procedure
   12823             : #endif
   12824             : 
   12825             : #if LK4_ENABLED
   12826           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_LK4
   12827             :         use pm_kind, only: LKC => LK4
   12828             : #include "pm_matrixCopy@routines.inc.F90"
   12829             :     end procedure
   12830             : #endif
   12831             : 
   12832             : #if LK3_ENABLED
   12833           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_LK3
   12834             :         use pm_kind, only: LKC => LK3
   12835             : #include "pm_matrixCopy@routines.inc.F90"
   12836             :     end procedure
   12837             : #endif
   12838             : 
   12839             : #if LK2_ENABLED
   12840           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_LK2
   12841             :         use pm_kind, only: LKC => LK2
   12842             : #include "pm_matrixCopy@routines.inc.F90"
   12843             :     end procedure
   12844             : #endif
   12845             : 
   12846             : #if LK1_ENABLED
   12847           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_LK1
   12848             :         use pm_kind, only: LKC => LK1
   12849             : #include "pm_matrixCopy@routines.inc.F90"
   12850             :     end procedure
   12851             : #endif
   12852             : 
   12853             : #undef LK_ENABLED
   12854             : 
   12855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12856             : 
   12857             : #define CK_ENABLED 1
   12858             : 
   12859             : #if CK5_ENABLED
   12860             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_CK5
   12861             :         use pm_kind, only: CKC => CK5
   12862             : #include "pm_matrixCopy@routines.inc.F90"
   12863             :     end procedure
   12864             : #endif
   12865             : 
   12866             : #if CK4_ENABLED
   12867           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_CK4
   12868             :         use pm_kind, only: CKC => CK4
   12869             : #include "pm_matrixCopy@routines.inc.F90"
   12870             :     end procedure
   12871             : #endif
   12872             : 
   12873             : #if CK3_ENABLED
   12874           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_CK3
   12875             :         use pm_kind, only: CKC => CK3
   12876             : #include "pm_matrixCopy@routines.inc.F90"
   12877             :     end procedure
   12878             : #endif
   12879             : 
   12880             : #if CK2_ENABLED
   12881           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_CK2
   12882             :         use pm_kind, only: CKC => CK2
   12883             : #include "pm_matrixCopy@routines.inc.F90"
   12884             :     end procedure
   12885             : #endif
   12886             : 
   12887             : #if CK1_ENABLED
   12888           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_CK1
   12889             :         use pm_kind, only: CKC => CK1
   12890             : #include "pm_matrixCopy@routines.inc.F90"
   12891             :     end procedure
   12892             : #endif
   12893             : 
   12894             : #undef CK_ENABLED
   12895             : 
   12896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12897             : 
   12898             : #define RK_ENABLED 1
   12899             : 
   12900             : #if RK5_ENABLED
   12901             :     module procedure setMatCopy_RDP_LFP_XXD_AIO_RK5
   12902             :         use pm_kind, only: RKC => RK5
   12903             : #include "pm_matrixCopy@routines.inc.F90"
   12904             :     end procedure
   12905             : #endif
   12906             : 
   12907             : #if RK4_ENABLED
   12908           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_RK4
   12909             :         use pm_kind, only: RKC => RK4
   12910             : #include "pm_matrixCopy@routines.inc.F90"
   12911             :     end procedure
   12912             : #endif
   12913             : 
   12914             : #if RK3_ENABLED
   12915           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_RK3
   12916             :         use pm_kind, only: RKC => RK3
   12917             : #include "pm_matrixCopy@routines.inc.F90"
   12918             :     end procedure
   12919             : #endif
   12920             : 
   12921             : #if RK2_ENABLED
   12922           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_RK2
   12923             :         use pm_kind, only: RKC => RK2
   12924             : #include "pm_matrixCopy@routines.inc.F90"
   12925             :     end procedure
   12926             : #endif
   12927             : 
   12928             : #if RK1_ENABLED
   12929           0 :     module procedure setMatCopy_RDP_LFP_XXD_AIO_RK1
   12930             :         use pm_kind, only: RKC => RK1
   12931             : #include "pm_matrixCopy@routines.inc.F90"
   12932             :     end procedure
   12933             : #endif
   12934             : 
   12935             : #undef RK_ENABLED
   12936             : 
   12937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12938             : 
   12939             : #undef XXD_ENABLED
   12940             : #undef AIO_ENABLED
   12941             : 
   12942             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12945             : 
   12946             : #define XXD_ENABLED 1
   12947             : #define TSO_ENABLED 1
   12948             : 
   12949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12950             : 
   12951             : #define SK_ENABLED 1
   12952             : 
   12953             : #if SK5_ENABLED
   12954             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_SK5
   12955             :         use pm_kind, only: SKC => SK5
   12956             : #include "pm_matrixCopy@routines.inc.F90"
   12957             :     end procedure
   12958             : #endif
   12959             : 
   12960             : #if SK4_ENABLED
   12961             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_SK4
   12962             :         use pm_kind, only: SKC => SK4
   12963             : #include "pm_matrixCopy@routines.inc.F90"
   12964             :     end procedure
   12965             : #endif
   12966             : 
   12967             : #if SK3_ENABLED
   12968             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_SK3
   12969             :         use pm_kind, only: SKC => SK3
   12970             : #include "pm_matrixCopy@routines.inc.F90"
   12971             :     end procedure
   12972             : #endif
   12973             : 
   12974             : #if SK2_ENABLED
   12975             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_SK2
   12976             :         use pm_kind, only: SKC => SK2
   12977             : #include "pm_matrixCopy@routines.inc.F90"
   12978             :     end procedure
   12979             : #endif
   12980             : 
   12981             : #if SK1_ENABLED
   12982           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_SK1
   12983             :         use pm_kind, only: SKC => SK1
   12984             : #include "pm_matrixCopy@routines.inc.F90"
   12985             :     end procedure
   12986             : #endif
   12987             : 
   12988             : #undef SK_ENABLED
   12989             : 
   12990             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   12991             : 
   12992             : #define IK_ENABLED 1
   12993             : 
   12994             : #if IK5_ENABLED
   12995           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_IK5
   12996             :         use pm_kind, only: IKC => IK5
   12997             : #include "pm_matrixCopy@routines.inc.F90"
   12998             :     end procedure
   12999             : #endif
   13000             : 
   13001             : #if IK4_ENABLED
   13002           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_IK4
   13003             :         use pm_kind, only: IKC => IK4
   13004             : #include "pm_matrixCopy@routines.inc.F90"
   13005             :     end procedure
   13006             : #endif
   13007             : 
   13008             : #if IK3_ENABLED
   13009           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_IK3
   13010             :         use pm_kind, only: IKC => IK3
   13011             : #include "pm_matrixCopy@routines.inc.F90"
   13012             :     end procedure
   13013             : #endif
   13014             : 
   13015             : #if IK2_ENABLED
   13016           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_IK2
   13017             :         use pm_kind, only: IKC => IK2
   13018             : #include "pm_matrixCopy@routines.inc.F90"
   13019             :     end procedure
   13020             : #endif
   13021             : 
   13022             : #if IK1_ENABLED
   13023           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_IK1
   13024             :         use pm_kind, only: IKC => IK1
   13025             : #include "pm_matrixCopy@routines.inc.F90"
   13026             :     end procedure
   13027             : #endif
   13028             : 
   13029             : #undef IK_ENABLED
   13030             : 
   13031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13032             : 
   13033             : #define LK_ENABLED 1
   13034             : 
   13035             : #if LK5_ENABLED
   13036           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_LK5
   13037             :         use pm_kind, only: LKC => LK5
   13038             : #include "pm_matrixCopy@routines.inc.F90"
   13039             :     end procedure
   13040             : #endif
   13041             : 
   13042             : #if LK4_ENABLED
   13043           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_LK4
   13044             :         use pm_kind, only: LKC => LK4
   13045             : #include "pm_matrixCopy@routines.inc.F90"
   13046             :     end procedure
   13047             : #endif
   13048             : 
   13049             : #if LK3_ENABLED
   13050           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_LK3
   13051             :         use pm_kind, only: LKC => LK3
   13052             : #include "pm_matrixCopy@routines.inc.F90"
   13053             :     end procedure
   13054             : #endif
   13055             : 
   13056             : #if LK2_ENABLED
   13057           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_LK2
   13058             :         use pm_kind, only: LKC => LK2
   13059             : #include "pm_matrixCopy@routines.inc.F90"
   13060             :     end procedure
   13061             : #endif
   13062             : 
   13063             : #if LK1_ENABLED
   13064           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_LK1
   13065             :         use pm_kind, only: LKC => LK1
   13066             : #include "pm_matrixCopy@routines.inc.F90"
   13067             :     end procedure
   13068             : #endif
   13069             : 
   13070             : #undef LK_ENABLED
   13071             : 
   13072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13073             : 
   13074             : #define CK_ENABLED 1
   13075             : 
   13076             : #if CK5_ENABLED
   13077             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_CK5
   13078             :         use pm_kind, only: CKC => CK5
   13079             : #include "pm_matrixCopy@routines.inc.F90"
   13080             :     end procedure
   13081             : #endif
   13082             : 
   13083             : #if CK4_ENABLED
   13084           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_CK4
   13085             :         use pm_kind, only: CKC => CK4
   13086             : #include "pm_matrixCopy@routines.inc.F90"
   13087             :     end procedure
   13088             : #endif
   13089             : 
   13090             : #if CK3_ENABLED
   13091           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_CK3
   13092             :         use pm_kind, only: CKC => CK3
   13093             : #include "pm_matrixCopy@routines.inc.F90"
   13094             :     end procedure
   13095             : #endif
   13096             : 
   13097             : #if CK2_ENABLED
   13098           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_CK2
   13099             :         use pm_kind, only: CKC => CK2
   13100             : #include "pm_matrixCopy@routines.inc.F90"
   13101             :     end procedure
   13102             : #endif
   13103             : 
   13104             : #if CK1_ENABLED
   13105           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_CK1
   13106             :         use pm_kind, only: CKC => CK1
   13107             : #include "pm_matrixCopy@routines.inc.F90"
   13108             :     end procedure
   13109             : #endif
   13110             : 
   13111             : #undef CK_ENABLED
   13112             : 
   13113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13114             : 
   13115             : #define RK_ENABLED 1
   13116             : 
   13117             : #if RK5_ENABLED
   13118             :     module procedure setMatCopy_RDP_LFP_XXD_TSO_RK5
   13119             :         use pm_kind, only: RKC => RK5
   13120             : #include "pm_matrixCopy@routines.inc.F90"
   13121             :     end procedure
   13122             : #endif
   13123             : 
   13124             : #if RK4_ENABLED
   13125           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_RK4
   13126             :         use pm_kind, only: RKC => RK4
   13127             : #include "pm_matrixCopy@routines.inc.F90"
   13128             :     end procedure
   13129             : #endif
   13130             : 
   13131             : #if RK3_ENABLED
   13132           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_RK3
   13133             :         use pm_kind, only: RKC => RK3
   13134             : #include "pm_matrixCopy@routines.inc.F90"
   13135             :     end procedure
   13136             : #endif
   13137             : 
   13138             : #if RK2_ENABLED
   13139           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_RK2
   13140             :         use pm_kind, only: RKC => RK2
   13141             : #include "pm_matrixCopy@routines.inc.F90"
   13142             :     end procedure
   13143             : #endif
   13144             : 
   13145             : #if RK1_ENABLED
   13146           0 :     module procedure setMatCopy_RDP_LFP_XXD_TSO_RK1
   13147             :         use pm_kind, only: RKC => RK1
   13148             : #include "pm_matrixCopy@routines.inc.F90"
   13149             :     end procedure
   13150             : #endif
   13151             : 
   13152             : #undef RK_ENABLED
   13153             : 
   13154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13155             : 
   13156             : #undef XXD_ENABLED
   13157             : #undef TSO_ENABLED
   13158             : 
   13159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13162             : 
   13163             : #define XXD_ENABLED 1
   13164             : #define THO_ENABLED 1
   13165             : 
   13166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13167             : 
   13168             : #define SK_ENABLED 1
   13169             : 
   13170             : #if SK5_ENABLED
   13171             :     module procedure setMatCopy_RDP_LFP_XXD_THO_SK5
   13172             :         use pm_kind, only: SKC => SK5
   13173             : #include "pm_matrixCopy@routines.inc.F90"
   13174             :     end procedure
   13175             : #endif
   13176             : 
   13177             : #if SK4_ENABLED
   13178             :     module procedure setMatCopy_RDP_LFP_XXD_THO_SK4
   13179             :         use pm_kind, only: SKC => SK4
   13180             : #include "pm_matrixCopy@routines.inc.F90"
   13181             :     end procedure
   13182             : #endif
   13183             : 
   13184             : #if SK3_ENABLED
   13185             :     module procedure setMatCopy_RDP_LFP_XXD_THO_SK3
   13186             :         use pm_kind, only: SKC => SK3
   13187             : #include "pm_matrixCopy@routines.inc.F90"
   13188             :     end procedure
   13189             : #endif
   13190             : 
   13191             : #if SK2_ENABLED
   13192             :     module procedure setMatCopy_RDP_LFP_XXD_THO_SK2
   13193             :         use pm_kind, only: SKC => SK2
   13194             : #include "pm_matrixCopy@routines.inc.F90"
   13195             :     end procedure
   13196             : #endif
   13197             : 
   13198             : #if SK1_ENABLED
   13199           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_SK1
   13200             :         use pm_kind, only: SKC => SK1
   13201             : #include "pm_matrixCopy@routines.inc.F90"
   13202             :     end procedure
   13203             : #endif
   13204             : 
   13205             : #undef SK_ENABLED
   13206             : 
   13207             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13208             : 
   13209             : #define IK_ENABLED 1
   13210             : 
   13211             : #if IK5_ENABLED
   13212           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_IK5
   13213             :         use pm_kind, only: IKC => IK5
   13214             : #include "pm_matrixCopy@routines.inc.F90"
   13215             :     end procedure
   13216             : #endif
   13217             : 
   13218             : #if IK4_ENABLED
   13219           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_IK4
   13220             :         use pm_kind, only: IKC => IK4
   13221             : #include "pm_matrixCopy@routines.inc.F90"
   13222             :     end procedure
   13223             : #endif
   13224             : 
   13225             : #if IK3_ENABLED
   13226           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_IK3
   13227             :         use pm_kind, only: IKC => IK3
   13228             : #include "pm_matrixCopy@routines.inc.F90"
   13229             :     end procedure
   13230             : #endif
   13231             : 
   13232             : #if IK2_ENABLED
   13233           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_IK2
   13234             :         use pm_kind, only: IKC => IK2
   13235             : #include "pm_matrixCopy@routines.inc.F90"
   13236             :     end procedure
   13237             : #endif
   13238             : 
   13239             : #if IK1_ENABLED
   13240           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_IK1
   13241             :         use pm_kind, only: IKC => IK1
   13242             : #include "pm_matrixCopy@routines.inc.F90"
   13243             :     end procedure
   13244             : #endif
   13245             : 
   13246             : #undef IK_ENABLED
   13247             : 
   13248             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13249             : 
   13250             : #define LK_ENABLED 1
   13251             : 
   13252             : #if LK5_ENABLED
   13253           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_LK5
   13254             :         use pm_kind, only: LKC => LK5
   13255             : #include "pm_matrixCopy@routines.inc.F90"
   13256             :     end procedure
   13257             : #endif
   13258             : 
   13259             : #if LK4_ENABLED
   13260           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_LK4
   13261             :         use pm_kind, only: LKC => LK4
   13262             : #include "pm_matrixCopy@routines.inc.F90"
   13263             :     end procedure
   13264             : #endif
   13265             : 
   13266             : #if LK3_ENABLED
   13267           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_LK3
   13268             :         use pm_kind, only: LKC => LK3
   13269             : #include "pm_matrixCopy@routines.inc.F90"
   13270             :     end procedure
   13271             : #endif
   13272             : 
   13273             : #if LK2_ENABLED
   13274           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_LK2
   13275             :         use pm_kind, only: LKC => LK2
   13276             : #include "pm_matrixCopy@routines.inc.F90"
   13277             :     end procedure
   13278             : #endif
   13279             : 
   13280             : #if LK1_ENABLED
   13281           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_LK1
   13282             :         use pm_kind, only: LKC => LK1
   13283             : #include "pm_matrixCopy@routines.inc.F90"
   13284             :     end procedure
   13285             : #endif
   13286             : 
   13287             : #undef LK_ENABLED
   13288             : 
   13289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13290             : 
   13291             : #define CK_ENABLED 1
   13292             : 
   13293             : #if CK5_ENABLED
   13294             :     module procedure setMatCopy_RDP_LFP_XXD_THO_CK5
   13295             :         use pm_kind, only: CKC => CK5
   13296             : #include "pm_matrixCopy@routines.inc.F90"
   13297             :     end procedure
   13298             : #endif
   13299             : 
   13300             : #if CK4_ENABLED
   13301           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_CK4
   13302             :         use pm_kind, only: CKC => CK4
   13303             : #include "pm_matrixCopy@routines.inc.F90"
   13304             :     end procedure
   13305             : #endif
   13306             : 
   13307             : #if CK3_ENABLED
   13308           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_CK3
   13309             :         use pm_kind, only: CKC => CK3
   13310             : #include "pm_matrixCopy@routines.inc.F90"
   13311             :     end procedure
   13312             : #endif
   13313             : 
   13314             : #if CK2_ENABLED
   13315           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_CK2
   13316             :         use pm_kind, only: CKC => CK2
   13317             : #include "pm_matrixCopy@routines.inc.F90"
   13318             :     end procedure
   13319             : #endif
   13320             : 
   13321             : #if CK1_ENABLED
   13322           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_CK1
   13323             :         use pm_kind, only: CKC => CK1
   13324             : #include "pm_matrixCopy@routines.inc.F90"
   13325             :     end procedure
   13326             : #endif
   13327             : 
   13328             : #undef CK_ENABLED
   13329             : 
   13330             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13331             : 
   13332             : #define RK_ENABLED 1
   13333             : 
   13334             : #if RK5_ENABLED
   13335             :     module procedure setMatCopy_RDP_LFP_XXD_THO_RK5
   13336             :         use pm_kind, only: RKC => RK5
   13337             : #include "pm_matrixCopy@routines.inc.F90"
   13338             :     end procedure
   13339             : #endif
   13340             : 
   13341             : #if RK4_ENABLED
   13342           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_RK4
   13343             :         use pm_kind, only: RKC => RK4
   13344             : #include "pm_matrixCopy@routines.inc.F90"
   13345             :     end procedure
   13346             : #endif
   13347             : 
   13348             : #if RK3_ENABLED
   13349           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_RK3
   13350             :         use pm_kind, only: RKC => RK3
   13351             : #include "pm_matrixCopy@routines.inc.F90"
   13352             :     end procedure
   13353             : #endif
   13354             : 
   13355             : #if RK2_ENABLED
   13356           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_RK2
   13357             :         use pm_kind, only: RKC => RK2
   13358             : #include "pm_matrixCopy@routines.inc.F90"
   13359             :     end procedure
   13360             : #endif
   13361             : 
   13362             : #if RK1_ENABLED
   13363           0 :     module procedure setMatCopy_RDP_LFP_XXD_THO_RK1
   13364             :         use pm_kind, only: RKC => RK1
   13365             : #include "pm_matrixCopy@routines.inc.F90"
   13366             :     end procedure
   13367             : #endif
   13368             : 
   13369             : #undef RK_ENABLED
   13370             : 
   13371             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13372             : 
   13373             : #undef XXD_ENABLED
   13374             : #undef THO_ENABLED
   13375             : 
   13376             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13378             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13379             : 
   13380             : #define UXD_ENABLED 1
   13381             : #define AIO_ENABLED 1
   13382             : 
   13383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13384             : 
   13385             : #define SK_ENABLED 1
   13386             : 
   13387             : #if SK5_ENABLED
   13388             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_SK5
   13389             :         use pm_kind, only: SKC => SK5
   13390             : #include "pm_matrixCopy@routines.inc.F90"
   13391             :     end procedure
   13392             : #endif
   13393             : 
   13394             : #if SK4_ENABLED
   13395             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_SK4
   13396             :         use pm_kind, only: SKC => SK4
   13397             : #include "pm_matrixCopy@routines.inc.F90"
   13398             :     end procedure
   13399             : #endif
   13400             : 
   13401             : #if SK3_ENABLED
   13402             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_SK3
   13403             :         use pm_kind, only: SKC => SK3
   13404             : #include "pm_matrixCopy@routines.inc.F90"
   13405             :     end procedure
   13406             : #endif
   13407             : 
   13408             : #if SK2_ENABLED
   13409             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_SK2
   13410             :         use pm_kind, only: SKC => SK2
   13411             : #include "pm_matrixCopy@routines.inc.F90"
   13412             :     end procedure
   13413             : #endif
   13414             : 
   13415             : #if SK1_ENABLED
   13416           2 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_SK1
   13417             :         use pm_kind, only: SKC => SK1
   13418             : #include "pm_matrixCopy@routines.inc.F90"
   13419           2 :     end procedure
   13420             : #endif
   13421             : 
   13422             : #undef SK_ENABLED
   13423             : 
   13424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13425             : 
   13426             : #define IK_ENABLED 1
   13427             : 
   13428             : #if IK5_ENABLED
   13429           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_IK5
   13430             :         use pm_kind, only: IKC => IK5
   13431             : #include "pm_matrixCopy@routines.inc.F90"
   13432           0 :     end procedure
   13433             : #endif
   13434             : 
   13435             : #if IK4_ENABLED
   13436           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_IK4
   13437             :         use pm_kind, only: IKC => IK4
   13438             : #include "pm_matrixCopy@routines.inc.F90"
   13439           0 :     end procedure
   13440             : #endif
   13441             : 
   13442             : #if IK3_ENABLED
   13443           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_IK3
   13444             :         use pm_kind, only: IKC => IK3
   13445             : #include "pm_matrixCopy@routines.inc.F90"
   13446           0 :     end procedure
   13447             : #endif
   13448             : 
   13449             : #if IK2_ENABLED
   13450           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_IK2
   13451             :         use pm_kind, only: IKC => IK2
   13452             : #include "pm_matrixCopy@routines.inc.F90"
   13453           0 :     end procedure
   13454             : #endif
   13455             : 
   13456             : #if IK1_ENABLED
   13457           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_IK1
   13458             :         use pm_kind, only: IKC => IK1
   13459             : #include "pm_matrixCopy@routines.inc.F90"
   13460           0 :     end procedure
   13461             : #endif
   13462             : 
   13463             : #undef IK_ENABLED
   13464             : 
   13465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13466             : 
   13467             : #define LK_ENABLED 1
   13468             : 
   13469             : #if LK5_ENABLED
   13470           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_LK5
   13471             :         use pm_kind, only: LKC => LK5
   13472             : #include "pm_matrixCopy@routines.inc.F90"
   13473           0 :     end procedure
   13474             : #endif
   13475             : 
   13476             : #if LK4_ENABLED
   13477           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_LK4
   13478             :         use pm_kind, only: LKC => LK4
   13479             : #include "pm_matrixCopy@routines.inc.F90"
   13480           0 :     end procedure
   13481             : #endif
   13482             : 
   13483             : #if LK3_ENABLED
   13484           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_LK3
   13485             :         use pm_kind, only: LKC => LK3
   13486             : #include "pm_matrixCopy@routines.inc.F90"
   13487           0 :     end procedure
   13488             : #endif
   13489             : 
   13490             : #if LK2_ENABLED
   13491           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_LK2
   13492             :         use pm_kind, only: LKC => LK2
   13493             : #include "pm_matrixCopy@routines.inc.F90"
   13494           0 :     end procedure
   13495             : #endif
   13496             : 
   13497             : #if LK1_ENABLED
   13498           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_LK1
   13499             :         use pm_kind, only: LKC => LK1
   13500             : #include "pm_matrixCopy@routines.inc.F90"
   13501           0 :     end procedure
   13502             : #endif
   13503             : 
   13504             : #undef LK_ENABLED
   13505             : 
   13506             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13507             : 
   13508             : #define CK_ENABLED 1
   13509             : 
   13510             : #if CK5_ENABLED
   13511             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_CK5
   13512             :         use pm_kind, only: CKC => CK5
   13513             : #include "pm_matrixCopy@routines.inc.F90"
   13514             :     end procedure
   13515             : #endif
   13516             : 
   13517             : #if CK4_ENABLED
   13518           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_CK4
   13519             :         use pm_kind, only: CKC => CK4
   13520             : #include "pm_matrixCopy@routines.inc.F90"
   13521           0 :     end procedure
   13522             : #endif
   13523             : 
   13524             : #if CK3_ENABLED
   13525           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_CK3
   13526             :         use pm_kind, only: CKC => CK3
   13527             : #include "pm_matrixCopy@routines.inc.F90"
   13528           0 :     end procedure
   13529             : #endif
   13530             : 
   13531             : #if CK2_ENABLED
   13532           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_CK2
   13533             :         use pm_kind, only: CKC => CK2
   13534             : #include "pm_matrixCopy@routines.inc.F90"
   13535           0 :     end procedure
   13536             : #endif
   13537             : 
   13538             : #if CK1_ENABLED
   13539           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_CK1
   13540             :         use pm_kind, only: CKC => CK1
   13541             : #include "pm_matrixCopy@routines.inc.F90"
   13542           0 :     end procedure
   13543             : #endif
   13544             : 
   13545             : #undef CK_ENABLED
   13546             : 
   13547             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13548             : 
   13549             : #define RK_ENABLED 1
   13550             : 
   13551             : #if RK5_ENABLED
   13552             :     module procedure setMatCopy_RDP_LFP_UXD_AIO_RK5
   13553             :         use pm_kind, only: RKC => RK5
   13554             : #include "pm_matrixCopy@routines.inc.F90"
   13555             :     end procedure
   13556             : #endif
   13557             : 
   13558             : #if RK4_ENABLED
   13559           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_RK4
   13560             :         use pm_kind, only: RKC => RK4
   13561             : #include "pm_matrixCopy@routines.inc.F90"
   13562           0 :     end procedure
   13563             : #endif
   13564             : 
   13565             : #if RK3_ENABLED
   13566           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_RK3
   13567             :         use pm_kind, only: RKC => RK3
   13568             : #include "pm_matrixCopy@routines.inc.F90"
   13569           0 :     end procedure
   13570             : #endif
   13571             : 
   13572             : #if RK2_ENABLED
   13573           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_RK2
   13574             :         use pm_kind, only: RKC => RK2
   13575             : #include "pm_matrixCopy@routines.inc.F90"
   13576           0 :     end procedure
   13577             : #endif
   13578             : 
   13579             : #if RK1_ENABLED
   13580           0 :     module procedure setMatCopy_RDP_LFP_UXD_AIO_RK1
   13581             :         use pm_kind, only: RKC => RK1
   13582             : #include "pm_matrixCopy@routines.inc.F90"
   13583           0 :     end procedure
   13584             : #endif
   13585             : 
   13586             : #undef RK_ENABLED
   13587             : 
   13588             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13589             : 
   13590             : #undef UXD_ENABLED
   13591             : #undef AIO_ENABLED
   13592             : 
   13593             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13596             : 
   13597             : #define UXD_ENABLED 1
   13598             : #define TSO_ENABLED 1
   13599             : 
   13600             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13601             : 
   13602             : #define SK_ENABLED 1
   13603             : 
   13604             : #if SK5_ENABLED
   13605             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_SK5
   13606             :         use pm_kind, only: SKC => SK5
   13607             : #include "pm_matrixCopy@routines.inc.F90"
   13608             :     end procedure
   13609             : #endif
   13610             : 
   13611             : #if SK4_ENABLED
   13612             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_SK4
   13613             :         use pm_kind, only: SKC => SK4
   13614             : #include "pm_matrixCopy@routines.inc.F90"
   13615             :     end procedure
   13616             : #endif
   13617             : 
   13618             : #if SK3_ENABLED
   13619             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_SK3
   13620             :         use pm_kind, only: SKC => SK3
   13621             : #include "pm_matrixCopy@routines.inc.F90"
   13622             :     end procedure
   13623             : #endif
   13624             : 
   13625             : #if SK2_ENABLED
   13626             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_SK2
   13627             :         use pm_kind, only: SKC => SK2
   13628             : #include "pm_matrixCopy@routines.inc.F90"
   13629             :     end procedure
   13630             : #endif
   13631             : 
   13632             : #if SK1_ENABLED
   13633           2 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_SK1
   13634             :         use pm_kind, only: SKC => SK1
   13635             : #include "pm_matrixCopy@routines.inc.F90"
   13636           2 :     end procedure
   13637             : #endif
   13638             : 
   13639             : #undef SK_ENABLED
   13640             : 
   13641             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13642             : 
   13643             : #define IK_ENABLED 1
   13644             : 
   13645             : #if IK5_ENABLED
   13646           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_IK5
   13647             :         use pm_kind, only: IKC => IK5
   13648             : #include "pm_matrixCopy@routines.inc.F90"
   13649           0 :     end procedure
   13650             : #endif
   13651             : 
   13652             : #if IK4_ENABLED
   13653           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_IK4
   13654             :         use pm_kind, only: IKC => IK4
   13655             : #include "pm_matrixCopy@routines.inc.F90"
   13656           0 :     end procedure
   13657             : #endif
   13658             : 
   13659             : #if IK3_ENABLED
   13660           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_IK3
   13661             :         use pm_kind, only: IKC => IK3
   13662             : #include "pm_matrixCopy@routines.inc.F90"
   13663           0 :     end procedure
   13664             : #endif
   13665             : 
   13666             : #if IK2_ENABLED
   13667           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_IK2
   13668             :         use pm_kind, only: IKC => IK2
   13669             : #include "pm_matrixCopy@routines.inc.F90"
   13670           0 :     end procedure
   13671             : #endif
   13672             : 
   13673             : #if IK1_ENABLED
   13674           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_IK1
   13675             :         use pm_kind, only: IKC => IK1
   13676             : #include "pm_matrixCopy@routines.inc.F90"
   13677           0 :     end procedure
   13678             : #endif
   13679             : 
   13680             : #undef IK_ENABLED
   13681             : 
   13682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13683             : 
   13684             : #define LK_ENABLED 1
   13685             : 
   13686             : #if LK5_ENABLED
   13687           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_LK5
   13688             :         use pm_kind, only: LKC => LK5
   13689             : #include "pm_matrixCopy@routines.inc.F90"
   13690           0 :     end procedure
   13691             : #endif
   13692             : 
   13693             : #if LK4_ENABLED
   13694           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_LK4
   13695             :         use pm_kind, only: LKC => LK4
   13696             : #include "pm_matrixCopy@routines.inc.F90"
   13697           0 :     end procedure
   13698             : #endif
   13699             : 
   13700             : #if LK3_ENABLED
   13701           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_LK3
   13702             :         use pm_kind, only: LKC => LK3
   13703             : #include "pm_matrixCopy@routines.inc.F90"
   13704           0 :     end procedure
   13705             : #endif
   13706             : 
   13707             : #if LK2_ENABLED
   13708           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_LK2
   13709             :         use pm_kind, only: LKC => LK2
   13710             : #include "pm_matrixCopy@routines.inc.F90"
   13711           0 :     end procedure
   13712             : #endif
   13713             : 
   13714             : #if LK1_ENABLED
   13715           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_LK1
   13716             :         use pm_kind, only: LKC => LK1
   13717             : #include "pm_matrixCopy@routines.inc.F90"
   13718           0 :     end procedure
   13719             : #endif
   13720             : 
   13721             : #undef LK_ENABLED
   13722             : 
   13723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13724             : 
   13725             : #define CK_ENABLED 1
   13726             : 
   13727             : #if CK5_ENABLED
   13728             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_CK5
   13729             :         use pm_kind, only: CKC => CK5
   13730             : #include "pm_matrixCopy@routines.inc.F90"
   13731             :     end procedure
   13732             : #endif
   13733             : 
   13734             : #if CK4_ENABLED
   13735           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_CK4
   13736             :         use pm_kind, only: CKC => CK4
   13737             : #include "pm_matrixCopy@routines.inc.F90"
   13738           0 :     end procedure
   13739             : #endif
   13740             : 
   13741             : #if CK3_ENABLED
   13742           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_CK3
   13743             :         use pm_kind, only: CKC => CK3
   13744             : #include "pm_matrixCopy@routines.inc.F90"
   13745           0 :     end procedure
   13746             : #endif
   13747             : 
   13748             : #if CK2_ENABLED
   13749           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_CK2
   13750             :         use pm_kind, only: CKC => CK2
   13751             : #include "pm_matrixCopy@routines.inc.F90"
   13752           0 :     end procedure
   13753             : #endif
   13754             : 
   13755             : #if CK1_ENABLED
   13756           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_CK1
   13757             :         use pm_kind, only: CKC => CK1
   13758             : #include "pm_matrixCopy@routines.inc.F90"
   13759           0 :     end procedure
   13760             : #endif
   13761             : 
   13762             : #undef CK_ENABLED
   13763             : 
   13764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13765             : 
   13766             : #define RK_ENABLED 1
   13767             : 
   13768             : #if RK5_ENABLED
   13769             :     module procedure setMatCopy_RDP_LFP_UXD_TSO_RK5
   13770             :         use pm_kind, only: RKC => RK5
   13771             : #include "pm_matrixCopy@routines.inc.F90"
   13772             :     end procedure
   13773             : #endif
   13774             : 
   13775             : #if RK4_ENABLED
   13776           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_RK4
   13777             :         use pm_kind, only: RKC => RK4
   13778             : #include "pm_matrixCopy@routines.inc.F90"
   13779           0 :     end procedure
   13780             : #endif
   13781             : 
   13782             : #if RK3_ENABLED
   13783           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_RK3
   13784             :         use pm_kind, only: RKC => RK3
   13785             : #include "pm_matrixCopy@routines.inc.F90"
   13786           0 :     end procedure
   13787             : #endif
   13788             : 
   13789             : #if RK2_ENABLED
   13790           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_RK2
   13791             :         use pm_kind, only: RKC => RK2
   13792             : #include "pm_matrixCopy@routines.inc.F90"
   13793           0 :     end procedure
   13794             : #endif
   13795             : 
   13796             : #if RK1_ENABLED
   13797           0 :     module procedure setMatCopy_RDP_LFP_UXD_TSO_RK1
   13798             :         use pm_kind, only: RKC => RK1
   13799             : #include "pm_matrixCopy@routines.inc.F90"
   13800           0 :     end procedure
   13801             : #endif
   13802             : 
   13803             : #undef RK_ENABLED
   13804             : 
   13805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13806             : 
   13807             : #undef UXD_ENABLED
   13808             : #undef TSO_ENABLED
   13809             : 
   13810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13813             : 
   13814             : #define UXD_ENABLED 1
   13815             : #define THO_ENABLED 1
   13816             : 
   13817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13818             : 
   13819             : #define SK_ENABLED 1
   13820             : 
   13821             : #if SK5_ENABLED
   13822             :     module procedure setMatCopy_RDP_LFP_UXD_THO_SK5
   13823             :         use pm_kind, only: SKC => SK5
   13824             : #include "pm_matrixCopy@routines.inc.F90"
   13825             :     end procedure
   13826             : #endif
   13827             : 
   13828             : #if SK4_ENABLED
   13829             :     module procedure setMatCopy_RDP_LFP_UXD_THO_SK4
   13830             :         use pm_kind, only: SKC => SK4
   13831             : #include "pm_matrixCopy@routines.inc.F90"
   13832             :     end procedure
   13833             : #endif
   13834             : 
   13835             : #if SK3_ENABLED
   13836             :     module procedure setMatCopy_RDP_LFP_UXD_THO_SK3
   13837             :         use pm_kind, only: SKC => SK3
   13838             : #include "pm_matrixCopy@routines.inc.F90"
   13839             :     end procedure
   13840             : #endif
   13841             : 
   13842             : #if SK2_ENABLED
   13843             :     module procedure setMatCopy_RDP_LFP_UXD_THO_SK2
   13844             :         use pm_kind, only: SKC => SK2
   13845             : #include "pm_matrixCopy@routines.inc.F90"
   13846             :     end procedure
   13847             : #endif
   13848             : 
   13849             : #if SK1_ENABLED
   13850           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_SK1
   13851             :         use pm_kind, only: SKC => SK1
   13852             : #include "pm_matrixCopy@routines.inc.F90"
   13853           0 :     end procedure
   13854             : #endif
   13855             : 
   13856             : #undef SK_ENABLED
   13857             : 
   13858             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13859             : 
   13860             : #define IK_ENABLED 1
   13861             : 
   13862             : #if IK5_ENABLED
   13863           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_IK5
   13864             :         use pm_kind, only: IKC => IK5
   13865             : #include "pm_matrixCopy@routines.inc.F90"
   13866           0 :     end procedure
   13867             : #endif
   13868             : 
   13869             : #if IK4_ENABLED
   13870           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_IK4
   13871             :         use pm_kind, only: IKC => IK4
   13872             : #include "pm_matrixCopy@routines.inc.F90"
   13873           0 :     end procedure
   13874             : #endif
   13875             : 
   13876             : #if IK3_ENABLED
   13877           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_IK3
   13878             :         use pm_kind, only: IKC => IK3
   13879             : #include "pm_matrixCopy@routines.inc.F90"
   13880           0 :     end procedure
   13881             : #endif
   13882             : 
   13883             : #if IK2_ENABLED
   13884           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_IK2
   13885             :         use pm_kind, only: IKC => IK2
   13886             : #include "pm_matrixCopy@routines.inc.F90"
   13887           0 :     end procedure
   13888             : #endif
   13889             : 
   13890             : #if IK1_ENABLED
   13891           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_IK1
   13892             :         use pm_kind, only: IKC => IK1
   13893             : #include "pm_matrixCopy@routines.inc.F90"
   13894           0 :     end procedure
   13895             : #endif
   13896             : 
   13897             : #undef IK_ENABLED
   13898             : 
   13899             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13900             : 
   13901             : #define LK_ENABLED 1
   13902             : 
   13903             : #if LK5_ENABLED
   13904           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_LK5
   13905             :         use pm_kind, only: LKC => LK5
   13906             : #include "pm_matrixCopy@routines.inc.F90"
   13907           0 :     end procedure
   13908             : #endif
   13909             : 
   13910             : #if LK4_ENABLED
   13911           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_LK4
   13912             :         use pm_kind, only: LKC => LK4
   13913             : #include "pm_matrixCopy@routines.inc.F90"
   13914           0 :     end procedure
   13915             : #endif
   13916             : 
   13917             : #if LK3_ENABLED
   13918           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_LK3
   13919             :         use pm_kind, only: LKC => LK3
   13920             : #include "pm_matrixCopy@routines.inc.F90"
   13921           0 :     end procedure
   13922             : #endif
   13923             : 
   13924             : #if LK2_ENABLED
   13925           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_LK2
   13926             :         use pm_kind, only: LKC => LK2
   13927             : #include "pm_matrixCopy@routines.inc.F90"
   13928           0 :     end procedure
   13929             : #endif
   13930             : 
   13931             : #if LK1_ENABLED
   13932           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_LK1
   13933             :         use pm_kind, only: LKC => LK1
   13934             : #include "pm_matrixCopy@routines.inc.F90"
   13935           0 :     end procedure
   13936             : #endif
   13937             : 
   13938             : #undef LK_ENABLED
   13939             : 
   13940             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13941             : 
   13942             : #define CK_ENABLED 1
   13943             : 
   13944             : #if CK5_ENABLED
   13945             :     module procedure setMatCopy_RDP_LFP_UXD_THO_CK5
   13946             :         use pm_kind, only: CKC => CK5
   13947             : #include "pm_matrixCopy@routines.inc.F90"
   13948             :     end procedure
   13949             : #endif
   13950             : 
   13951             : #if CK4_ENABLED
   13952           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_CK4
   13953             :         use pm_kind, only: CKC => CK4
   13954             : #include "pm_matrixCopy@routines.inc.F90"
   13955           0 :     end procedure
   13956             : #endif
   13957             : 
   13958             : #if CK3_ENABLED
   13959           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_CK3
   13960             :         use pm_kind, only: CKC => CK3
   13961             : #include "pm_matrixCopy@routines.inc.F90"
   13962           0 :     end procedure
   13963             : #endif
   13964             : 
   13965             : #if CK2_ENABLED
   13966           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_CK2
   13967             :         use pm_kind, only: CKC => CK2
   13968             : #include "pm_matrixCopy@routines.inc.F90"
   13969           0 :     end procedure
   13970             : #endif
   13971             : 
   13972             : #if CK1_ENABLED
   13973           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_CK1
   13974             :         use pm_kind, only: CKC => CK1
   13975             : #include "pm_matrixCopy@routines.inc.F90"
   13976           0 :     end procedure
   13977             : #endif
   13978             : 
   13979             : #undef CK_ENABLED
   13980             : 
   13981             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   13982             : 
   13983             : #define RK_ENABLED 1
   13984             : 
   13985             : #if RK5_ENABLED
   13986             :     module procedure setMatCopy_RDP_LFP_UXD_THO_RK5
   13987             :         use pm_kind, only: RKC => RK5
   13988             : #include "pm_matrixCopy@routines.inc.F90"
   13989             :     end procedure
   13990             : #endif
   13991             : 
   13992             : #if RK4_ENABLED
   13993           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_RK4
   13994             :         use pm_kind, only: RKC => RK4
   13995             : #include "pm_matrixCopy@routines.inc.F90"
   13996           0 :     end procedure
   13997             : #endif
   13998             : 
   13999             : #if RK3_ENABLED
   14000           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_RK3
   14001             :         use pm_kind, only: RKC => RK3
   14002             : #include "pm_matrixCopy@routines.inc.F90"
   14003           0 :     end procedure
   14004             : #endif
   14005             : 
   14006             : #if RK2_ENABLED
   14007           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_RK2
   14008             :         use pm_kind, only: RKC => RK2
   14009             : #include "pm_matrixCopy@routines.inc.F90"
   14010           0 :     end procedure
   14011             : #endif
   14012             : 
   14013             : #if RK1_ENABLED
   14014           0 :     module procedure setMatCopy_RDP_LFP_UXD_THO_RK1
   14015             :         use pm_kind, only: RKC => RK1
   14016             : #include "pm_matrixCopy@routines.inc.F90"
   14017           0 :     end procedure
   14018             : #endif
   14019             : 
   14020             : #undef RK_ENABLED
   14021             : 
   14022             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14023             : 
   14024             : #undef UXD_ENABLED
   14025             : #undef THO_ENABLED
   14026             : 
   14027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14028             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14030             : 
   14031             : #define XLD_ENABLED 1
   14032             : #define AIO_ENABLED 1
   14033             : 
   14034             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14035             : 
   14036             : #define SK_ENABLED 1
   14037             : 
   14038             : #if SK5_ENABLED
   14039             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_SK5
   14040             :         use pm_kind, only: SKC => SK5
   14041             : #include "pm_matrixCopy@routines.inc.F90"
   14042             :     end procedure
   14043             : #endif
   14044             : 
   14045             : #if SK4_ENABLED
   14046             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_SK4
   14047             :         use pm_kind, only: SKC => SK4
   14048             : #include "pm_matrixCopy@routines.inc.F90"
   14049             :     end procedure
   14050             : #endif
   14051             : 
   14052             : #if SK3_ENABLED
   14053             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_SK3
   14054             :         use pm_kind, only: SKC => SK3
   14055             : #include "pm_matrixCopy@routines.inc.F90"
   14056             :     end procedure
   14057             : #endif
   14058             : 
   14059             : #if SK2_ENABLED
   14060             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_SK2
   14061             :         use pm_kind, only: SKC => SK2
   14062             : #include "pm_matrixCopy@routines.inc.F90"
   14063             :     end procedure
   14064             : #endif
   14065             : 
   14066             : #if SK1_ENABLED
   14067           2 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_SK1
   14068             :         use pm_kind, only: SKC => SK1
   14069             : #include "pm_matrixCopy@routines.inc.F90"
   14070           2 :     end procedure
   14071             : #endif
   14072             : 
   14073             : #undef SK_ENABLED
   14074             : 
   14075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14076             : 
   14077             : #define IK_ENABLED 1
   14078             : 
   14079             : #if IK5_ENABLED
   14080           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_IK5
   14081             :         use pm_kind, only: IKC => IK5
   14082             : #include "pm_matrixCopy@routines.inc.F90"
   14083           0 :     end procedure
   14084             : #endif
   14085             : 
   14086             : #if IK4_ENABLED
   14087           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_IK4
   14088             :         use pm_kind, only: IKC => IK4
   14089             : #include "pm_matrixCopy@routines.inc.F90"
   14090           0 :     end procedure
   14091             : #endif
   14092             : 
   14093             : #if IK3_ENABLED
   14094           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_IK3
   14095             :         use pm_kind, only: IKC => IK3
   14096             : #include "pm_matrixCopy@routines.inc.F90"
   14097           0 :     end procedure
   14098             : #endif
   14099             : 
   14100             : #if IK2_ENABLED
   14101           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_IK2
   14102             :         use pm_kind, only: IKC => IK2
   14103             : #include "pm_matrixCopy@routines.inc.F90"
   14104           0 :     end procedure
   14105             : #endif
   14106             : 
   14107             : #if IK1_ENABLED
   14108           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_IK1
   14109             :         use pm_kind, only: IKC => IK1
   14110             : #include "pm_matrixCopy@routines.inc.F90"
   14111           0 :     end procedure
   14112             : #endif
   14113             : 
   14114             : #undef IK_ENABLED
   14115             : 
   14116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14117             : 
   14118             : #define LK_ENABLED 1
   14119             : 
   14120             : #if LK5_ENABLED
   14121           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_LK5
   14122             :         use pm_kind, only: LKC => LK5
   14123             : #include "pm_matrixCopy@routines.inc.F90"
   14124           0 :     end procedure
   14125             : #endif
   14126             : 
   14127             : #if LK4_ENABLED
   14128           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_LK4
   14129             :         use pm_kind, only: LKC => LK4
   14130             : #include "pm_matrixCopy@routines.inc.F90"
   14131           0 :     end procedure
   14132             : #endif
   14133             : 
   14134             : #if LK3_ENABLED
   14135           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_LK3
   14136             :         use pm_kind, only: LKC => LK3
   14137             : #include "pm_matrixCopy@routines.inc.F90"
   14138           0 :     end procedure
   14139             : #endif
   14140             : 
   14141             : #if LK2_ENABLED
   14142           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_LK2
   14143             :         use pm_kind, only: LKC => LK2
   14144             : #include "pm_matrixCopy@routines.inc.F90"
   14145           0 :     end procedure
   14146             : #endif
   14147             : 
   14148             : #if LK1_ENABLED
   14149           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_LK1
   14150             :         use pm_kind, only: LKC => LK1
   14151             : #include "pm_matrixCopy@routines.inc.F90"
   14152           0 :     end procedure
   14153             : #endif
   14154             : 
   14155             : #undef LK_ENABLED
   14156             : 
   14157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14158             : 
   14159             : #define CK_ENABLED 1
   14160             : 
   14161             : #if CK5_ENABLED
   14162             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_CK5
   14163             :         use pm_kind, only: CKC => CK5
   14164             : #include "pm_matrixCopy@routines.inc.F90"
   14165             :     end procedure
   14166             : #endif
   14167             : 
   14168             : #if CK4_ENABLED
   14169           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_CK4
   14170             :         use pm_kind, only: CKC => CK4
   14171             : #include "pm_matrixCopy@routines.inc.F90"
   14172           0 :     end procedure
   14173             : #endif
   14174             : 
   14175             : #if CK3_ENABLED
   14176           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_CK3
   14177             :         use pm_kind, only: CKC => CK3
   14178             : #include "pm_matrixCopy@routines.inc.F90"
   14179           0 :     end procedure
   14180             : #endif
   14181             : 
   14182             : #if CK2_ENABLED
   14183           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_CK2
   14184             :         use pm_kind, only: CKC => CK2
   14185             : #include "pm_matrixCopy@routines.inc.F90"
   14186           0 :     end procedure
   14187             : #endif
   14188             : 
   14189             : #if CK1_ENABLED
   14190           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_CK1
   14191             :         use pm_kind, only: CKC => CK1
   14192             : #include "pm_matrixCopy@routines.inc.F90"
   14193           0 :     end procedure
   14194             : #endif
   14195             : 
   14196             : #undef CK_ENABLED
   14197             : 
   14198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14199             : 
   14200             : #define RK_ENABLED 1
   14201             : 
   14202             : #if RK5_ENABLED
   14203             :     module procedure setMatCopy_RDP_LFP_XLD_AIO_RK5
   14204             :         use pm_kind, only: RKC => RK5
   14205             : #include "pm_matrixCopy@routines.inc.F90"
   14206             :     end procedure
   14207             : #endif
   14208             : 
   14209             : #if RK4_ENABLED
   14210           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_RK4
   14211             :         use pm_kind, only: RKC => RK4
   14212             : #include "pm_matrixCopy@routines.inc.F90"
   14213           0 :     end procedure
   14214             : #endif
   14215             : 
   14216             : #if RK3_ENABLED
   14217           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_RK3
   14218             :         use pm_kind, only: RKC => RK3
   14219             : #include "pm_matrixCopy@routines.inc.F90"
   14220           0 :     end procedure
   14221             : #endif
   14222             : 
   14223             : #if RK2_ENABLED
   14224           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_RK2
   14225             :         use pm_kind, only: RKC => RK2
   14226             : #include "pm_matrixCopy@routines.inc.F90"
   14227           0 :     end procedure
   14228             : #endif
   14229             : 
   14230             : #if RK1_ENABLED
   14231           0 :     module procedure setMatCopy_RDP_LFP_XLD_AIO_RK1
   14232             :         use pm_kind, only: RKC => RK1
   14233             : #include "pm_matrixCopy@routines.inc.F90"
   14234           0 :     end procedure
   14235             : #endif
   14236             : 
   14237             : #undef RK_ENABLED
   14238             : 
   14239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14240             : 
   14241             : #undef XLD_ENABLED
   14242             : #undef AIO_ENABLED
   14243             : 
   14244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14247             : 
   14248             : #define XLD_ENABLED 1
   14249             : #define TSO_ENABLED 1
   14250             : 
   14251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14252             : 
   14253             : #define SK_ENABLED 1
   14254             : 
   14255             : #if SK5_ENABLED
   14256             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_SK5
   14257             :         use pm_kind, only: SKC => SK5
   14258             : #include "pm_matrixCopy@routines.inc.F90"
   14259             :     end procedure
   14260             : #endif
   14261             : 
   14262             : #if SK4_ENABLED
   14263             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_SK4
   14264             :         use pm_kind, only: SKC => SK4
   14265             : #include "pm_matrixCopy@routines.inc.F90"
   14266             :     end procedure
   14267             : #endif
   14268             : 
   14269             : #if SK3_ENABLED
   14270             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_SK3
   14271             :         use pm_kind, only: SKC => SK3
   14272             : #include "pm_matrixCopy@routines.inc.F90"
   14273             :     end procedure
   14274             : #endif
   14275             : 
   14276             : #if SK2_ENABLED
   14277             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_SK2
   14278             :         use pm_kind, only: SKC => SK2
   14279             : #include "pm_matrixCopy@routines.inc.F90"
   14280             :     end procedure
   14281             : #endif
   14282             : 
   14283             : #if SK1_ENABLED
   14284           2 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_SK1
   14285             :         use pm_kind, only: SKC => SK1
   14286             : #include "pm_matrixCopy@routines.inc.F90"
   14287           2 :     end procedure
   14288             : #endif
   14289             : 
   14290             : #undef SK_ENABLED
   14291             : 
   14292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14293             : 
   14294             : #define IK_ENABLED 1
   14295             : 
   14296             : #if IK5_ENABLED
   14297           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_IK5
   14298             :         use pm_kind, only: IKC => IK5
   14299             : #include "pm_matrixCopy@routines.inc.F90"
   14300           0 :     end procedure
   14301             : #endif
   14302             : 
   14303             : #if IK4_ENABLED
   14304           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_IK4
   14305             :         use pm_kind, only: IKC => IK4
   14306             : #include "pm_matrixCopy@routines.inc.F90"
   14307           0 :     end procedure
   14308             : #endif
   14309             : 
   14310             : #if IK3_ENABLED
   14311           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_IK3
   14312             :         use pm_kind, only: IKC => IK3
   14313             : #include "pm_matrixCopy@routines.inc.F90"
   14314           0 :     end procedure
   14315             : #endif
   14316             : 
   14317             : #if IK2_ENABLED
   14318           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_IK2
   14319             :         use pm_kind, only: IKC => IK2
   14320             : #include "pm_matrixCopy@routines.inc.F90"
   14321           0 :     end procedure
   14322             : #endif
   14323             : 
   14324             : #if IK1_ENABLED
   14325           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_IK1
   14326             :         use pm_kind, only: IKC => IK1
   14327             : #include "pm_matrixCopy@routines.inc.F90"
   14328           0 :     end procedure
   14329             : #endif
   14330             : 
   14331             : #undef IK_ENABLED
   14332             : 
   14333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14334             : 
   14335             : #define LK_ENABLED 1
   14336             : 
   14337             : #if LK5_ENABLED
   14338           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_LK5
   14339             :         use pm_kind, only: LKC => LK5
   14340             : #include "pm_matrixCopy@routines.inc.F90"
   14341           0 :     end procedure
   14342             : #endif
   14343             : 
   14344             : #if LK4_ENABLED
   14345           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_LK4
   14346             :         use pm_kind, only: LKC => LK4
   14347             : #include "pm_matrixCopy@routines.inc.F90"
   14348           0 :     end procedure
   14349             : #endif
   14350             : 
   14351             : #if LK3_ENABLED
   14352           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_LK3
   14353             :         use pm_kind, only: LKC => LK3
   14354             : #include "pm_matrixCopy@routines.inc.F90"
   14355           0 :     end procedure
   14356             : #endif
   14357             : 
   14358             : #if LK2_ENABLED
   14359           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_LK2
   14360             :         use pm_kind, only: LKC => LK2
   14361             : #include "pm_matrixCopy@routines.inc.F90"
   14362           0 :     end procedure
   14363             : #endif
   14364             : 
   14365             : #if LK1_ENABLED
   14366           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_LK1
   14367             :         use pm_kind, only: LKC => LK1
   14368             : #include "pm_matrixCopy@routines.inc.F90"
   14369           0 :     end procedure
   14370             : #endif
   14371             : 
   14372             : #undef LK_ENABLED
   14373             : 
   14374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14375             : 
   14376             : #define CK_ENABLED 1
   14377             : 
   14378             : #if CK5_ENABLED
   14379             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_CK5
   14380             :         use pm_kind, only: CKC => CK5
   14381             : #include "pm_matrixCopy@routines.inc.F90"
   14382             :     end procedure
   14383             : #endif
   14384             : 
   14385             : #if CK4_ENABLED
   14386           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_CK4
   14387             :         use pm_kind, only: CKC => CK4
   14388             : #include "pm_matrixCopy@routines.inc.F90"
   14389           0 :     end procedure
   14390             : #endif
   14391             : 
   14392             : #if CK3_ENABLED
   14393           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_CK3
   14394             :         use pm_kind, only: CKC => CK3
   14395             : #include "pm_matrixCopy@routines.inc.F90"
   14396           0 :     end procedure
   14397             : #endif
   14398             : 
   14399             : #if CK2_ENABLED
   14400           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_CK2
   14401             :         use pm_kind, only: CKC => CK2
   14402             : #include "pm_matrixCopy@routines.inc.F90"
   14403           0 :     end procedure
   14404             : #endif
   14405             : 
   14406             : #if CK1_ENABLED
   14407           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_CK1
   14408             :         use pm_kind, only: CKC => CK1
   14409             : #include "pm_matrixCopy@routines.inc.F90"
   14410           0 :     end procedure
   14411             : #endif
   14412             : 
   14413             : #undef CK_ENABLED
   14414             : 
   14415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14416             : 
   14417             : #define RK_ENABLED 1
   14418             : 
   14419             : #if RK5_ENABLED
   14420             :     module procedure setMatCopy_RDP_LFP_XLD_TSO_RK5
   14421             :         use pm_kind, only: RKC => RK5
   14422             : #include "pm_matrixCopy@routines.inc.F90"
   14423             :     end procedure
   14424             : #endif
   14425             : 
   14426             : #if RK4_ENABLED
   14427           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_RK4
   14428             :         use pm_kind, only: RKC => RK4
   14429             : #include "pm_matrixCopy@routines.inc.F90"
   14430           0 :     end procedure
   14431             : #endif
   14432             : 
   14433             : #if RK3_ENABLED
   14434           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_RK3
   14435             :         use pm_kind, only: RKC => RK3
   14436             : #include "pm_matrixCopy@routines.inc.F90"
   14437           0 :     end procedure
   14438             : #endif
   14439             : 
   14440             : #if RK2_ENABLED
   14441           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_RK2
   14442             :         use pm_kind, only: RKC => RK2
   14443             : #include "pm_matrixCopy@routines.inc.F90"
   14444           0 :     end procedure
   14445             : #endif
   14446             : 
   14447             : #if RK1_ENABLED
   14448           0 :     module procedure setMatCopy_RDP_LFP_XLD_TSO_RK1
   14449             :         use pm_kind, only: RKC => RK1
   14450             : #include "pm_matrixCopy@routines.inc.F90"
   14451           0 :     end procedure
   14452             : #endif
   14453             : 
   14454             : #undef RK_ENABLED
   14455             : 
   14456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14457             : 
   14458             : #undef XLD_ENABLED
   14459             : #undef TSO_ENABLED
   14460             : 
   14461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14464             : 
   14465             : #define XLD_ENABLED 1
   14466             : #define THO_ENABLED 1
   14467             : 
   14468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14469             : 
   14470             : #define SK_ENABLED 1
   14471             : 
   14472             : #if SK5_ENABLED
   14473             :     module procedure setMatCopy_RDP_LFP_XLD_THO_SK5
   14474             :         use pm_kind, only: SKC => SK5
   14475             : #include "pm_matrixCopy@routines.inc.F90"
   14476             :     end procedure
   14477             : #endif
   14478             : 
   14479             : #if SK4_ENABLED
   14480             :     module procedure setMatCopy_RDP_LFP_XLD_THO_SK4
   14481             :         use pm_kind, only: SKC => SK4
   14482             : #include "pm_matrixCopy@routines.inc.F90"
   14483             :     end procedure
   14484             : #endif
   14485             : 
   14486             : #if SK3_ENABLED
   14487             :     module procedure setMatCopy_RDP_LFP_XLD_THO_SK3
   14488             :         use pm_kind, only: SKC => SK3
   14489             : #include "pm_matrixCopy@routines.inc.F90"
   14490             :     end procedure
   14491             : #endif
   14492             : 
   14493             : #if SK2_ENABLED
   14494             :     module procedure setMatCopy_RDP_LFP_XLD_THO_SK2
   14495             :         use pm_kind, only: SKC => SK2
   14496             : #include "pm_matrixCopy@routines.inc.F90"
   14497             :     end procedure
   14498             : #endif
   14499             : 
   14500             : #if SK1_ENABLED
   14501           2 :     module procedure setMatCopy_RDP_LFP_XLD_THO_SK1
   14502             :         use pm_kind, only: SKC => SK1
   14503             : #include "pm_matrixCopy@routines.inc.F90"
   14504           2 :     end procedure
   14505             : #endif
   14506             : 
   14507             : #undef SK_ENABLED
   14508             : 
   14509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14510             : 
   14511             : #define IK_ENABLED 1
   14512             : 
   14513             : #if IK5_ENABLED
   14514           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_IK5
   14515             :         use pm_kind, only: IKC => IK5
   14516             : #include "pm_matrixCopy@routines.inc.F90"
   14517           0 :     end procedure
   14518             : #endif
   14519             : 
   14520             : #if IK4_ENABLED
   14521           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_IK4
   14522             :         use pm_kind, only: IKC => IK4
   14523             : #include "pm_matrixCopy@routines.inc.F90"
   14524           0 :     end procedure
   14525             : #endif
   14526             : 
   14527             : #if IK3_ENABLED
   14528           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_IK3
   14529             :         use pm_kind, only: IKC => IK3
   14530             : #include "pm_matrixCopy@routines.inc.F90"
   14531           0 :     end procedure
   14532             : #endif
   14533             : 
   14534             : #if IK2_ENABLED
   14535           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_IK2
   14536             :         use pm_kind, only: IKC => IK2
   14537             : #include "pm_matrixCopy@routines.inc.F90"
   14538           0 :     end procedure
   14539             : #endif
   14540             : 
   14541             : #if IK1_ENABLED
   14542           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_IK1
   14543             :         use pm_kind, only: IKC => IK1
   14544             : #include "pm_matrixCopy@routines.inc.F90"
   14545           0 :     end procedure
   14546             : #endif
   14547             : 
   14548             : #undef IK_ENABLED
   14549             : 
   14550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14551             : 
   14552             : #define LK_ENABLED 1
   14553             : 
   14554             : #if LK5_ENABLED
   14555           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_LK5
   14556             :         use pm_kind, only: LKC => LK5
   14557             : #include "pm_matrixCopy@routines.inc.F90"
   14558           0 :     end procedure
   14559             : #endif
   14560             : 
   14561             : #if LK4_ENABLED
   14562           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_LK4
   14563             :         use pm_kind, only: LKC => LK4
   14564             : #include "pm_matrixCopy@routines.inc.F90"
   14565           0 :     end procedure
   14566             : #endif
   14567             : 
   14568             : #if LK3_ENABLED
   14569           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_LK3
   14570             :         use pm_kind, only: LKC => LK3
   14571             : #include "pm_matrixCopy@routines.inc.F90"
   14572           0 :     end procedure
   14573             : #endif
   14574             : 
   14575             : #if LK2_ENABLED
   14576           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_LK2
   14577             :         use pm_kind, only: LKC => LK2
   14578             : #include "pm_matrixCopy@routines.inc.F90"
   14579           0 :     end procedure
   14580             : #endif
   14581             : 
   14582             : #if LK1_ENABLED
   14583           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_LK1
   14584             :         use pm_kind, only: LKC => LK1
   14585             : #include "pm_matrixCopy@routines.inc.F90"
   14586           0 :     end procedure
   14587             : #endif
   14588             : 
   14589             : #undef LK_ENABLED
   14590             : 
   14591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14592             : 
   14593             : #define CK_ENABLED 1
   14594             : 
   14595             : #if CK5_ENABLED
   14596             :     module procedure setMatCopy_RDP_LFP_XLD_THO_CK5
   14597             :         use pm_kind, only: CKC => CK5
   14598             : #include "pm_matrixCopy@routines.inc.F90"
   14599             :     end procedure
   14600             : #endif
   14601             : 
   14602             : #if CK4_ENABLED
   14603           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_CK4
   14604             :         use pm_kind, only: CKC => CK4
   14605             : #include "pm_matrixCopy@routines.inc.F90"
   14606           0 :     end procedure
   14607             : #endif
   14608             : 
   14609             : #if CK3_ENABLED
   14610           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_CK3
   14611             :         use pm_kind, only: CKC => CK3
   14612             : #include "pm_matrixCopy@routines.inc.F90"
   14613           0 :     end procedure
   14614             : #endif
   14615             : 
   14616             : #if CK2_ENABLED
   14617           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_CK2
   14618             :         use pm_kind, only: CKC => CK2
   14619             : #include "pm_matrixCopy@routines.inc.F90"
   14620           0 :     end procedure
   14621             : #endif
   14622             : 
   14623             : #if CK1_ENABLED
   14624           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_CK1
   14625             :         use pm_kind, only: CKC => CK1
   14626             : #include "pm_matrixCopy@routines.inc.F90"
   14627           0 :     end procedure
   14628             : #endif
   14629             : 
   14630             : #undef CK_ENABLED
   14631             : 
   14632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14633             : 
   14634             : #define RK_ENABLED 1
   14635             : 
   14636             : #if RK5_ENABLED
   14637             :     module procedure setMatCopy_RDP_LFP_XLD_THO_RK5
   14638             :         use pm_kind, only: RKC => RK5
   14639             : #include "pm_matrixCopy@routines.inc.F90"
   14640             :     end procedure
   14641             : #endif
   14642             : 
   14643             : #if RK4_ENABLED
   14644           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_RK4
   14645             :         use pm_kind, only: RKC => RK4
   14646             : #include "pm_matrixCopy@routines.inc.F90"
   14647           0 :     end procedure
   14648             : #endif
   14649             : 
   14650             : #if RK3_ENABLED
   14651           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_RK3
   14652             :         use pm_kind, only: RKC => RK3
   14653             : #include "pm_matrixCopy@routines.inc.F90"
   14654           0 :     end procedure
   14655             : #endif
   14656             : 
   14657             : #if RK2_ENABLED
   14658           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_RK2
   14659             :         use pm_kind, only: RKC => RK2
   14660             : #include "pm_matrixCopy@routines.inc.F90"
   14661           0 :     end procedure
   14662             : #endif
   14663             : 
   14664             : #if RK1_ENABLED
   14665           0 :     module procedure setMatCopy_RDP_LFP_XLD_THO_RK1
   14666             :         use pm_kind, only: RKC => RK1
   14667             : #include "pm_matrixCopy@routines.inc.F90"
   14668           0 :     end procedure
   14669             : #endif
   14670             : 
   14671             : #undef RK_ENABLED
   14672             : 
   14673             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14674             : 
   14675             : #undef XLD_ENABLED
   14676             : #undef THO_ENABLED
   14677             : 
   14678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14681             : 
   14682             : #undef RDP_LFP_ENABLED
   14683             : 
   14684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14687             : 
   14688             : #define LFP_RDP_ENABLED 1
   14689             : 
   14690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14692             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14693             : 
   14694             : #define XXD_ENABLED 1
   14695             : #define AIO_ENABLED 1
   14696             : 
   14697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14698             : 
   14699             : #define SK_ENABLED 1
   14700             : 
   14701             : #if SK5_ENABLED
   14702             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_SK5
   14703             :         use pm_kind, only: SKC => SK5
   14704             : #include "pm_matrixCopy@routines.inc.F90"
   14705             :     end procedure
   14706             : #endif
   14707             : 
   14708             : #if SK4_ENABLED
   14709             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_SK4
   14710             :         use pm_kind, only: SKC => SK4
   14711             : #include "pm_matrixCopy@routines.inc.F90"
   14712             :     end procedure
   14713             : #endif
   14714             : 
   14715             : #if SK3_ENABLED
   14716             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_SK3
   14717             :         use pm_kind, only: SKC => SK3
   14718             : #include "pm_matrixCopy@routines.inc.F90"
   14719             :     end procedure
   14720             : #endif
   14721             : 
   14722             : #if SK2_ENABLED
   14723             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_SK2
   14724             :         use pm_kind, only: SKC => SK2
   14725             : #include "pm_matrixCopy@routines.inc.F90"
   14726             :     end procedure
   14727             : #endif
   14728             : 
   14729             : #if SK1_ENABLED
   14730           8 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_SK1
   14731             :         use pm_kind, only: SKC => SK1
   14732             : #include "pm_matrixCopy@routines.inc.F90"
   14733             :     end procedure
   14734             : #endif
   14735             : 
   14736             : #undef SK_ENABLED
   14737             : 
   14738             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14739             : 
   14740             : #define IK_ENABLED 1
   14741             : 
   14742             : #if IK5_ENABLED
   14743           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_IK5
   14744             :         use pm_kind, only: IKC => IK5
   14745             : #include "pm_matrixCopy@routines.inc.F90"
   14746             :     end procedure
   14747             : #endif
   14748             : 
   14749             : #if IK4_ENABLED
   14750           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_IK4
   14751             :         use pm_kind, only: IKC => IK4
   14752             : #include "pm_matrixCopy@routines.inc.F90"
   14753             :     end procedure
   14754             : #endif
   14755             : 
   14756             : #if IK3_ENABLED
   14757           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_IK3
   14758             :         use pm_kind, only: IKC => IK3
   14759             : #include "pm_matrixCopy@routines.inc.F90"
   14760             :     end procedure
   14761             : #endif
   14762             : 
   14763             : #if IK2_ENABLED
   14764           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_IK2
   14765             :         use pm_kind, only: IKC => IK2
   14766             : #include "pm_matrixCopy@routines.inc.F90"
   14767             :     end procedure
   14768             : #endif
   14769             : 
   14770             : #if IK1_ENABLED
   14771           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_IK1
   14772             :         use pm_kind, only: IKC => IK1
   14773             : #include "pm_matrixCopy@routines.inc.F90"
   14774             :     end procedure
   14775             : #endif
   14776             : 
   14777             : #undef IK_ENABLED
   14778             : 
   14779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14780             : 
   14781             : #define LK_ENABLED 1
   14782             : 
   14783             : #if LK5_ENABLED
   14784           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_LK5
   14785             :         use pm_kind, only: LKC => LK5
   14786             : #include "pm_matrixCopy@routines.inc.F90"
   14787             :     end procedure
   14788             : #endif
   14789             : 
   14790             : #if LK4_ENABLED
   14791           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_LK4
   14792             :         use pm_kind, only: LKC => LK4
   14793             : #include "pm_matrixCopy@routines.inc.F90"
   14794             :     end procedure
   14795             : #endif
   14796             : 
   14797             : #if LK3_ENABLED
   14798           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_LK3
   14799             :         use pm_kind, only: LKC => LK3
   14800             : #include "pm_matrixCopy@routines.inc.F90"
   14801             :     end procedure
   14802             : #endif
   14803             : 
   14804             : #if LK2_ENABLED
   14805           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_LK2
   14806             :         use pm_kind, only: LKC => LK2
   14807             : #include "pm_matrixCopy@routines.inc.F90"
   14808             :     end procedure
   14809             : #endif
   14810             : 
   14811             : #if LK1_ENABLED
   14812           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_LK1
   14813             :         use pm_kind, only: LKC => LK1
   14814             : #include "pm_matrixCopy@routines.inc.F90"
   14815             :     end procedure
   14816             : #endif
   14817             : 
   14818             : #undef LK_ENABLED
   14819             : 
   14820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14821             : 
   14822             : #define CK_ENABLED 1
   14823             : 
   14824             : #if CK5_ENABLED
   14825             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_CK5
   14826             :         use pm_kind, only: CKC => CK5
   14827             : #include "pm_matrixCopy@routines.inc.F90"
   14828             :     end procedure
   14829             : #endif
   14830             : 
   14831             : #if CK4_ENABLED
   14832           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_CK4
   14833             :         use pm_kind, only: CKC => CK4
   14834             : #include "pm_matrixCopy@routines.inc.F90"
   14835             :     end procedure
   14836             : #endif
   14837             : 
   14838             : #if CK3_ENABLED
   14839           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_CK3
   14840             :         use pm_kind, only: CKC => CK3
   14841             : #include "pm_matrixCopy@routines.inc.F90"
   14842             :     end procedure
   14843             : #endif
   14844             : 
   14845             : #if CK2_ENABLED
   14846           0 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_CK2
   14847             :         use pm_kind, only: CKC => CK2
   14848             : #include "pm_matrixCopy@routines.inc.F90"
   14849             :     end procedure
   14850             : #endif
   14851             : 
   14852             : #if CK1_ENABLED
   14853          52 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_CK1
   14854             :         use pm_kind, only: CKC => CK1
   14855             : #include "pm_matrixCopy@routines.inc.F90"
   14856             :     end procedure
   14857             : #endif
   14858             : 
   14859             : #undef CK_ENABLED
   14860             : 
   14861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14862             : 
   14863             : #define RK_ENABLED 1
   14864             : 
   14865             : #if RK5_ENABLED
   14866             :     module procedure setMatCopy_LFP_RDP_XXD_AIO_RK5
   14867             :         use pm_kind, only: RKC => RK5
   14868             : #include "pm_matrixCopy@routines.inc.F90"
   14869             :     end procedure
   14870             : #endif
   14871             : 
   14872             : #if RK4_ENABLED
   14873         200 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_RK4
   14874             :         use pm_kind, only: RKC => RK4
   14875             : #include "pm_matrixCopy@routines.inc.F90"
   14876             :     end procedure
   14877             : #endif
   14878             : 
   14879             : #if RK3_ENABLED
   14880         200 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_RK3
   14881             :         use pm_kind, only: RKC => RK3
   14882             : #include "pm_matrixCopy@routines.inc.F90"
   14883             :     end procedure
   14884             : #endif
   14885             : 
   14886             : #if RK2_ENABLED
   14887         202 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_RK2
   14888             :         use pm_kind, only: RKC => RK2
   14889             : #include "pm_matrixCopy@routines.inc.F90"
   14890             :     end procedure
   14891             : #endif
   14892             : 
   14893             : #if RK1_ENABLED
   14894         322 :     module procedure setMatCopy_LFP_RDP_XXD_AIO_RK1
   14895             :         use pm_kind, only: RKC => RK1
   14896             : #include "pm_matrixCopy@routines.inc.F90"
   14897             :     end procedure
   14898             : #endif
   14899             : 
   14900             : #undef RK_ENABLED
   14901             : 
   14902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14903             : 
   14904             : #undef XXD_ENABLED
   14905             : #undef AIO_ENABLED
   14906             : 
   14907             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14910             : 
   14911             : #define XXD_ENABLED 1
   14912             : #define TSO_ENABLED 1
   14913             : 
   14914             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14915             : 
   14916             : #define SK_ENABLED 1
   14917             : 
   14918             : #if SK5_ENABLED
   14919             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_SK5
   14920             :         use pm_kind, only: SKC => SK5
   14921             : #include "pm_matrixCopy@routines.inc.F90"
   14922             :     end procedure
   14923             : #endif
   14924             : 
   14925             : #if SK4_ENABLED
   14926             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_SK4
   14927             :         use pm_kind, only: SKC => SK4
   14928             : #include "pm_matrixCopy@routines.inc.F90"
   14929             :     end procedure
   14930             : #endif
   14931             : 
   14932             : #if SK3_ENABLED
   14933             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_SK3
   14934             :         use pm_kind, only: SKC => SK3
   14935             : #include "pm_matrixCopy@routines.inc.F90"
   14936             :     end procedure
   14937             : #endif
   14938             : 
   14939             : #if SK2_ENABLED
   14940             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_SK2
   14941             :         use pm_kind, only: SKC => SK2
   14942             : #include "pm_matrixCopy@routines.inc.F90"
   14943             :     end procedure
   14944             : #endif
   14945             : 
   14946             : #if SK1_ENABLED
   14947           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_SK1
   14948             :         use pm_kind, only: SKC => SK1
   14949             : #include "pm_matrixCopy@routines.inc.F90"
   14950             :     end procedure
   14951             : #endif
   14952             : 
   14953             : #undef SK_ENABLED
   14954             : 
   14955             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14956             : 
   14957             : #define IK_ENABLED 1
   14958             : 
   14959             : #if IK5_ENABLED
   14960           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_IK5
   14961             :         use pm_kind, only: IKC => IK5
   14962             : #include "pm_matrixCopy@routines.inc.F90"
   14963             :     end procedure
   14964             : #endif
   14965             : 
   14966             : #if IK4_ENABLED
   14967           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_IK4
   14968             :         use pm_kind, only: IKC => IK4
   14969             : #include "pm_matrixCopy@routines.inc.F90"
   14970             :     end procedure
   14971             : #endif
   14972             : 
   14973             : #if IK3_ENABLED
   14974           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_IK3
   14975             :         use pm_kind, only: IKC => IK3
   14976             : #include "pm_matrixCopy@routines.inc.F90"
   14977             :     end procedure
   14978             : #endif
   14979             : 
   14980             : #if IK2_ENABLED
   14981           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_IK2
   14982             :         use pm_kind, only: IKC => IK2
   14983             : #include "pm_matrixCopy@routines.inc.F90"
   14984             :     end procedure
   14985             : #endif
   14986             : 
   14987             : #if IK1_ENABLED
   14988           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_IK1
   14989             :         use pm_kind, only: IKC => IK1
   14990             : #include "pm_matrixCopy@routines.inc.F90"
   14991             :     end procedure
   14992             : #endif
   14993             : 
   14994             : #undef IK_ENABLED
   14995             : 
   14996             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   14997             : 
   14998             : #define LK_ENABLED 1
   14999             : 
   15000             : #if LK5_ENABLED
   15001           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_LK5
   15002             :         use pm_kind, only: LKC => LK5
   15003             : #include "pm_matrixCopy@routines.inc.F90"
   15004             :     end procedure
   15005             : #endif
   15006             : 
   15007             : #if LK4_ENABLED
   15008           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_LK4
   15009             :         use pm_kind, only: LKC => LK4
   15010             : #include "pm_matrixCopy@routines.inc.F90"
   15011             :     end procedure
   15012             : #endif
   15013             : 
   15014             : #if LK3_ENABLED
   15015           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_LK3
   15016             :         use pm_kind, only: LKC => LK3
   15017             : #include "pm_matrixCopy@routines.inc.F90"
   15018             :     end procedure
   15019             : #endif
   15020             : 
   15021             : #if LK2_ENABLED
   15022           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_LK2
   15023             :         use pm_kind, only: LKC => LK2
   15024             : #include "pm_matrixCopy@routines.inc.F90"
   15025             :     end procedure
   15026             : #endif
   15027             : 
   15028             : #if LK1_ENABLED
   15029           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_LK1
   15030             :         use pm_kind, only: LKC => LK1
   15031             : #include "pm_matrixCopy@routines.inc.F90"
   15032             :     end procedure
   15033             : #endif
   15034             : 
   15035             : #undef LK_ENABLED
   15036             : 
   15037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15038             : 
   15039             : #define CK_ENABLED 1
   15040             : 
   15041             : #if CK5_ENABLED
   15042             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_CK5
   15043             :         use pm_kind, only: CKC => CK5
   15044             : #include "pm_matrixCopy@routines.inc.F90"
   15045             :     end procedure
   15046             : #endif
   15047             : 
   15048             : #if CK4_ENABLED
   15049           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_CK4
   15050             :         use pm_kind, only: CKC => CK4
   15051             : #include "pm_matrixCopy@routines.inc.F90"
   15052             :     end procedure
   15053             : #endif
   15054             : 
   15055             : #if CK3_ENABLED
   15056           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_CK3
   15057             :         use pm_kind, only: CKC => CK3
   15058             : #include "pm_matrixCopy@routines.inc.F90"
   15059             :     end procedure
   15060             : #endif
   15061             : 
   15062             : #if CK2_ENABLED
   15063           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_CK2
   15064             :         use pm_kind, only: CKC => CK2
   15065             : #include "pm_matrixCopy@routines.inc.F90"
   15066             :     end procedure
   15067             : #endif
   15068             : 
   15069             : #if CK1_ENABLED
   15070           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_CK1
   15071             :         use pm_kind, only: CKC => CK1
   15072             : #include "pm_matrixCopy@routines.inc.F90"
   15073             :     end procedure
   15074             : #endif
   15075             : 
   15076             : #undef CK_ENABLED
   15077             : 
   15078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15079             : 
   15080             : #define RK_ENABLED 1
   15081             : 
   15082             : #if RK5_ENABLED
   15083             :     module procedure setMatCopy_LFP_RDP_XXD_TSO_RK5
   15084             :         use pm_kind, only: RKC => RK5
   15085             : #include "pm_matrixCopy@routines.inc.F90"
   15086             :     end procedure
   15087             : #endif
   15088             : 
   15089             : #if RK4_ENABLED
   15090           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_RK4
   15091             :         use pm_kind, only: RKC => RK4
   15092             : #include "pm_matrixCopy@routines.inc.F90"
   15093             :     end procedure
   15094             : #endif
   15095             : 
   15096             : #if RK3_ENABLED
   15097           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_RK3
   15098             :         use pm_kind, only: RKC => RK3
   15099             : #include "pm_matrixCopy@routines.inc.F90"
   15100             :     end procedure
   15101             : #endif
   15102             : 
   15103             : #if RK2_ENABLED
   15104           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_RK2
   15105             :         use pm_kind, only: RKC => RK2
   15106             : #include "pm_matrixCopy@routines.inc.F90"
   15107             :     end procedure
   15108             : #endif
   15109             : 
   15110             : #if RK1_ENABLED
   15111           0 :     module procedure setMatCopy_LFP_RDP_XXD_TSO_RK1
   15112             :         use pm_kind, only: RKC => RK1
   15113             : #include "pm_matrixCopy@routines.inc.F90"
   15114             :     end procedure
   15115             : #endif
   15116             : 
   15117             : #undef RK_ENABLED
   15118             : 
   15119             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15120             : 
   15121             : #undef XXD_ENABLED
   15122             : #undef TSO_ENABLED
   15123             : 
   15124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15125             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15127             : 
   15128             : #define XXD_ENABLED 1
   15129             : #define THO_ENABLED 1
   15130             : 
   15131             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15132             : 
   15133             : #define SK_ENABLED 1
   15134             : 
   15135             : #if SK5_ENABLED
   15136             :     module procedure setMatCopy_LFP_RDP_XXD_THO_SK5
   15137             :         use pm_kind, only: SKC => SK5
   15138             : #include "pm_matrixCopy@routines.inc.F90"
   15139             :     end procedure
   15140             : #endif
   15141             : 
   15142             : #if SK4_ENABLED
   15143             :     module procedure setMatCopy_LFP_RDP_XXD_THO_SK4
   15144             :         use pm_kind, only: SKC => SK4
   15145             : #include "pm_matrixCopy@routines.inc.F90"
   15146             :     end procedure
   15147             : #endif
   15148             : 
   15149             : #if SK3_ENABLED
   15150             :     module procedure setMatCopy_LFP_RDP_XXD_THO_SK3
   15151             :         use pm_kind, only: SKC => SK3
   15152             : #include "pm_matrixCopy@routines.inc.F90"
   15153             :     end procedure
   15154             : #endif
   15155             : 
   15156             : #if SK2_ENABLED
   15157             :     module procedure setMatCopy_LFP_RDP_XXD_THO_SK2
   15158             :         use pm_kind, only: SKC => SK2
   15159             : #include "pm_matrixCopy@routines.inc.F90"
   15160             :     end procedure
   15161             : #endif
   15162             : 
   15163             : #if SK1_ENABLED
   15164           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_SK1
   15165             :         use pm_kind, only: SKC => SK1
   15166             : #include "pm_matrixCopy@routines.inc.F90"
   15167             :     end procedure
   15168             : #endif
   15169             : 
   15170             : #undef SK_ENABLED
   15171             : 
   15172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15173             : 
   15174             : #define IK_ENABLED 1
   15175             : 
   15176             : #if IK5_ENABLED
   15177           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_IK5
   15178             :         use pm_kind, only: IKC => IK5
   15179             : #include "pm_matrixCopy@routines.inc.F90"
   15180             :     end procedure
   15181             : #endif
   15182             : 
   15183             : #if IK4_ENABLED
   15184           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_IK4
   15185             :         use pm_kind, only: IKC => IK4
   15186             : #include "pm_matrixCopy@routines.inc.F90"
   15187             :     end procedure
   15188             : #endif
   15189             : 
   15190             : #if IK3_ENABLED
   15191           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_IK3
   15192             :         use pm_kind, only: IKC => IK3
   15193             : #include "pm_matrixCopy@routines.inc.F90"
   15194             :     end procedure
   15195             : #endif
   15196             : 
   15197             : #if IK2_ENABLED
   15198           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_IK2
   15199             :         use pm_kind, only: IKC => IK2
   15200             : #include "pm_matrixCopy@routines.inc.F90"
   15201             :     end procedure
   15202             : #endif
   15203             : 
   15204             : #if IK1_ENABLED
   15205           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_IK1
   15206             :         use pm_kind, only: IKC => IK1
   15207             : #include "pm_matrixCopy@routines.inc.F90"
   15208             :     end procedure
   15209             : #endif
   15210             : 
   15211             : #undef IK_ENABLED
   15212             : 
   15213             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15214             : 
   15215             : #define LK_ENABLED 1
   15216             : 
   15217             : #if LK5_ENABLED
   15218           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_LK5
   15219             :         use pm_kind, only: LKC => LK5
   15220             : #include "pm_matrixCopy@routines.inc.F90"
   15221             :     end procedure
   15222             : #endif
   15223             : 
   15224             : #if LK4_ENABLED
   15225           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_LK4
   15226             :         use pm_kind, only: LKC => LK4
   15227             : #include "pm_matrixCopy@routines.inc.F90"
   15228             :     end procedure
   15229             : #endif
   15230             : 
   15231             : #if LK3_ENABLED
   15232           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_LK3
   15233             :         use pm_kind, only: LKC => LK3
   15234             : #include "pm_matrixCopy@routines.inc.F90"
   15235             :     end procedure
   15236             : #endif
   15237             : 
   15238             : #if LK2_ENABLED
   15239           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_LK2
   15240             :         use pm_kind, only: LKC => LK2
   15241             : #include "pm_matrixCopy@routines.inc.F90"
   15242             :     end procedure
   15243             : #endif
   15244             : 
   15245             : #if LK1_ENABLED
   15246           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_LK1
   15247             :         use pm_kind, only: LKC => LK1
   15248             : #include "pm_matrixCopy@routines.inc.F90"
   15249             :     end procedure
   15250             : #endif
   15251             : 
   15252             : #undef LK_ENABLED
   15253             : 
   15254             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15255             : 
   15256             : #define CK_ENABLED 1
   15257             : 
   15258             : #if CK5_ENABLED
   15259             :     module procedure setMatCopy_LFP_RDP_XXD_THO_CK5
   15260             :         use pm_kind, only: CKC => CK5
   15261             : #include "pm_matrixCopy@routines.inc.F90"
   15262             :     end procedure
   15263             : #endif
   15264             : 
   15265             : #if CK4_ENABLED
   15266           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_CK4
   15267             :         use pm_kind, only: CKC => CK4
   15268             : #include "pm_matrixCopy@routines.inc.F90"
   15269             :     end procedure
   15270             : #endif
   15271             : 
   15272             : #if CK3_ENABLED
   15273           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_CK3
   15274             :         use pm_kind, only: CKC => CK3
   15275             : #include "pm_matrixCopy@routines.inc.F90"
   15276             :     end procedure
   15277             : #endif
   15278             : 
   15279             : #if CK2_ENABLED
   15280           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_CK2
   15281             :         use pm_kind, only: CKC => CK2
   15282             : #include "pm_matrixCopy@routines.inc.F90"
   15283             :     end procedure
   15284             : #endif
   15285             : 
   15286             : #if CK1_ENABLED
   15287           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_CK1
   15288             :         use pm_kind, only: CKC => CK1
   15289             : #include "pm_matrixCopy@routines.inc.F90"
   15290             :     end procedure
   15291             : #endif
   15292             : 
   15293             : #undef CK_ENABLED
   15294             : 
   15295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15296             : 
   15297             : #define RK_ENABLED 1
   15298             : 
   15299             : #if RK5_ENABLED
   15300             :     module procedure setMatCopy_LFP_RDP_XXD_THO_RK5
   15301             :         use pm_kind, only: RKC => RK5
   15302             : #include "pm_matrixCopy@routines.inc.F90"
   15303             :     end procedure
   15304             : #endif
   15305             : 
   15306             : #if RK4_ENABLED
   15307           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_RK4
   15308             :         use pm_kind, only: RKC => RK4
   15309             : #include "pm_matrixCopy@routines.inc.F90"
   15310             :     end procedure
   15311             : #endif
   15312             : 
   15313             : #if RK3_ENABLED
   15314           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_RK3
   15315             :         use pm_kind, only: RKC => RK3
   15316             : #include "pm_matrixCopy@routines.inc.F90"
   15317             :     end procedure
   15318             : #endif
   15319             : 
   15320             : #if RK2_ENABLED
   15321           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_RK2
   15322             :         use pm_kind, only: RKC => RK2
   15323             : #include "pm_matrixCopy@routines.inc.F90"
   15324             :     end procedure
   15325             : #endif
   15326             : 
   15327             : #if RK1_ENABLED
   15328           0 :     module procedure setMatCopy_LFP_RDP_XXD_THO_RK1
   15329             :         use pm_kind, only: RKC => RK1
   15330             : #include "pm_matrixCopy@routines.inc.F90"
   15331             :     end procedure
   15332             : #endif
   15333             : 
   15334             : #undef RK_ENABLED
   15335             : 
   15336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15337             : 
   15338             : #undef XXD_ENABLED
   15339             : #undef THO_ENABLED
   15340             : 
   15341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15344             : 
   15345             : #define UXD_ENABLED 1
   15346             : #define AIO_ENABLED 1
   15347             : 
   15348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15349             : 
   15350             : #define SK_ENABLED 1
   15351             : 
   15352             : #if SK5_ENABLED
   15353             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_SK5
   15354             :         use pm_kind, only: SKC => SK5
   15355             : #include "pm_matrixCopy@routines.inc.F90"
   15356             :     end procedure
   15357             : #endif
   15358             : 
   15359             : #if SK4_ENABLED
   15360             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_SK4
   15361             :         use pm_kind, only: SKC => SK4
   15362             : #include "pm_matrixCopy@routines.inc.F90"
   15363             :     end procedure
   15364             : #endif
   15365             : 
   15366             : #if SK3_ENABLED
   15367             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_SK3
   15368             :         use pm_kind, only: SKC => SK3
   15369             : #include "pm_matrixCopy@routines.inc.F90"
   15370             :     end procedure
   15371             : #endif
   15372             : 
   15373             : #if SK2_ENABLED
   15374             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_SK2
   15375             :         use pm_kind, only: SKC => SK2
   15376             : #include "pm_matrixCopy@routines.inc.F90"
   15377             :     end procedure
   15378             : #endif
   15379             : 
   15380             : #if SK1_ENABLED
   15381           2 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_SK1
   15382             :         use pm_kind, only: SKC => SK1
   15383             : #include "pm_matrixCopy@routines.inc.F90"
   15384           2 :     end procedure
   15385             : #endif
   15386             : 
   15387             : #undef SK_ENABLED
   15388             : 
   15389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15390             : 
   15391             : #define IK_ENABLED 1
   15392             : 
   15393             : #if IK5_ENABLED
   15394         282 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_IK5
   15395             :         use pm_kind, only: IKC => IK5
   15396             : #include "pm_matrixCopy@routines.inc.F90"
   15397         282 :     end procedure
   15398             : #endif
   15399             : 
   15400             : #if IK4_ENABLED
   15401         288 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_IK4
   15402             :         use pm_kind, only: IKC => IK4
   15403             : #include "pm_matrixCopy@routines.inc.F90"
   15404         288 :     end procedure
   15405             : #endif
   15406             : 
   15407             : #if IK3_ENABLED
   15408         268 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_IK3
   15409             :         use pm_kind, only: IKC => IK3
   15410             : #include "pm_matrixCopy@routines.inc.F90"
   15411         268 :     end procedure
   15412             : #endif
   15413             : 
   15414             : #if IK2_ENABLED
   15415         260 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_IK2
   15416             :         use pm_kind, only: IKC => IK2
   15417             : #include "pm_matrixCopy@routines.inc.F90"
   15418         260 :     end procedure
   15419             : #endif
   15420             : 
   15421             : #if IK1_ENABLED
   15422         306 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_IK1
   15423             :         use pm_kind, only: IKC => IK1
   15424             : #include "pm_matrixCopy@routines.inc.F90"
   15425         306 :     end procedure
   15426             : #endif
   15427             : 
   15428             : #undef IK_ENABLED
   15429             : 
   15430             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15431             : 
   15432             : #define LK_ENABLED 1
   15433             : 
   15434             : #if LK5_ENABLED
   15435           0 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_LK5
   15436             :         use pm_kind, only: LKC => LK5
   15437             : #include "pm_matrixCopy@routines.inc.F90"
   15438           0 :     end procedure
   15439             : #endif
   15440             : 
   15441             : #if LK4_ENABLED
   15442           0 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_LK4
   15443             :         use pm_kind, only: LKC => LK4
   15444             : #include "pm_matrixCopy@routines.inc.F90"
   15445           0 :     end procedure
   15446             : #endif
   15447             : 
   15448             : #if LK3_ENABLED
   15449           0 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_LK3
   15450             :         use pm_kind, only: LKC => LK3
   15451             : #include "pm_matrixCopy@routines.inc.F90"
   15452           0 :     end procedure
   15453             : #endif
   15454             : 
   15455             : #if LK2_ENABLED
   15456           0 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_LK2
   15457             :         use pm_kind, only: LKC => LK2
   15458             : #include "pm_matrixCopy@routines.inc.F90"
   15459           0 :     end procedure
   15460             : #endif
   15461             : 
   15462             : #if LK1_ENABLED
   15463           0 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_LK1
   15464             :         use pm_kind, only: LKC => LK1
   15465             : #include "pm_matrixCopy@routines.inc.F90"
   15466           0 :     end procedure
   15467             : #endif
   15468             : 
   15469             : #undef LK_ENABLED
   15470             : 
   15471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15472             : 
   15473             : #define CK_ENABLED 1
   15474             : 
   15475             : #if CK5_ENABLED
   15476             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_CK5
   15477             :         use pm_kind, only: CKC => CK5
   15478             : #include "pm_matrixCopy@routines.inc.F90"
   15479             :     end procedure
   15480             : #endif
   15481             : 
   15482             : #if CK4_ENABLED
   15483         284 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_CK4
   15484             :         use pm_kind, only: CKC => CK4
   15485             : #include "pm_matrixCopy@routines.inc.F90"
   15486         284 :     end procedure
   15487             : #endif
   15488             : 
   15489             : #if CK3_ENABLED
   15490         278 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_CK3
   15491             :         use pm_kind, only: CKC => CK3
   15492             : #include "pm_matrixCopy@routines.inc.F90"
   15493         278 :     end procedure
   15494             : #endif
   15495             : 
   15496             : #if CK2_ENABLED
   15497         264 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_CK2
   15498             :         use pm_kind, only: CKC => CK2
   15499             : #include "pm_matrixCopy@routines.inc.F90"
   15500         264 :     end procedure
   15501             : #endif
   15502             : 
   15503             : #if CK1_ENABLED
   15504         300 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_CK1
   15505             :         use pm_kind, only: CKC => CK1
   15506             : #include "pm_matrixCopy@routines.inc.F90"
   15507         300 :     end procedure
   15508             : #endif
   15509             : 
   15510             : #undef CK_ENABLED
   15511             : 
   15512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15513             : 
   15514             : #define RK_ENABLED 1
   15515             : 
   15516             : #if RK5_ENABLED
   15517             :     module procedure setMatCopy_LFP_RDP_UXD_AIO_RK5
   15518             :         use pm_kind, only: RKC => RK5
   15519             : #include "pm_matrixCopy@routines.inc.F90"
   15520             :     end procedure
   15521             : #endif
   15522             : 
   15523             : #if RK4_ENABLED
   15524         276 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_RK4
   15525             :         use pm_kind, only: RKC => RK4
   15526             : #include "pm_matrixCopy@routines.inc.F90"
   15527         276 :     end procedure
   15528             : #endif
   15529             : 
   15530             : #if RK3_ENABLED
   15531         280 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_RK3
   15532             :         use pm_kind, only: RKC => RK3
   15533             : #include "pm_matrixCopy@routines.inc.F90"
   15534         280 :     end procedure
   15535             : #endif
   15536             : 
   15537             : #if RK2_ENABLED
   15538         262 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_RK2
   15539             :         use pm_kind, only: RKC => RK2
   15540             : #include "pm_matrixCopy@routines.inc.F90"
   15541         262 :     end procedure
   15542             : #endif
   15543             : 
   15544             : #if RK1_ENABLED
   15545         300 :     module procedure setMatCopy_LFP_RDP_UXD_AIO_RK1
   15546             :         use pm_kind, only: RKC => RK1
   15547             : #include "pm_matrixCopy@routines.inc.F90"
   15548         300 :     end procedure
   15549             : #endif
   15550             : 
   15551             : #undef RK_ENABLED
   15552             : 
   15553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15554             : 
   15555             : #undef UXD_ENABLED
   15556             : #undef AIO_ENABLED
   15557             : 
   15558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15561             : 
   15562             : #define UXD_ENABLED 1
   15563             : #define TSO_ENABLED 1
   15564             : 
   15565             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15566             : 
   15567             : #define SK_ENABLED 1
   15568             : 
   15569             : #if SK5_ENABLED
   15570             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_SK5
   15571             :         use pm_kind, only: SKC => SK5
   15572             : #include "pm_matrixCopy@routines.inc.F90"
   15573             :     end procedure
   15574             : #endif
   15575             : 
   15576             : #if SK4_ENABLED
   15577             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_SK4
   15578             :         use pm_kind, only: SKC => SK4
   15579             : #include "pm_matrixCopy@routines.inc.F90"
   15580             :     end procedure
   15581             : #endif
   15582             : 
   15583             : #if SK3_ENABLED
   15584             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_SK3
   15585             :         use pm_kind, only: SKC => SK3
   15586             : #include "pm_matrixCopy@routines.inc.F90"
   15587             :     end procedure
   15588             : #endif
   15589             : 
   15590             : #if SK2_ENABLED
   15591             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_SK2
   15592             :         use pm_kind, only: SKC => SK2
   15593             : #include "pm_matrixCopy@routines.inc.F90"
   15594             :     end procedure
   15595             : #endif
   15596             : 
   15597             : #if SK1_ENABLED
   15598           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_SK1
   15599             :         use pm_kind, only: SKC => SK1
   15600             : #include "pm_matrixCopy@routines.inc.F90"
   15601           0 :     end procedure
   15602             : #endif
   15603             : 
   15604             : #undef SK_ENABLED
   15605             : 
   15606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15607             : 
   15608             : #define IK_ENABLED 1
   15609             : 
   15610             : #if IK5_ENABLED
   15611           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_IK5
   15612             :         use pm_kind, only: IKC => IK5
   15613             : #include "pm_matrixCopy@routines.inc.F90"
   15614           0 :     end procedure
   15615             : #endif
   15616             : 
   15617             : #if IK4_ENABLED
   15618           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_IK4
   15619             :         use pm_kind, only: IKC => IK4
   15620             : #include "pm_matrixCopy@routines.inc.F90"
   15621           0 :     end procedure
   15622             : #endif
   15623             : 
   15624             : #if IK3_ENABLED
   15625           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_IK3
   15626             :         use pm_kind, only: IKC => IK3
   15627             : #include "pm_matrixCopy@routines.inc.F90"
   15628           0 :     end procedure
   15629             : #endif
   15630             : 
   15631             : #if IK2_ENABLED
   15632           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_IK2
   15633             :         use pm_kind, only: IKC => IK2
   15634             : #include "pm_matrixCopy@routines.inc.F90"
   15635           0 :     end procedure
   15636             : #endif
   15637             : 
   15638             : #if IK1_ENABLED
   15639           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_IK1
   15640             :         use pm_kind, only: IKC => IK1
   15641             : #include "pm_matrixCopy@routines.inc.F90"
   15642           0 :     end procedure
   15643             : #endif
   15644             : 
   15645             : #undef IK_ENABLED
   15646             : 
   15647             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15648             : 
   15649             : #define LK_ENABLED 1
   15650             : 
   15651             : #if LK5_ENABLED
   15652           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_LK5
   15653             :         use pm_kind, only: LKC => LK5
   15654             : #include "pm_matrixCopy@routines.inc.F90"
   15655           0 :     end procedure
   15656             : #endif
   15657             : 
   15658             : #if LK4_ENABLED
   15659           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_LK4
   15660             :         use pm_kind, only: LKC => LK4
   15661             : #include "pm_matrixCopy@routines.inc.F90"
   15662           0 :     end procedure
   15663             : #endif
   15664             : 
   15665             : #if LK3_ENABLED
   15666           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_LK3
   15667             :         use pm_kind, only: LKC => LK3
   15668             : #include "pm_matrixCopy@routines.inc.F90"
   15669           0 :     end procedure
   15670             : #endif
   15671             : 
   15672             : #if LK2_ENABLED
   15673           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_LK2
   15674             :         use pm_kind, only: LKC => LK2
   15675             : #include "pm_matrixCopy@routines.inc.F90"
   15676           0 :     end procedure
   15677             : #endif
   15678             : 
   15679             : #if LK1_ENABLED
   15680           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_LK1
   15681             :         use pm_kind, only: LKC => LK1
   15682             : #include "pm_matrixCopy@routines.inc.F90"
   15683           0 :     end procedure
   15684             : #endif
   15685             : 
   15686             : #undef LK_ENABLED
   15687             : 
   15688             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15689             : 
   15690             : #define CK_ENABLED 1
   15691             : 
   15692             : #if CK5_ENABLED
   15693             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_CK5
   15694             :         use pm_kind, only: CKC => CK5
   15695             : #include "pm_matrixCopy@routines.inc.F90"
   15696             :     end procedure
   15697             : #endif
   15698             : 
   15699             : #if CK4_ENABLED
   15700           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_CK4
   15701             :         use pm_kind, only: CKC => CK4
   15702             : #include "pm_matrixCopy@routines.inc.F90"
   15703           0 :     end procedure
   15704             : #endif
   15705             : 
   15706             : #if CK3_ENABLED
   15707           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_CK3
   15708             :         use pm_kind, only: CKC => CK3
   15709             : #include "pm_matrixCopy@routines.inc.F90"
   15710           0 :     end procedure
   15711             : #endif
   15712             : 
   15713             : #if CK2_ENABLED
   15714           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_CK2
   15715             :         use pm_kind, only: CKC => CK2
   15716             : #include "pm_matrixCopy@routines.inc.F90"
   15717           0 :     end procedure
   15718             : #endif
   15719             : 
   15720             : #if CK1_ENABLED
   15721           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_CK1
   15722             :         use pm_kind, only: CKC => CK1
   15723             : #include "pm_matrixCopy@routines.inc.F90"
   15724           0 :     end procedure
   15725             : #endif
   15726             : 
   15727             : #undef CK_ENABLED
   15728             : 
   15729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15730             : 
   15731             : #define RK_ENABLED 1
   15732             : 
   15733             : #if RK5_ENABLED
   15734             :     module procedure setMatCopy_LFP_RDP_UXD_TSO_RK5
   15735             :         use pm_kind, only: RKC => RK5
   15736             : #include "pm_matrixCopy@routines.inc.F90"
   15737             :     end procedure
   15738             : #endif
   15739             : 
   15740             : #if RK4_ENABLED
   15741           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_RK4
   15742             :         use pm_kind, only: RKC => RK4
   15743             : #include "pm_matrixCopy@routines.inc.F90"
   15744           0 :     end procedure
   15745             : #endif
   15746             : 
   15747             : #if RK3_ENABLED
   15748           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_RK3
   15749             :         use pm_kind, only: RKC => RK3
   15750             : #include "pm_matrixCopy@routines.inc.F90"
   15751           0 :     end procedure
   15752             : #endif
   15753             : 
   15754             : #if RK2_ENABLED
   15755           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_RK2
   15756             :         use pm_kind, only: RKC => RK2
   15757             : #include "pm_matrixCopy@routines.inc.F90"
   15758           0 :     end procedure
   15759             : #endif
   15760             : 
   15761             : #if RK1_ENABLED
   15762           0 :     module procedure setMatCopy_LFP_RDP_UXD_TSO_RK1
   15763             :         use pm_kind, only: RKC => RK1
   15764             : #include "pm_matrixCopy@routines.inc.F90"
   15765           0 :     end procedure
   15766             : #endif
   15767             : 
   15768             : #undef RK_ENABLED
   15769             : 
   15770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15771             : 
   15772             : #undef UXD_ENABLED
   15773             : #undef TSO_ENABLED
   15774             : 
   15775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15776             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15778             : 
   15779             : #define UXD_ENABLED 1
   15780             : #define THO_ENABLED 1
   15781             : 
   15782             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15783             : 
   15784             : #define SK_ENABLED 1
   15785             : 
   15786             : #if SK5_ENABLED
   15787             :     module procedure setMatCopy_LFP_RDP_UXD_THO_SK5
   15788             :         use pm_kind, only: SKC => SK5
   15789             : #include "pm_matrixCopy@routines.inc.F90"
   15790             :     end procedure
   15791             : #endif
   15792             : 
   15793             : #if SK4_ENABLED
   15794             :     module procedure setMatCopy_LFP_RDP_UXD_THO_SK4
   15795             :         use pm_kind, only: SKC => SK4
   15796             : #include "pm_matrixCopy@routines.inc.F90"
   15797             :     end procedure
   15798             : #endif
   15799             : 
   15800             : #if SK3_ENABLED
   15801             :     module procedure setMatCopy_LFP_RDP_UXD_THO_SK3
   15802             :         use pm_kind, only: SKC => SK3
   15803             : #include "pm_matrixCopy@routines.inc.F90"
   15804             :     end procedure
   15805             : #endif
   15806             : 
   15807             : #if SK2_ENABLED
   15808             :     module procedure setMatCopy_LFP_RDP_UXD_THO_SK2
   15809             :         use pm_kind, only: SKC => SK2
   15810             : #include "pm_matrixCopy@routines.inc.F90"
   15811             :     end procedure
   15812             : #endif
   15813             : 
   15814             : #if SK1_ENABLED
   15815           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_SK1
   15816             :         use pm_kind, only: SKC => SK1
   15817             : #include "pm_matrixCopy@routines.inc.F90"
   15818           0 :     end procedure
   15819             : #endif
   15820             : 
   15821             : #undef SK_ENABLED
   15822             : 
   15823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15824             : 
   15825             : #define IK_ENABLED 1
   15826             : 
   15827             : #if IK5_ENABLED
   15828           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_IK5
   15829             :         use pm_kind, only: IKC => IK5
   15830             : #include "pm_matrixCopy@routines.inc.F90"
   15831           0 :     end procedure
   15832             : #endif
   15833             : 
   15834             : #if IK4_ENABLED
   15835           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_IK4
   15836             :         use pm_kind, only: IKC => IK4
   15837             : #include "pm_matrixCopy@routines.inc.F90"
   15838           0 :     end procedure
   15839             : #endif
   15840             : 
   15841             : #if IK3_ENABLED
   15842           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_IK3
   15843             :         use pm_kind, only: IKC => IK3
   15844             : #include "pm_matrixCopy@routines.inc.F90"
   15845           0 :     end procedure
   15846             : #endif
   15847             : 
   15848             : #if IK2_ENABLED
   15849           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_IK2
   15850             :         use pm_kind, only: IKC => IK2
   15851             : #include "pm_matrixCopy@routines.inc.F90"
   15852           0 :     end procedure
   15853             : #endif
   15854             : 
   15855             : #if IK1_ENABLED
   15856           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_IK1
   15857             :         use pm_kind, only: IKC => IK1
   15858             : #include "pm_matrixCopy@routines.inc.F90"
   15859           0 :     end procedure
   15860             : #endif
   15861             : 
   15862             : #undef IK_ENABLED
   15863             : 
   15864             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15865             : 
   15866             : #define LK_ENABLED 1
   15867             : 
   15868             : #if LK5_ENABLED
   15869           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_LK5
   15870             :         use pm_kind, only: LKC => LK5
   15871             : #include "pm_matrixCopy@routines.inc.F90"
   15872           0 :     end procedure
   15873             : #endif
   15874             : 
   15875             : #if LK4_ENABLED
   15876           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_LK4
   15877             :         use pm_kind, only: LKC => LK4
   15878             : #include "pm_matrixCopy@routines.inc.F90"
   15879           0 :     end procedure
   15880             : #endif
   15881             : 
   15882             : #if LK3_ENABLED
   15883           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_LK3
   15884             :         use pm_kind, only: LKC => LK3
   15885             : #include "pm_matrixCopy@routines.inc.F90"
   15886           0 :     end procedure
   15887             : #endif
   15888             : 
   15889             : #if LK2_ENABLED
   15890           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_LK2
   15891             :         use pm_kind, only: LKC => LK2
   15892             : #include "pm_matrixCopy@routines.inc.F90"
   15893           0 :     end procedure
   15894             : #endif
   15895             : 
   15896             : #if LK1_ENABLED
   15897           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_LK1
   15898             :         use pm_kind, only: LKC => LK1
   15899             : #include "pm_matrixCopy@routines.inc.F90"
   15900           0 :     end procedure
   15901             : #endif
   15902             : 
   15903             : #undef LK_ENABLED
   15904             : 
   15905             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15906             : 
   15907             : #define CK_ENABLED 1
   15908             : 
   15909             : #if CK5_ENABLED
   15910             :     module procedure setMatCopy_LFP_RDP_UXD_THO_CK5
   15911             :         use pm_kind, only: CKC => CK5
   15912             : #include "pm_matrixCopy@routines.inc.F90"
   15913             :     end procedure
   15914             : #endif
   15915             : 
   15916             : #if CK4_ENABLED
   15917           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_CK4
   15918             :         use pm_kind, only: CKC => CK4
   15919             : #include "pm_matrixCopy@routines.inc.F90"
   15920           0 :     end procedure
   15921             : #endif
   15922             : 
   15923             : #if CK3_ENABLED
   15924           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_CK3
   15925             :         use pm_kind, only: CKC => CK3
   15926             : #include "pm_matrixCopy@routines.inc.F90"
   15927           0 :     end procedure
   15928             : #endif
   15929             : 
   15930             : #if CK2_ENABLED
   15931           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_CK2
   15932             :         use pm_kind, only: CKC => CK2
   15933             : #include "pm_matrixCopy@routines.inc.F90"
   15934           0 :     end procedure
   15935             : #endif
   15936             : 
   15937             : #if CK1_ENABLED
   15938           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_CK1
   15939             :         use pm_kind, only: CKC => CK1
   15940             : #include "pm_matrixCopy@routines.inc.F90"
   15941           0 :     end procedure
   15942             : #endif
   15943             : 
   15944             : #undef CK_ENABLED
   15945             : 
   15946             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15947             : 
   15948             : #define RK_ENABLED 1
   15949             : 
   15950             : #if RK5_ENABLED
   15951             :     module procedure setMatCopy_LFP_RDP_UXD_THO_RK5
   15952             :         use pm_kind, only: RKC => RK5
   15953             : #include "pm_matrixCopy@routines.inc.F90"
   15954             :     end procedure
   15955             : #endif
   15956             : 
   15957             : #if RK4_ENABLED
   15958           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_RK4
   15959             :         use pm_kind, only: RKC => RK4
   15960             : #include "pm_matrixCopy@routines.inc.F90"
   15961           0 :     end procedure
   15962             : #endif
   15963             : 
   15964             : #if RK3_ENABLED
   15965           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_RK3
   15966             :         use pm_kind, only: RKC => RK3
   15967             : #include "pm_matrixCopy@routines.inc.F90"
   15968           0 :     end procedure
   15969             : #endif
   15970             : 
   15971             : #if RK2_ENABLED
   15972           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_RK2
   15973             :         use pm_kind, only: RKC => RK2
   15974             : #include "pm_matrixCopy@routines.inc.F90"
   15975           0 :     end procedure
   15976             : #endif
   15977             : 
   15978             : #if RK1_ENABLED
   15979           0 :     module procedure setMatCopy_LFP_RDP_UXD_THO_RK1
   15980             :         use pm_kind, only: RKC => RK1
   15981             : #include "pm_matrixCopy@routines.inc.F90"
   15982           0 :     end procedure
   15983             : #endif
   15984             : 
   15985             : #undef RK_ENABLED
   15986             : 
   15987             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15988             : 
   15989             : #undef UXD_ENABLED
   15990             : #undef THO_ENABLED
   15991             : 
   15992             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15993             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   15995             : 
   15996             : #define XLD_ENABLED 1
   15997             : #define AIO_ENABLED 1
   15998             : 
   15999             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16000             : 
   16001             : #define SK_ENABLED 1
   16002             : 
   16003             : #if SK5_ENABLED
   16004             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_SK5
   16005             :         use pm_kind, only: SKC => SK5
   16006             : #include "pm_matrixCopy@routines.inc.F90"
   16007             :     end procedure
   16008             : #endif
   16009             : 
   16010             : #if SK4_ENABLED
   16011             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_SK4
   16012             :         use pm_kind, only: SKC => SK4
   16013             : #include "pm_matrixCopy@routines.inc.F90"
   16014             :     end procedure
   16015             : #endif
   16016             : 
   16017             : #if SK3_ENABLED
   16018             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_SK3
   16019             :         use pm_kind, only: SKC => SK3
   16020             : #include "pm_matrixCopy@routines.inc.F90"
   16021             :     end procedure
   16022             : #endif
   16023             : 
   16024             : #if SK2_ENABLED
   16025             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_SK2
   16026             :         use pm_kind, only: SKC => SK2
   16027             : #include "pm_matrixCopy@routines.inc.F90"
   16028             :     end procedure
   16029             : #endif
   16030             : 
   16031             : #if SK1_ENABLED
   16032           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_SK1
   16033             :         use pm_kind, only: SKC => SK1
   16034             : #include "pm_matrixCopy@routines.inc.F90"
   16035           0 :     end procedure
   16036             : #endif
   16037             : 
   16038             : #undef SK_ENABLED
   16039             : 
   16040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16041             : 
   16042             : #define IK_ENABLED 1
   16043             : 
   16044             : #if IK5_ENABLED
   16045         282 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_IK5
   16046             :         use pm_kind, only: IKC => IK5
   16047             : #include "pm_matrixCopy@routines.inc.F90"
   16048         282 :     end procedure
   16049             : #endif
   16050             : 
   16051             : #if IK4_ENABLED
   16052         288 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_IK4
   16053             :         use pm_kind, only: IKC => IK4
   16054             : #include "pm_matrixCopy@routines.inc.F90"
   16055         288 :     end procedure
   16056             : #endif
   16057             : 
   16058             : #if IK3_ENABLED
   16059         283 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_IK3
   16060             :         use pm_kind, only: IKC => IK3
   16061             : #include "pm_matrixCopy@routines.inc.F90"
   16062         283 :     end procedure
   16063             : #endif
   16064             : 
   16065             : #if IK2_ENABLED
   16066         260 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_IK2
   16067             :         use pm_kind, only: IKC => IK2
   16068             : #include "pm_matrixCopy@routines.inc.F90"
   16069         260 :     end procedure
   16070             : #endif
   16071             : 
   16072             : #if IK1_ENABLED
   16073         306 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_IK1
   16074             :         use pm_kind, only: IKC => IK1
   16075             : #include "pm_matrixCopy@routines.inc.F90"
   16076         306 :     end procedure
   16077             : #endif
   16078             : 
   16079             : #undef IK_ENABLED
   16080             : 
   16081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16082             : 
   16083             : #define LK_ENABLED 1
   16084             : 
   16085             : #if LK5_ENABLED
   16086           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_LK5
   16087             :         use pm_kind, only: LKC => LK5
   16088             : #include "pm_matrixCopy@routines.inc.F90"
   16089           0 :     end procedure
   16090             : #endif
   16091             : 
   16092             : #if LK4_ENABLED
   16093           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_LK4
   16094             :         use pm_kind, only: LKC => LK4
   16095             : #include "pm_matrixCopy@routines.inc.F90"
   16096           0 :     end procedure
   16097             : #endif
   16098             : 
   16099             : #if LK3_ENABLED
   16100           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_LK3
   16101             :         use pm_kind, only: LKC => LK3
   16102             : #include "pm_matrixCopy@routines.inc.F90"
   16103           0 :     end procedure
   16104             : #endif
   16105             : 
   16106             : #if LK2_ENABLED
   16107           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_LK2
   16108             :         use pm_kind, only: LKC => LK2
   16109             : #include "pm_matrixCopy@routines.inc.F90"
   16110           0 :     end procedure
   16111             : #endif
   16112             : 
   16113             : #if LK1_ENABLED
   16114           0 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_LK1
   16115             :         use pm_kind, only: LKC => LK1
   16116             : #include "pm_matrixCopy@routines.inc.F90"
   16117           0 :     end procedure
   16118             : #endif
   16119             : 
   16120             : #undef LK_ENABLED
   16121             : 
   16122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16123             : 
   16124             : #define CK_ENABLED 1
   16125             : 
   16126             : #if CK5_ENABLED
   16127             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_CK5
   16128             :         use pm_kind, only: CKC => CK5
   16129             : #include "pm_matrixCopy@routines.inc.F90"
   16130             :     end procedure
   16131             : #endif
   16132             : 
   16133             : #if CK4_ENABLED
   16134         284 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_CK4
   16135             :         use pm_kind, only: CKC => CK4
   16136             : #include "pm_matrixCopy@routines.inc.F90"
   16137         284 :     end procedure
   16138             : #endif
   16139             : 
   16140             : #if CK3_ENABLED
   16141         278 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_CK3
   16142             :         use pm_kind, only: CKC => CK3
   16143             : #include "pm_matrixCopy@routines.inc.F90"
   16144         278 :     end procedure
   16145             : #endif
   16146             : 
   16147             : #if CK2_ENABLED
   16148         264 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_CK2
   16149             :         use pm_kind, only: CKC => CK2
   16150             : #include "pm_matrixCopy@routines.inc.F90"
   16151         264 :     end procedure
   16152             : #endif
   16153             : 
   16154             : #if CK1_ENABLED
   16155         300 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_CK1
   16156             :         use pm_kind, only: CKC => CK1
   16157             : #include "pm_matrixCopy@routines.inc.F90"
   16158         300 :     end procedure
   16159             : #endif
   16160             : 
   16161             : #undef CK_ENABLED
   16162             : 
   16163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16164             : 
   16165             : #define RK_ENABLED 1
   16166             : 
   16167             : #if RK5_ENABLED
   16168             :     module procedure setMatCopy_LFP_RDP_XLD_AIO_RK5
   16169             :         use pm_kind, only: RKC => RK5
   16170             : #include "pm_matrixCopy@routines.inc.F90"
   16171             :     end procedure
   16172             : #endif
   16173             : 
   16174             : #if RK4_ENABLED
   16175         276 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_RK4
   16176             :         use pm_kind, only: RKC => RK4
   16177             : #include "pm_matrixCopy@routines.inc.F90"
   16178         276 :     end procedure
   16179             : #endif
   16180             : 
   16181             : #if RK3_ENABLED
   16182         280 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_RK3
   16183             :         use pm_kind, only: RKC => RK3
   16184             : #include "pm_matrixCopy@routines.inc.F90"
   16185         280 :     end procedure
   16186             : #endif
   16187             : 
   16188             : #if RK2_ENABLED
   16189         262 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_RK2
   16190             :         use pm_kind, only: RKC => RK2
   16191             : #include "pm_matrixCopy@routines.inc.F90"
   16192         262 :     end procedure
   16193             : #endif
   16194             : 
   16195             : #if RK1_ENABLED
   16196         300 :     module procedure setMatCopy_LFP_RDP_XLD_AIO_RK1
   16197             :         use pm_kind, only: RKC => RK1
   16198             : #include "pm_matrixCopy@routines.inc.F90"
   16199         300 :     end procedure
   16200             : #endif
   16201             : 
   16202             : #undef RK_ENABLED
   16203             : 
   16204             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16205             : 
   16206             : #undef XLD_ENABLED
   16207             : #undef AIO_ENABLED
   16208             : 
   16209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16212             : 
   16213             : #define XLD_ENABLED 1
   16214             : #define TSO_ENABLED 1
   16215             : 
   16216             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16217             : 
   16218             : #define SK_ENABLED 1
   16219             : 
   16220             : #if SK5_ENABLED
   16221             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_SK5
   16222             :         use pm_kind, only: SKC => SK5
   16223             : #include "pm_matrixCopy@routines.inc.F90"
   16224             :     end procedure
   16225             : #endif
   16226             : 
   16227             : #if SK4_ENABLED
   16228             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_SK4
   16229             :         use pm_kind, only: SKC => SK4
   16230             : #include "pm_matrixCopy@routines.inc.F90"
   16231             :     end procedure
   16232             : #endif
   16233             : 
   16234             : #if SK3_ENABLED
   16235             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_SK3
   16236             :         use pm_kind, only: SKC => SK3
   16237             : #include "pm_matrixCopy@routines.inc.F90"
   16238             :     end procedure
   16239             : #endif
   16240             : 
   16241             : #if SK2_ENABLED
   16242             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_SK2
   16243             :         use pm_kind, only: SKC => SK2
   16244             : #include "pm_matrixCopy@routines.inc.F90"
   16245             :     end procedure
   16246             : #endif
   16247             : 
   16248             : #if SK1_ENABLED
   16249           4 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_SK1
   16250             :         use pm_kind, only: SKC => SK1
   16251             : #include "pm_matrixCopy@routines.inc.F90"
   16252           4 :     end procedure
   16253             : #endif
   16254             : 
   16255             : #undef SK_ENABLED
   16256             : 
   16257             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16258             : 
   16259             : #define IK_ENABLED 1
   16260             : 
   16261             : #if IK5_ENABLED
   16262           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_IK5
   16263             :         use pm_kind, only: IKC => IK5
   16264             : #include "pm_matrixCopy@routines.inc.F90"
   16265           0 :     end procedure
   16266             : #endif
   16267             : 
   16268             : #if IK4_ENABLED
   16269           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_IK4
   16270             :         use pm_kind, only: IKC => IK4
   16271             : #include "pm_matrixCopy@routines.inc.F90"
   16272           0 :     end procedure
   16273             : #endif
   16274             : 
   16275             : #if IK3_ENABLED
   16276           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_IK3
   16277             :         use pm_kind, only: IKC => IK3
   16278             : #include "pm_matrixCopy@routines.inc.F90"
   16279           0 :     end procedure
   16280             : #endif
   16281             : 
   16282             : #if IK2_ENABLED
   16283           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_IK2
   16284             :         use pm_kind, only: IKC => IK2
   16285             : #include "pm_matrixCopy@routines.inc.F90"
   16286           0 :     end procedure
   16287             : #endif
   16288             : 
   16289             : #if IK1_ENABLED
   16290           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_IK1
   16291             :         use pm_kind, only: IKC => IK1
   16292             : #include "pm_matrixCopy@routines.inc.F90"
   16293           0 :     end procedure
   16294             : #endif
   16295             : 
   16296             : #undef IK_ENABLED
   16297             : 
   16298             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16299             : 
   16300             : #define LK_ENABLED 1
   16301             : 
   16302             : #if LK5_ENABLED
   16303           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_LK5
   16304             :         use pm_kind, only: LKC => LK5
   16305             : #include "pm_matrixCopy@routines.inc.F90"
   16306           0 :     end procedure
   16307             : #endif
   16308             : 
   16309             : #if LK4_ENABLED
   16310           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_LK4
   16311             :         use pm_kind, only: LKC => LK4
   16312             : #include "pm_matrixCopy@routines.inc.F90"
   16313           0 :     end procedure
   16314             : #endif
   16315             : 
   16316             : #if LK3_ENABLED
   16317           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_LK3
   16318             :         use pm_kind, only: LKC => LK3
   16319             : #include "pm_matrixCopy@routines.inc.F90"
   16320           0 :     end procedure
   16321             : #endif
   16322             : 
   16323             : #if LK2_ENABLED
   16324           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_LK2
   16325             :         use pm_kind, only: LKC => LK2
   16326             : #include "pm_matrixCopy@routines.inc.F90"
   16327           0 :     end procedure
   16328             : #endif
   16329             : 
   16330             : #if LK1_ENABLED
   16331           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_LK1
   16332             :         use pm_kind, only: LKC => LK1
   16333             : #include "pm_matrixCopy@routines.inc.F90"
   16334           0 :     end procedure
   16335             : #endif
   16336             : 
   16337             : #undef LK_ENABLED
   16338             : 
   16339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16340             : 
   16341             : #define CK_ENABLED 1
   16342             : 
   16343             : #if CK5_ENABLED
   16344             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_CK5
   16345             :         use pm_kind, only: CKC => CK5
   16346             : #include "pm_matrixCopy@routines.inc.F90"
   16347             :     end procedure
   16348             : #endif
   16349             : 
   16350             : #if CK4_ENABLED
   16351           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_CK4
   16352             :         use pm_kind, only: CKC => CK4
   16353             : #include "pm_matrixCopy@routines.inc.F90"
   16354           0 :     end procedure
   16355             : #endif
   16356             : 
   16357             : #if CK3_ENABLED
   16358           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_CK3
   16359             :         use pm_kind, only: CKC => CK3
   16360             : #include "pm_matrixCopy@routines.inc.F90"
   16361           0 :     end procedure
   16362             : #endif
   16363             : 
   16364             : #if CK2_ENABLED
   16365           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_CK2
   16366             :         use pm_kind, only: CKC => CK2
   16367             : #include "pm_matrixCopy@routines.inc.F90"
   16368           0 :     end procedure
   16369             : #endif
   16370             : 
   16371             : #if CK1_ENABLED
   16372           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_CK1
   16373             :         use pm_kind, only: CKC => CK1
   16374             : #include "pm_matrixCopy@routines.inc.F90"
   16375           0 :     end procedure
   16376             : #endif
   16377             : 
   16378             : #undef CK_ENABLED
   16379             : 
   16380             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16381             : 
   16382             : #define RK_ENABLED 1
   16383             : 
   16384             : #if RK5_ENABLED
   16385             :     module procedure setMatCopy_LFP_RDP_XLD_TSO_RK5
   16386             :         use pm_kind, only: RKC => RK5
   16387             : #include "pm_matrixCopy@routines.inc.F90"
   16388             :     end procedure
   16389             : #endif
   16390             : 
   16391             : #if RK4_ENABLED
   16392           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_RK4
   16393             :         use pm_kind, only: RKC => RK4
   16394             : #include "pm_matrixCopy@routines.inc.F90"
   16395           0 :     end procedure
   16396             : #endif
   16397             : 
   16398             : #if RK3_ENABLED
   16399           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_RK3
   16400             :         use pm_kind, only: RKC => RK3
   16401             : #include "pm_matrixCopy@routines.inc.F90"
   16402           0 :     end procedure
   16403             : #endif
   16404             : 
   16405             : #if RK2_ENABLED
   16406           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_RK2
   16407             :         use pm_kind, only: RKC => RK2
   16408             : #include "pm_matrixCopy@routines.inc.F90"
   16409           0 :     end procedure
   16410             : #endif
   16411             : 
   16412             : #if RK1_ENABLED
   16413           0 :     module procedure setMatCopy_LFP_RDP_XLD_TSO_RK1
   16414             :         use pm_kind, only: RKC => RK1
   16415             : #include "pm_matrixCopy@routines.inc.F90"
   16416           0 :     end procedure
   16417             : #endif
   16418             : 
   16419             : #undef RK_ENABLED
   16420             : 
   16421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16422             : 
   16423             : #undef XLD_ENABLED
   16424             : #undef TSO_ENABLED
   16425             : 
   16426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16427             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16428             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16429             : 
   16430             : #define XLD_ENABLED 1
   16431             : #define THO_ENABLED 1
   16432             : 
   16433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16434             : 
   16435             : #define SK_ENABLED 1
   16436             : 
   16437             : #if SK5_ENABLED
   16438             :     module procedure setMatCopy_LFP_RDP_XLD_THO_SK5
   16439             :         use pm_kind, only: SKC => SK5
   16440             : #include "pm_matrixCopy@routines.inc.F90"
   16441             :     end procedure
   16442             : #endif
   16443             : 
   16444             : #if SK4_ENABLED
   16445             :     module procedure setMatCopy_LFP_RDP_XLD_THO_SK4
   16446             :         use pm_kind, only: SKC => SK4
   16447             : #include "pm_matrixCopy@routines.inc.F90"
   16448             :     end procedure
   16449             : #endif
   16450             : 
   16451             : #if SK3_ENABLED
   16452             :     module procedure setMatCopy_LFP_RDP_XLD_THO_SK3
   16453             :         use pm_kind, only: SKC => SK3
   16454             : #include "pm_matrixCopy@routines.inc.F90"
   16455             :     end procedure
   16456             : #endif
   16457             : 
   16458             : #if SK2_ENABLED
   16459             :     module procedure setMatCopy_LFP_RDP_XLD_THO_SK2
   16460             :         use pm_kind, only: SKC => SK2
   16461             : #include "pm_matrixCopy@routines.inc.F90"
   16462             :     end procedure
   16463             : #endif
   16464             : 
   16465             : #if SK1_ENABLED
   16466           2 :     module procedure setMatCopy_LFP_RDP_XLD_THO_SK1
   16467             :         use pm_kind, only: SKC => SK1
   16468             : #include "pm_matrixCopy@routines.inc.F90"
   16469           2 :     end procedure
   16470             : #endif
   16471             : 
   16472             : #undef SK_ENABLED
   16473             : 
   16474             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16475             : 
   16476             : #define IK_ENABLED 1
   16477             : 
   16478             : #if IK5_ENABLED
   16479           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_IK5
   16480             :         use pm_kind, only: IKC => IK5
   16481             : #include "pm_matrixCopy@routines.inc.F90"
   16482           0 :     end procedure
   16483             : #endif
   16484             : 
   16485             : #if IK4_ENABLED
   16486           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_IK4
   16487             :         use pm_kind, only: IKC => IK4
   16488             : #include "pm_matrixCopy@routines.inc.F90"
   16489           0 :     end procedure
   16490             : #endif
   16491             : 
   16492             : #if IK3_ENABLED
   16493           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_IK3
   16494             :         use pm_kind, only: IKC => IK3
   16495             : #include "pm_matrixCopy@routines.inc.F90"
   16496           0 :     end procedure
   16497             : #endif
   16498             : 
   16499             : #if IK2_ENABLED
   16500           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_IK2
   16501             :         use pm_kind, only: IKC => IK2
   16502             : #include "pm_matrixCopy@routines.inc.F90"
   16503           0 :     end procedure
   16504             : #endif
   16505             : 
   16506             : #if IK1_ENABLED
   16507           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_IK1
   16508             :         use pm_kind, only: IKC => IK1
   16509             : #include "pm_matrixCopy@routines.inc.F90"
   16510           0 :     end procedure
   16511             : #endif
   16512             : 
   16513             : #undef IK_ENABLED
   16514             : 
   16515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16516             : 
   16517             : #define LK_ENABLED 1
   16518             : 
   16519             : #if LK5_ENABLED
   16520           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_LK5
   16521             :         use pm_kind, only: LKC => LK5
   16522             : #include "pm_matrixCopy@routines.inc.F90"
   16523           0 :     end procedure
   16524             : #endif
   16525             : 
   16526             : #if LK4_ENABLED
   16527           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_LK4
   16528             :         use pm_kind, only: LKC => LK4
   16529             : #include "pm_matrixCopy@routines.inc.F90"
   16530           0 :     end procedure
   16531             : #endif
   16532             : 
   16533             : #if LK3_ENABLED
   16534           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_LK3
   16535             :         use pm_kind, only: LKC => LK3
   16536             : #include "pm_matrixCopy@routines.inc.F90"
   16537           0 :     end procedure
   16538             : #endif
   16539             : 
   16540             : #if LK2_ENABLED
   16541           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_LK2
   16542             :         use pm_kind, only: LKC => LK2
   16543             : #include "pm_matrixCopy@routines.inc.F90"
   16544           0 :     end procedure
   16545             : #endif
   16546             : 
   16547             : #if LK1_ENABLED
   16548           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_LK1
   16549             :         use pm_kind, only: LKC => LK1
   16550             : #include "pm_matrixCopy@routines.inc.F90"
   16551           0 :     end procedure
   16552             : #endif
   16553             : 
   16554             : #undef LK_ENABLED
   16555             : 
   16556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16557             : 
   16558             : #define CK_ENABLED 1
   16559             : 
   16560             : #if CK5_ENABLED
   16561             :     module procedure setMatCopy_LFP_RDP_XLD_THO_CK5
   16562             :         use pm_kind, only: CKC => CK5
   16563             : #include "pm_matrixCopy@routines.inc.F90"
   16564             :     end procedure
   16565             : #endif
   16566             : 
   16567             : #if CK4_ENABLED
   16568           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_CK4
   16569             :         use pm_kind, only: CKC => CK4
   16570             : #include "pm_matrixCopy@routines.inc.F90"
   16571           0 :     end procedure
   16572             : #endif
   16573             : 
   16574             : #if CK3_ENABLED
   16575           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_CK3
   16576             :         use pm_kind, only: CKC => CK3
   16577             : #include "pm_matrixCopy@routines.inc.F90"
   16578           0 :     end procedure
   16579             : #endif
   16580             : 
   16581             : #if CK2_ENABLED
   16582           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_CK2
   16583             :         use pm_kind, only: CKC => CK2
   16584             : #include "pm_matrixCopy@routines.inc.F90"
   16585           0 :     end procedure
   16586             : #endif
   16587             : 
   16588             : #if CK1_ENABLED
   16589           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_CK1
   16590             :         use pm_kind, only: CKC => CK1
   16591             : #include "pm_matrixCopy@routines.inc.F90"
   16592           0 :     end procedure
   16593             : #endif
   16594             : 
   16595             : #undef CK_ENABLED
   16596             : 
   16597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16598             : 
   16599             : #define RK_ENABLED 1
   16600             : 
   16601             : #if RK5_ENABLED
   16602             :     module procedure setMatCopy_LFP_RDP_XLD_THO_RK5
   16603             :         use pm_kind, only: RKC => RK5
   16604             : #include "pm_matrixCopy@routines.inc.F90"
   16605             :     end procedure
   16606             : #endif
   16607             : 
   16608             : #if RK4_ENABLED
   16609           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_RK4
   16610             :         use pm_kind, only: RKC => RK4
   16611             : #include "pm_matrixCopy@routines.inc.F90"
   16612           0 :     end procedure
   16613             : #endif
   16614             : 
   16615             : #if RK3_ENABLED
   16616           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_RK3
   16617             :         use pm_kind, only: RKC => RK3
   16618             : #include "pm_matrixCopy@routines.inc.F90"
   16619           0 :     end procedure
   16620             : #endif
   16621             : 
   16622             : #if RK2_ENABLED
   16623           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_RK2
   16624             :         use pm_kind, only: RKC => RK2
   16625             : #include "pm_matrixCopy@routines.inc.F90"
   16626           0 :     end procedure
   16627             : #endif
   16628             : 
   16629             : #if RK1_ENABLED
   16630           0 :     module procedure setMatCopy_LFP_RDP_XLD_THO_RK1
   16631             :         use pm_kind, only: RKC => RK1
   16632             : #include "pm_matrixCopy@routines.inc.F90"
   16633           0 :     end procedure
   16634             : #endif
   16635             : 
   16636             : #undef RK_ENABLED
   16637             : 
   16638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16639             : 
   16640             : #undef XLD_ENABLED
   16641             : #undef THO_ENABLED
   16642             : 
   16643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16644             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16645             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16646             : 
   16647             : #undef LFP_RDP_ENABLED
   16648             : 
   16649             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16650             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16651             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16652             : 
   16653             : #define RDP_RFP_ENABLED 1
   16654             : 
   16655             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16656             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16657             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16658             : 
   16659             : #define UXD_ENABLED 1
   16660             : #define AIO_ENABLED 1
   16661             : 
   16662             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16663             : 
   16664             : #define SK_ENABLED 1
   16665             : 
   16666             : #if SK5_ENABLED
   16667             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_SK5
   16668             :         use pm_kind, only: SKC => SK5
   16669             : #include "pm_matrixCopy@routines.inc.F90"
   16670             :     end procedure
   16671             : #endif
   16672             : 
   16673             : #if SK4_ENABLED
   16674             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_SK4
   16675             :         use pm_kind, only: SKC => SK4
   16676             : #include "pm_matrixCopy@routines.inc.F90"
   16677             :     end procedure
   16678             : #endif
   16679             : 
   16680             : #if SK3_ENABLED
   16681             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_SK3
   16682             :         use pm_kind, only: SKC => SK3
   16683             : #include "pm_matrixCopy@routines.inc.F90"
   16684             :     end procedure
   16685             : #endif
   16686             : 
   16687             : #if SK2_ENABLED
   16688             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_SK2
   16689             :         use pm_kind, only: SKC => SK2
   16690             : #include "pm_matrixCopy@routines.inc.F90"
   16691             :     end procedure
   16692             : #endif
   16693             : 
   16694             : #if SK1_ENABLED
   16695           2 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_SK1
   16696             :         use pm_kind, only: SKC => SK1
   16697             : #include "pm_matrixCopy@routines.inc.F90"
   16698             :     end procedure
   16699             : #endif
   16700             : 
   16701             : #undef SK_ENABLED
   16702             : 
   16703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16704             : 
   16705             : #define IK_ENABLED 1
   16706             : 
   16707             : #if IK5_ENABLED
   16708           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_IK5
   16709             :         use pm_kind, only: IKC => IK5
   16710             : #include "pm_matrixCopy@routines.inc.F90"
   16711             :     end procedure
   16712             : #endif
   16713             : 
   16714             : #if IK4_ENABLED
   16715           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_IK4
   16716             :         use pm_kind, only: IKC => IK4
   16717             : #include "pm_matrixCopy@routines.inc.F90"
   16718             :     end procedure
   16719             : #endif
   16720             : 
   16721             : #if IK3_ENABLED
   16722           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_IK3
   16723             :         use pm_kind, only: IKC => IK3
   16724             : #include "pm_matrixCopy@routines.inc.F90"
   16725             :     end procedure
   16726             : #endif
   16727             : 
   16728             : #if IK2_ENABLED
   16729           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_IK2
   16730             :         use pm_kind, only: IKC => IK2
   16731             : #include "pm_matrixCopy@routines.inc.F90"
   16732             :     end procedure
   16733             : #endif
   16734             : 
   16735             : #if IK1_ENABLED
   16736           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_IK1
   16737             :         use pm_kind, only: IKC => IK1
   16738             : #include "pm_matrixCopy@routines.inc.F90"
   16739             :     end procedure
   16740             : #endif
   16741             : 
   16742             : #undef IK_ENABLED
   16743             : 
   16744             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16745             : 
   16746             : #define LK_ENABLED 1
   16747             : 
   16748             : #if LK5_ENABLED
   16749           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_LK5
   16750             :         use pm_kind, only: LKC => LK5
   16751             : #include "pm_matrixCopy@routines.inc.F90"
   16752             :     end procedure
   16753             : #endif
   16754             : 
   16755             : #if LK4_ENABLED
   16756           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_LK4
   16757             :         use pm_kind, only: LKC => LK4
   16758             : #include "pm_matrixCopy@routines.inc.F90"
   16759             :     end procedure
   16760             : #endif
   16761             : 
   16762             : #if LK3_ENABLED
   16763           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_LK3
   16764             :         use pm_kind, only: LKC => LK3
   16765             : #include "pm_matrixCopy@routines.inc.F90"
   16766             :     end procedure
   16767             : #endif
   16768             : 
   16769             : #if LK2_ENABLED
   16770           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_LK2
   16771             :         use pm_kind, only: LKC => LK2
   16772             : #include "pm_matrixCopy@routines.inc.F90"
   16773             :     end procedure
   16774             : #endif
   16775             : 
   16776             : #if LK1_ENABLED
   16777           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_LK1
   16778             :         use pm_kind, only: LKC => LK1
   16779             : #include "pm_matrixCopy@routines.inc.F90"
   16780             :     end procedure
   16781             : #endif
   16782             : 
   16783             : #undef LK_ENABLED
   16784             : 
   16785             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16786             : 
   16787             : #define CK_ENABLED 1
   16788             : 
   16789             : #if CK5_ENABLED
   16790             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_CK5
   16791             :         use pm_kind, only: CKC => CK5
   16792             : #include "pm_matrixCopy@routines.inc.F90"
   16793             :     end procedure
   16794             : #endif
   16795             : 
   16796             : #if CK4_ENABLED
   16797           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_CK4
   16798             :         use pm_kind, only: CKC => CK4
   16799             : #include "pm_matrixCopy@routines.inc.F90"
   16800             :     end procedure
   16801             : #endif
   16802             : 
   16803             : #if CK3_ENABLED
   16804           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_CK3
   16805             :         use pm_kind, only: CKC => CK3
   16806             : #include "pm_matrixCopy@routines.inc.F90"
   16807             :     end procedure
   16808             : #endif
   16809             : 
   16810             : #if CK2_ENABLED
   16811           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_CK2
   16812             :         use pm_kind, only: CKC => CK2
   16813             : #include "pm_matrixCopy@routines.inc.F90"
   16814             :     end procedure
   16815             : #endif
   16816             : 
   16817             : #if CK1_ENABLED
   16818           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_CK1
   16819             :         use pm_kind, only: CKC => CK1
   16820             : #include "pm_matrixCopy@routines.inc.F90"
   16821             :     end procedure
   16822             : #endif
   16823             : 
   16824             : #undef CK_ENABLED
   16825             : 
   16826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16827             : 
   16828             : #define RK_ENABLED 1
   16829             : 
   16830             : #if RK5_ENABLED
   16831             :     module procedure setMatCopy_RDP_RFP_UXD_AIO_RK5
   16832             :         use pm_kind, only: RKC => RK5
   16833             : #include "pm_matrixCopy@routines.inc.F90"
   16834             :     end procedure
   16835             : #endif
   16836             : 
   16837             : #if RK4_ENABLED
   16838           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_RK4
   16839             :         use pm_kind, only: RKC => RK4
   16840             : #include "pm_matrixCopy@routines.inc.F90"
   16841             :     end procedure
   16842             : #endif
   16843             : 
   16844             : #if RK3_ENABLED
   16845           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_RK3
   16846             :         use pm_kind, only: RKC => RK3
   16847             : #include "pm_matrixCopy@routines.inc.F90"
   16848             :     end procedure
   16849             : #endif
   16850             : 
   16851             : #if RK2_ENABLED
   16852           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_RK2
   16853             :         use pm_kind, only: RKC => RK2
   16854             : #include "pm_matrixCopy@routines.inc.F90"
   16855             :     end procedure
   16856             : #endif
   16857             : 
   16858             : #if RK1_ENABLED
   16859           0 :     module procedure setMatCopy_RDP_RFP_UXD_AIO_RK1
   16860             :         use pm_kind, only: RKC => RK1
   16861             : #include "pm_matrixCopy@routines.inc.F90"
   16862             :     end procedure
   16863             : #endif
   16864             : 
   16865             : #undef RK_ENABLED
   16866             : 
   16867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16868             : 
   16869             : #undef UXD_ENABLED
   16870             : #undef AIO_ENABLED
   16871             : 
   16872             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16874             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16875             : 
   16876             : #define XLD_ENABLED 1
   16877             : #define AIO_ENABLED 1
   16878             : 
   16879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16880             : 
   16881             : #define SK_ENABLED 1
   16882             : 
   16883             : #if SK5_ENABLED
   16884             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_SK5
   16885             :         use pm_kind, only: SKC => SK5
   16886             : #include "pm_matrixCopy@routines.inc.F90"
   16887             :     end procedure
   16888             : #endif
   16889             : 
   16890             : #if SK4_ENABLED
   16891             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_SK4
   16892             :         use pm_kind, only: SKC => SK4
   16893             : #include "pm_matrixCopy@routines.inc.F90"
   16894             :     end procedure
   16895             : #endif
   16896             : 
   16897             : #if SK3_ENABLED
   16898             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_SK3
   16899             :         use pm_kind, only: SKC => SK3
   16900             : #include "pm_matrixCopy@routines.inc.F90"
   16901             :     end procedure
   16902             : #endif
   16903             : 
   16904             : #if SK2_ENABLED
   16905             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_SK2
   16906             :         use pm_kind, only: SKC => SK2
   16907             : #include "pm_matrixCopy@routines.inc.F90"
   16908             :     end procedure
   16909             : #endif
   16910             : 
   16911             : #if SK1_ENABLED
   16912           2 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_SK1
   16913             :         use pm_kind, only: SKC => SK1
   16914             : #include "pm_matrixCopy@routines.inc.F90"
   16915             :     end procedure
   16916             : #endif
   16917             : 
   16918             : #undef SK_ENABLED
   16919             : 
   16920             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16921             : 
   16922             : #define IK_ENABLED 1
   16923             : 
   16924             : #if IK5_ENABLED
   16925           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_IK5
   16926             :         use pm_kind, only: IKC => IK5
   16927             : #include "pm_matrixCopy@routines.inc.F90"
   16928             :     end procedure
   16929             : #endif
   16930             : 
   16931             : #if IK4_ENABLED
   16932           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_IK4
   16933             :         use pm_kind, only: IKC => IK4
   16934             : #include "pm_matrixCopy@routines.inc.F90"
   16935             :     end procedure
   16936             : #endif
   16937             : 
   16938             : #if IK3_ENABLED
   16939           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_IK3
   16940             :         use pm_kind, only: IKC => IK3
   16941             : #include "pm_matrixCopy@routines.inc.F90"
   16942             :     end procedure
   16943             : #endif
   16944             : 
   16945             : #if IK2_ENABLED
   16946           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_IK2
   16947             :         use pm_kind, only: IKC => IK2
   16948             : #include "pm_matrixCopy@routines.inc.F90"
   16949             :     end procedure
   16950             : #endif
   16951             : 
   16952             : #if IK1_ENABLED
   16953           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_IK1
   16954             :         use pm_kind, only: IKC => IK1
   16955             : #include "pm_matrixCopy@routines.inc.F90"
   16956             :     end procedure
   16957             : #endif
   16958             : 
   16959             : #undef IK_ENABLED
   16960             : 
   16961             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   16962             : 
   16963             : #define LK_ENABLED 1
   16964             : 
   16965             : #if LK5_ENABLED
   16966           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_LK5
   16967             :         use pm_kind, only: LKC => LK5
   16968             : #include "pm_matrixCopy@routines.inc.F90"
   16969             :     end procedure
   16970             : #endif
   16971             : 
   16972             : #if LK4_ENABLED
   16973           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_LK4
   16974             :         use pm_kind, only: LKC => LK4
   16975             : #include "pm_matrixCopy@routines.inc.F90"
   16976             :     end procedure
   16977             : #endif
   16978             : 
   16979             : #if LK3_ENABLED
   16980           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_LK3
   16981             :         use pm_kind, only: LKC => LK3
   16982             : #include "pm_matrixCopy@routines.inc.F90"
   16983             :     end procedure
   16984             : #endif
   16985             : 
   16986             : #if LK2_ENABLED
   16987           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_LK2
   16988             :         use pm_kind, only: LKC => LK2
   16989             : #include "pm_matrixCopy@routines.inc.F90"
   16990             :     end procedure
   16991             : #endif
   16992             : 
   16993             : #if LK1_ENABLED
   16994           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_LK1
   16995             :         use pm_kind, only: LKC => LK1
   16996             : #include "pm_matrixCopy@routines.inc.F90"
   16997             :     end procedure
   16998             : #endif
   16999             : 
   17000             : #undef LK_ENABLED
   17001             : 
   17002             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17003             : 
   17004             : #define CK_ENABLED 1
   17005             : 
   17006             : #if CK5_ENABLED
   17007             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_CK5
   17008             :         use pm_kind, only: CKC => CK5
   17009             : #include "pm_matrixCopy@routines.inc.F90"
   17010             :     end procedure
   17011             : #endif
   17012             : 
   17013             : #if CK4_ENABLED
   17014           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_CK4
   17015             :         use pm_kind, only: CKC => CK4
   17016             : #include "pm_matrixCopy@routines.inc.F90"
   17017             :     end procedure
   17018             : #endif
   17019             : 
   17020             : #if CK3_ENABLED
   17021           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_CK3
   17022             :         use pm_kind, only: CKC => CK3
   17023             : #include "pm_matrixCopy@routines.inc.F90"
   17024             :     end procedure
   17025             : #endif
   17026             : 
   17027             : #if CK2_ENABLED
   17028           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_CK2
   17029             :         use pm_kind, only: CKC => CK2
   17030             : #include "pm_matrixCopy@routines.inc.F90"
   17031             :     end procedure
   17032             : #endif
   17033             : 
   17034             : #if CK1_ENABLED
   17035           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_CK1
   17036             :         use pm_kind, only: CKC => CK1
   17037             : #include "pm_matrixCopy@routines.inc.F90"
   17038             :     end procedure
   17039             : #endif
   17040             : 
   17041             : #undef CK_ENABLED
   17042             : 
   17043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17044             : 
   17045             : #define RK_ENABLED 1
   17046             : 
   17047             : #if RK5_ENABLED
   17048             :     module procedure setMatCopy_RDP_RFP_XLD_AIO_RK5
   17049             :         use pm_kind, only: RKC => RK5
   17050             : #include "pm_matrixCopy@routines.inc.F90"
   17051             :     end procedure
   17052             : #endif
   17053             : 
   17054             : #if RK4_ENABLED
   17055           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_RK4
   17056             :         use pm_kind, only: RKC => RK4
   17057             : #include "pm_matrixCopy@routines.inc.F90"
   17058             :     end procedure
   17059             : #endif
   17060             : 
   17061             : #if RK3_ENABLED
   17062           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_RK3
   17063             :         use pm_kind, only: RKC => RK3
   17064             : #include "pm_matrixCopy@routines.inc.F90"
   17065             :     end procedure
   17066             : #endif
   17067             : 
   17068             : #if RK2_ENABLED
   17069           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_RK2
   17070             :         use pm_kind, only: RKC => RK2
   17071             : #include "pm_matrixCopy@routines.inc.F90"
   17072             :     end procedure
   17073             : #endif
   17074             : 
   17075             : #if RK1_ENABLED
   17076           0 :     module procedure setMatCopy_RDP_RFP_XLD_AIO_RK1
   17077             :         use pm_kind, only: RKC => RK1
   17078             : #include "pm_matrixCopy@routines.inc.F90"
   17079             :     end procedure
   17080             : #endif
   17081             : 
   17082             : #undef RK_ENABLED
   17083             : 
   17084             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17085             : 
   17086             : #undef XLD_ENABLED
   17087             : #undef AIO_ENABLED
   17088             : 
   17089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17090             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17092             : 
   17093             : #undef RDP_RFP_ENABLED
   17094             : 
   17095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17098             : 
   17099             : #define RFP_RDP_ENABLED 1
   17100             : 
   17101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17104             : 
   17105             : #define UXD_ENABLED 1
   17106             : #define AIO_ENABLED 1
   17107             : 
   17108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17109             : 
   17110             : #define SK_ENABLED 1
   17111             : 
   17112             : #if SK5_ENABLED
   17113             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_SK5
   17114             :         use pm_kind, only: SKC => SK5
   17115             : #include "pm_matrixCopy@routines.inc.F90"
   17116             :     end procedure
   17117             : #endif
   17118             : 
   17119             : #if SK4_ENABLED
   17120             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_SK4
   17121             :         use pm_kind, only: SKC => SK4
   17122             : #include "pm_matrixCopy@routines.inc.F90"
   17123             :     end procedure
   17124             : #endif
   17125             : 
   17126             : #if SK3_ENABLED
   17127             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_SK3
   17128             :         use pm_kind, only: SKC => SK3
   17129             : #include "pm_matrixCopy@routines.inc.F90"
   17130             :     end procedure
   17131             : #endif
   17132             : 
   17133             : #if SK2_ENABLED
   17134             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_SK2
   17135             :         use pm_kind, only: SKC => SK2
   17136             : #include "pm_matrixCopy@routines.inc.F90"
   17137             :     end procedure
   17138             : #endif
   17139             : 
   17140             : #if SK1_ENABLED
   17141           4 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_SK1
   17142             :         use pm_kind, only: SKC => SK1
   17143             : #include "pm_matrixCopy@routines.inc.F90"
   17144             :     end procedure
   17145             : #endif
   17146             : 
   17147             : #undef SK_ENABLED
   17148             : 
   17149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17150             : 
   17151             : #define IK_ENABLED 1
   17152             : 
   17153             : #if IK5_ENABLED
   17154           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_IK5
   17155             :         use pm_kind, only: IKC => IK5
   17156             : #include "pm_matrixCopy@routines.inc.F90"
   17157             :     end procedure
   17158             : #endif
   17159             : 
   17160             : #if IK4_ENABLED
   17161           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_IK4
   17162             :         use pm_kind, only: IKC => IK4
   17163             : #include "pm_matrixCopy@routines.inc.F90"
   17164             :     end procedure
   17165             : #endif
   17166             : 
   17167             : #if IK3_ENABLED
   17168           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_IK3
   17169             :         use pm_kind, only: IKC => IK3
   17170             : #include "pm_matrixCopy@routines.inc.F90"
   17171             :     end procedure
   17172             : #endif
   17173             : 
   17174             : #if IK2_ENABLED
   17175           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_IK2
   17176             :         use pm_kind, only: IKC => IK2
   17177             : #include "pm_matrixCopy@routines.inc.F90"
   17178             :     end procedure
   17179             : #endif
   17180             : 
   17181             : #if IK1_ENABLED
   17182           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_IK1
   17183             :         use pm_kind, only: IKC => IK1
   17184             : #include "pm_matrixCopy@routines.inc.F90"
   17185             :     end procedure
   17186             : #endif
   17187             : 
   17188             : #undef IK_ENABLED
   17189             : 
   17190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17191             : 
   17192             : #define LK_ENABLED 1
   17193             : 
   17194             : #if LK5_ENABLED
   17195           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_LK5
   17196             :         use pm_kind, only: LKC => LK5
   17197             : #include "pm_matrixCopy@routines.inc.F90"
   17198             :     end procedure
   17199             : #endif
   17200             : 
   17201             : #if LK4_ENABLED
   17202           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_LK4
   17203             :         use pm_kind, only: LKC => LK4
   17204             : #include "pm_matrixCopy@routines.inc.F90"
   17205             :     end procedure
   17206             : #endif
   17207             : 
   17208             : #if LK3_ENABLED
   17209           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_LK3
   17210             :         use pm_kind, only: LKC => LK3
   17211             : #include "pm_matrixCopy@routines.inc.F90"
   17212             :     end procedure
   17213             : #endif
   17214             : 
   17215             : #if LK2_ENABLED
   17216           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_LK2
   17217             :         use pm_kind, only: LKC => LK2
   17218             : #include "pm_matrixCopy@routines.inc.F90"
   17219             :     end procedure
   17220             : #endif
   17221             : 
   17222             : #if LK1_ENABLED
   17223           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_LK1
   17224             :         use pm_kind, only: LKC => LK1
   17225             : #include "pm_matrixCopy@routines.inc.F90"
   17226             :     end procedure
   17227             : #endif
   17228             : 
   17229             : #undef LK_ENABLED
   17230             : 
   17231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17232             : 
   17233             : #define CK_ENABLED 1
   17234             : 
   17235             : #if CK5_ENABLED
   17236             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_CK5
   17237             :         use pm_kind, only: CKC => CK5
   17238             : #include "pm_matrixCopy@routines.inc.F90"
   17239             :     end procedure
   17240             : #endif
   17241             : 
   17242             : #if CK4_ENABLED
   17243           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_CK4
   17244             :         use pm_kind, only: CKC => CK4
   17245             : #include "pm_matrixCopy@routines.inc.F90"
   17246             :     end procedure
   17247             : #endif
   17248             : 
   17249             : #if CK3_ENABLED
   17250           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_CK3
   17251             :         use pm_kind, only: CKC => CK3
   17252             : #include "pm_matrixCopy@routines.inc.F90"
   17253             :     end procedure
   17254             : #endif
   17255             : 
   17256             : #if CK2_ENABLED
   17257           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_CK2
   17258             :         use pm_kind, only: CKC => CK2
   17259             : #include "pm_matrixCopy@routines.inc.F90"
   17260             :     end procedure
   17261             : #endif
   17262             : 
   17263             : #if CK1_ENABLED
   17264           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_CK1
   17265             :         use pm_kind, only: CKC => CK1
   17266             : #include "pm_matrixCopy@routines.inc.F90"
   17267             :     end procedure
   17268             : #endif
   17269             : 
   17270             : #undef CK_ENABLED
   17271             : 
   17272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17273             : 
   17274             : #define RK_ENABLED 1
   17275             : 
   17276             : #if RK5_ENABLED
   17277             :     module procedure setMatCopy_RFP_RDP_UXD_AIO_RK5
   17278             :         use pm_kind, only: RKC => RK5
   17279             : #include "pm_matrixCopy@routines.inc.F90"
   17280             :     end procedure
   17281             : #endif
   17282             : 
   17283             : #if RK4_ENABLED
   17284           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_RK4
   17285             :         use pm_kind, only: RKC => RK4
   17286             : #include "pm_matrixCopy@routines.inc.F90"
   17287             :     end procedure
   17288             : #endif
   17289             : 
   17290             : #if RK3_ENABLED
   17291           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_RK3
   17292             :         use pm_kind, only: RKC => RK3
   17293             : #include "pm_matrixCopy@routines.inc.F90"
   17294             :     end procedure
   17295             : #endif
   17296             : 
   17297             : #if RK2_ENABLED
   17298           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_RK2
   17299             :         use pm_kind, only: RKC => RK2
   17300             : #include "pm_matrixCopy@routines.inc.F90"
   17301             :     end procedure
   17302             : #endif
   17303             : 
   17304             : #if RK1_ENABLED
   17305           0 :     module procedure setMatCopy_RFP_RDP_UXD_AIO_RK1
   17306             :         use pm_kind, only: RKC => RK1
   17307             : #include "pm_matrixCopy@routines.inc.F90"
   17308             :     end procedure
   17309             : #endif
   17310             : 
   17311             : #undef RK_ENABLED
   17312             : 
   17313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17314             : 
   17315             : #undef UXD_ENABLED
   17316             : #undef AIO_ENABLED
   17317             : 
   17318             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17320             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17321             : 
   17322             : #define XLD_ENABLED 1
   17323             : #define AIO_ENABLED 1
   17324             : 
   17325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17326             : 
   17327             : #define SK_ENABLED 1
   17328             : 
   17329             : #if SK5_ENABLED
   17330             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_SK5
   17331             :         use pm_kind, only: SKC => SK5
   17332             : #include "pm_matrixCopy@routines.inc.F90"
   17333             :     end procedure
   17334             : #endif
   17335             : 
   17336             : #if SK4_ENABLED
   17337             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_SK4
   17338             :         use pm_kind, only: SKC => SK4
   17339             : #include "pm_matrixCopy@routines.inc.F90"
   17340             :     end procedure
   17341             : #endif
   17342             : 
   17343             : #if SK3_ENABLED
   17344             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_SK3
   17345             :         use pm_kind, only: SKC => SK3
   17346             : #include "pm_matrixCopy@routines.inc.F90"
   17347             :     end procedure
   17348             : #endif
   17349             : 
   17350             : #if SK2_ENABLED
   17351             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_SK2
   17352             :         use pm_kind, only: SKC => SK2
   17353             : #include "pm_matrixCopy@routines.inc.F90"
   17354             :     end procedure
   17355             : #endif
   17356             : 
   17357             : #if SK1_ENABLED
   17358           2 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_SK1
   17359             :         use pm_kind, only: SKC => SK1
   17360             : #include "pm_matrixCopy@routines.inc.F90"
   17361             :     end procedure
   17362             : #endif
   17363             : 
   17364             : #undef SK_ENABLED
   17365             : 
   17366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17367             : 
   17368             : #define IK_ENABLED 1
   17369             : 
   17370             : #if IK5_ENABLED
   17371           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_IK5
   17372             :         use pm_kind, only: IKC => IK5
   17373             : #include "pm_matrixCopy@routines.inc.F90"
   17374             :     end procedure
   17375             : #endif
   17376             : 
   17377             : #if IK4_ENABLED
   17378           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_IK4
   17379             :         use pm_kind, only: IKC => IK4
   17380             : #include "pm_matrixCopy@routines.inc.F90"
   17381             :     end procedure
   17382             : #endif
   17383             : 
   17384             : #if IK3_ENABLED
   17385           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_IK3
   17386             :         use pm_kind, only: IKC => IK3
   17387             : #include "pm_matrixCopy@routines.inc.F90"
   17388             :     end procedure
   17389             : #endif
   17390             : 
   17391             : #if IK2_ENABLED
   17392           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_IK2
   17393             :         use pm_kind, only: IKC => IK2
   17394             : #include "pm_matrixCopy@routines.inc.F90"
   17395             :     end procedure
   17396             : #endif
   17397             : 
   17398             : #if IK1_ENABLED
   17399           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_IK1
   17400             :         use pm_kind, only: IKC => IK1
   17401             : #include "pm_matrixCopy@routines.inc.F90"
   17402             :     end procedure
   17403             : #endif
   17404             : 
   17405             : #undef IK_ENABLED
   17406             : 
   17407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17408             : 
   17409             : #define LK_ENABLED 1
   17410             : 
   17411             : #if LK5_ENABLED
   17412           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_LK5
   17413             :         use pm_kind, only: LKC => LK5
   17414             : #include "pm_matrixCopy@routines.inc.F90"
   17415             :     end procedure
   17416             : #endif
   17417             : 
   17418             : #if LK4_ENABLED
   17419           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_LK4
   17420             :         use pm_kind, only: LKC => LK4
   17421             : #include "pm_matrixCopy@routines.inc.F90"
   17422             :     end procedure
   17423             : #endif
   17424             : 
   17425             : #if LK3_ENABLED
   17426           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_LK3
   17427             :         use pm_kind, only: LKC => LK3
   17428             : #include "pm_matrixCopy@routines.inc.F90"
   17429             :     end procedure
   17430             : #endif
   17431             : 
   17432             : #if LK2_ENABLED
   17433           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_LK2
   17434             :         use pm_kind, only: LKC => LK2
   17435             : #include "pm_matrixCopy@routines.inc.F90"
   17436             :     end procedure
   17437             : #endif
   17438             : 
   17439             : #if LK1_ENABLED
   17440           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_LK1
   17441             :         use pm_kind, only: LKC => LK1
   17442             : #include "pm_matrixCopy@routines.inc.F90"
   17443             :     end procedure
   17444             : #endif
   17445             : 
   17446             : #undef LK_ENABLED
   17447             : 
   17448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17449             : 
   17450             : #define CK_ENABLED 1
   17451             : 
   17452             : #if CK5_ENABLED
   17453             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_CK5
   17454             :         use pm_kind, only: CKC => CK5
   17455             : #include "pm_matrixCopy@routines.inc.F90"
   17456             :     end procedure
   17457             : #endif
   17458             : 
   17459             : #if CK4_ENABLED
   17460           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_CK4
   17461             :         use pm_kind, only: CKC => CK4
   17462             : #include "pm_matrixCopy@routines.inc.F90"
   17463             :     end procedure
   17464             : #endif
   17465             : 
   17466             : #if CK3_ENABLED
   17467           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_CK3
   17468             :         use pm_kind, only: CKC => CK3
   17469             : #include "pm_matrixCopy@routines.inc.F90"
   17470             :     end procedure
   17471             : #endif
   17472             : 
   17473             : #if CK2_ENABLED
   17474           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_CK2
   17475             :         use pm_kind, only: CKC => CK2
   17476             : #include "pm_matrixCopy@routines.inc.F90"
   17477             :     end procedure
   17478             : #endif
   17479             : 
   17480             : #if CK1_ENABLED
   17481           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_CK1
   17482             :         use pm_kind, only: CKC => CK1
   17483             : #include "pm_matrixCopy@routines.inc.F90"
   17484             :     end procedure
   17485             : #endif
   17486             : 
   17487             : #undef CK_ENABLED
   17488             : 
   17489             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17490             : 
   17491             : #define RK_ENABLED 1
   17492             : 
   17493             : #if RK5_ENABLED
   17494             :     module procedure setMatCopy_RFP_RDP_XLD_AIO_RK5
   17495             :         use pm_kind, only: RKC => RK5
   17496             : #include "pm_matrixCopy@routines.inc.F90"
   17497             :     end procedure
   17498             : #endif
   17499             : 
   17500             : #if RK4_ENABLED
   17501           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_RK4
   17502             :         use pm_kind, only: RKC => RK4
   17503             : #include "pm_matrixCopy@routines.inc.F90"
   17504             :     end procedure
   17505             : #endif
   17506             : 
   17507             : #if RK3_ENABLED
   17508           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_RK3
   17509             :         use pm_kind, only: RKC => RK3
   17510             : #include "pm_matrixCopy@routines.inc.F90"
   17511             :     end procedure
   17512             : #endif
   17513             : 
   17514             : #if RK2_ENABLED
   17515           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_RK2
   17516             :         use pm_kind, only: RKC => RK2
   17517             : #include "pm_matrixCopy@routines.inc.F90"
   17518             :     end procedure
   17519             : #endif
   17520             : 
   17521             : #if RK1_ENABLED
   17522           0 :     module procedure setMatCopy_RFP_RDP_XLD_AIO_RK1
   17523             :         use pm_kind, only: RKC => RK1
   17524             : #include "pm_matrixCopy@routines.inc.F90"
   17525             :     end procedure
   17526             : #endif
   17527             : 
   17528             : #undef RK_ENABLED
   17529             : 
   17530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17531             : 
   17532             : #undef XLD_ENABLED
   17533             : #undef AIO_ENABLED
   17534             : 
   17535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17538             : 
   17539             : #undef RFP_RDP_ENABLED
   17540             : 
   17541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17544             : 
   17545             : #undef setMatCopy_ENABLED
   17546             : 
   17547             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   17548             : 
   17549             : #undef CHECK_ASSERTION
   17550             : 
   17551             : end submodule routines

ParaMonte: Parallel Monte Carlo and Machine Learning Library 
The Computational Data Science Lab
© Copyright 2012 - 2024