https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_polynomial@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 102 344 29.7 %
Date: 2024-04-08 03:18:57 Functions: 63 188 33.5 %
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_polynomial](@ref pm_polynomial).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_polynomial) 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_arrayResize, only: setResized
      40             :     use pm_str, only: getTrimmedTZ
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define getPolyVal_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define D0_ENABLED 1
      56             : 
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : #define CK_CK_ENABLED 1
      60             : 
      61             : #if CK5_ENABLED
      62             :     module procedure getPolyVal_D0_CK5_CK5
      63             :         use pm_kind, only: TKC => CK5
      64             : #include "pm_polynomial@routines.inc.F90"
      65             :     end procedure
      66             : #endif
      67             : 
      68             : #if CK4_ENABLED
      69           0 :     module procedure getPolyVal_D0_CK4_CK4
      70             :         use pm_kind, only: TKC => CK4
      71             : #include "pm_polynomial@routines.inc.F90"
      72           0 :     end procedure
      73             : #endif
      74             : 
      75             : #if CK3_ENABLED
      76           0 :     module procedure getPolyVal_D0_CK3_CK3
      77             :         use pm_kind, only: TKC => CK3
      78             : #include "pm_polynomial@routines.inc.F90"
      79           0 :     end procedure
      80             : #endif
      81             : 
      82             : #if CK2_ENABLED
      83           0 :     module procedure getPolyVal_D0_CK2_CK2
      84             :         use pm_kind, only: TKC => CK2
      85             : #include "pm_polynomial@routines.inc.F90"
      86           0 :     end procedure
      87             : #endif
      88             : 
      89             : #if CK1_ENABLED
      90           1 :     module procedure getPolyVal_D0_CK1_CK1
      91             :         use pm_kind, only: TKC => CK1
      92             : #include "pm_polynomial@routines.inc.F90"
      93           1 :     end procedure
      94             : #endif
      95             : 
      96             : #undef CK_CK_ENABLED
      97             : 
      98             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      99             : 
     100             : #define RK_CK_ENABLED 1
     101             : 
     102             : #if RK5_ENABLED
     103             :     module procedure getPolyVal_D0_RK5_CK5
     104             :         use pm_kind, only: TKC => RK5
     105             : #include "pm_polynomial@routines.inc.F90"
     106             :     end procedure
     107             : #endif
     108             : 
     109             : #if RK4_ENABLED
     110           1 :     module procedure getPolyVal_D0_RK4_CK4
     111             :         use pm_kind, only: TKC => RK4
     112             : #include "pm_polynomial@routines.inc.F90"
     113           1 :     end procedure
     114             : #endif
     115             : 
     116             : #if RK3_ENABLED
     117           0 :     module procedure getPolyVal_D0_RK3_CK3
     118             :         use pm_kind, only: TKC => RK3
     119             : #include "pm_polynomial@routines.inc.F90"
     120           0 :     end procedure
     121             : #endif
     122             : 
     123             : #if RK2_ENABLED
     124           0 :     module procedure getPolyVal_D0_RK2_CK2
     125             :         use pm_kind, only: TKC => RK2
     126             : #include "pm_polynomial@routines.inc.F90"
     127           0 :     end procedure
     128             : #endif
     129             : 
     130             : #if RK1_ENABLED
     131           0 :     module procedure getPolyVal_D0_RK1_CK1
     132             :         use pm_kind, only: TKC => RK1
     133             : #include "pm_polynomial@routines.inc.F90"
     134           0 :     end procedure
     135             : #endif
     136             : 
     137             : #undef RK_CK_ENABLED
     138             : 
     139             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     140             : 
     141             : #define RK_RK_ENABLED 1
     142             : 
     143             : #if RK5_ENABLED
     144             :     module procedure getPolyVal_D0_RK5_RK5
     145             :         use pm_kind, only: TKC => RK5
     146             : #include "pm_polynomial@routines.inc.F90"
     147             :     end procedure
     148             : #endif
     149             : 
     150             : #if RK4_ENABLED
     151           2 :     module procedure getPolyVal_D0_RK4_RK4
     152             :         use pm_kind, only: TKC => RK4
     153             : #include "pm_polynomial@routines.inc.F90"
     154           2 :     end procedure
     155             : #endif
     156             : 
     157             : #if RK3_ENABLED
     158           0 :     module procedure getPolyVal_D0_RK3_RK3
     159             :         use pm_kind, only: TKC => RK3
     160             : #include "pm_polynomial@routines.inc.F90"
     161           0 :     end procedure
     162             : #endif
     163             : 
     164             : #if RK2_ENABLED
     165           0 :     module procedure getPolyVal_D0_RK2_RK2
     166             :         use pm_kind, only: TKC => RK2
     167             : #include "pm_polynomial@routines.inc.F90"
     168           0 :     end procedure
     169             : #endif
     170             : 
     171             : #if RK1_ENABLED
     172           0 :     module procedure getPolyVal_D0_RK1_RK1
     173             :         use pm_kind, only: TKC => RK1
     174             : #include "pm_polynomial@routines.inc.F90"
     175           0 :     end procedure
     176             : #endif
     177             : 
     178             : #undef RK_RK_ENABLED
     179             : 
     180             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     181             : 
     182             : #undef D0_ENABLED
     183             : 
     184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     186             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     187             : 
     188             : #define D1_ENABLED 1
     189             : 
     190             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     191             : 
     192             : #define CK_CK_ENABLED 1
     193             : 
     194             : #if CK5_ENABLED
     195             :     module procedure getPolyVal_D1_CK5_CK5
     196             :         use pm_kind, only: TKC => CK5
     197             : #include "pm_polynomial@routines.inc.F90"
     198             :     end procedure
     199             : #endif
     200             : 
     201             : #if CK4_ENABLED
     202          15 :     module procedure getPolyVal_D1_CK4_CK4
     203             :         use pm_kind, only: TKC => CK4
     204             : #include "pm_polynomial@routines.inc.F90"
     205          15 :     end procedure
     206             : #endif
     207             : 
     208             : #if CK3_ENABLED
     209           0 :     module procedure getPolyVal_D1_CK3_CK3
     210             :         use pm_kind, only: TKC => CK3
     211             : #include "pm_polynomial@routines.inc.F90"
     212           0 :     end procedure
     213             : #endif
     214             : 
     215             : #if CK2_ENABLED
     216          15 :     module procedure getPolyVal_D1_CK2_CK2
     217             :         use pm_kind, only: TKC => CK2
     218             : #include "pm_polynomial@routines.inc.F90"
     219          15 :     end procedure
     220             : #endif
     221             : 
     222             : #if CK1_ENABLED
     223          25 :     module procedure getPolyVal_D1_CK1_CK1
     224             :         use pm_kind, only: TKC => CK1
     225             : #include "pm_polynomial@routines.inc.F90"
     226          25 :     end procedure
     227             : #endif
     228             : 
     229             : #undef CK_CK_ENABLED
     230             : 
     231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     232             : 
     233             : #define RK_CK_ENABLED 1
     234             : 
     235             : #if RK5_ENABLED
     236             :     module procedure getPolyVal_D1_RK5_CK5
     237             :         use pm_kind, only: TKC => RK5
     238             : #include "pm_polynomial@routines.inc.F90"
     239             :     end procedure
     240             : #endif
     241             : 
     242             : #if RK4_ENABLED
     243           6 :     module procedure getPolyVal_D1_RK4_CK4
     244             :         use pm_kind, only: TKC => RK4
     245             : #include "pm_polynomial@routines.inc.F90"
     246           6 :     end procedure
     247             : #endif
     248             : 
     249             : #if RK3_ENABLED
     250           0 :     module procedure getPolyVal_D1_RK3_CK3
     251             :         use pm_kind, only: TKC => RK3
     252             : #include "pm_polynomial@routines.inc.F90"
     253           0 :     end procedure
     254             : #endif
     255             : 
     256             : #if RK2_ENABLED
     257           6 :     module procedure getPolyVal_D1_RK2_CK2
     258             :         use pm_kind, only: TKC => RK2
     259             : #include "pm_polynomial@routines.inc.F90"
     260           6 :     end procedure
     261             : #endif
     262             : 
     263             : #if RK1_ENABLED
     264           6 :     module procedure getPolyVal_D1_RK1_CK1
     265             :         use pm_kind, only: TKC => RK1
     266             : #include "pm_polynomial@routines.inc.F90"
     267           6 :     end procedure
     268             : #endif
     269             : 
     270             : #undef RK_CK_ENABLED
     271             : 
     272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     273             : 
     274             : #define RK_RK_ENABLED 1
     275             : 
     276             : #if RK5_ENABLED
     277             :     module procedure getPolyVal_D1_RK5_RK5
     278             :         use pm_kind, only: TKC => RK5
     279             : #include "pm_polynomial@routines.inc.F90"
     280             :     end procedure
     281             : #endif
     282             : 
     283             : #if RK4_ENABLED
     284           0 :     module procedure getPolyVal_D1_RK4_RK4
     285             :         use pm_kind, only: TKC => RK4
     286             : #include "pm_polynomial@routines.inc.F90"
     287           0 :     end procedure
     288             : #endif
     289             : 
     290             : #if RK3_ENABLED
     291           0 :     module procedure getPolyVal_D1_RK3_RK3
     292             :         use pm_kind, only: TKC => RK3
     293             : #include "pm_polynomial@routines.inc.F90"
     294           0 :     end procedure
     295             : #endif
     296             : 
     297             : #if RK2_ENABLED
     298           0 :     module procedure getPolyVal_D1_RK2_RK2
     299             :         use pm_kind, only: TKC => RK2
     300             : #include "pm_polynomial@routines.inc.F90"
     301           0 :     end procedure
     302             : #endif
     303             : 
     304             : #if RK1_ENABLED
     305           0 :     module procedure getPolyVal_D1_RK1_RK1
     306             :         use pm_kind, only: TKC => RK1
     307             : #include "pm_polynomial@routines.inc.F90"
     308           0 :     end procedure
     309             : #endif
     310             : 
     311             : #undef RK_RK_ENABLED
     312             : 
     313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     314             : 
     315             : #undef D1_ENABLED
     316             : 
     317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     318             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     320             : 
     321             : #undef getPolyVal_ENABLED
     322             : 
     323             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             : 
     325             : #define getPolyAdd_ENABLED 1
     326             : 
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #define CK_ENABLED 1
     330             : 
     331             : #if CK5_ENABLED
     332             :     module procedure getPolyAdd_CK5
     333             :         use pm_kind, only: TKC => CK5
     334             : #include "pm_polynomial@routines.inc.F90"
     335             :     end procedure
     336             : #endif
     337             : 
     338             : #if CK4_ENABLED
     339           0 :     module procedure getPolyAdd_CK4
     340             :         use pm_kind, only: TKC => CK4
     341             : #include "pm_polynomial@routines.inc.F90"
     342           0 :     end procedure
     343             : #endif
     344             : 
     345             : #if CK3_ENABLED
     346           0 :     module procedure getPolyAdd_CK3
     347             :         use pm_kind, only: TKC => CK3
     348             : #include "pm_polynomial@routines.inc.F90"
     349           0 :     end procedure
     350             : #endif
     351             : 
     352             : #if CK2_ENABLED
     353           0 :     module procedure getPolyAdd_CK2
     354             :         use pm_kind, only: TKC => CK2
     355             : #include "pm_polynomial@routines.inc.F90"
     356           0 :     end procedure
     357             : #endif
     358             : 
     359             : #if CK1_ENABLED
     360          11 :     module procedure getPolyAdd_CK1
     361             :         use pm_kind, only: TKC => CK1
     362             : #include "pm_polynomial@routines.inc.F90"
     363          11 :     end procedure
     364             : #endif
     365             : 
     366             : #undef CK_ENABLED
     367             : 
     368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     369             : 
     370             : #define RK_ENABLED 1
     371             : 
     372             : #if RK5_ENABLED
     373             :     module procedure getPolyAdd_RK5
     374             :         use pm_kind, only: TKC => RK5
     375             : #include "pm_polynomial@routines.inc.F90"
     376             :     end procedure
     377             : #endif
     378             : 
     379             : #if RK4_ENABLED
     380           0 :     module procedure getPolyAdd_RK4
     381             :         use pm_kind, only: TKC => RK4
     382             : #include "pm_polynomial@routines.inc.F90"
     383           0 :     end procedure
     384             : #endif
     385             : 
     386             : #if RK3_ENABLED
     387           0 :     module procedure getPolyAdd_RK3
     388             :         use pm_kind, only: TKC => RK3
     389             : #include "pm_polynomial@routines.inc.F90"
     390           0 :     end procedure
     391             : #endif
     392             : 
     393             : #if RK2_ENABLED
     394           0 :     module procedure getPolyAdd_RK2
     395             :         use pm_kind, only: TKC => RK2
     396             : #include "pm_polynomial@routines.inc.F90"
     397           0 :     end procedure
     398             : #endif
     399             : 
     400             : #if RK1_ENABLED
     401          11 :     module procedure getPolyAdd_RK1
     402             :         use pm_kind, only: TKC => RK1
     403             : #include "pm_polynomial@routines.inc.F90"
     404          11 :     end procedure
     405             : #endif
     406             : 
     407             : #undef RK_ENABLED
     408             : 
     409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     410             : 
     411             : #undef getPolyAdd_ENABLED
     412             : 
     413             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     414             : 
     415             : #define setPolyAdd_ENABLED 1
     416             : 
     417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     418             : 
     419             : #define CK_ENABLED 1
     420             : 
     421             : #if CK5_ENABLED
     422             :     module procedure setPolyAdd_CK5
     423             :         use pm_kind, only: TKC => CK5
     424             : #include "pm_polynomial@routines.inc.F90"
     425             :     end procedure
     426             : #endif
     427             : 
     428             : #if CK4_ENABLED
     429           0 :     module procedure setPolyAdd_CK4
     430             :         use pm_kind, only: TKC => CK4
     431             : #include "pm_polynomial@routines.inc.F90"
     432           0 :     end procedure
     433             : #endif
     434             : 
     435             : #if CK3_ENABLED
     436           0 :     module procedure setPolyAdd_CK3
     437             :         use pm_kind, only: TKC => CK3
     438             : #include "pm_polynomial@routines.inc.F90"
     439           0 :     end procedure
     440             : #endif
     441             : 
     442             : #if CK2_ENABLED
     443           0 :     module procedure setPolyAdd_CK2
     444             :         use pm_kind, only: TKC => CK2
     445             : #include "pm_polynomial@routines.inc.F90"
     446           0 :     end procedure
     447             : #endif
     448             : 
     449             : #if CK1_ENABLED
     450          11 :     module procedure setPolyAdd_CK1
     451             :         use pm_kind, only: TKC => CK1
     452             : #include "pm_polynomial@routines.inc.F90"
     453          11 :     end procedure
     454             : #endif
     455             : 
     456             : #undef CK_ENABLED
     457             : 
     458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     459             : 
     460             : #define RK_ENABLED 1
     461             : 
     462             : #if RK5_ENABLED
     463             :     module procedure setPolyAdd_RK5
     464             :         use pm_kind, only: TKC => RK5
     465             : #include "pm_polynomial@routines.inc.F90"
     466             :     end procedure
     467             : #endif
     468             : 
     469             : #if RK4_ENABLED
     470           0 :     module procedure setPolyAdd_RK4
     471             :         use pm_kind, only: TKC => RK4
     472             : #include "pm_polynomial@routines.inc.F90"
     473           0 :     end procedure
     474             : #endif
     475             : 
     476             : #if RK3_ENABLED
     477           0 :     module procedure setPolyAdd_RK3
     478             :         use pm_kind, only: TKC => RK3
     479             : #include "pm_polynomial@routines.inc.F90"
     480           0 :     end procedure
     481             : #endif
     482             : 
     483             : #if RK2_ENABLED
     484           0 :     module procedure setPolyAdd_RK2
     485             :         use pm_kind, only: TKC => RK2
     486             : #include "pm_polynomial@routines.inc.F90"
     487           0 :     end procedure
     488             : #endif
     489             : 
     490             : #if RK1_ENABLED
     491          11 :     module procedure setPolyAdd_RK1
     492             :         use pm_kind, only: TKC => RK1
     493             : #include "pm_polynomial@routines.inc.F90"
     494          11 :     end procedure
     495             : #endif
     496             : 
     497             : #undef RK_ENABLED
     498             : 
     499             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     500             : 
     501             : #undef setPolyAdd_ENABLED
     502             : 
     503             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     504             : 
     505             : #define getPolySub_ENABLED 1
     506             : 
     507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     508             : 
     509             : #define CK_ENABLED 1
     510             : 
     511             : #if CK5_ENABLED
     512             :     module procedure getPolySub_CK5
     513             :         use pm_kind, only: TKC => CK5
     514             : #include "pm_polynomial@routines.inc.F90"
     515             :     end procedure
     516             : #endif
     517             : 
     518             : #if CK4_ENABLED
     519           0 :     module procedure getPolySub_CK4
     520             :         use pm_kind, only: TKC => CK4
     521             : #include "pm_polynomial@routines.inc.F90"
     522           0 :     end procedure
     523             : #endif
     524             : 
     525             : #if CK3_ENABLED
     526           0 :     module procedure getPolySub_CK3
     527             :         use pm_kind, only: TKC => CK3
     528             : #include "pm_polynomial@routines.inc.F90"
     529           0 :     end procedure
     530             : #endif
     531             : 
     532             : #if CK2_ENABLED
     533           0 :     module procedure getPolySub_CK2
     534             :         use pm_kind, only: TKC => CK2
     535             : #include "pm_polynomial@routines.inc.F90"
     536           0 :     end procedure
     537             : #endif
     538             : 
     539             : #if CK1_ENABLED
     540           7 :     module procedure getPolySub_CK1
     541             :         use pm_kind, only: TKC => CK1
     542             : #include "pm_polynomial@routines.inc.F90"
     543           7 :     end procedure
     544             : #endif
     545             : 
     546             : #undef CK_ENABLED
     547             : 
     548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     549             : 
     550             : #define RK_ENABLED 1
     551             : 
     552             : #if RK5_ENABLED
     553             :     module procedure getPolySub_RK5
     554             :         use pm_kind, only: TKC => RK5
     555             : #include "pm_polynomial@routines.inc.F90"
     556             :     end procedure
     557             : #endif
     558             : 
     559             : #if RK4_ENABLED
     560           0 :     module procedure getPolySub_RK4
     561             :         use pm_kind, only: TKC => RK4
     562             : #include "pm_polynomial@routines.inc.F90"
     563           0 :     end procedure
     564             : #endif
     565             : 
     566             : #if RK3_ENABLED
     567           0 :     module procedure getPolySub_RK3
     568             :         use pm_kind, only: TKC => RK3
     569             : #include "pm_polynomial@routines.inc.F90"
     570           0 :     end procedure
     571             : #endif
     572             : 
     573             : #if RK2_ENABLED
     574           0 :     module procedure getPolySub_RK2
     575             :         use pm_kind, only: TKC => RK2
     576             : #include "pm_polynomial@routines.inc.F90"
     577           0 :     end procedure
     578             : #endif
     579             : 
     580             : #if RK1_ENABLED
     581           7 :     module procedure getPolySub_RK1
     582             :         use pm_kind, only: TKC => RK1
     583             : #include "pm_polynomial@routines.inc.F90"
     584           7 :     end procedure
     585             : #endif
     586             : 
     587             : #undef RK_ENABLED
     588             : 
     589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591             : #undef getPolySub_ENABLED
     592             : 
     593             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     594             : 
     595             : #define setPolySub_ENABLED 1
     596             : 
     597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     598             : 
     599             : #define CK_ENABLED 1
     600             : 
     601             : #if CK5_ENABLED
     602             :     module procedure setPolySub_CK5
     603             :         use pm_kind, only: TKC => CK5
     604             : #include "pm_polynomial@routines.inc.F90"
     605             :     end procedure
     606             : #endif
     607             : 
     608             : #if CK4_ENABLED
     609           0 :     module procedure setPolySub_CK4
     610             :         use pm_kind, only: TKC => CK4
     611             : #include "pm_polynomial@routines.inc.F90"
     612           0 :     end procedure
     613             : #endif
     614             : 
     615             : #if CK3_ENABLED
     616           0 :     module procedure setPolySub_CK3
     617             :         use pm_kind, only: TKC => CK3
     618             : #include "pm_polynomial@routines.inc.F90"
     619           0 :     end procedure
     620             : #endif
     621             : 
     622             : #if CK2_ENABLED
     623           0 :     module procedure setPolySub_CK2
     624             :         use pm_kind, only: TKC => CK2
     625             : #include "pm_polynomial@routines.inc.F90"
     626           0 :     end procedure
     627             : #endif
     628             : 
     629             : #if CK1_ENABLED
     630           8 :     module procedure setPolySub_CK1
     631             :         use pm_kind, only: TKC => CK1
     632             : #include "pm_polynomial@routines.inc.F90"
     633           8 :     end procedure
     634             : #endif
     635             : 
     636             : #undef CK_ENABLED
     637             : 
     638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     639             : 
     640             : #define RK_ENABLED 1
     641             : 
     642             : #if RK5_ENABLED
     643             :     module procedure setPolySub_RK5
     644             :         use pm_kind, only: TKC => RK5
     645             : #include "pm_polynomial@routines.inc.F90"
     646             :     end procedure
     647             : #endif
     648             : 
     649             : #if RK4_ENABLED
     650           0 :     module procedure setPolySub_RK4
     651             :         use pm_kind, only: TKC => RK4
     652             : #include "pm_polynomial@routines.inc.F90"
     653           0 :     end procedure
     654             : #endif
     655             : 
     656             : #if RK3_ENABLED
     657           0 :     module procedure setPolySub_RK3
     658             :         use pm_kind, only: TKC => RK3
     659             : #include "pm_polynomial@routines.inc.F90"
     660           0 :     end procedure
     661             : #endif
     662             : 
     663             : #if RK2_ENABLED
     664           0 :     module procedure setPolySub_RK2
     665             :         use pm_kind, only: TKC => RK2
     666             : #include "pm_polynomial@routines.inc.F90"
     667           0 :     end procedure
     668             : #endif
     669             : 
     670             : #if RK1_ENABLED
     671           8 :     module procedure setPolySub_RK1
     672             :         use pm_kind, only: TKC => RK1
     673             : #include "pm_polynomial@routines.inc.F90"
     674           8 :     end procedure
     675             : #endif
     676             : 
     677             : #undef RK_ENABLED
     678             : 
     679             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     680             : 
     681             : #undef setPolySub_ENABLED
     682             : 
     683             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     684             : 
     685             : #define getPolyMul_ENABLED 1
     686             : 
     687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     688             : 
     689             : #define CK_ENABLED 1
     690             : 
     691             : #if CK5_ENABLED
     692             :     module procedure getPolyMul_CK5
     693             :         use pm_kind, only: TKC => CK5
     694             : #include "pm_polynomial@routines.inc.F90"
     695             :     end procedure
     696             : #endif
     697             : 
     698             : #if CK4_ENABLED
     699           0 :     module procedure getPolyMul_CK4
     700             :         use pm_kind, only: TKC => CK4
     701             : #include "pm_polynomial@routines.inc.F90"
     702           0 :     end procedure
     703             : #endif
     704             : 
     705             : #if CK3_ENABLED
     706           0 :     module procedure getPolyMul_CK3
     707             :         use pm_kind, only: TKC => CK3
     708             : #include "pm_polynomial@routines.inc.F90"
     709           0 :     end procedure
     710             : #endif
     711             : 
     712             : #if CK2_ENABLED
     713           0 :     module procedure getPolyMul_CK2
     714             :         use pm_kind, only: TKC => CK2
     715             : #include "pm_polynomial@routines.inc.F90"
     716           0 :     end procedure
     717             : #endif
     718             : 
     719             : #if CK1_ENABLED
     720          15 :     module procedure getPolyMul_CK1
     721             :         use pm_kind, only: TKC => CK1
     722             : #include "pm_polynomial@routines.inc.F90"
     723          15 :     end procedure
     724             : #endif
     725             : 
     726             : #undef CK_ENABLED
     727             : 
     728             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     729             : 
     730             : #define RK_ENABLED 1
     731             : 
     732             : #if RK5_ENABLED
     733             :     module procedure getPolyMul_RK5
     734             :         use pm_kind, only: TKC => RK5
     735             : #include "pm_polynomial@routines.inc.F90"
     736             :     end procedure
     737             : #endif
     738             : 
     739             : #if RK4_ENABLED
     740           0 :     module procedure getPolyMul_RK4
     741             :         use pm_kind, only: TKC => RK4
     742             : #include "pm_polynomial@routines.inc.F90"
     743           0 :     end procedure
     744             : #endif
     745             : 
     746             : #if RK3_ENABLED
     747           0 :     module procedure getPolyMul_RK3
     748             :         use pm_kind, only: TKC => RK3
     749             : #include "pm_polynomial@routines.inc.F90"
     750           0 :     end procedure
     751             : #endif
     752             : 
     753             : #if RK2_ENABLED
     754           0 :     module procedure getPolyMul_RK2
     755             :         use pm_kind, only: TKC => RK2
     756             : #include "pm_polynomial@routines.inc.F90"
     757           0 :     end procedure
     758             : #endif
     759             : 
     760             : #if RK1_ENABLED
     761          15 :     module procedure getPolyMul_RK1
     762             :         use pm_kind, only: TKC => RK1
     763             : #include "pm_polynomial@routines.inc.F90"
     764          15 :     end procedure
     765             : #endif
     766             : 
     767             : #undef RK_ENABLED
     768             : 
     769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     770             : 
     771             : #undef getPolyMul_ENABLED
     772             : 
     773             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775             : #define setPolyMul_ENABLED 1
     776             : 
     777             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     778             : 
     779             : #define CK_ENABLED 1
     780             : 
     781             : #if CK5_ENABLED
     782             :     module procedure setPolyMul_CK5
     783             :         use pm_kind, only: TKC => CK5
     784             : #include "pm_polynomial@routines.inc.F90"
     785             :     end procedure
     786             : #endif
     787             : 
     788             : #if CK4_ENABLED
     789           0 :     module procedure setPolyMul_CK4
     790             :         use pm_kind, only: TKC => CK4
     791             : #include "pm_polynomial@routines.inc.F90"
     792           0 :     end procedure
     793             : #endif
     794             : 
     795             : #if CK3_ENABLED
     796           0 :     module procedure setPolyMul_CK3
     797             :         use pm_kind, only: TKC => CK3
     798             : #include "pm_polynomial@routines.inc.F90"
     799           0 :     end procedure
     800             : #endif
     801             : 
     802             : #if CK2_ENABLED
     803           0 :     module procedure setPolyMul_CK2
     804             :         use pm_kind, only: TKC => CK2
     805             : #include "pm_polynomial@routines.inc.F90"
     806           0 :     end procedure
     807             : #endif
     808             : 
     809             : #if CK1_ENABLED
     810          16 :     module procedure setPolyMul_CK1
     811             :         use pm_kind, only: TKC => CK1
     812             : #include "pm_polynomial@routines.inc.F90"
     813          16 :     end procedure
     814             : #endif
     815             : 
     816             : #undef CK_ENABLED
     817             : 
     818             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     819             : 
     820             : #define RK_ENABLED 1
     821             : 
     822             : #if RK5_ENABLED
     823             :     module procedure setPolyMul_RK5
     824             :         use pm_kind, only: TKC => RK5
     825             : #include "pm_polynomial@routines.inc.F90"
     826             :     end procedure
     827             : #endif
     828             : 
     829             : #if RK4_ENABLED
     830           0 :     module procedure setPolyMul_RK4
     831             :         use pm_kind, only: TKC => RK4
     832             : #include "pm_polynomial@routines.inc.F90"
     833           0 :     end procedure
     834             : #endif
     835             : 
     836             : #if RK3_ENABLED
     837           0 :     module procedure setPolyMul_RK3
     838             :         use pm_kind, only: TKC => RK3
     839             : #include "pm_polynomial@routines.inc.F90"
     840           0 :     end procedure
     841             : #endif
     842             : 
     843             : #if RK2_ENABLED
     844           0 :     module procedure setPolyMul_RK2
     845             :         use pm_kind, only: TKC => RK2
     846             : #include "pm_polynomial@routines.inc.F90"
     847           0 :     end procedure
     848             : #endif
     849             : 
     850             : #if RK1_ENABLED
     851          16 :     module procedure setPolyMul_RK1
     852             :         use pm_kind, only: TKC => RK1
     853             : #include "pm_polynomial@routines.inc.F90"
     854          16 :     end procedure
     855             : #endif
     856             : 
     857             : #undef RK_ENABLED
     858             : 
     859             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     860             : 
     861             : #undef setPolyMul_ENABLED
     862             : 
     863             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     864             : 
     865             : #define setPolyDiv_ENABLED 1
     866             : 
     867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     868             : 
     869             : #define CK_ENABLED 1
     870             : 
     871             : #if CK5_ENABLED
     872             :     module procedure setPolyDiv_CK5
     873             :         use pm_kind, only: TKC => CK5
     874             : #include "pm_polynomial@routines.inc.F90"
     875             :     end procedure
     876             : #endif
     877             : 
     878             : #if CK4_ENABLED
     879           0 :     module procedure setPolyDiv_CK4
     880             :         use pm_kind, only: TKC => CK4
     881             : #include "pm_polynomial@routines.inc.F90"
     882           0 :     end procedure
     883             : #endif
     884             : 
     885             : #if CK3_ENABLED
     886           0 :     module procedure setPolyDiv_CK3
     887             :         use pm_kind, only: TKC => CK3
     888             : #include "pm_polynomial@routines.inc.F90"
     889           0 :     end procedure
     890             : #endif
     891             : 
     892             : #if CK2_ENABLED
     893           0 :     module procedure setPolyDiv_CK2
     894             :         use pm_kind, only: TKC => CK2
     895             : #include "pm_polynomial@routines.inc.F90"
     896           0 :     end procedure
     897             : #endif
     898             : 
     899             : #if CK1_ENABLED
     900           4 :     module procedure setPolyDiv_CK1
     901             :         use pm_kind, only: TKC => CK1
     902             : #include "pm_polynomial@routines.inc.F90"
     903           4 :     end procedure
     904             : #endif
     905             : 
     906             : #undef CK_ENABLED
     907             : 
     908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     909             : 
     910             : #define RK_ENABLED 1
     911             : 
     912             : #if RK5_ENABLED
     913             :     module procedure setPolyDiv_RK5
     914             :         use pm_kind, only: TKC => RK5
     915             : #include "pm_polynomial@routines.inc.F90"
     916             :     end procedure
     917             : #endif
     918             : 
     919             : #if RK4_ENABLED
     920           0 :     module procedure setPolyDiv_RK4
     921             :         use pm_kind, only: TKC => RK4
     922             : #include "pm_polynomial@routines.inc.F90"
     923           0 :     end procedure
     924             : #endif
     925             : 
     926             : #if RK3_ENABLED
     927           0 :     module procedure setPolyDiv_RK3
     928             :         use pm_kind, only: TKC => RK3
     929             : #include "pm_polynomial@routines.inc.F90"
     930           0 :     end procedure
     931             : #endif
     932             : 
     933             : #if RK2_ENABLED
     934           0 :     module procedure setPolyDiv_RK2
     935             :         use pm_kind, only: TKC => RK2
     936             : #include "pm_polynomial@routines.inc.F90"
     937           0 :     end procedure
     938             : #endif
     939             : 
     940             : #if RK1_ENABLED
     941           4 :     module procedure setPolyDiv_RK1
     942             :         use pm_kind, only: TKC => RK1
     943             : #include "pm_polynomial@routines.inc.F90"
     944           4 :     end procedure
     945             : #endif
     946             : 
     947             : #undef RK_ENABLED
     948             : 
     949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     950             : 
     951             : #undef setPolyDiv_ENABLED
     952             : 
     953             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     954             : 
     955             : #define getPolyDiff_ENABLED 1
     956             : 
     957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     959             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     960             : 
     961             : #define Def_ENABLED 1
     962             : 
     963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     964             : 
     965             : #define CK_ENABLED 1
     966             : 
     967             : #if CK5_ENABLED
     968             :     module procedure getPolyDiffDef_CK5
     969             :         use pm_kind, only: TKC => CK5
     970             : #include "pm_polynomial@routines.inc.F90"
     971             :     end procedure
     972             : #endif
     973             : 
     974             : #if CK4_ENABLED
     975           0 :     module procedure getPolyDiffDef_CK4
     976             :         use pm_kind, only: TKC => CK4
     977             : #include "pm_polynomial@routines.inc.F90"
     978           0 :     end procedure
     979             : #endif
     980             : 
     981             : #if CK3_ENABLED
     982           0 :     module procedure getPolyDiffDef_CK3
     983             :         use pm_kind, only: TKC => CK3
     984             : #include "pm_polynomial@routines.inc.F90"
     985           0 :     end procedure
     986             : #endif
     987             : 
     988             : #if CK2_ENABLED
     989           0 :     module procedure getPolyDiffDef_CK2
     990             :         use pm_kind, only: TKC => CK2
     991             : #include "pm_polynomial@routines.inc.F90"
     992           0 :     end procedure
     993             : #endif
     994             : 
     995             : #if CK1_ENABLED
     996           0 :     module procedure getPolyDiffDef_CK1
     997             :         use pm_kind, only: TKC => CK1
     998             : #include "pm_polynomial@routines.inc.F90"
     999           0 :     end procedure
    1000             : #endif
    1001             : 
    1002             : #undef CK_ENABLED
    1003             : 
    1004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1005             : 
    1006             : #define RK_ENABLED 1
    1007             : 
    1008             : #if RK5_ENABLED
    1009             :     module procedure getPolyDiffDef_RK5
    1010             :         use pm_kind, only: TKC => RK5
    1011             : #include "pm_polynomial@routines.inc.F90"
    1012             :     end procedure
    1013             : #endif
    1014             : 
    1015             : #if RK4_ENABLED
    1016           0 :     module procedure getPolyDiffDef_RK4
    1017             :         use pm_kind, only: TKC => RK4
    1018             : #include "pm_polynomial@routines.inc.F90"
    1019           0 :     end procedure
    1020             : #endif
    1021             : 
    1022             : #if RK3_ENABLED
    1023           0 :     module procedure getPolyDiffDef_RK3
    1024             :         use pm_kind, only: TKC => RK3
    1025             : #include "pm_polynomial@routines.inc.F90"
    1026           0 :     end procedure
    1027             : #endif
    1028             : 
    1029             : #if RK2_ENABLED
    1030           0 :     module procedure getPolyDiffDef_RK2
    1031             :         use pm_kind, only: TKC => RK2
    1032             : #include "pm_polynomial@routines.inc.F90"
    1033           0 :     end procedure
    1034             : #endif
    1035             : 
    1036             : #if RK1_ENABLED
    1037           0 :     module procedure getPolyDiffDef_RK1
    1038             :         use pm_kind, only: TKC => RK1
    1039             : #include "pm_polynomial@routines.inc.F90"
    1040           0 :     end procedure
    1041             : #endif
    1042             : 
    1043             : #undef RK_ENABLED
    1044             : 
    1045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1046             : 
    1047             : #undef Def_ENABLED
    1048             : 
    1049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1052             : 
    1053             : #define Ord_ENABLED 1
    1054             : 
    1055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1056             : 
    1057             : #define CK_ENABLED 1
    1058             : 
    1059             : #if CK5_ENABLED
    1060             :     module procedure getPolyDiffOrd_CK5
    1061             :         use pm_kind, only: TKC => CK5
    1062             : #include "pm_polynomial@routines.inc.F90"
    1063             :     end procedure
    1064             : #endif
    1065             : 
    1066             : #if CK4_ENABLED
    1067           0 :     module procedure getPolyDiffOrd_CK4
    1068             :         use pm_kind, only: TKC => CK4
    1069             : #include "pm_polynomial@routines.inc.F90"
    1070           0 :     end procedure
    1071             : #endif
    1072             : 
    1073             : #if CK3_ENABLED
    1074           0 :     module procedure getPolyDiffOrd_CK3
    1075             :         use pm_kind, only: TKC => CK3
    1076             : #include "pm_polynomial@routines.inc.F90"
    1077           0 :     end procedure
    1078             : #endif
    1079             : 
    1080             : #if CK2_ENABLED
    1081           0 :     module procedure getPolyDiffOrd_CK2
    1082             :         use pm_kind, only: TKC => CK2
    1083             : #include "pm_polynomial@routines.inc.F90"
    1084           0 :     end procedure
    1085             : #endif
    1086             : 
    1087             : #if CK1_ENABLED
    1088          20 :     module procedure getPolyDiffOrd_CK1
    1089             :         use pm_kind, only: TKC => CK1
    1090             : #include "pm_polynomial@routines.inc.F90"
    1091          20 :     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 getPolyDiffOrd_RK5
    1102             :         use pm_kind, only: TKC => RK5
    1103             : #include "pm_polynomial@routines.inc.F90"
    1104             :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if RK4_ENABLED
    1108           0 :     module procedure getPolyDiffOrd_RK4
    1109             :         use pm_kind, only: TKC => RK4
    1110             : #include "pm_polynomial@routines.inc.F90"
    1111           0 :     end procedure
    1112             : #endif
    1113             : 
    1114             : #if RK3_ENABLED
    1115           0 :     module procedure getPolyDiffOrd_RK3
    1116             :         use pm_kind, only: TKC => RK3
    1117             : #include "pm_polynomial@routines.inc.F90"
    1118           0 :     end procedure
    1119             : #endif
    1120             : 
    1121             : #if RK2_ENABLED
    1122           0 :     module procedure getPolyDiffOrd_RK2
    1123             :         use pm_kind, only: TKC => RK2
    1124             : #include "pm_polynomial@routines.inc.F90"
    1125           0 :     end procedure
    1126             : #endif
    1127             : 
    1128             : #if RK1_ENABLED
    1129          20 :     module procedure getPolyDiffOrd_RK1
    1130             :         use pm_kind, only: TKC => RK1
    1131             : #include "pm_polynomial@routines.inc.F90"
    1132          20 :     end procedure
    1133             : #endif
    1134             : 
    1135             : #undef RK_ENABLED
    1136             : 
    1137             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1138             : 
    1139             : #undef Ord_ENABLED
    1140             : 
    1141             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1144             : 
    1145             : #undef getPolyDiff_ENABLED
    1146             : 
    1147             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1148             : 
    1149             : #define setPolyDiff_ENABLED 1
    1150             : 
    1151             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1152             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1154             : 
    1155             : #define Def_ENABLED 1
    1156             : 
    1157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1158             : 
    1159             : #define CK_ENABLED 1
    1160             : 
    1161             : #if CK5_ENABLED
    1162             :     module procedure setPolyDiffDef_CK5
    1163             :         use pm_kind, only: TKC => CK5
    1164             : #include "pm_polynomial@routines.inc.F90"
    1165             :     end procedure
    1166             : #endif
    1167             : 
    1168             : #if CK4_ENABLED
    1169           0 :     module procedure setPolyDiffDef_CK4
    1170             :         use pm_kind, only: TKC => CK4
    1171             : #include "pm_polynomial@routines.inc.F90"
    1172           0 :     end procedure
    1173             : #endif
    1174             : 
    1175             : #if CK3_ENABLED
    1176           0 :     module procedure setPolyDiffDef_CK3
    1177             :         use pm_kind, only: TKC => CK3
    1178             : #include "pm_polynomial@routines.inc.F90"
    1179           0 :     end procedure
    1180             : #endif
    1181             : 
    1182             : #if CK2_ENABLED
    1183           0 :     module procedure setPolyDiffDef_CK2
    1184             :         use pm_kind, only: TKC => CK2
    1185             : #include "pm_polynomial@routines.inc.F90"
    1186           0 :     end procedure
    1187             : #endif
    1188             : 
    1189             : #if CK1_ENABLED
    1190           0 :     module procedure setPolyDiffDef_CK1
    1191             :         use pm_kind, only: TKC => CK1
    1192             : #include "pm_polynomial@routines.inc.F90"
    1193           0 :     end procedure
    1194             : #endif
    1195             : 
    1196             : #undef CK_ENABLED
    1197             : 
    1198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1199             : 
    1200             : #define RK_ENABLED 1
    1201             : 
    1202             : #if RK5_ENABLED
    1203             :     module procedure setPolyDiffDef_RK5
    1204             :         use pm_kind, only: TKC => RK5
    1205             : #include "pm_polynomial@routines.inc.F90"
    1206             :     end procedure
    1207             : #endif
    1208             : 
    1209             : #if RK4_ENABLED
    1210           0 :     module procedure setPolyDiffDef_RK4
    1211             :         use pm_kind, only: TKC => RK4
    1212             : #include "pm_polynomial@routines.inc.F90"
    1213           0 :     end procedure
    1214             : #endif
    1215             : 
    1216             : #if RK3_ENABLED
    1217           0 :     module procedure setPolyDiffDef_RK3
    1218             :         use pm_kind, only: TKC => RK3
    1219             : #include "pm_polynomial@routines.inc.F90"
    1220           0 :     end procedure
    1221             : #endif
    1222             : 
    1223             : #if RK2_ENABLED
    1224           0 :     module procedure setPolyDiffDef_RK2
    1225             :         use pm_kind, only: TKC => RK2
    1226             : #include "pm_polynomial@routines.inc.F90"
    1227           0 :     end procedure
    1228             : #endif
    1229             : 
    1230             : #if RK1_ENABLED
    1231           0 :     module procedure setPolyDiffDef_RK1
    1232             :         use pm_kind, only: TKC => RK1
    1233             : #include "pm_polynomial@routines.inc.F90"
    1234           0 :     end procedure
    1235             : #endif
    1236             : 
    1237             : #undef RK_ENABLED
    1238             : 
    1239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1240             : 
    1241             : #undef Def_ENABLED
    1242             : 
    1243             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1246             : 
    1247             : #define Ord_ENABLED 1
    1248             : 
    1249             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1250             : 
    1251             : #define CK_ENABLED 1
    1252             : 
    1253             : #if CK5_ENABLED
    1254             :     module procedure setPolyDiffOrd_CK5
    1255             :         use pm_kind, only: TKC => CK5
    1256             : #include "pm_polynomial@routines.inc.F90"
    1257             :     end procedure
    1258             : #endif
    1259             : 
    1260             : #if CK4_ENABLED
    1261           0 :     module procedure setPolyDiffOrd_CK4
    1262             :         use pm_kind, only: TKC => CK4
    1263             : #include "pm_polynomial@routines.inc.F90"
    1264           0 :     end procedure
    1265             : #endif
    1266             : 
    1267             : #if CK3_ENABLED
    1268           0 :     module procedure setPolyDiffOrd_CK3
    1269             :         use pm_kind, only: TKC => CK3
    1270             : #include "pm_polynomial@routines.inc.F90"
    1271           0 :     end procedure
    1272             : #endif
    1273             : 
    1274             : #if CK2_ENABLED
    1275           0 :     module procedure setPolyDiffOrd_CK2
    1276             :         use pm_kind, only: TKC => CK2
    1277             : #include "pm_polynomial@routines.inc.F90"
    1278           0 :     end procedure
    1279             : #endif
    1280             : 
    1281             : #if CK1_ENABLED
    1282          20 :     module procedure setPolyDiffOrd_CK1
    1283             :         use pm_kind, only: TKC => CK1
    1284             : #include "pm_polynomial@routines.inc.F90"
    1285          20 :     end procedure
    1286             : #endif
    1287             : 
    1288             : #undef CK_ENABLED
    1289             : 
    1290             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1291             : 
    1292             : #define RK_ENABLED 1
    1293             : 
    1294             : #if RK5_ENABLED
    1295             :     module procedure setPolyDiffOrd_RK5
    1296             :         use pm_kind, only: TKC => RK5
    1297             : #include "pm_polynomial@routines.inc.F90"
    1298             :     end procedure
    1299             : #endif
    1300             : 
    1301             : #if RK4_ENABLED
    1302           0 :     module procedure setPolyDiffOrd_RK4
    1303             :         use pm_kind, only: TKC => RK4
    1304             : #include "pm_polynomial@routines.inc.F90"
    1305           0 :     end procedure
    1306             : #endif
    1307             : 
    1308             : #if RK3_ENABLED
    1309           0 :     module procedure setPolyDiffOrd_RK3
    1310             :         use pm_kind, only: TKC => RK3
    1311             : #include "pm_polynomial@routines.inc.F90"
    1312           0 :     end procedure
    1313             : #endif
    1314             : 
    1315             : #if RK2_ENABLED
    1316           0 :     module procedure setPolyDiffOrd_RK2
    1317             :         use pm_kind, only: TKC => RK2
    1318             : #include "pm_polynomial@routines.inc.F90"
    1319           0 :     end procedure
    1320             : #endif
    1321             : 
    1322             : #if RK1_ENABLED
    1323          20 :     module procedure setPolyDiffOrd_RK1
    1324             :         use pm_kind, only: TKC => RK1
    1325             : #include "pm_polynomial@routines.inc.F90"
    1326          20 :     end procedure
    1327             : #endif
    1328             : 
    1329             : #undef RK_ENABLED
    1330             : 
    1331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1332             : 
    1333             : #undef Ord_ENABLED
    1334             : 
    1335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1338             : 
    1339             : #undef setPolyDiff_ENABLED
    1340             : 
    1341             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1342             : 
    1343             : #define getPolyStr_ENABLED 1
    1344             : 
    1345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1348             : 
    1349             : #define Def_ENABLED 1
    1350             : 
    1351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1352             : 
    1353             : #define CK_ENABLED 1
    1354             : 
    1355             : #if CK5_ENABLED
    1356             :     module procedure getPolyStrDef_CK5
    1357             :         use pm_kind, only: SKC => SK, TKC => CK5
    1358             : #include "pm_polynomial@routines.inc.F90"
    1359             :     end procedure
    1360             : #endif
    1361             : 
    1362             : #if CK4_ENABLED
    1363           0 :     module procedure getPolyStrDef_CK4
    1364             :         use pm_kind, only: SKC => SK, TKC => CK4
    1365             : #include "pm_polynomial@routines.inc.F90"
    1366           0 :     end procedure
    1367             : #endif
    1368             : 
    1369             : #if CK3_ENABLED
    1370           0 :     module procedure getPolyStrDef_CK3
    1371             :         use pm_kind, only: SKC => SK, TKC => CK3
    1372             : #include "pm_polynomial@routines.inc.F90"
    1373           0 :     end procedure
    1374             : #endif
    1375             : 
    1376             : #if CK2_ENABLED
    1377           0 :     module procedure getPolyStrDef_CK2
    1378             :         use pm_kind, only: SKC => SK, TKC => CK2
    1379             : #include "pm_polynomial@routines.inc.F90"
    1380           0 :     end procedure
    1381             : #endif
    1382             : 
    1383             : #if CK1_ENABLED
    1384         207 :     module procedure getPolyStrDef_CK1
    1385             :         use pm_kind, only: SKC => SK, TKC => CK1
    1386             : #include "pm_polynomial@routines.inc.F90"
    1387         207 :     end procedure
    1388             : #endif
    1389             : 
    1390             : #undef CK_ENABLED
    1391             : 
    1392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1393             : 
    1394             : #define RK_ENABLED 1
    1395             : 
    1396             : #if RK5_ENABLED
    1397             :     module procedure getPolyStrDef_RK5
    1398             :         use pm_kind, only: SKC => SK, TKC => RK5
    1399             : #include "pm_polynomial@routines.inc.F90"
    1400             :     end procedure
    1401             : #endif
    1402             : 
    1403             : #if RK4_ENABLED
    1404           0 :     module procedure getPolyStrDef_RK4
    1405             :         use pm_kind, only: SKC => SK, TKC => RK4
    1406             : #include "pm_polynomial@routines.inc.F90"
    1407           0 :     end procedure
    1408             : #endif
    1409             : 
    1410             : #if RK3_ENABLED
    1411           0 :     module procedure getPolyStrDef_RK3
    1412             :         use pm_kind, only: SKC => SK, TKC => RK3
    1413             : #include "pm_polynomial@routines.inc.F90"
    1414           0 :     end procedure
    1415             : #endif
    1416             : 
    1417             : #if RK2_ENABLED
    1418           0 :     module procedure getPolyStrDef_RK2
    1419             :         use pm_kind, only: SKC => SK, TKC => RK2
    1420             : #include "pm_polynomial@routines.inc.F90"
    1421           0 :     end procedure
    1422             : #endif
    1423             : 
    1424             : #if RK1_ENABLED
    1425         207 :     module procedure getPolyStrDef_RK1
    1426             :         use pm_kind, only: SKC => SK, TKC => RK1
    1427             : #include "pm_polynomial@routines.inc.F90"
    1428         207 :     end procedure
    1429             : #endif
    1430             : 
    1431             : #undef RK_ENABLED
    1432             : 
    1433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1434             : 
    1435             : #undef Def_ENABLED
    1436             : 
    1437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1438             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1439             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1440             : 
    1441             : #undef getPolyStr_ENABLED
    1442             : 
    1443             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1444             : 
    1445             : #define getPolyRoot_ENABLED 1
    1446             : 
    1447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1450             : 
    1451             : #define Def_ENABLED 1
    1452             : 
    1453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1454             : 
    1455             : #define CK_CK_ENABLED 1
    1456             : 
    1457             : #if CK5_ENABLED
    1458             :     module procedure getPolyRootDef_CK5_CK5
    1459             :         use pm_kind, only: TKC => CK5
    1460             : #include "pm_polynomial@routines.inc.F90"
    1461             :     end procedure
    1462             : #endif
    1463             : 
    1464             : #if CK4_ENABLED
    1465           1 :     module procedure getPolyRootDef_CK4_CK4
    1466             :         use pm_kind, only: TKC => CK4
    1467             : #include "pm_polynomial@routines.inc.F90"
    1468           1 :     end procedure
    1469             : #endif
    1470             : 
    1471             : #if CK3_ENABLED
    1472           0 :     module procedure getPolyRootDef_CK3_CK3
    1473             :         use pm_kind, only: TKC => CK3
    1474             : #include "pm_polynomial@routines.inc.F90"
    1475           0 :     end procedure
    1476             : #endif
    1477             : 
    1478             : #if CK2_ENABLED
    1479           0 :     module procedure getPolyRootDef_CK2_CK2
    1480             :         use pm_kind, only: TKC => CK2
    1481             : #include "pm_polynomial@routines.inc.F90"
    1482           0 :     end procedure
    1483             : #endif
    1484             : 
    1485             : #if CK1_ENABLED
    1486           1 :     module procedure getPolyRootDef_CK1_CK1
    1487             :         use pm_kind, only: TKC => CK1
    1488             : #include "pm_polynomial@routines.inc.F90"
    1489           1 :     end procedure
    1490             : #endif
    1491             : 
    1492             : #undef CK_CK_ENABLED
    1493             : 
    1494             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1495             : 
    1496             : #define RK_CK_ENABLED 1
    1497             : 
    1498             : #if RK5_ENABLED
    1499             :     module procedure getPolyRootDef_RK5_CK5
    1500             :         use pm_kind, only: TKC => RK5
    1501             : #include "pm_polynomial@routines.inc.F90"
    1502             :     end procedure
    1503             : #endif
    1504             : 
    1505             : #if RK4_ENABLED
    1506           1 :     module procedure getPolyRootDef_RK4_CK4
    1507             :         use pm_kind, only: TKC => RK4
    1508             : #include "pm_polynomial@routines.inc.F90"
    1509           1 :     end procedure
    1510             : #endif
    1511             : 
    1512             : #if RK3_ENABLED
    1513           0 :     module procedure getPolyRootDef_RK3_CK3
    1514             :         use pm_kind, only: TKC => RK3
    1515             : #include "pm_polynomial@routines.inc.F90"
    1516           0 :     end procedure
    1517             : #endif
    1518             : 
    1519             : #if RK2_ENABLED
    1520           0 :     module procedure getPolyRootDef_RK2_CK2
    1521             :         use pm_kind, only: TKC => RK2
    1522             : #include "pm_polynomial@routines.inc.F90"
    1523           0 :     end procedure
    1524             : #endif
    1525             : 
    1526             : #if RK1_ENABLED
    1527           3 :     module procedure getPolyRootDef_RK1_CK1
    1528             :         use pm_kind, only: TKC => RK1
    1529             : #include "pm_polynomial@routines.inc.F90"
    1530           3 :     end procedure
    1531             : #endif
    1532             : 
    1533             : #undef RK_CK_ENABLED
    1534             : 
    1535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1536             : 
    1537             : #undef Def_ENABLED
    1538             : 
    1539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1540             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1542             : 
    1543             : #define Eig_ENABLED 1
    1544             : 
    1545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1546             : 
    1547             : #define CK_CK_ENABLED 1
    1548             : 
    1549             : #if CK5_ENABLED
    1550             :     module procedure getPolyRootEig_CK5_CK5
    1551             :         use pm_kind, only: TKC => CK5
    1552             : #include "pm_polynomial@routines.inc.F90"
    1553             :     end procedure
    1554             : #endif
    1555             : 
    1556             : #if CK4_ENABLED
    1557           0 :     module procedure getPolyRootEig_CK4_CK4
    1558             :         use pm_kind, only: TKC => CK4
    1559             : #include "pm_polynomial@routines.inc.F90"
    1560           0 :     end procedure
    1561             : #endif
    1562             : 
    1563             : #if CK3_ENABLED
    1564           0 :     module procedure getPolyRootEig_CK3_CK3
    1565             :         use pm_kind, only: TKC => CK3
    1566             : #include "pm_polynomial@routines.inc.F90"
    1567           0 :     end procedure
    1568             : #endif
    1569             : 
    1570             : #if CK2_ENABLED
    1571           0 :     module procedure getPolyRootEig_CK2_CK2
    1572             :         use pm_kind, only: TKC => CK2
    1573             : #include "pm_polynomial@routines.inc.F90"
    1574           0 :     end procedure
    1575             : #endif
    1576             : 
    1577             : #if CK1_ENABLED
    1578           1 :     module procedure getPolyRootEig_CK1_CK1
    1579             :         use pm_kind, only: TKC => CK1
    1580             : #include "pm_polynomial@routines.inc.F90"
    1581           1 :     end procedure
    1582             : #endif
    1583             : 
    1584             : #undef CK_CK_ENABLED
    1585             : 
    1586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1587             : 
    1588             : #define RK_CK_ENABLED 1
    1589             : 
    1590             : #if RK5_ENABLED
    1591             :     module procedure getPolyRootEig_RK5_CK5
    1592             :         use pm_kind, only: TKC => RK5
    1593             : #include "pm_polynomial@routines.inc.F90"
    1594             :     end procedure
    1595             : #endif
    1596             : 
    1597             : #if RK4_ENABLED
    1598           0 :     module procedure getPolyRootEig_RK4_CK4
    1599             :         use pm_kind, only: TKC => RK4
    1600             : #include "pm_polynomial@routines.inc.F90"
    1601           0 :     end procedure
    1602             : #endif
    1603             : 
    1604             : #if RK3_ENABLED
    1605           0 :     module procedure getPolyRootEig_RK3_CK3
    1606             :         use pm_kind, only: TKC => RK3
    1607             : #include "pm_polynomial@routines.inc.F90"
    1608           0 :     end procedure
    1609             : #endif
    1610             : 
    1611             : #if RK2_ENABLED
    1612           0 :     module procedure getPolyRootEig_RK2_CK2
    1613             :         use pm_kind, only: TKC => RK2
    1614             : #include "pm_polynomial@routines.inc.F90"
    1615           0 :     end procedure
    1616             : #endif
    1617             : 
    1618             : #if RK1_ENABLED
    1619           3 :     module procedure getPolyRootEig_RK1_CK1
    1620             :         use pm_kind, only: TKC => RK1
    1621             : #include "pm_polynomial@routines.inc.F90"
    1622           3 :     end procedure
    1623             : #endif
    1624             : 
    1625             : #undef RK_CK_ENABLED
    1626             : 
    1627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1628             : 
    1629             : #undef Eig_ENABLED
    1630             : 
    1631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1634             : 
    1635             : #define Jen_ENABLED 1
    1636             : 
    1637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1638             : 
    1639             : #define CK_CK_ENABLED 1
    1640             : 
    1641             : #if CK5_ENABLED
    1642             :     module procedure getPolyRootJen_CK5_CK5
    1643             :         use pm_kind, only: TKC => CK5
    1644             : #include "pm_polynomial@routines.inc.F90"
    1645             :     end procedure
    1646             : #endif
    1647             : 
    1648             : #if CK4_ENABLED
    1649           0 :     module procedure getPolyRootJen_CK4_CK4
    1650             :         use pm_kind, only: TKC => CK4
    1651             : #include "pm_polynomial@routines.inc.F90"
    1652           0 :     end procedure
    1653             : #endif
    1654             : 
    1655             : #if CK3_ENABLED
    1656           0 :     module procedure getPolyRootJen_CK3_CK3
    1657             :         use pm_kind, only: TKC => CK3
    1658             : #include "pm_polynomial@routines.inc.F90"
    1659           0 :     end procedure
    1660             : #endif
    1661             : 
    1662             : #if CK2_ENABLED
    1663           0 :     module procedure getPolyRootJen_CK2_CK2
    1664             :         use pm_kind, only: TKC => CK2
    1665             : #include "pm_polynomial@routines.inc.F90"
    1666           0 :     end procedure
    1667             : #endif
    1668             : 
    1669             : #if CK1_ENABLED
    1670           1 :     module procedure getPolyRootJen_CK1_CK1
    1671             :         use pm_kind, only: TKC => CK1
    1672             : #include "pm_polynomial@routines.inc.F90"
    1673           1 :     end procedure
    1674             : #endif
    1675             : 
    1676             : #undef CK_CK_ENABLED
    1677             : 
    1678             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1679             : 
    1680             : #define RK_CK_ENABLED 1
    1681             : 
    1682             : #if RK5_ENABLED
    1683             :     module procedure getPolyRootJen_RK5_CK5
    1684             :         use pm_kind, only: TKC => RK5
    1685             : #include "pm_polynomial@routines.inc.F90"
    1686             :     end procedure
    1687             : #endif
    1688             : 
    1689             : #if RK4_ENABLED
    1690           0 :     module procedure getPolyRootJen_RK4_CK4
    1691             :         use pm_kind, only: TKC => RK4
    1692             : #include "pm_polynomial@routines.inc.F90"
    1693           0 :     end procedure
    1694             : #endif
    1695             : 
    1696             : #if RK3_ENABLED
    1697           0 :     module procedure getPolyRootJen_RK3_CK3
    1698             :         use pm_kind, only: TKC => RK3
    1699             : #include "pm_polynomial@routines.inc.F90"
    1700           0 :     end procedure
    1701             : #endif
    1702             : 
    1703             : #if RK2_ENABLED
    1704           0 :     module procedure getPolyRootJen_RK2_CK2
    1705             :         use pm_kind, only: TKC => RK2
    1706             : #include "pm_polynomial@routines.inc.F90"
    1707           0 :     end procedure
    1708             : #endif
    1709             : 
    1710             : #if RK1_ENABLED
    1711           3 :     module procedure getPolyRootJen_RK1_CK1
    1712             :         use pm_kind, only: TKC => RK1
    1713             : #include "pm_polynomial@routines.inc.F90"
    1714           3 :     end procedure
    1715             : #endif
    1716             : 
    1717             : #undef RK_CK_ENABLED
    1718             : 
    1719             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1720             : 
    1721             : #undef Jen_ENABLED
    1722             : 
    1723             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1725             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1726             : 
    1727             : #define Lag_ENABLED 1
    1728             : 
    1729             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1730             : 
    1731             : #define CK_CK_ENABLED 1
    1732             : 
    1733             : #if CK5_ENABLED
    1734             :     module procedure getPolyRootLag_CK5_CK5
    1735             :         use pm_kind, only: TKC => CK5
    1736             : #include "pm_polynomial@routines.inc.F90"
    1737             :     end procedure
    1738             : #endif
    1739             : 
    1740             : #if CK4_ENABLED
    1741           0 :     module procedure getPolyRootLag_CK4_CK4
    1742             :         use pm_kind, only: TKC => CK4
    1743             : #include "pm_polynomial@routines.inc.F90"
    1744           0 :     end procedure
    1745             : #endif
    1746             : 
    1747             : #if CK3_ENABLED
    1748           0 :     module procedure getPolyRootLag_CK3_CK3
    1749             :         use pm_kind, only: TKC => CK3
    1750             : #include "pm_polynomial@routines.inc.F90"
    1751           0 :     end procedure
    1752             : #endif
    1753             : 
    1754             : #if CK2_ENABLED
    1755           0 :     module procedure getPolyRootLag_CK2_CK2
    1756             :         use pm_kind, only: TKC => CK2
    1757             : #include "pm_polynomial@routines.inc.F90"
    1758           0 :     end procedure
    1759             : #endif
    1760             : 
    1761             : #if CK1_ENABLED
    1762           1 :     module procedure getPolyRootLag_CK1_CK1
    1763             :         use pm_kind, only: TKC => CK1
    1764             : #include "pm_polynomial@routines.inc.F90"
    1765           1 :     end procedure
    1766             : #endif
    1767             : 
    1768             : #undef CK_CK_ENABLED
    1769             : 
    1770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1771             : 
    1772             : #define RK_CK_ENABLED 1
    1773             : 
    1774             : #if RK5_ENABLED
    1775             :     module procedure getPolyRootLag_RK5_CK5
    1776             :         use pm_kind, only: TKC => RK5
    1777             : #include "pm_polynomial@routines.inc.F90"
    1778             :     end procedure
    1779             : #endif
    1780             : 
    1781             : #if RK4_ENABLED
    1782           0 :     module procedure getPolyRootLag_RK4_CK4
    1783             :         use pm_kind, only: TKC => RK4
    1784             : #include "pm_polynomial@routines.inc.F90"
    1785           0 :     end procedure
    1786             : #endif
    1787             : 
    1788             : #if RK3_ENABLED
    1789           0 :     module procedure getPolyRootLag_RK3_CK3
    1790             :         use pm_kind, only: TKC => RK3
    1791             : #include "pm_polynomial@routines.inc.F90"
    1792           0 :     end procedure
    1793             : #endif
    1794             : 
    1795             : #if RK2_ENABLED
    1796           0 :     module procedure getPolyRootLag_RK2_CK2
    1797             :         use pm_kind, only: TKC => RK2
    1798             : #include "pm_polynomial@routines.inc.F90"
    1799           0 :     end procedure
    1800             : #endif
    1801             : 
    1802             : #if RK1_ENABLED
    1803           3 :     module procedure getPolyRootLag_RK1_CK1
    1804             :         use pm_kind, only: TKC => RK1
    1805             : #include "pm_polynomial@routines.inc.F90"
    1806           3 :     end procedure
    1807             : #endif
    1808             : 
    1809             : #undef RK_CK_ENABLED
    1810             : 
    1811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1812             : 
    1813             : #undef Lag_ENABLED
    1814             : 
    1815             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1818             : 
    1819             : #undef getPolyRoot_ENABLED
    1820             : 
    1821             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1822             : 
    1823             : #define setPolyRoot_ENABLED 1
    1824             : 
    1825             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1828             : 
    1829             : #define Eig_ENABLED 1
    1830             : 
    1831             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1832             : 
    1833             : #define CK_CK_ENABLED 1
    1834             : 
    1835             : #if CK5_ENABLED
    1836             :     module procedure setPolyRootEig_CK5_CK5
    1837             :         use pm_kind, only: TKC => CK5
    1838             : #include "pm_polynomial@routines.inc.F90"
    1839             :     end procedure
    1840             : #endif
    1841             : 
    1842             : #if CK4_ENABLED
    1843           6 :     module procedure setPolyRootEig_CK4_CK4
    1844             :         use pm_kind, only: TKC => CK4
    1845             : #include "pm_polynomial@routines.inc.F90"
    1846             :     end procedure
    1847             : #endif
    1848             : 
    1849             : #if CK3_ENABLED
    1850           0 :     module procedure setPolyRootEig_CK3_CK3
    1851             :         use pm_kind, only: TKC => CK3
    1852             : #include "pm_polynomial@routines.inc.F90"
    1853             :     end procedure
    1854             : #endif
    1855             : 
    1856             : #if CK2_ENABLED
    1857           5 :     module procedure setPolyRootEig_CK2_CK2
    1858             :         use pm_kind, only: TKC => CK2
    1859             : #include "pm_polynomial@routines.inc.F90"
    1860             :     end procedure
    1861             : #endif
    1862             : 
    1863             : #if CK1_ENABLED
    1864           5 :     module procedure setPolyRootEig_CK1_CK1
    1865             :         use pm_kind, only: TKC => CK1
    1866             : #include "pm_polynomial@routines.inc.F90"
    1867             :     end procedure
    1868             : #endif
    1869             : 
    1870             : #undef CK_CK_ENABLED
    1871             : 
    1872             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1873             : 
    1874             : #define RK_CK_ENABLED 1
    1875             : 
    1876             : #if RK5_ENABLED
    1877             :     module procedure setPolyRootEig_RK5_CK5
    1878             :         use pm_kind, only: TKC => RK5
    1879             : #include "pm_polynomial@routines.inc.F90"
    1880             :     end procedure
    1881             : #endif
    1882             : 
    1883             : #if RK4_ENABLED
    1884           3 :     module procedure setPolyRootEig_RK4_CK4
    1885             :         use pm_kind, only: TKC => RK4
    1886             : #include "pm_polynomial@routines.inc.F90"
    1887             :     end procedure
    1888             : #endif
    1889             : 
    1890             : #if RK3_ENABLED
    1891           0 :     module procedure setPolyRootEig_RK3_CK3
    1892             :         use pm_kind, only: TKC => RK3
    1893             : #include "pm_polynomial@routines.inc.F90"
    1894             :     end procedure
    1895             : #endif
    1896             : 
    1897             : #if RK2_ENABLED
    1898           2 :     module procedure setPolyRootEig_RK2_CK2
    1899             :         use pm_kind, only: TKC => RK2
    1900             : #include "pm_polynomial@routines.inc.F90"
    1901             :     end procedure
    1902             : #endif
    1903             : 
    1904             : #if RK1_ENABLED
    1905           8 :     module procedure setPolyRootEig_RK1_CK1
    1906             :         use pm_kind, only: TKC => RK1
    1907             : #include "pm_polynomial@routines.inc.F90"
    1908             :     end procedure
    1909             : #endif
    1910             : 
    1911             : #undef RK_CK_ENABLED
    1912             : 
    1913             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1914             : 
    1915             : #undef Eig_ENABLED
    1916             : 
    1917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1920             : 
    1921             : #define Jen_ENABLED 1
    1922             : 
    1923             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1924             : 
    1925             : #define CK_CK_ENABLED 1
    1926             : 
    1927             : #if CK5_ENABLED
    1928             :     module procedure setPolyRootJen_CK5_CK5
    1929             :         use pm_kind, only: TKC => CK5
    1930             : #include "pm_polynomial@routines.inc.F90"
    1931             :     end procedure
    1932             : #endif
    1933             : 
    1934             : #if CK4_ENABLED
    1935           5 :     module procedure setPolyRootJen_CK4_CK4
    1936             :         use pm_kind, only: TKC => CK4
    1937             : #include "pm_polynomial@routines.inc.F90"
    1938             :     end procedure
    1939             : #endif
    1940             : 
    1941             : #if CK3_ENABLED
    1942           0 :     module procedure setPolyRootJen_CK3_CK3
    1943             :         use pm_kind, only: TKC => CK3
    1944             : #include "pm_polynomial@routines.inc.F90"
    1945             :     end procedure
    1946             : #endif
    1947             : 
    1948             : #if CK2_ENABLED
    1949           5 :     module procedure setPolyRootJen_CK2_CK2
    1950             :         use pm_kind, only: TKC => CK2
    1951             : #include "pm_polynomial@routines.inc.F90"
    1952             :     end procedure
    1953             : #endif
    1954             : 
    1955             : #if CK1_ENABLED
    1956           4 :     module procedure setPolyRootJen_CK1_CK1
    1957             :         use pm_kind, only: TKC => CK1
    1958             : #include "pm_polynomial@routines.inc.F90"
    1959             :     end procedure
    1960             : #endif
    1961             : 
    1962             : #undef CK_CK_ENABLED
    1963             : 
    1964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1965             : 
    1966             : #define RK_CK_ENABLED 1
    1967             : 
    1968             : #if RK5_ENABLED
    1969             :     module procedure setPolyRootJen_RK5_CK5
    1970             :         use pm_kind, only: TKC => RK5
    1971             : #include "pm_polynomial@routines.inc.F90"
    1972             :     end procedure
    1973             : #endif
    1974             : 
    1975             : #if RK4_ENABLED
    1976           2 :     module procedure setPolyRootJen_RK4_CK4
    1977             :         use pm_kind, only: TKC => RK4
    1978             : #include "pm_polynomial@routines.inc.F90"
    1979             :     end procedure
    1980             : #endif
    1981             : 
    1982             : #if RK3_ENABLED
    1983           0 :     module procedure setPolyRootJen_RK3_CK3
    1984             :         use pm_kind, only: TKC => RK3
    1985             : #include "pm_polynomial@routines.inc.F90"
    1986             :     end procedure
    1987             : #endif
    1988             : 
    1989             : #if RK2_ENABLED
    1990           2 :     module procedure setPolyRootJen_RK2_CK2
    1991             :         use pm_kind, only: TKC => RK2
    1992             : #include "pm_polynomial@routines.inc.F90"
    1993             :     end procedure
    1994             : #endif
    1995             : 
    1996             : #if RK1_ENABLED
    1997           5 :     module procedure setPolyRootJen_RK1_CK1
    1998             :         use pm_kind, only: TKC => RK1
    1999             : #include "pm_polynomial@routines.inc.F90"
    2000             :     end procedure
    2001             : #endif
    2002             : 
    2003             : #undef RK_CK_ENABLED
    2004             : 
    2005             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2006             : 
    2007             : #undef Jen_ENABLED
    2008             : 
    2009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2010             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2012             : 
    2013             : #define Lag_ENABLED 1
    2014             : 
    2015             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2016             : 
    2017             : #define CK_CK_ENABLED 1
    2018             : 
    2019             : #if CK5_ENABLED
    2020             :     module procedure setPolyRootLag_CK5_CK5
    2021             :         use pm_kind, only: TKC => CK5
    2022             : #include "pm_polynomial@routines.inc.F90"
    2023             :     end procedure
    2024             : #endif
    2025             : 
    2026             : #if CK4_ENABLED
    2027           5 :     module procedure setPolyRootLag_CK4_CK4
    2028             :         use pm_kind, only: TKC => CK4
    2029             : #include "pm_polynomial@routines.inc.F90"
    2030             :     end procedure
    2031             : #endif
    2032             : 
    2033             : #if CK3_ENABLED
    2034           0 :     module procedure setPolyRootLag_CK3_CK3
    2035             :         use pm_kind, only: TKC => CK3
    2036             : #include "pm_polynomial@routines.inc.F90"
    2037             :     end procedure
    2038             : #endif
    2039             : 
    2040             : #if CK2_ENABLED
    2041           5 :     module procedure setPolyRootLag_CK2_CK2
    2042             :         use pm_kind, only: TKC => CK2
    2043             : #include "pm_polynomial@routines.inc.F90"
    2044             :     end procedure
    2045             : #endif
    2046             : 
    2047             : #if CK1_ENABLED
    2048           4 :     module procedure setPolyRootLag_CK1_CK1
    2049             :         use pm_kind, only: TKC => CK1
    2050             : #include "pm_polynomial@routines.inc.F90"
    2051             :     end procedure
    2052             : #endif
    2053             : 
    2054             : #undef CK_CK_ENABLED
    2055             : 
    2056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2057             : 
    2058             : #define RK_CK_ENABLED 1
    2059             : 
    2060             : #if RK5_ENABLED
    2061             :     module procedure setPolyRootLag_RK5_CK5
    2062             :         use pm_kind, only: TKC => RK5
    2063             : #include "pm_polynomial@routines.inc.F90"
    2064             :     end procedure
    2065             : #endif
    2066             : 
    2067             : #if RK4_ENABLED
    2068           2 :     module procedure setPolyRootLag_RK4_CK4
    2069             :         use pm_kind, only: TKC => RK4
    2070             : #include "pm_polynomial@routines.inc.F90"
    2071             :     end procedure
    2072             : #endif
    2073             : 
    2074             : #if RK3_ENABLED
    2075           0 :     module procedure setPolyRootLag_RK3_CK3
    2076             :         use pm_kind, only: TKC => RK3
    2077             : #include "pm_polynomial@routines.inc.F90"
    2078             :     end procedure
    2079             : #endif
    2080             : 
    2081             : #if RK2_ENABLED
    2082           2 :     module procedure setPolyRootLag_RK2_CK2
    2083             :         use pm_kind, only: TKC => RK2
    2084             : #include "pm_polynomial@routines.inc.F90"
    2085             :     end procedure
    2086             : #endif
    2087             : 
    2088             : #if RK1_ENABLED
    2089           5 :     module procedure setPolyRootLag_RK1_CK1
    2090             :         use pm_kind, only: TKC => RK1
    2091             : #include "pm_polynomial@routines.inc.F90"
    2092             :     end procedure
    2093             : #endif
    2094             : 
    2095             : #undef RK_CK_ENABLED
    2096             : 
    2097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2098             : 
    2099             : #undef Lag_ENABLED
    2100             : 
    2101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2104             : 
    2105             : #undef setPolyRoot_ENABLED
    2106             : 
    2107             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2108             : 
    2109             : #define setPolyRootPolished_ENABLED 1
    2110             : 
    2111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2114             : 
    2115             : #define Lag_ENABLED 1
    2116             : 
    2117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2118             : 
    2119             : #define CK_CK_ENABLED 1
    2120             : 
    2121             : #if CK5_ENABLED
    2122             :     module procedure setPolyRootPolishedLag_CK5_CK5
    2123             :         use pm_kind, only: TKC => CK5
    2124             : #include "pm_polynomial@routines.inc.F90"
    2125             :     end procedure
    2126             : #endif
    2127             : 
    2128             : #if CK4_ENABLED
    2129         108 :     module procedure setPolyRootPolishedLag_CK4_CK4
    2130             :         use pm_kind, only: TKC => CK4
    2131             : #include "pm_polynomial@routines.inc.F90"
    2132             :     end procedure
    2133             : #endif
    2134             : 
    2135             : #if CK3_ENABLED
    2136           0 :     module procedure setPolyRootPolishedLag_CK3_CK3
    2137             :         use pm_kind, only: TKC => CK3
    2138             : #include "pm_polynomial@routines.inc.F90"
    2139             :     end procedure
    2140             : #endif
    2141             : 
    2142             : #if CK2_ENABLED
    2143         105 :     module procedure setPolyRootPolishedLag_CK2_CK2
    2144             :         use pm_kind, only: TKC => CK2
    2145             : #include "pm_polynomial@routines.inc.F90"
    2146             :     end procedure
    2147             : #endif
    2148             : 
    2149             : #if CK1_ENABLED
    2150         102 :     module procedure setPolyRootPolishedLag_CK1_CK1
    2151             :         use pm_kind, only: TKC => CK1
    2152             : #include "pm_polynomial@routines.inc.F90"
    2153             :     end procedure
    2154             : #endif
    2155             : 
    2156             : #undef CK_CK_ENABLED
    2157             : 
    2158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2159             : 
    2160             : #define RK_CK_ENABLED 1
    2161             : 
    2162             : #if RK5_ENABLED
    2163             :     module procedure setPolyRootPolishedLag_RK5_CK5
    2164             :         use pm_kind, only: TKC => RK5
    2165             : #include "pm_polynomial@routines.inc.F90"
    2166             :     end procedure
    2167             : #endif
    2168             : 
    2169             : #if RK4_ENABLED
    2170          18 :     module procedure setPolyRootPolishedLag_RK4_CK4
    2171             :         use pm_kind, only: TKC => RK4
    2172             : #include "pm_polynomial@routines.inc.F90"
    2173             :     end procedure
    2174             : #endif
    2175             : 
    2176             : #if RK3_ENABLED
    2177           0 :     module procedure setPolyRootPolishedLag_RK3_CK3
    2178             :         use pm_kind, only: TKC => RK3
    2179             : #include "pm_polynomial@routines.inc.F90"
    2180             :     end procedure
    2181             : #endif
    2182             : 
    2183             : #if RK2_ENABLED
    2184          15 :     module procedure setPolyRootPolishedLag_RK2_CK2
    2185             :         use pm_kind, only: TKC => RK2
    2186             : #include "pm_polynomial@routines.inc.F90"
    2187             :     end procedure
    2188             : #endif
    2189             : 
    2190             : #if RK1_ENABLED
    2191          28 :     module procedure setPolyRootPolishedLag_RK1_CK1
    2192             :         use pm_kind, only: TKC => RK1
    2193             : #include "pm_polynomial@routines.inc.F90"
    2194             :     end procedure
    2195             : #endif
    2196             : 
    2197             : #undef RK_CK_ENABLED
    2198             : 
    2199             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2200             : 
    2201             : #define RK_RK_ENABLED 1
    2202             : 
    2203             : #if RK5_ENABLED
    2204             :     module procedure setPolyRootPolishedLag_RK5_RK5
    2205             :         use pm_kind, only: TKC => RK5
    2206             : #include "pm_polynomial@routines.inc.F90"
    2207             :     end procedure
    2208             : #endif
    2209             : 
    2210             : #if RK4_ENABLED
    2211           0 :     module procedure setPolyRootPolishedLag_RK4_RK4
    2212             :         use pm_kind, only: TKC => RK4
    2213             : #include "pm_polynomial@routines.inc.F90"
    2214           0 :     end procedure
    2215             : #endif
    2216             : 
    2217             : #if RK3_ENABLED
    2218           0 :     module procedure setPolyRootPolishedLag_RK3_RK3
    2219             :         use pm_kind, only: TKC => RK3
    2220             : #include "pm_polynomial@routines.inc.F90"
    2221           0 :     end procedure
    2222             : #endif
    2223             : 
    2224             : #if RK2_ENABLED
    2225           0 :     module procedure setPolyRootPolishedLag_RK2_RK2
    2226             :         use pm_kind, only: TKC => RK2
    2227             : #include "pm_polynomial@routines.inc.F90"
    2228           0 :     end procedure
    2229             : #endif
    2230             : 
    2231             : #if RK1_ENABLED
    2232           0 :     module procedure setPolyRootPolishedLag_RK1_RK1
    2233             :         use pm_kind, only: TKC => RK1
    2234             : #include "pm_polynomial@routines.inc.F90"
    2235           0 :     end procedure
    2236             : #endif
    2237             : 
    2238             : #undef RK_RK_ENABLED
    2239             : 
    2240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2241             : 
    2242             : #undef Lag_ENABLED
    2243             : 
    2244             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2245             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2247             : 
    2248             : #undef setPolyRootPolished_ENABLED
    2249             : 
    2250             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2251             : 
    2252             : #undef CHECK_ASSERTION
    2253             : 
    2254             : end submodule routines

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