https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_complexMinMax@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 124 144 86.1 %
Date: 2024-04-08 03:18:57 Functions: 62 72 86.1 %
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_complexMinMax](@ref pm_complexMinMax).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_complexMinMax) 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             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define min_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define D0_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             : 
      57             : #define CK_ENABLED 1
      58             : 
      59             : #if CK5_ENABLED
      60             :     module procedure min_D0_CK5
      61             :         use pm_kind, only: CKC => CK5
      62             : #include "pm_complexMinMax@routines.inc.F90"
      63             :     end procedure
      64             : #endif
      65             : 
      66             : #if CK4_ENABLED
      67          45 :     module procedure min_D0_CK4
      68             :         use pm_kind, only: CKC => CK4
      69             : #include "pm_complexMinMax@routines.inc.F90"
      70          45 :     end procedure
      71             : #endif
      72             : 
      73             : #if CK3_ENABLED
      74           0 :     module procedure min_D0_CK3
      75             :         use pm_kind, only: CKC => CK3
      76             : #include "pm_complexMinMax@routines.inc.F90"
      77           0 :     end procedure
      78             : #endif
      79             : 
      80             : #if CK2_ENABLED
      81          45 :     module procedure min_D0_CK2
      82             :         use pm_kind, only: CKC => CK2
      83             : #include "pm_complexMinMax@routines.inc.F90"
      84          45 :     end procedure
      85             : #endif
      86             : 
      87             : #if CK1_ENABLED
      88          35 :     module procedure min_D0_CK1
      89             :         use pm_kind, only: CKC => CK1
      90             : #include "pm_complexMinMax@routines.inc.F90"
      91          35 :     end procedure
      92             : #endif
      93             : 
      94             : #undef CK_ENABLED
      95             : 
      96             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #undef D0_ENABLED
      99             : 
     100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : #undef min_ENABLED
     105             : 
     106             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #define max_ENABLED 1
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define D0_ENABLED 1
     115             : 
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define CK_ENABLED 1
     119             : 
     120             : #if CK5_ENABLED
     121             :     module procedure max_D0_CK5
     122             :         use pm_kind, only: CKC => CK5
     123             : #include "pm_complexMinMax@routines.inc.F90"
     124             :     end procedure
     125             : #endif
     126             : 
     127             : #if CK4_ENABLED
     128          41 :     module procedure max_D0_CK4
     129             :         use pm_kind, only: CKC => CK4
     130             : #include "pm_complexMinMax@routines.inc.F90"
     131          41 :     end procedure
     132             : #endif
     133             : 
     134             : #if CK3_ENABLED
     135           0 :     module procedure max_D0_CK3
     136             :         use pm_kind, only: CKC => CK3
     137             : #include "pm_complexMinMax@routines.inc.F90"
     138           0 :     end procedure
     139             : #endif
     140             : 
     141             : #if CK2_ENABLED
     142          41 :     module procedure max_D0_CK2
     143             :         use pm_kind, only: CKC => CK2
     144             : #include "pm_complexMinMax@routines.inc.F90"
     145          41 :     end procedure
     146             : #endif
     147             : 
     148             : #if CK1_ENABLED
     149          39 :     module procedure max_D0_CK1
     150             :         use pm_kind, only: CKC => CK1
     151             : #include "pm_complexMinMax@routines.inc.F90"
     152          39 :     end procedure
     153             : #endif
     154             : 
     155             : #undef CK_ENABLED
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #undef D0_ENABLED
     160             : 
     161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     164             : 
     165             : #undef max_ENABLED
     166             : 
     167             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     168             : 
     169             : #define minval_ENABLED 1
     170             : 
     171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     174             : 
     175             : #define ALL_ENABLED 1
     176             : 
     177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     180             : 
     181             : #define D1_ENABLED 1
     182             : 
     183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     184             : 
     185             : #define CK_ENABLED 1
     186             : 
     187             : #if CK5_ENABLED
     188             :     module procedure minvalALL_D1_CK5
     189             :         use pm_kind, only: CKC => CK5
     190             : #include "pm_complexMinMax@routines.inc.F90"
     191             :     end procedure
     192             : #endif
     193             : 
     194             : #if CK4_ENABLED
     195        9430 :     module procedure minvalALL_D1_CK4
     196             :         use pm_kind, only: CKC => CK4
     197             : #include "pm_complexMinMax@routines.inc.F90"
     198        9430 :     end procedure
     199             : #endif
     200             : 
     201             : #if CK3_ENABLED
     202        9840 :     module procedure minvalALL_D1_CK3
     203             :         use pm_kind, only: CKC => CK3
     204             : #include "pm_complexMinMax@routines.inc.F90"
     205        9840 :     end procedure
     206             : #endif
     207             : 
     208             : #if CK2_ENABLED
     209        9436 :     module procedure minvalALL_D1_CK2
     210             :         use pm_kind, only: CKC => CK2
     211             : #include "pm_complexMinMax@routines.inc.F90"
     212        9436 :     end procedure
     213             : #endif
     214             : 
     215             : #if CK1_ENABLED
     216        9450 :     module procedure minvalALL_D1_CK1
     217             :         use pm_kind, only: CKC => CK1
     218             : #include "pm_complexMinMax@routines.inc.F90"
     219        9450 :     end procedure
     220             : #endif
     221             : 
     222             : #undef CK_ENABLED
     223             : 
     224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     225             : 
     226             : #undef D1_ENABLED
     227             : 
     228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     230             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     231             : 
     232             : #define D2_ENABLED 1
     233             : 
     234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     235             : 
     236             : #define CK_ENABLED 1
     237             : 
     238             : #if CK5_ENABLED
     239             :     module procedure minvalALL_D2_CK5
     240             :         use pm_kind, only: CKC => CK5
     241             : #include "pm_complexMinMax@routines.inc.F90"
     242             :     end procedure
     243             : #endif
     244             : 
     245             : #if CK4_ENABLED
     246         301 :     module procedure minvalALL_D2_CK4
     247             :         use pm_kind, only: CKC => CK4
     248             : #include "pm_complexMinMax@routines.inc.F90"
     249         301 :     end procedure
     250             : #endif
     251             : 
     252             : #if CK3_ENABLED
     253         300 :     module procedure minvalALL_D2_CK3
     254             :         use pm_kind, only: CKC => CK3
     255             : #include "pm_complexMinMax@routines.inc.F90"
     256         300 :     end procedure
     257             : #endif
     258             : 
     259             : #if CK2_ENABLED
     260         301 :     module procedure minvalALL_D2_CK2
     261             :         use pm_kind, only: CKC => CK2
     262             : #include "pm_complexMinMax@routines.inc.F90"
     263         301 :     end procedure
     264             : #endif
     265             : 
     266             : #if CK1_ENABLED
     267         303 :     module procedure minvalALL_D2_CK1
     268             :         use pm_kind, only: CKC => CK1
     269             : #include "pm_complexMinMax@routines.inc.F90"
     270         303 :     end procedure
     271             : #endif
     272             : 
     273             : #undef CK_ENABLED
     274             : 
     275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     276             : 
     277             : #undef D2_ENABLED
     278             : 
     279             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #undef ALL_ENABLED
     284             : 
     285             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     286             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     288             : 
     289             : #define DIM_ENABLED 1
     290             : 
     291             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     294             : 
     295             : #define D1_ENABLED 1
     296             : 
     297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     298             : 
     299             : #define CK_ENABLED 1
     300             : 
     301             : #if CK5_ENABLED
     302             :     module procedure minvalDIM_D1_CK5
     303             :         use pm_kind, only: CKC => CK5
     304             : #include "pm_complexMinMax@routines.inc.F90"
     305             :     end procedure
     306             : #endif
     307             : 
     308             : #if CK4_ENABLED
     309         602 :     module procedure minvalDIM_D1_CK4
     310             :         use pm_kind, only: CKC => CK4
     311             : #include "pm_complexMinMax@routines.inc.F90"
     312         602 :     end procedure
     313             : #endif
     314             : 
     315             : #if CK3_ENABLED
     316         600 :     module procedure minvalDIM_D1_CK3
     317             :         use pm_kind, only: CKC => CK3
     318             : #include "pm_complexMinMax@routines.inc.F90"
     319         600 :     end procedure
     320             : #endif
     321             : 
     322             : #if CK2_ENABLED
     323         602 :     module procedure minvalDIM_D1_CK2
     324             :         use pm_kind, only: CKC => CK2
     325             : #include "pm_complexMinMax@routines.inc.F90"
     326         602 :     end procedure
     327             : #endif
     328             : 
     329             : #if CK1_ENABLED
     330         610 :     module procedure minvalDIM_D1_CK1
     331             :         use pm_kind, only: CKC => CK1
     332             : #include "pm_complexMinMax@routines.inc.F90"
     333         610 :     end procedure
     334             : #endif
     335             : 
     336             : #undef CK_ENABLED
     337             : 
     338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     339             : 
     340             : #undef D1_ENABLED
     341             : 
     342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     345             : 
     346             : #define D2_ENABLED 1
     347             : 
     348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     349             : 
     350             : #define CK_ENABLED 1
     351             : 
     352             : #if CK5_ENABLED
     353             :     module procedure minvalDIM_D2_CK5
     354             :         use pm_kind, only: CKC => CK5
     355             : #include "pm_complexMinMax@routines.inc.F90"
     356             :     end procedure
     357             : #endif
     358             : 
     359             : #if CK4_ENABLED
     360        2702 :     module procedure minvalDIM_D2_CK4
     361             :         use pm_kind, only: CKC => CK4
     362             : #include "pm_complexMinMax@routines.inc.F90"
     363        2702 :     end procedure
     364             : #endif
     365             : 
     366             : #if CK3_ENABLED
     367        2700 :     module procedure minvalDIM_D2_CK3
     368             :         use pm_kind, only: CKC => CK3
     369             : #include "pm_complexMinMax@routines.inc.F90"
     370        2700 :     end procedure
     371             : #endif
     372             : 
     373             : #if CK2_ENABLED
     374        2702 :     module procedure minvalDIM_D2_CK2
     375             :         use pm_kind, only: CKC => CK2
     376             : #include "pm_complexMinMax@routines.inc.F90"
     377        2702 :     end procedure
     378             : #endif
     379             : 
     380             : #if CK1_ENABLED
     381        2718 :     module procedure minvalDIM_D2_CK1
     382             :         use pm_kind, only: CKC => CK1
     383             : #include "pm_complexMinMax@routines.inc.F90"
     384        2718 :     end procedure
     385             : #endif
     386             : 
     387             : #undef CK_ENABLED
     388             : 
     389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     390             : 
     391             : #undef D2_ENABLED
     392             : 
     393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     396             : 
     397             : #undef DIM_ENABLED
     398             : 
     399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     402             : 
     403             : #undef minval_ENABLED
     404             : 
     405             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     406             : 
     407             : #define maxval_ENABLED 1
     408             : 
     409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     412             : 
     413             : #define ALL_ENABLED 1
     414             : 
     415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     416             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     417             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     418             : 
     419             : #define D1_ENABLED 1
     420             : 
     421             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     422             : 
     423             : #define CK_ENABLED 1
     424             : 
     425             : #if CK5_ENABLED
     426             :     module procedure maxvalALL_D1_CK5
     427             :         use pm_kind, only: CKC => CK5
     428             : #include "pm_complexMinMax@routines.inc.F90"
     429             :     end procedure
     430             : #endif
     431             : 
     432             : #if CK4_ENABLED
     433        9430 :     module procedure maxvalALL_D1_CK4
     434             :         use pm_kind, only: CKC => CK4
     435             : #include "pm_complexMinMax@routines.inc.F90"
     436        9430 :     end procedure
     437             : #endif
     438             : 
     439             : #if CK3_ENABLED
     440        9840 :     module procedure maxvalALL_D1_CK3
     441             :         use pm_kind, only: CKC => CK3
     442             : #include "pm_complexMinMax@routines.inc.F90"
     443        9840 :     end procedure
     444             : #endif
     445             : 
     446             : #if CK2_ENABLED
     447        9436 :     module procedure maxvalALL_D1_CK2
     448             :         use pm_kind, only: CKC => CK2
     449             : #include "pm_complexMinMax@routines.inc.F90"
     450        9436 :     end procedure
     451             : #endif
     452             : 
     453             : #if CK1_ENABLED
     454        9450 :     module procedure maxvalALL_D1_CK1
     455             :         use pm_kind, only: CKC => CK1
     456             : #include "pm_complexMinMax@routines.inc.F90"
     457        9450 :     end procedure
     458             : #endif
     459             : 
     460             : #undef CK_ENABLED
     461             : 
     462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     463             : 
     464             : #undef D1_ENABLED
     465             : 
     466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     469             : 
     470             : #define D2_ENABLED 1
     471             : 
     472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     473             : 
     474             : #define CK_ENABLED 1
     475             : 
     476             : #if CK5_ENABLED
     477             :     module procedure maxvalALL_D2_CK5
     478             :         use pm_kind, only: CKC => CK5
     479             : #include "pm_complexMinMax@routines.inc.F90"
     480             :     end procedure
     481             : #endif
     482             : 
     483             : #if CK4_ENABLED
     484         301 :     module procedure maxvalALL_D2_CK4
     485             :         use pm_kind, only: CKC => CK4
     486             : #include "pm_complexMinMax@routines.inc.F90"
     487         301 :     end procedure
     488             : #endif
     489             : 
     490             : #if CK3_ENABLED
     491         300 :     module procedure maxvalALL_D2_CK3
     492             :         use pm_kind, only: CKC => CK3
     493             : #include "pm_complexMinMax@routines.inc.F90"
     494         300 :     end procedure
     495             : #endif
     496             : 
     497             : #if CK2_ENABLED
     498         301 :     module procedure maxvalALL_D2_CK2
     499             :         use pm_kind, only: CKC => CK2
     500             : #include "pm_complexMinMax@routines.inc.F90"
     501         301 :     end procedure
     502             : #endif
     503             : 
     504             : #if CK1_ENABLED
     505         303 :     module procedure maxvalALL_D2_CK1
     506             :         use pm_kind, only: CKC => CK1
     507             : #include "pm_complexMinMax@routines.inc.F90"
     508         303 :     end procedure
     509             : #endif
     510             : 
     511             : #undef CK_ENABLED
     512             : 
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             : 
     515             : #undef D2_ENABLED
     516             : 
     517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             : 
     521             : #undef ALL_ENABLED
     522             : 
     523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     524             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     526             : 
     527             : #define DIM_ENABLED 1
     528             : 
     529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     532             : 
     533             : #define D1_ENABLED 1
     534             : 
     535             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     536             : 
     537             : #define CK_ENABLED 1
     538             : 
     539             : #if CK5_ENABLED
     540             :     module procedure maxvalDIM_D1_CK5
     541             :         use pm_kind, only: CKC => CK5
     542             : #include "pm_complexMinMax@routines.inc.F90"
     543             :     end procedure
     544             : #endif
     545             : 
     546             : #if CK4_ENABLED
     547         602 :     module procedure maxvalDIM_D1_CK4
     548             :         use pm_kind, only: CKC => CK4
     549             : #include "pm_complexMinMax@routines.inc.F90"
     550         602 :     end procedure
     551             : #endif
     552             : 
     553             : #if CK3_ENABLED
     554         600 :     module procedure maxvalDIM_D1_CK3
     555             :         use pm_kind, only: CKC => CK3
     556             : #include "pm_complexMinMax@routines.inc.F90"
     557         600 :     end procedure
     558             : #endif
     559             : 
     560             : #if CK2_ENABLED
     561         602 :     module procedure maxvalDIM_D1_CK2
     562             :         use pm_kind, only: CKC => CK2
     563             : #include "pm_complexMinMax@routines.inc.F90"
     564         602 :     end procedure
     565             : #endif
     566             : 
     567             : #if CK1_ENABLED
     568         610 :     module procedure maxvalDIM_D1_CK1
     569             :         use pm_kind, only: CKC => CK1
     570             : #include "pm_complexMinMax@routines.inc.F90"
     571         610 :     end procedure
     572             : #endif
     573             : 
     574             : #undef CK_ENABLED
     575             : 
     576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     577             : 
     578             : #undef D1_ENABLED
     579             : 
     580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     581             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     582             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     583             : 
     584             : #define D2_ENABLED 1
     585             : 
     586             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     587             : 
     588             : #define CK_ENABLED 1
     589             : 
     590             : #if CK5_ENABLED
     591             :     module procedure maxvalDIM_D2_CK5
     592             :         use pm_kind, only: CKC => CK5
     593             : #include "pm_complexMinMax@routines.inc.F90"
     594             :     end procedure
     595             : #endif
     596             : 
     597             : #if CK4_ENABLED
     598        2702 :     module procedure maxvalDIM_D2_CK4
     599             :         use pm_kind, only: CKC => CK4
     600             : #include "pm_complexMinMax@routines.inc.F90"
     601        2702 :     end procedure
     602             : #endif
     603             : 
     604             : #if CK3_ENABLED
     605        2700 :     module procedure maxvalDIM_D2_CK3
     606             :         use pm_kind, only: CKC => CK3
     607             : #include "pm_complexMinMax@routines.inc.F90"
     608        2700 :     end procedure
     609             : #endif
     610             : 
     611             : #if CK2_ENABLED
     612        2702 :     module procedure maxvalDIM_D2_CK2
     613             :         use pm_kind, only: CKC => CK2
     614             : #include "pm_complexMinMax@routines.inc.F90"
     615        2702 :     end procedure
     616             : #endif
     617             : 
     618             : #if CK1_ENABLED
     619        2718 :     module procedure maxvalDIM_D2_CK1
     620             :         use pm_kind, only: CKC => CK1
     621             : #include "pm_complexMinMax@routines.inc.F90"
     622        2718 :     end procedure
     623             : #endif
     624             : 
     625             : #undef CK_ENABLED
     626             : 
     627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     628             : 
     629             : #undef D2_ENABLED
     630             : 
     631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635             : #undef DIM_ENABLED
     636             : 
     637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     640             : 
     641             : #undef maxval_ENABLED
     642             : 
     643             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     644             : 
     645             : #define minloc_ENABLED 1
     646             : 
     647             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     648             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     649             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     650             : 
     651             : #define ALL_ENABLED 1
     652             : 
     653             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     654             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     655             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     656             : 
     657             : #define D1_ENABLED 1
     658             : 
     659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     660             : 
     661             : #define CK_ENABLED 1
     662             : 
     663             : #if CK5_ENABLED
     664             :     module procedure minlocALL_D1_CK5
     665             :         use pm_kind, only: CKC => CK5
     666             : #include "pm_complexMinMax@routines.inc.F90"
     667             :     end procedure
     668             : #endif
     669             : 
     670             : #if CK4_ENABLED
     671          10 :     module procedure minlocALL_D1_CK4
     672             :         use pm_kind, only: CKC => CK4
     673             : #include "pm_complexMinMax@routines.inc.F90"
     674          10 :     end procedure
     675             : #endif
     676             : 
     677             : #if CK3_ENABLED
     678           0 :     module procedure minlocALL_D1_CK3
     679             :         use pm_kind, only: CKC => CK3
     680             : #include "pm_complexMinMax@routines.inc.F90"
     681           0 :     end procedure
     682             : #endif
     683             : 
     684             : #if CK2_ENABLED
     685          10 :     module procedure minlocALL_D1_CK2
     686             :         use pm_kind, only: CKC => CK2
     687             : #include "pm_complexMinMax@routines.inc.F90"
     688          10 :     end procedure
     689             : #endif
     690             : 
     691             : #if CK1_ENABLED
     692          10 :     module procedure minlocALL_D1_CK1
     693             :         use pm_kind, only: CKC => CK1
     694             : #include "pm_complexMinMax@routines.inc.F90"
     695          10 :     end procedure
     696             : #endif
     697             : 
     698             : #undef CK_ENABLED
     699             : 
     700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     701             : 
     702             : #undef D1_ENABLED
     703             : 
     704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     707             : 
     708             : #define D2_ENABLED 1
     709             : 
     710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     711             : 
     712             : #define CK_ENABLED 1
     713             : 
     714             : #if CK5_ENABLED
     715             :     module procedure minlocALL_D2_CK5
     716             :         use pm_kind, only: CKC => CK5
     717             : #include "pm_complexMinMax@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #if CK4_ENABLED
     722           1 :     module procedure minlocALL_D2_CK4
     723             :         use pm_kind, only: CKC => CK4
     724             : #include "pm_complexMinMax@routines.inc.F90"
     725           1 :     end procedure
     726             : #endif
     727             : 
     728             : #if CK3_ENABLED
     729           0 :     module procedure minlocALL_D2_CK3
     730             :         use pm_kind, only: CKC => CK3
     731             : #include "pm_complexMinMax@routines.inc.F90"
     732           0 :     end procedure
     733             : #endif
     734             : 
     735             : #if CK2_ENABLED
     736           1 :     module procedure minlocALL_D2_CK2
     737             :         use pm_kind, only: CKC => CK2
     738             : #include "pm_complexMinMax@routines.inc.F90"
     739           1 :     end procedure
     740             : #endif
     741             : 
     742             : #if CK1_ENABLED
     743           1 :     module procedure minlocALL_D2_CK1
     744             :         use pm_kind, only: CKC => CK1
     745             : #include "pm_complexMinMax@routines.inc.F90"
     746           1 :     end procedure
     747             : #endif
     748             : 
     749             : #undef CK_ENABLED
     750             : 
     751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     752             : 
     753             : #undef D2_ENABLED
     754             : 
     755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     758             : 
     759             : #undef ALL_ENABLED
     760             : 
     761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     764             : 
     765             : #define DIM_ENABLED 1
     766             : 
     767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     770             : 
     771             : #define D1_ENABLED 1
     772             : 
     773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775             : #define CK_ENABLED 1
     776             : 
     777             : #if CK5_ENABLED
     778             :     module procedure minlocDIM_D1_CK5
     779             :         use pm_kind, only: CKC => CK5
     780             : #include "pm_complexMinMax@routines.inc.F90"
     781             :     end procedure
     782             : #endif
     783             : 
     784             : #if CK4_ENABLED
     785           2 :     module procedure minlocDIM_D1_CK4
     786             :         use pm_kind, only: CKC => CK4
     787             : #include "pm_complexMinMax@routines.inc.F90"
     788           2 :     end procedure
     789             : #endif
     790             : 
     791             : #if CK3_ENABLED
     792           0 :     module procedure minlocDIM_D1_CK3
     793             :         use pm_kind, only: CKC => CK3
     794             : #include "pm_complexMinMax@routines.inc.F90"
     795           0 :     end procedure
     796             : #endif
     797             : 
     798             : #if CK2_ENABLED
     799           2 :     module procedure minlocDIM_D1_CK2
     800             :         use pm_kind, only: CKC => CK2
     801             : #include "pm_complexMinMax@routines.inc.F90"
     802           2 :     end procedure
     803             : #endif
     804             : 
     805             : #if CK1_ENABLED
     806           2 :     module procedure minlocDIM_D1_CK1
     807             :         use pm_kind, only: CKC => CK1
     808             : #include "pm_complexMinMax@routines.inc.F90"
     809           2 :     end procedure
     810             : #endif
     811             : 
     812             : #undef CK_ENABLED
     813             : 
     814             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     815             : 
     816             : #undef D1_ENABLED
     817             : 
     818             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     819             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     821             : 
     822             : #define D2_ENABLED 1
     823             : 
     824             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     825             : 
     826             : #define CK_ENABLED 1
     827             : 
     828             : #if CK5_ENABLED
     829             :     module procedure minlocDIM_D2_CK5
     830             :         use pm_kind, only: CKC => CK5
     831             : #include "pm_complexMinMax@routines.inc.F90"
     832             :     end procedure
     833             : #endif
     834             : 
     835             : #if CK4_ENABLED
     836           2 :     module procedure minlocDIM_D2_CK4
     837             :         use pm_kind, only: CKC => CK4
     838             : #include "pm_complexMinMax@routines.inc.F90"
     839           2 :     end procedure
     840             : #endif
     841             : 
     842             : #if CK3_ENABLED
     843           0 :     module procedure minlocDIM_D2_CK3
     844             :         use pm_kind, only: CKC => CK3
     845             : #include "pm_complexMinMax@routines.inc.F90"
     846           0 :     end procedure
     847             : #endif
     848             : 
     849             : #if CK2_ENABLED
     850           2 :     module procedure minlocDIM_D2_CK2
     851             :         use pm_kind, only: CKC => CK2
     852             : #include "pm_complexMinMax@routines.inc.F90"
     853           2 :     end procedure
     854             : #endif
     855             : 
     856             : #if CK1_ENABLED
     857           2 :     module procedure minlocDIM_D2_CK1
     858             :         use pm_kind, only: CKC => CK1
     859             : #include "pm_complexMinMax@routines.inc.F90"
     860           2 :     end procedure
     861             : #endif
     862             : 
     863             : #undef CK_ENABLED
     864             : 
     865             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     866             : 
     867             : #undef D2_ENABLED
     868             : 
     869             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     870             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     872             : 
     873             : #undef DIM_ENABLED
     874             : 
     875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     876             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     877             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     878             : 
     879             : #undef minloc_ENABLED
     880             : 
     881             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     882             : 
     883             : #define maxloc_ENABLED 1
     884             : 
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     888             : 
     889             : #define ALL_ENABLED 1
     890             : 
     891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     892             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     893             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     894             : 
     895             : #define D1_ENABLED 1
     896             : 
     897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     898             : 
     899             : #define CK_ENABLED 1
     900             : 
     901             : #if CK5_ENABLED
     902             :     module procedure maxlocALL_D1_CK5
     903             :         use pm_kind, only: CKC => CK5
     904             : #include "pm_complexMinMax@routines.inc.F90"
     905             :     end procedure
     906             : #endif
     907             : 
     908             : #if CK4_ENABLED
     909          10 :     module procedure maxlocALL_D1_CK4
     910             :         use pm_kind, only: CKC => CK4
     911             : #include "pm_complexMinMax@routines.inc.F90"
     912          10 :     end procedure
     913             : #endif
     914             : 
     915             : #if CK3_ENABLED
     916           0 :     module procedure maxlocALL_D1_CK3
     917             :         use pm_kind, only: CKC => CK3
     918             : #include "pm_complexMinMax@routines.inc.F90"
     919           0 :     end procedure
     920             : #endif
     921             : 
     922             : #if CK2_ENABLED
     923          10 :     module procedure maxlocALL_D1_CK2
     924             :         use pm_kind, only: CKC => CK2
     925             : #include "pm_complexMinMax@routines.inc.F90"
     926          10 :     end procedure
     927             : #endif
     928             : 
     929             : #if CK1_ENABLED
     930          10 :     module procedure maxlocALL_D1_CK1
     931             :         use pm_kind, only: CKC => CK1
     932             : #include "pm_complexMinMax@routines.inc.F90"
     933          10 :     end procedure
     934             : #endif
     935             : 
     936             : #undef CK_ENABLED
     937             : 
     938             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     939             : 
     940             : #undef D1_ENABLED
     941             : 
     942             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     943             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     944             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     945             : 
     946             : #define D2_ENABLED 1
     947             : 
     948             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     949             : 
     950             : #define CK_ENABLED 1
     951             : 
     952             : #if CK5_ENABLED
     953             :     module procedure maxlocALL_D2_CK5
     954             :         use pm_kind, only: CKC => CK5
     955             : #include "pm_complexMinMax@routines.inc.F90"
     956             :     end procedure
     957             : #endif
     958             : 
     959             : #if CK4_ENABLED
     960           1 :     module procedure maxlocALL_D2_CK4
     961             :         use pm_kind, only: CKC => CK4
     962             : #include "pm_complexMinMax@routines.inc.F90"
     963           1 :     end procedure
     964             : #endif
     965             : 
     966             : #if CK3_ENABLED
     967           0 :     module procedure maxlocALL_D2_CK3
     968             :         use pm_kind, only: CKC => CK3
     969             : #include "pm_complexMinMax@routines.inc.F90"
     970           0 :     end procedure
     971             : #endif
     972             : 
     973             : #if CK2_ENABLED
     974           1 :     module procedure maxlocALL_D2_CK2
     975             :         use pm_kind, only: CKC => CK2
     976             : #include "pm_complexMinMax@routines.inc.F90"
     977           1 :     end procedure
     978             : #endif
     979             : 
     980             : #if CK1_ENABLED
     981           1 :     module procedure maxlocALL_D2_CK1
     982             :         use pm_kind, only: CKC => CK1
     983             : #include "pm_complexMinMax@routines.inc.F90"
     984           1 :     end procedure
     985             : #endif
     986             : 
     987             : #undef CK_ENABLED
     988             : 
     989             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     990             : 
     991             : #undef D2_ENABLED
     992             : 
     993             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     995             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     996             : 
     997             : #undef ALL_ENABLED
     998             : 
     999             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1000             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1001             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1002             : 
    1003             : #define DIM_ENABLED 1
    1004             : 
    1005             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1006             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1007             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1008             : 
    1009             : #define D1_ENABLED 1
    1010             : 
    1011             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1012             : 
    1013             : #define CK_ENABLED 1
    1014             : 
    1015             : #if CK5_ENABLED
    1016             :     module procedure maxlocDIM_D1_CK5
    1017             :         use pm_kind, only: CKC => CK5
    1018             : #include "pm_complexMinMax@routines.inc.F90"
    1019             :     end procedure
    1020             : #endif
    1021             : 
    1022             : #if CK4_ENABLED
    1023           2 :     module procedure maxlocDIM_D1_CK4
    1024             :         use pm_kind, only: CKC => CK4
    1025             : #include "pm_complexMinMax@routines.inc.F90"
    1026           2 :     end procedure
    1027             : #endif
    1028             : 
    1029             : #if CK3_ENABLED
    1030           0 :     module procedure maxlocDIM_D1_CK3
    1031             :         use pm_kind, only: CKC => CK3
    1032             : #include "pm_complexMinMax@routines.inc.F90"
    1033           0 :     end procedure
    1034             : #endif
    1035             : 
    1036             : #if CK2_ENABLED
    1037           2 :     module procedure maxlocDIM_D1_CK2
    1038             :         use pm_kind, only: CKC => CK2
    1039             : #include "pm_complexMinMax@routines.inc.F90"
    1040           2 :     end procedure
    1041             : #endif
    1042             : 
    1043             : #if CK1_ENABLED
    1044           2 :     module procedure maxlocDIM_D1_CK1
    1045             :         use pm_kind, only: CKC => CK1
    1046             : #include "pm_complexMinMax@routines.inc.F90"
    1047           2 :     end procedure
    1048             : #endif
    1049             : 
    1050             : #undef CK_ENABLED
    1051             : 
    1052             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1053             : 
    1054             : #undef D1_ENABLED
    1055             : 
    1056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1059             : 
    1060             : #define D2_ENABLED 1
    1061             : 
    1062             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1063             : 
    1064             : #define CK_ENABLED 1
    1065             : 
    1066             : #if CK5_ENABLED
    1067             :     module procedure maxlocDIM_D2_CK5
    1068             :         use pm_kind, only: CKC => CK5
    1069             : #include "pm_complexMinMax@routines.inc.F90"
    1070             :     end procedure
    1071             : #endif
    1072             : 
    1073             : #if CK4_ENABLED
    1074           2 :     module procedure maxlocDIM_D2_CK4
    1075             :         use pm_kind, only: CKC => CK4
    1076             : #include "pm_complexMinMax@routines.inc.F90"
    1077           2 :     end procedure
    1078             : #endif
    1079             : 
    1080             : #if CK3_ENABLED
    1081           0 :     module procedure maxlocDIM_D2_CK3
    1082             :         use pm_kind, only: CKC => CK3
    1083             : #include "pm_complexMinMax@routines.inc.F90"
    1084           0 :     end procedure
    1085             : #endif
    1086             : 
    1087             : #if CK2_ENABLED
    1088           2 :     module procedure maxlocDIM_D2_CK2
    1089             :         use pm_kind, only: CKC => CK2
    1090             : #include "pm_complexMinMax@routines.inc.F90"
    1091           2 :     end procedure
    1092             : #endif
    1093             : 
    1094             : #if CK1_ENABLED
    1095           2 :     module procedure maxlocDIM_D2_CK1
    1096             :         use pm_kind, only: CKC => CK1
    1097             : #include "pm_complexMinMax@routines.inc.F90"
    1098           2 :     end procedure
    1099             : #endif
    1100             : 
    1101             : #undef CK_ENABLED
    1102             : 
    1103             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1104             : 
    1105             : #undef D2_ENABLED
    1106             : 
    1107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1109             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1110             : 
    1111             : #undef DIM_ENABLED
    1112             : 
    1113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1116             : 
    1117             : #undef maxloc_ENABLED
    1118             : 
    1119             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1120             : 
    1121             : #undef  CHECK_ASSERTION
    1122             : 
    1123             : end submodule routines

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