https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_mathRoot@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 76 76 100.0 %
Date: 2024-04-08 03:18:57 Functions: 76 76 100.0 %
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 the implementations of the tests of module [test_pm_mathRoot](@ref test_pm_mathRoot).
      19             : !>
      20             : !>  \fintest
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Sunday 4:33 PM, September 19, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (test_pm_mathRoot) routines
      28             : 
      29             :     use pm_arrayMembership, only: operator(.allinrange.)
      30             :     use pm_arrayRemove, only: getRemoved
      31             :     use pm_arrayChoice, only: getChoice
      32             :     use pm_distUnif, only: getUnifRand
      33             :     use pm_io, only: display_type
      34             :     use pm_arrayRange, only: getRange
      35             :     use pm_option, only: getOption
      36             :     use pm_val2str, only: getStr
      37             : 
      38             :     implicit none
      39             : 
      40             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      41             : 
      42             : contains
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : #define getRoot_ENABLED 1
      47             : 
      48             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             : 
      52             : #define Def_ENABLED 1
      53             : 
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             : 
      56             : #define RK_ENABLED 1
      57             : 
      58             : #if RK5_ENABLED
      59             :     module procedure test_getRootDef_RK5
      60             :         use pm_kind, only: TKC => RK5
      61             : #include "test_pm_mathRoot@routines.inc.F90"
      62             :     end procedure
      63             : #endif
      64             : 
      65             : #if RK4_ENABLED
      66           1 :     module procedure test_getRootDef_RK4
      67             :         use pm_kind, only: TKC => RK4
      68             : #include "test_pm_mathRoot@routines.inc.F90"
      69             :     end procedure
      70             : #endif
      71             : 
      72             : #if RK3_ENABLED
      73           1 :     module procedure test_getRootDef_RK3
      74             :         use pm_kind, only: TKC => RK3
      75             : #include "test_pm_mathRoot@routines.inc.F90"
      76             :     end procedure
      77             : #endif
      78             : 
      79             : #if RK2_ENABLED
      80           1 :     module procedure test_getRootDef_RK2
      81             :         use pm_kind, only: TKC => RK2
      82             : #include "test_pm_mathRoot@routines.inc.F90"
      83             :     end procedure
      84             : #endif
      85             : 
      86             : #if RK1_ENABLED
      87           1 :     module procedure test_getRootDef_RK1
      88             :         use pm_kind, only: TKC => RK1
      89             : #include "test_pm_mathRoot@routines.inc.F90"
      90             :     end procedure
      91             : #endif
      92             : 
      93             : #undef RK_ENABLED
      94             : 
      95             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      96             : 
      97             : #undef Def_ENABLED
      98             : 
      99             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             : 
     103             : #undef getRoot_ENABLED
     104             : 
     105             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     106             : 
     107             : #define getRoot_ENABLED 1
     108             : 
     109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             : 
     113             : #define False_ENABLED 1
     114             : 
     115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     116             : 
     117             : #define RK_ENABLED 1
     118             : 
     119             : #if RK5_ENABLED
     120             :     module procedure test_getRootFalse_RK5
     121             :         use pm_kind, only: TKC => RK5
     122             : #include "test_pm_mathRoot@routines.inc.F90"
     123             :     end procedure
     124             : #endif
     125             : 
     126             : #if RK4_ENABLED
     127           1 :     module procedure test_getRootFalse_RK4
     128             :         use pm_kind, only: TKC => RK4
     129             : #include "test_pm_mathRoot@routines.inc.F90"
     130             :     end procedure
     131             : #endif
     132             : 
     133             : #if RK3_ENABLED
     134           1 :     module procedure test_getRootFalse_RK3
     135             :         use pm_kind, only: TKC => RK3
     136             : #include "test_pm_mathRoot@routines.inc.F90"
     137             :     end procedure
     138             : #endif
     139             : 
     140             : #if RK2_ENABLED
     141           1 :     module procedure test_getRootFalse_RK2
     142             :         use pm_kind, only: TKC => RK2
     143             : #include "test_pm_mathRoot@routines.inc.F90"
     144             :     end procedure
     145             : #endif
     146             : 
     147             : #if RK1_ENABLED
     148           1 :     module procedure test_getRootFalse_RK1
     149             :         use pm_kind, only: TKC => RK1
     150             : #include "test_pm_mathRoot@routines.inc.F90"
     151             :     end procedure
     152             : #endif
     153             : 
     154             : #undef RK_ENABLED
     155             : 
     156             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     157             : 
     158             : #undef False_ENABLED
     159             : 
     160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     163             : 
     164             : #define Bisection_ENABLED 1
     165             : 
     166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     167             : 
     168             : #define RK_ENABLED 1
     169             : 
     170             : #if RK5_ENABLED
     171             :     module procedure test_getRootBisection_RK5
     172             :         use pm_kind, only: TKC => RK5
     173             : #include "test_pm_mathRoot@routines.inc.F90"
     174             :     end procedure
     175             : #endif
     176             : 
     177             : #if RK4_ENABLED
     178           1 :     module procedure test_getRootBisection_RK4
     179             :         use pm_kind, only: TKC => RK4
     180             : #include "test_pm_mathRoot@routines.inc.F90"
     181             :     end procedure
     182             : #endif
     183             : 
     184             : #if RK3_ENABLED
     185           1 :     module procedure test_getRootBisection_RK3
     186             :         use pm_kind, only: TKC => RK3
     187             : #include "test_pm_mathRoot@routines.inc.F90"
     188             :     end procedure
     189             : #endif
     190             : 
     191             : #if RK2_ENABLED
     192           1 :     module procedure test_getRootBisection_RK2
     193             :         use pm_kind, only: TKC => RK2
     194             : #include "test_pm_mathRoot@routines.inc.F90"
     195             :     end procedure
     196             : #endif
     197             : 
     198             : #if RK1_ENABLED
     199           1 :     module procedure test_getRootBisection_RK1
     200             :         use pm_kind, only: TKC => RK1
     201             : #include "test_pm_mathRoot@routines.inc.F90"
     202             :     end procedure
     203             : #endif
     204             : 
     205             : #undef RK_ENABLED
     206             : 
     207             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     208             : 
     209             : #undef Bisection_ENABLED
     210             : 
     211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     212             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     213             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     214             : 
     215             : #define Secant_ENABLED 1
     216             : 
     217             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     218             : 
     219             : #define RK_ENABLED 1
     220             : 
     221             : #if RK5_ENABLED
     222             :     module procedure test_getRootSecant_RK5
     223             :         use pm_kind, only: TKC => RK5
     224             : #include "test_pm_mathRoot@routines.inc.F90"
     225             :     end procedure
     226             : #endif
     227             : 
     228             : #if RK4_ENABLED
     229           1 :     module procedure test_getRootSecant_RK4
     230             :         use pm_kind, only: TKC => RK4
     231             : #include "test_pm_mathRoot@routines.inc.F90"
     232             :     end procedure
     233             : #endif
     234             : 
     235             : #if RK3_ENABLED
     236           1 :     module procedure test_getRootSecant_RK3
     237             :         use pm_kind, only: TKC => RK3
     238             : #include "test_pm_mathRoot@routines.inc.F90"
     239             :     end procedure
     240             : #endif
     241             : 
     242             : #if RK2_ENABLED
     243           1 :     module procedure test_getRootSecant_RK2
     244             :         use pm_kind, only: TKC => RK2
     245             : #include "test_pm_mathRoot@routines.inc.F90"
     246             :     end procedure
     247             : #endif
     248             : 
     249             : #if RK1_ENABLED
     250           1 :     module procedure test_getRootSecant_RK1
     251             :         use pm_kind, only: TKC => RK1
     252             : #include "test_pm_mathRoot@routines.inc.F90"
     253             :     end procedure
     254             : #endif
     255             : 
     256             : #undef RK_ENABLED
     257             : 
     258             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     259             : 
     260             : #undef Secant_ENABLED
     261             : 
     262             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     264             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     265             : 
     266             : #define Brent_ENABLED 1
     267             : 
     268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     269             : 
     270             : #define RK_ENABLED 1
     271             : 
     272             : #if RK5_ENABLED
     273             :     module procedure test_getRootBrent_RK5
     274             :         use pm_kind, only: TKC => RK5
     275             : #include "test_pm_mathRoot@routines.inc.F90"
     276             :     end procedure
     277             : #endif
     278             : 
     279             : #if RK4_ENABLED
     280           1 :     module procedure test_getRootBrent_RK4
     281             :         use pm_kind, only: TKC => RK4
     282             : #include "test_pm_mathRoot@routines.inc.F90"
     283             :     end procedure
     284             : #endif
     285             : 
     286             : #if RK3_ENABLED
     287           1 :     module procedure test_getRootBrent_RK3
     288             :         use pm_kind, only: TKC => RK3
     289             : #include "test_pm_mathRoot@routines.inc.F90"
     290             :     end procedure
     291             : #endif
     292             : 
     293             : #if RK2_ENABLED
     294           1 :     module procedure test_getRootBrent_RK2
     295             :         use pm_kind, only: TKC => RK2
     296             : #include "test_pm_mathRoot@routines.inc.F90"
     297             :     end procedure
     298             : #endif
     299             : 
     300             : #if RK1_ENABLED
     301           1 :     module procedure test_getRootBrent_RK1
     302             :         use pm_kind, only: TKC => RK1
     303             : #include "test_pm_mathRoot@routines.inc.F90"
     304             :     end procedure
     305             : #endif
     306             : 
     307             : #undef RK_ENABLED
     308             : 
     309             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     310             : 
     311             : #undef Brent_ENABLED
     312             : 
     313             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     314             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     316             : 
     317             : #define Ridders_ENABLED 1
     318             : 
     319             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     320             : 
     321             : #define RK_ENABLED 1
     322             : 
     323             : #if RK5_ENABLED
     324             :     module procedure test_getRootRidders_RK5
     325             :         use pm_kind, only: TKC => RK5
     326             : #include "test_pm_mathRoot@routines.inc.F90"
     327             :     end procedure
     328             : #endif
     329             : 
     330             : #if RK4_ENABLED
     331           1 :     module procedure test_getRootRidders_RK4
     332             :         use pm_kind, only: TKC => RK4
     333             : #include "test_pm_mathRoot@routines.inc.F90"
     334             :     end procedure
     335             : #endif
     336             : 
     337             : #if RK3_ENABLED
     338           1 :     module procedure test_getRootRidders_RK3
     339             :         use pm_kind, only: TKC => RK3
     340             : #include "test_pm_mathRoot@routines.inc.F90"
     341             :     end procedure
     342             : #endif
     343             : 
     344             : #if RK2_ENABLED
     345           1 :     module procedure test_getRootRidders_RK2
     346             :         use pm_kind, only: TKC => RK2
     347             : #include "test_pm_mathRoot@routines.inc.F90"
     348             :     end procedure
     349             : #endif
     350             : 
     351             : #if RK1_ENABLED
     352           1 :     module procedure test_getRootRidders_RK1
     353             :         use pm_kind, only: TKC => RK1
     354             : #include "test_pm_mathRoot@routines.inc.F90"
     355             :     end procedure
     356             : #endif
     357             : 
     358             : #undef RK_ENABLED
     359             : 
     360             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     361             : 
     362             : #undef Ridders_ENABLED
     363             : 
     364             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     366             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     367             : 
     368             : #define TOMS748_ENABLED 1
     369             : 
     370             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     371             : 
     372             : #define RK_ENABLED 1
     373             : 
     374             : #if RK5_ENABLED
     375             :     module procedure test_getRootTOMS748_RK5
     376             :         use pm_kind, only: TKC => RK5
     377             : #include "test_pm_mathRoot@routines.inc.F90"
     378             :     end procedure
     379             : #endif
     380             : 
     381             : #if RK4_ENABLED
     382           1 :     module procedure test_getRootTOMS748_RK4
     383             :         use pm_kind, only: TKC => RK4
     384             : #include "test_pm_mathRoot@routines.inc.F90"
     385             :     end procedure
     386             : #endif
     387             : 
     388             : #if RK3_ENABLED
     389           1 :     module procedure test_getRootTOMS748_RK3
     390             :         use pm_kind, only: TKC => RK3
     391             : #include "test_pm_mathRoot@routines.inc.F90"
     392             :     end procedure
     393             : #endif
     394             : 
     395             : #if RK2_ENABLED
     396           1 :     module procedure test_getRootTOMS748_RK2
     397             :         use pm_kind, only: TKC => RK2
     398             : #include "test_pm_mathRoot@routines.inc.F90"
     399             :     end procedure
     400             : #endif
     401             : 
     402             : #if RK1_ENABLED
     403           1 :     module procedure test_getRootTOMS748_RK1
     404             :         use pm_kind, only: TKC => RK1
     405             : #include "test_pm_mathRoot@routines.inc.F90"
     406             :     end procedure
     407             : #endif
     408             : 
     409             : #undef RK_ENABLED
     410             : 
     411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     412             : 
     413             : #undef TOMS748_ENABLED
     414             : 
     415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     418             : 
     419             : #define Newton_ENABLED 1
     420             : 
     421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             : 
     423             : #define RK_ENABLED 1
     424             : 
     425             : #if RK5_ENABLED
     426             :     module procedure test_getRootNewton_RK5
     427             :         use pm_kind, only: TKC => RK5
     428             : #include "test_pm_mathRoot@routines.inc.F90"
     429             :     end procedure
     430             : #endif
     431             : 
     432             : #if RK4_ENABLED
     433           1 :     module procedure test_getRootNewton_RK4
     434             :         use pm_kind, only: TKC => RK4
     435             : #include "test_pm_mathRoot@routines.inc.F90"
     436             :     end procedure
     437             : #endif
     438             : 
     439             : #if RK3_ENABLED
     440           1 :     module procedure test_getRootNewton_RK3
     441             :         use pm_kind, only: TKC => RK3
     442             : #include "test_pm_mathRoot@routines.inc.F90"
     443             :     end procedure
     444             : #endif
     445             : 
     446             : #if RK2_ENABLED
     447           1 :     module procedure test_getRootNewton_RK2
     448             :         use pm_kind, only: TKC => RK2
     449             : #include "test_pm_mathRoot@routines.inc.F90"
     450             :     end procedure
     451             : #endif
     452             : 
     453             : #if RK1_ENABLED
     454           1 :     module procedure test_getRootNewton_RK1
     455             :         use pm_kind, only: TKC => RK1
     456             : #include "test_pm_mathRoot@routines.inc.F90"
     457             :     end procedure
     458             : #endif
     459             : 
     460             : #undef RK_ENABLED
     461             : 
     462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     463             : 
     464             : #undef Newton_ENABLED
     465             : 
     466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     469             : 
     470             : #define Halley_ENABLED 1
     471             : 
     472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     473             : 
     474             : #define RK_ENABLED 1
     475             : 
     476             : #if RK5_ENABLED
     477             :     module procedure test_getRootHalley_RK5
     478             :         use pm_kind, only: TKC => RK5
     479             : #include "test_pm_mathRoot@routines.inc.F90"
     480             :     end procedure
     481             : #endif
     482             : 
     483             : #if RK4_ENABLED
     484           1 :     module procedure test_getRootHalley_RK4
     485             :         use pm_kind, only: TKC => RK4
     486             : #include "test_pm_mathRoot@routines.inc.F90"
     487             :     end procedure
     488             : #endif
     489             : 
     490             : #if RK3_ENABLED
     491           1 :     module procedure test_getRootHalley_RK3
     492             :         use pm_kind, only: TKC => RK3
     493             : #include "test_pm_mathRoot@routines.inc.F90"
     494             :     end procedure
     495             : #endif
     496             : 
     497             : #if RK2_ENABLED
     498           1 :     module procedure test_getRootHalley_RK2
     499             :         use pm_kind, only: TKC => RK2
     500             : #include "test_pm_mathRoot@routines.inc.F90"
     501             :     end procedure
     502             : #endif
     503             : 
     504             : #if RK1_ENABLED
     505           1 :     module procedure test_getRootHalley_RK1
     506             :         use pm_kind, only: TKC => RK1
     507             : #include "test_pm_mathRoot@routines.inc.F90"
     508             :     end procedure
     509             : #endif
     510             : 
     511             : #undef RK_ENABLED
     512             : 
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             : 
     515             : #undef Halley_ENABLED
     516             : 
     517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             : 
     521             : #define Schroder_ENABLED 1
     522             : 
     523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     524             : 
     525             : #define RK_ENABLED 1
     526             : 
     527             : #if RK5_ENABLED
     528             :     module procedure test_getRootSchroder_RK5
     529             :         use pm_kind, only: TKC => RK5
     530             : #include "test_pm_mathRoot@routines.inc.F90"
     531             :     end procedure
     532             : #endif
     533             : 
     534             : #if RK4_ENABLED
     535           1 :     module procedure test_getRootSchroder_RK4
     536             :         use pm_kind, only: TKC => RK4
     537             : #include "test_pm_mathRoot@routines.inc.F90"
     538             :     end procedure
     539             : #endif
     540             : 
     541             : #if RK3_ENABLED
     542           1 :     module procedure test_getRootSchroder_RK3
     543             :         use pm_kind, only: TKC => RK3
     544             : #include "test_pm_mathRoot@routines.inc.F90"
     545             :     end procedure
     546             : #endif
     547             : 
     548             : #if RK2_ENABLED
     549           1 :     module procedure test_getRootSchroder_RK2
     550             :         use pm_kind, only: TKC => RK2
     551             : #include "test_pm_mathRoot@routines.inc.F90"
     552             :     end procedure
     553             : #endif
     554             : 
     555             : #if RK1_ENABLED
     556           1 :     module procedure test_getRootSchroder_RK1
     557             :         use pm_kind, only: TKC => RK1
     558             : #include "test_pm_mathRoot@routines.inc.F90"
     559             :     end procedure
     560             : #endif
     561             : 
     562             : #undef RK_ENABLED
     563             : 
     564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     565             : 
     566             : #undef Schroder_ENABLED
     567             : 
     568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     571             : 
     572             : #undef getRoot_ENABLED
     573             : 
     574             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     575             : 
     576             : #define setRoot_ENABLED 1
     577             : 
     578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     581             : 
     582             : #define False_ENABLED 1
     583             : 
     584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     585             : 
     586             : #define RK_ENABLED 1
     587             : 
     588             : #if RK5_ENABLED
     589             :     module procedure test_setRootFalse_RK5
     590             :         use pm_kind, only: TKC => RK5
     591             : #include "test_pm_mathRoot@routines.inc.F90"
     592             :     end procedure
     593             : #endif
     594             : 
     595             : #if RK4_ENABLED
     596           1 :     module procedure test_setRootFalse_RK4
     597             :         use pm_kind, only: TKC => RK4
     598             : #include "test_pm_mathRoot@routines.inc.F90"
     599             :     end procedure
     600             : #endif
     601             : 
     602             : #if RK3_ENABLED
     603           1 :     module procedure test_setRootFalse_RK3
     604             :         use pm_kind, only: TKC => RK3
     605             : #include "test_pm_mathRoot@routines.inc.F90"
     606             :     end procedure
     607             : #endif
     608             : 
     609             : #if RK2_ENABLED
     610           1 :     module procedure test_setRootFalse_RK2
     611             :         use pm_kind, only: TKC => RK2
     612             : #include "test_pm_mathRoot@routines.inc.F90"
     613             :     end procedure
     614             : #endif
     615             : 
     616             : #if RK1_ENABLED
     617           1 :     module procedure test_setRootFalse_RK1
     618             :         use pm_kind, only: TKC => RK1
     619             : #include "test_pm_mathRoot@routines.inc.F90"
     620             :     end procedure
     621             : #endif
     622             : 
     623             : #undef RK_ENABLED
     624             : 
     625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     626             : 
     627             : #undef False_ENABLED
     628             : 
     629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     630             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     632             : 
     633             : #define Bisection_ENABLED 1
     634             : 
     635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     636             : 
     637             : #define RK_ENABLED 1
     638             : 
     639             : #if RK5_ENABLED
     640             :     module procedure test_setRootBisection_RK5
     641             :         use pm_kind, only: TKC => RK5
     642             : #include "test_pm_mathRoot@routines.inc.F90"
     643             :     end procedure
     644             : #endif
     645             : 
     646             : #if RK4_ENABLED
     647           1 :     module procedure test_setRootBisection_RK4
     648             :         use pm_kind, only: TKC => RK4
     649             : #include "test_pm_mathRoot@routines.inc.F90"
     650             :     end procedure
     651             : #endif
     652             : 
     653             : #if RK3_ENABLED
     654           1 :     module procedure test_setRootBisection_RK3
     655             :         use pm_kind, only: TKC => RK3
     656             : #include "test_pm_mathRoot@routines.inc.F90"
     657             :     end procedure
     658             : #endif
     659             : 
     660             : #if RK2_ENABLED
     661           1 :     module procedure test_setRootBisection_RK2
     662             :         use pm_kind, only: TKC => RK2
     663             : #include "test_pm_mathRoot@routines.inc.F90"
     664             :     end procedure
     665             : #endif
     666             : 
     667             : #if RK1_ENABLED
     668           1 :     module procedure test_setRootBisection_RK1
     669             :         use pm_kind, only: TKC => RK1
     670             : #include "test_pm_mathRoot@routines.inc.F90"
     671             :     end procedure
     672             : #endif
     673             : 
     674             : #undef RK_ENABLED
     675             : 
     676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     677             : 
     678             : #undef Bisection_ENABLED
     679             : 
     680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     683             : 
     684             : #define Secant_ENABLED 1
     685             : 
     686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     687             : 
     688             : #define RK_ENABLED 1
     689             : 
     690             : #if RK5_ENABLED
     691             :     module procedure test_setRootSecant_RK5
     692             :         use pm_kind, only: TKC => RK5
     693             : #include "test_pm_mathRoot@routines.inc.F90"
     694             :     end procedure
     695             : #endif
     696             : 
     697             : #if RK4_ENABLED
     698           1 :     module procedure test_setRootSecant_RK4
     699             :         use pm_kind, only: TKC => RK4
     700             : #include "test_pm_mathRoot@routines.inc.F90"
     701             :     end procedure
     702             : #endif
     703             : 
     704             : #if RK3_ENABLED
     705           1 :     module procedure test_setRootSecant_RK3
     706             :         use pm_kind, only: TKC => RK3
     707             : #include "test_pm_mathRoot@routines.inc.F90"
     708             :     end procedure
     709             : #endif
     710             : 
     711             : #if RK2_ENABLED
     712           1 :     module procedure test_setRootSecant_RK2
     713             :         use pm_kind, only: TKC => RK2
     714             : #include "test_pm_mathRoot@routines.inc.F90"
     715             :     end procedure
     716             : #endif
     717             : 
     718             : #if RK1_ENABLED
     719           1 :     module procedure test_setRootSecant_RK1
     720             :         use pm_kind, only: TKC => RK1
     721             : #include "test_pm_mathRoot@routines.inc.F90"
     722             :     end procedure
     723             : #endif
     724             : 
     725             : #undef RK_ENABLED
     726             : 
     727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     728             : 
     729             : #undef Secant_ENABLED
     730             : 
     731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     733             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     734             : 
     735             : #define Brent_ENABLED 1
     736             : 
     737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     738             : 
     739             : #define RK_ENABLED 1
     740             : 
     741             : #if RK5_ENABLED
     742             :     module procedure test_setRootBrent_RK5
     743             :         use pm_kind, only: TKC => RK5
     744             : #include "test_pm_mathRoot@routines.inc.F90"
     745             :     end procedure
     746             : #endif
     747             : 
     748             : #if RK4_ENABLED
     749           1 :     module procedure test_setRootBrent_RK4
     750             :         use pm_kind, only: TKC => RK4
     751             : #include "test_pm_mathRoot@routines.inc.F90"
     752             :     end procedure
     753             : #endif
     754             : 
     755             : #if RK3_ENABLED
     756           1 :     module procedure test_setRootBrent_RK3
     757             :         use pm_kind, only: TKC => RK3
     758             : #include "test_pm_mathRoot@routines.inc.F90"
     759             :     end procedure
     760             : #endif
     761             : 
     762             : #if RK2_ENABLED
     763           1 :     module procedure test_setRootBrent_RK2
     764             :         use pm_kind, only: TKC => RK2
     765             : #include "test_pm_mathRoot@routines.inc.F90"
     766             :     end procedure
     767             : #endif
     768             : 
     769             : #if RK1_ENABLED
     770           1 :     module procedure test_setRootBrent_RK1
     771             :         use pm_kind, only: TKC => RK1
     772             : #include "test_pm_mathRoot@routines.inc.F90"
     773             :     end procedure
     774             : #endif
     775             : 
     776             : #undef RK_ENABLED
     777             : 
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             : 
     780             : #undef Brent_ENABLED
     781             : 
     782             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     784             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     785             : 
     786             : #define Ridders_ENABLED 1
     787             : 
     788             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     789             : 
     790             : #define RK_ENABLED 1
     791             : 
     792             : #if RK5_ENABLED
     793             :     module procedure test_setRootRidders_RK5
     794             :         use pm_kind, only: TKC => RK5
     795             : #include "test_pm_mathRoot@routines.inc.F90"
     796             :     end procedure
     797             : #endif
     798             : 
     799             : #if RK4_ENABLED
     800           1 :     module procedure test_setRootRidders_RK4
     801             :         use pm_kind, only: TKC => RK4
     802             : #include "test_pm_mathRoot@routines.inc.F90"
     803             :     end procedure
     804             : #endif
     805             : 
     806             : #if RK3_ENABLED
     807           1 :     module procedure test_setRootRidders_RK3
     808             :         use pm_kind, only: TKC => RK3
     809             : #include "test_pm_mathRoot@routines.inc.F90"
     810             :     end procedure
     811             : #endif
     812             : 
     813             : #if RK2_ENABLED
     814           1 :     module procedure test_setRootRidders_RK2
     815             :         use pm_kind, only: TKC => RK2
     816             : #include "test_pm_mathRoot@routines.inc.F90"
     817             :     end procedure
     818             : #endif
     819             : 
     820             : #if RK1_ENABLED
     821           1 :     module procedure test_setRootRidders_RK1
     822             :         use pm_kind, only: TKC => RK1
     823             : #include "test_pm_mathRoot@routines.inc.F90"
     824             :     end procedure
     825             : #endif
     826             : 
     827             : #undef RK_ENABLED
     828             : 
     829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     830             : 
     831             : #undef Ridders_ENABLED
     832             : 
     833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     836             : 
     837             : #define TOMS748_ENABLED 1
     838             : 
     839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     840             : 
     841             : #define RK_ENABLED 1
     842             : 
     843             : #if RK5_ENABLED
     844             :     module procedure test_setRootTOMS748_RK5
     845             :         use pm_kind, only: TKC => RK5
     846             : #include "test_pm_mathRoot@routines.inc.F90"
     847             :     end procedure
     848             : #endif
     849             : 
     850             : #if RK4_ENABLED
     851           1 :     module procedure test_setRootTOMS748_RK4
     852             :         use pm_kind, only: TKC => RK4
     853             : #include "test_pm_mathRoot@routines.inc.F90"
     854             :     end procedure
     855             : #endif
     856             : 
     857             : #if RK3_ENABLED
     858           1 :     module procedure test_setRootTOMS748_RK3
     859             :         use pm_kind, only: TKC => RK3
     860             : #include "test_pm_mathRoot@routines.inc.F90"
     861             :     end procedure
     862             : #endif
     863             : 
     864             : #if RK2_ENABLED
     865           1 :     module procedure test_setRootTOMS748_RK2
     866             :         use pm_kind, only: TKC => RK2
     867             : #include "test_pm_mathRoot@routines.inc.F90"
     868             :     end procedure
     869             : #endif
     870             : 
     871             : #if RK1_ENABLED
     872           1 :     module procedure test_setRootTOMS748_RK1
     873             :         use pm_kind, only: TKC => RK1
     874             : #include "test_pm_mathRoot@routines.inc.F90"
     875             :     end procedure
     876             : #endif
     877             : 
     878             : #undef RK_ENABLED
     879             : 
     880             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     881             : 
     882             : #undef TOMS748_ENABLED
     883             : 
     884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     887             : 
     888             : #define Newton_ENABLED 1
     889             : 
     890             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     891             : 
     892             : #define RK_ENABLED 1
     893             : 
     894             : #if RK5_ENABLED
     895             :     module procedure test_setRootNewton_RK5
     896             :         use pm_kind, only: TKC => RK5
     897             : #include "test_pm_mathRoot@routines.inc.F90"
     898             :     end procedure
     899             : #endif
     900             : 
     901             : #if RK4_ENABLED
     902           1 :     module procedure test_setRootNewton_RK4
     903             :         use pm_kind, only: TKC => RK4
     904             : #include "test_pm_mathRoot@routines.inc.F90"
     905             :     end procedure
     906             : #endif
     907             : 
     908             : #if RK3_ENABLED
     909           1 :     module procedure test_setRootNewton_RK3
     910             :         use pm_kind, only: TKC => RK3
     911             : #include "test_pm_mathRoot@routines.inc.F90"
     912             :     end procedure
     913             : #endif
     914             : 
     915             : #if RK2_ENABLED
     916           1 :     module procedure test_setRootNewton_RK2
     917             :         use pm_kind, only: TKC => RK2
     918             : #include "test_pm_mathRoot@routines.inc.F90"
     919             :     end procedure
     920             : #endif
     921             : 
     922             : #if RK1_ENABLED
     923           1 :     module procedure test_setRootNewton_RK1
     924             :         use pm_kind, only: TKC => RK1
     925             : #include "test_pm_mathRoot@routines.inc.F90"
     926             :     end procedure
     927             : #endif
     928             : 
     929             : #undef RK_ENABLED
     930             : 
     931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     932             : 
     933             : #undef Newton_ENABLED
     934             : 
     935             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     936             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     938             : 
     939             : #define Halley_ENABLED 1
     940             : 
     941             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     942             : 
     943             : #define RK_ENABLED 1
     944             : 
     945             : #if RK5_ENABLED
     946             :     module procedure test_setRootHalley_RK5
     947             :         use pm_kind, only: TKC => RK5
     948             : #include "test_pm_mathRoot@routines.inc.F90"
     949             :     end procedure
     950             : #endif
     951             : 
     952             : #if RK4_ENABLED
     953           1 :     module procedure test_setRootHalley_RK4
     954             :         use pm_kind, only: TKC => RK4
     955             : #include "test_pm_mathRoot@routines.inc.F90"
     956             :     end procedure
     957             : #endif
     958             : 
     959             : #if RK3_ENABLED
     960           1 :     module procedure test_setRootHalley_RK3
     961             :         use pm_kind, only: TKC => RK3
     962             : #include "test_pm_mathRoot@routines.inc.F90"
     963             :     end procedure
     964             : #endif
     965             : 
     966             : #if RK2_ENABLED
     967           1 :     module procedure test_setRootHalley_RK2
     968             :         use pm_kind, only: TKC => RK2
     969             : #include "test_pm_mathRoot@routines.inc.F90"
     970             :     end procedure
     971             : #endif
     972             : 
     973             : #if RK1_ENABLED
     974           1 :     module procedure test_setRootHalley_RK1
     975             :         use pm_kind, only: TKC => RK1
     976             : #include "test_pm_mathRoot@routines.inc.F90"
     977             :     end procedure
     978             : #endif
     979             : 
     980             : #undef RK_ENABLED
     981             : 
     982             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     983             : 
     984             : #undef Halley_ENABLED
     985             : 
     986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     987             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     989             : 
     990             : #define Schroder_ENABLED 1
     991             : 
     992             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     993             : 
     994             : #define RK_ENABLED 1
     995             : 
     996             : #if RK5_ENABLED
     997             :     module procedure test_setRootSchroder_RK5
     998             :         use pm_kind, only: TKC => RK5
     999             : #include "test_pm_mathRoot@routines.inc.F90"
    1000             :     end procedure
    1001             : #endif
    1002             : 
    1003             : #if RK4_ENABLED
    1004           1 :     module procedure test_setRootSchroder_RK4
    1005             :         use pm_kind, only: TKC => RK4
    1006             : #include "test_pm_mathRoot@routines.inc.F90"
    1007             :     end procedure
    1008             : #endif
    1009             : 
    1010             : #if RK3_ENABLED
    1011           1 :     module procedure test_setRootSchroder_RK3
    1012             :         use pm_kind, only: TKC => RK3
    1013             : #include "test_pm_mathRoot@routines.inc.F90"
    1014             :     end procedure
    1015             : #endif
    1016             : 
    1017             : #if RK2_ENABLED
    1018           1 :     module procedure test_setRootSchroder_RK2
    1019             :         use pm_kind, only: TKC => RK2
    1020             : #include "test_pm_mathRoot@routines.inc.F90"
    1021             :     end procedure
    1022             : #endif
    1023             : 
    1024             : #if RK1_ENABLED
    1025           1 :     module procedure test_setRootSchroder_RK1
    1026             :         use pm_kind, only: TKC => RK1
    1027             : #include "test_pm_mathRoot@routines.inc.F90"
    1028             :     end procedure
    1029             : #endif
    1030             : 
    1031             : #undef RK_ENABLED
    1032             : 
    1033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1034             : 
    1035             : #undef Schroder_ENABLED
    1036             : 
    1037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1038             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1040             : 
    1041             : #undef setRoot_ENABLED
    1042             : 
    1043             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1044             : 
    1045             : end submodule routines ! LCOV_EXCL_LINE

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