https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_fftpack@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 84 124 67.7 %
Date: 2024-04-08 03:18:57 Functions: 52 72 72.2 %
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_fftpack](@ref pm_fftpack).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 PM, September 22, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_fftpack) routines
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     use pm_arrayResize, only: setResized
      40             :     implicit none
      41             : 
      42             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : contains
      45             : 
      46             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      47             : 
      48             : #define setFactorFFT_ENABLED 1
      49             : 
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             : 
      54             : #define DXX_ENABLED 1
      55             : 
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             : 
      58             : #define CK_ENABLED 1
      59             : 
      60             : #if CK5_ENABLED
      61             :     module procedure setFactorFFTDXX_CK5
      62             :         use pm_kind, only: TKC => CK5
      63             : #include "pm_fftpack@routines.inc.F90"
      64             :     end procedure
      65             : #endif
      66             : 
      67             : #if CK4_ENABLED
      68           0 :     module procedure setFactorFFTDXX_CK4
      69             :         use pm_kind, only: TKC => CK4
      70             : #include "pm_fftpack@routines.inc.F90"
      71           0 :     end procedure
      72             : #endif
      73             : 
      74             : #if CK3_ENABLED
      75           0 :     module procedure setFactorFFTDXX_CK3
      76             :         use pm_kind, only: TKC => CK3
      77             : #include "pm_fftpack@routines.inc.F90"
      78           0 :     end procedure
      79             : #endif
      80             : 
      81             : #if CK2_ENABLED
      82           0 :     module procedure setFactorFFTDXX_CK2
      83             :         use pm_kind, only: TKC => CK2
      84             : #include "pm_fftpack@routines.inc.F90"
      85           0 :     end procedure
      86             : #endif
      87             : 
      88             : #if CK1_ENABLED
      89           0 :     module procedure setFactorFFTDXX_CK1
      90             :         use pm_kind, only: TKC => CK1
      91             : #include "pm_fftpack@routines.inc.F90"
      92           0 :     end procedure
      93             : #endif
      94             : 
      95             : #undef CK_ENABLED
      96             : 
      97             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      98             : 
      99             : #define RK_ENABLED 1
     100             : 
     101             : #if RK5_ENABLED
     102             :     module procedure setFactorFFTDXX_RK5
     103             :         use pm_kind, only: TKC => RK5
     104             : #include "pm_fftpack@routines.inc.F90"
     105             :     end procedure
     106             : #endif
     107             : 
     108             : #if RK4_ENABLED
     109           0 :     module procedure setFactorFFTDXX_RK4
     110             :         use pm_kind, only: TKC => RK4
     111             : #include "pm_fftpack@routines.inc.F90"
     112           0 :     end procedure
     113             : #endif
     114             : 
     115             : #if RK3_ENABLED
     116           0 :     module procedure setFactorFFTDXX_RK3
     117             :         use pm_kind, only: TKC => RK3
     118             : #include "pm_fftpack@routines.inc.F90"
     119           0 :     end procedure
     120             : #endif
     121             : 
     122             : #if RK2_ENABLED
     123           0 :     module procedure setFactorFFTDXX_RK2
     124             :         use pm_kind, only: TKC => RK2
     125             : #include "pm_fftpack@routines.inc.F90"
     126           0 :     end procedure
     127             : #endif
     128             : 
     129             : #if RK1_ENABLED
     130           0 :     module procedure setFactorFFTDXX_RK1
     131             :         use pm_kind, only: TKC => RK1
     132             : #include "pm_fftpack@routines.inc.F90"
     133           0 :     end procedure
     134             : #endif
     135             : 
     136             : #undef RK_ENABLED
     137             : 
     138             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     139             : 
     140             : #undef DXX_ENABLED
     141             : 
     142             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     144             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     145             : 
     146             : #define DCX_ENABLED 1
     147             : 
     148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     149             : 
     150             : #define CK_ENABLED 1
     151             : 
     152             : #if CK5_ENABLED
     153             :     module procedure setFactorFFTDCX_CK5
     154             :         use pm_kind, only: TKC => CK5
     155             : #include "pm_fftpack@routines.inc.F90"
     156             :     end procedure
     157             : #endif
     158             : 
     159             : #if CK4_ENABLED
     160        3836 :     module procedure setFactorFFTDCX_CK4
     161             :         use pm_kind, only: TKC => CK4
     162             : #include "pm_fftpack@routines.inc.F90"
     163        3836 :     end procedure
     164             : #endif
     165             : 
     166             : #if CK3_ENABLED
     167        3768 :     module procedure setFactorFFTDCX_CK3
     168             :         use pm_kind, only: TKC => CK3
     169             : #include "pm_fftpack@routines.inc.F90"
     170        3768 :     end procedure
     171             : #endif
     172             : 
     173             : #if CK2_ENABLED
     174        3836 :     module procedure setFactorFFTDCX_CK2
     175             :         use pm_kind, only: TKC => CK2
     176             : #include "pm_fftpack@routines.inc.F90"
     177        3836 :     end procedure
     178             : #endif
     179             : 
     180             : #if CK1_ENABLED
     181        3841 :     module procedure setFactorFFTDCX_CK1
     182             :         use pm_kind, only: TKC => CK1
     183             : #include "pm_fftpack@routines.inc.F90"
     184        3841 :     end procedure
     185             : #endif
     186             : 
     187             : #undef CK_ENABLED
     188             : 
     189             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     190             : 
     191             : #define RK_ENABLED 1
     192             : 
     193             : #if RK5_ENABLED
     194             :     module procedure setFactorFFTDCX_RK5
     195             :         use pm_kind, only: TKC => RK5
     196             : #include "pm_fftpack@routines.inc.F90"
     197             :     end procedure
     198             : #endif
     199             : 
     200             : #if RK4_ENABLED
     201        3700 :     module procedure setFactorFFTDCX_RK4
     202             :         use pm_kind, only: TKC => RK4
     203             : #include "pm_fftpack@routines.inc.F90"
     204             :     end procedure
     205             : #endif
     206             : 
     207             : #if RK3_ENABLED
     208        3642 :     module procedure setFactorFFTDCX_RK3
     209             :         use pm_kind, only: TKC => RK3
     210             : #include "pm_fftpack@routines.inc.F90"
     211             :     end procedure
     212             : #endif
     213             : 
     214             : #if RK2_ENABLED
     215        3700 :     module procedure setFactorFFTDCX_RK2
     216             :         use pm_kind, only: TKC => RK2
     217             : #include "pm_fftpack@routines.inc.F90"
     218             :     end procedure
     219             : #endif
     220             : 
     221             : #if RK1_ENABLED
     222        3714 :     module procedure setFactorFFTDCX_RK1
     223             :         use pm_kind, only: TKC => RK1
     224             : #include "pm_fftpack@routines.inc.F90"
     225             :     end procedure
     226             : #endif
     227             : 
     228             : #undef RK_ENABLED
     229             : 
     230             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     231             : 
     232             : #undef DCX_ENABLED
     233             : 
     234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     236             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     237             : 
     238             : #define DCA_ENABLED 1
     239             : 
     240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     241             : 
     242             : #define CK_ENABLED 1
     243             : 
     244             : #if CK5_ENABLED
     245             :     module procedure setFactorFFTDCA_CK5
     246             :         use pm_kind, only: TKC => CK5
     247             : #include "pm_fftpack@routines.inc.F90"
     248             :     end procedure
     249             : #endif
     250             : 
     251             : #if CK4_ENABLED
     252           0 :     module procedure setFactorFFTDCA_CK4
     253             :         use pm_kind, only: TKC => CK4
     254             : #include "pm_fftpack@routines.inc.F90"
     255           0 :     end procedure
     256             : #endif
     257             : 
     258             : #if CK3_ENABLED
     259           0 :     module procedure setFactorFFTDCA_CK3
     260             :         use pm_kind, only: TKC => CK3
     261             : #include "pm_fftpack@routines.inc.F90"
     262           0 :     end procedure
     263             : #endif
     264             : 
     265             : #if CK2_ENABLED
     266           0 :     module procedure setFactorFFTDCA_CK2
     267             :         use pm_kind, only: TKC => CK2
     268             : #include "pm_fftpack@routines.inc.F90"
     269           0 :     end procedure
     270             : #endif
     271             : 
     272             : #if CK1_ENABLED
     273           0 :     module procedure setFactorFFTDCA_CK1
     274             :         use pm_kind, only: TKC => CK1
     275             : #include "pm_fftpack@routines.inc.F90"
     276           0 :     end procedure
     277             : #endif
     278             : 
     279             : #undef CK_ENABLED
     280             : 
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #define RK_ENABLED 1
     284             : 
     285             : #if RK5_ENABLED
     286             :     module procedure setFactorFFTDCA_RK5
     287             :         use pm_kind, only: TKC => RK5
     288             : #include "pm_fftpack@routines.inc.F90"
     289             :     end procedure
     290             : #endif
     291             : 
     292             : #if RK4_ENABLED
     293           0 :     module procedure setFactorFFTDCA_RK4
     294             :         use pm_kind, only: TKC => RK4
     295             : #include "pm_fftpack@routines.inc.F90"
     296           0 :     end procedure
     297             : #endif
     298             : 
     299             : #if RK3_ENABLED
     300           0 :     module procedure setFactorFFTDCA_RK3
     301             :         use pm_kind, only: TKC => RK3
     302             : #include "pm_fftpack@routines.inc.F90"
     303           0 :     end procedure
     304             : #endif
     305             : 
     306             : #if RK2_ENABLED
     307           0 :     module procedure setFactorFFTDCA_RK2
     308             :         use pm_kind, only: TKC => RK2
     309             : #include "pm_fftpack@routines.inc.F90"
     310           0 :     end procedure
     311             : #endif
     312             : 
     313             : #if RK1_ENABLED
     314           2 :     module procedure setFactorFFTDCA_RK1
     315             :         use pm_kind, only: TKC => RK1
     316             : #include "pm_fftpack@routines.inc.F90"
     317           2 :     end procedure
     318             : #endif
     319             : 
     320             : #undef RK_ENABLED
     321             : 
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             : 
     324             : #undef DCA_ENABLED
     325             : 
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             : 
     330             : #undef setFactorFFT_ENABLED
     331             : 
     332             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     333             : 
     334             : #define getFFTF_ENABLED 1
     335             : 
     336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     337             : 
     338             : #define CK_ENABLED 1
     339             : 
     340             : #if CK5_ENABLED
     341             :     module procedure getFFTF_CK5
     342             :         use pm_kind, only: TKC => CK5
     343             : #include "pm_fftpack@routines.inc.F90"
     344             :     end procedure
     345             : #endif
     346             : 
     347             : #if CK4_ENABLED
     348         119 :     module procedure getFFTF_CK4
     349             :         use pm_kind, only: TKC => CK4
     350             : #include "pm_fftpack@routines.inc.F90"
     351         119 :     end procedure
     352             : #endif
     353             : 
     354             : #if CK3_ENABLED
     355          84 :     module procedure getFFTF_CK3
     356             :         use pm_kind, only: TKC => CK3
     357             : #include "pm_fftpack@routines.inc.F90"
     358          84 :     end procedure
     359             : #endif
     360             : 
     361             : #if CK2_ENABLED
     362         119 :     module procedure getFFTF_CK2
     363             :         use pm_kind, only: TKC => CK2
     364             : #include "pm_fftpack@routines.inc.F90"
     365         119 :     end procedure
     366             : #endif
     367             : 
     368             : #if CK1_ENABLED
     369         119 :     module procedure getFFTF_CK1
     370             :         use pm_kind, only: TKC => CK1
     371             : #include "pm_fftpack@routines.inc.F90"
     372         119 :     end procedure
     373             : #endif
     374             : 
     375             : #undef CK_ENABLED
     376             : 
     377             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     378             : 
     379             : #define RK_ENABLED 1
     380             : 
     381             : #if RK5_ENABLED
     382             :     module procedure getFFTF_RK5
     383             :         use pm_kind, only: TKC => RK5
     384             : #include "pm_fftpack@routines.inc.F90"
     385             :     end procedure
     386             : #endif
     387             : 
     388             : #if RK4_ENABLED
     389          30 :     module procedure getFFTF_RK4
     390             :         use pm_kind, only: TKC => RK4
     391             : #include "pm_fftpack@routines.inc.F90"
     392          30 :     end procedure
     393             : #endif
     394             : 
     395             : #if RK3_ENABLED
     396           0 :     module procedure getFFTF_RK3
     397             :         use pm_kind, only: TKC => RK3
     398             : #include "pm_fftpack@routines.inc.F90"
     399           0 :     end procedure
     400             : #endif
     401             : 
     402             : #if RK2_ENABLED
     403          30 :     module procedure getFFTF_RK2
     404             :         use pm_kind, only: TKC => RK2
     405             : #include "pm_fftpack@routines.inc.F90"
     406          30 :     end procedure
     407             : #endif
     408             : 
     409             : #if RK1_ENABLED
     410          30 :     module procedure getFFTF_RK1
     411             :         use pm_kind, only: TKC => RK1
     412             : #include "pm_fftpack@routines.inc.F90"
     413          30 :     end procedure
     414             : #endif
     415             : 
     416             : #undef RK_ENABLED
     417             : 
     418             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     419             : 
     420             : #undef getFFTF_ENABLED
     421             : 
     422             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     423             : 
     424             : #define getFFTR_ENABLED 1
     425             : 
     426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     427             : 
     428             : #define CK_ENABLED 1
     429             : 
     430             : #if CK5_ENABLED
     431             :     module procedure getFFTR_CK5
     432             :         use pm_kind, only: TKC => CK5
     433             : #include "pm_fftpack@routines.inc.F90"
     434             :     end procedure
     435             : #endif
     436             : 
     437             : #if CK4_ENABLED
     438           5 :     module procedure getFFTR_CK4
     439             :         use pm_kind, only: TKC => CK4
     440             : #include "pm_fftpack@routines.inc.F90"
     441           5 :     end procedure
     442             : #endif
     443             : 
     444             : #if CK3_ENABLED
     445           0 :     module procedure getFFTR_CK3
     446             :         use pm_kind, only: TKC => CK3
     447             : #include "pm_fftpack@routines.inc.F90"
     448           0 :     end procedure
     449             : #endif
     450             : 
     451             : #if CK2_ENABLED
     452           5 :     module procedure getFFTR_CK2
     453             :         use pm_kind, only: TKC => CK2
     454             : #include "pm_fftpack@routines.inc.F90"
     455           5 :     end procedure
     456             : #endif
     457             : 
     458             : #if CK1_ENABLED
     459           5 :     module procedure getFFTR_CK1
     460             :         use pm_kind, only: TKC => CK1
     461             : #include "pm_fftpack@routines.inc.F90"
     462           5 :     end procedure
     463             : #endif
     464             : 
     465             : #undef CK_ENABLED
     466             : 
     467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     468             : 
     469             : #define RK_ENABLED 1
     470             : 
     471             : #if RK5_ENABLED
     472             :     module procedure getFFTR_RK5
     473             :         use pm_kind, only: TKC => RK5
     474             : #include "pm_fftpack@routines.inc.F90"
     475             :     end procedure
     476             : #endif
     477             : 
     478             : #if RK4_ENABLED
     479           5 :     module procedure getFFTR_RK4
     480             :         use pm_kind, only: TKC => RK4
     481             : #include "pm_fftpack@routines.inc.F90"
     482           5 :     end procedure
     483             : #endif
     484             : 
     485             : #if RK3_ENABLED
     486           0 :     module procedure getFFTR_RK3
     487             :         use pm_kind, only: TKC => RK3
     488             : #include "pm_fftpack@routines.inc.F90"
     489           0 :     end procedure
     490             : #endif
     491             : 
     492             : #if RK2_ENABLED
     493           5 :     module procedure getFFTR_RK2
     494             :         use pm_kind, only: TKC => RK2
     495             : #include "pm_fftpack@routines.inc.F90"
     496           5 :     end procedure
     497             : #endif
     498             : 
     499             : #if RK1_ENABLED
     500           5 :     module procedure getFFTR_RK1
     501             :         use pm_kind, only: TKC => RK1
     502             : #include "pm_fftpack@routines.inc.F90"
     503           5 :     end procedure
     504             : #endif
     505             : 
     506             : #undef RK_ENABLED
     507             : 
     508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     509             : 
     510             : #undef getFFTR_ENABLED
     511             : 
     512             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     513             : 
     514             : #define getFFTI_ENABLED 1
     515             : 
     516             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     517             : 
     518             : #define CK_ENABLED 1
     519             : 
     520             : #if CK5_ENABLED
     521             :     module procedure getFFTI_CK5
     522             :         use pm_kind, only: TKC => CK5
     523             : #include "pm_fftpack@routines.inc.F90"
     524             :     end procedure
     525             : #endif
     526             : 
     527             : #if CK4_ENABLED
     528          67 :     module procedure getFFTI_CK4
     529             :         use pm_kind, only: TKC => CK4
     530             : #include "pm_fftpack@routines.inc.F90"
     531          67 :     end procedure
     532             : #endif
     533             : 
     534             : #if CK3_ENABLED
     535          42 :     module procedure getFFTI_CK3
     536             :         use pm_kind, only: TKC => CK3
     537             : #include "pm_fftpack@routines.inc.F90"
     538          42 :     end procedure
     539             : #endif
     540             : 
     541             : #if CK2_ENABLED
     542          67 :     module procedure getFFTI_CK2
     543             :         use pm_kind, only: TKC => CK2
     544             : #include "pm_fftpack@routines.inc.F90"
     545          67 :     end procedure
     546             : #endif
     547             : 
     548             : #if CK1_ENABLED
     549          67 :     module procedure getFFTI_CK1
     550             :         use pm_kind, only: TKC => CK1
     551             : #include "pm_fftpack@routines.inc.F90"
     552          67 :     end procedure
     553             : #endif
     554             : 
     555             : #undef CK_ENABLED
     556             : 
     557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     558             : 
     559             : #define RK_ENABLED 1
     560             : 
     561             : #if RK5_ENABLED
     562             :     module procedure getFFTI_RK5
     563             :         use pm_kind, only: TKC => RK5
     564             : #include "pm_fftpack@routines.inc.F90"
     565             :     end procedure
     566             : #endif
     567             : 
     568             : #if RK4_ENABLED
     569          20 :     module procedure getFFTI_RK4
     570             :         use pm_kind, only: TKC => RK4
     571             : #include "pm_fftpack@routines.inc.F90"
     572          20 :     end procedure
     573             : #endif
     574             : 
     575             : #if RK3_ENABLED
     576           0 :     module procedure getFFTI_RK3
     577             :         use pm_kind, only: TKC => RK3
     578             : #include "pm_fftpack@routines.inc.F90"
     579           0 :     end procedure
     580             : #endif
     581             : 
     582             : #if RK2_ENABLED
     583          20 :     module procedure getFFTI_RK2
     584             :         use pm_kind, only: TKC => RK2
     585             : #include "pm_fftpack@routines.inc.F90"
     586          20 :     end procedure
     587             : #endif
     588             : 
     589             : #if RK1_ENABLED
     590          20 :     module procedure getFFTI_RK1
     591             :         use pm_kind, only: TKC => RK1
     592             : #include "pm_fftpack@routines.inc.F90"
     593          20 :     end procedure
     594             : #endif
     595             : 
     596             : #undef RK_ENABLED
     597             : 
     598             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     599             : 
     600             : #undef getFFTI_ENABLED
     601             : 
     602             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     603             : 
     604             : #define setFFTF_ENABLED 1
     605             : 
     606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             : 
     608             : #define CK_ENABLED 1
     609             : 
     610             : #if CK5_ENABLED
     611             :     module procedure setFFTF_CK5
     612             :         use pm_kind, only: TKC => CK5
     613             : #include "pm_fftpack@routines.inc.F90"
     614             :     end procedure
     615             : #endif
     616             : 
     617             : #if CK4_ENABLED
     618        6627 :     module procedure setFFTF_CK4
     619             :         use pm_kind, only: TKC => CK4
     620             : #include "pm_fftpack@routines.inc.F90"
     621             :     end procedure
     622             : #endif
     623             : 
     624             : #if CK3_ENABLED
     625        6589 :     module procedure setFFTF_CK3
     626             :         use pm_kind, only: TKC => CK3
     627             : #include "pm_fftpack@routines.inc.F90"
     628             :     end procedure
     629             : #endif
     630             : 
     631             : #if CK2_ENABLED
     632        6627 :     module procedure setFFTF_CK2
     633             :         use pm_kind, only: TKC => CK2
     634             : #include "pm_fftpack@routines.inc.F90"
     635             :     end procedure
     636             : #endif
     637             : 
     638             : #if CK1_ENABLED
     639        6633 :     module procedure setFFTF_CK1
     640             :         use pm_kind, only: TKC => CK1
     641             : #include "pm_fftpack@routines.inc.F90"
     642             :     end procedure
     643             : #endif
     644             : 
     645             : #undef CK_ENABLED
     646             : 
     647             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     648             : 
     649             : #define RK_ENABLED 1
     650             : 
     651             : #if RK5_ENABLED
     652             :     module procedure setFFTF_RK5
     653             :         use pm_kind, only: TKC => RK5
     654             : #include "pm_fftpack@routines.inc.F90"
     655             :     end procedure
     656             : #endif
     657             : 
     658             : #if RK4_ENABLED
     659        6538 :     module procedure setFFTF_RK4
     660             :         use pm_kind, only: TKC => RK4
     661             : #include "pm_fftpack@routines.inc.F90"
     662             :     end procedure
     663             : #endif
     664             : 
     665             : #if RK3_ENABLED
     666        6505 :     module procedure setFFTF_RK3
     667             :         use pm_kind, only: TKC => RK3
     668             : #include "pm_fftpack@routines.inc.F90"
     669             :     end procedure
     670             : #endif
     671             : 
     672             : #if RK2_ENABLED
     673        6538 :     module procedure setFFTF_RK2
     674             :         use pm_kind, only: TKC => RK2
     675             : #include "pm_fftpack@routines.inc.F90"
     676             :     end procedure
     677             : #endif
     678             : 
     679             : #if RK1_ENABLED
     680        6557 :     module procedure setFFTF_RK1
     681             :         use pm_kind, only: TKC => RK1
     682             : #include "pm_fftpack@routines.inc.F90"
     683             :     end procedure
     684             : #endif
     685             : 
     686             : #undef RK_ENABLED
     687             : 
     688             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     689             : 
     690             : #undef setFFTF_ENABLED
     691             : 
     692             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     693             : 
     694             : #define setFFTR_ENABLED 1
     695             : 
     696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     697             : 
     698             : #define CK_ENABLED 1
     699             : 
     700             : #if CK5_ENABLED
     701             :     module procedure setFFTR_CK5
     702             :         use pm_kind, only: TKC => CK5
     703             : #include "pm_fftpack@routines.inc.F90"
     704             :     end procedure
     705             : #endif
     706             : 
     707             : #if CK4_ENABLED
     708        3738 :     module procedure setFFTR_CK4
     709             :         use pm_kind, only: TKC => CK4
     710             : #include "pm_fftpack@routines.inc.F90"
     711             :     end procedure
     712             : #endif
     713             : 
     714             : #if CK3_ENABLED
     715        3705 :     module procedure setFFTR_CK3
     716             :         use pm_kind, only: TKC => CK3
     717             : #include "pm_fftpack@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #if CK2_ENABLED
     722        3738 :     module procedure setFFTR_CK2
     723             :         use pm_kind, only: TKC => CK2
     724             : #include "pm_fftpack@routines.inc.F90"
     725             :     end procedure
     726             : #endif
     727             : 
     728             : #if CK1_ENABLED
     729        3742 :     module procedure setFFTR_CK1
     730             :         use pm_kind, only: TKC => CK1
     731             : #include "pm_fftpack@routines.inc.F90"
     732             :     end procedure
     733             : #endif
     734             : 
     735             : #undef CK_ENABLED
     736             : 
     737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     738             : 
     739             : #define RK_ENABLED 1
     740             : 
     741             : #if RK5_ENABLED
     742             :     module procedure setFFTR_RK5
     743             :         use pm_kind, only: TKC => RK5
     744             : #include "pm_fftpack@routines.inc.F90"
     745             :     end procedure
     746             : #endif
     747             : 
     748             : #if RK4_ENABLED
     749        3691 :     module procedure setFFTR_RK4
     750             :         use pm_kind, only: TKC => RK4
     751             : #include "pm_fftpack@routines.inc.F90"
     752             :     end procedure
     753             : #endif
     754             : 
     755             : #if RK3_ENABLED
     756        3663 :     module procedure setFFTR_RK3
     757             :         use pm_kind, only: TKC => RK3
     758             : #include "pm_fftpack@routines.inc.F90"
     759             :     end procedure
     760             : #endif
     761             : 
     762             : #if RK2_ENABLED
     763        3691 :     module procedure setFFTR_RK2
     764             :         use pm_kind, only: TKC => RK2
     765             : #include "pm_fftpack@routines.inc.F90"
     766             :     end procedure
     767             : #endif
     768             : 
     769             : #if RK1_ENABLED
     770        3704 :     module procedure setFFTR_RK1
     771             :         use pm_kind, only: TKC => RK1
     772             : #include "pm_fftpack@routines.inc.F90"
     773             :     end procedure
     774             : #endif
     775             : 
     776             : #undef RK_ENABLED
     777             : 
     778             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     779             : 
     780             : #undef setFFTR_ENABLED
     781             : 
     782             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     783             : 
     784             : #define setFFTI_ENABLED 1
     785             : 
     786             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     787             : 
     788             : #define CK_ENABLED 1
     789             : 
     790             : #if CK5_ENABLED
     791             :     module procedure setFFTI_CK5
     792             :         use pm_kind, only: TKC => CK5
     793             : #include "pm_fftpack@routines.inc.F90"
     794             :     end procedure
     795             : #endif
     796             : 
     797             : #if CK4_ENABLED
     798          68 :     module procedure setFFTI_CK4
     799             :         use pm_kind, only: TKC => CK4
     800             : #include "pm_fftpack@routines.inc.F90"
     801          68 :     end procedure
     802             : #endif
     803             : 
     804             : #if CK3_ENABLED
     805          42 :     module procedure setFFTI_CK3
     806             :         use pm_kind, only: TKC => CK3
     807             : #include "pm_fftpack@routines.inc.F90"
     808          42 :     end procedure
     809             : #endif
     810             : 
     811             : #if CK2_ENABLED
     812          68 :     module procedure setFFTI_CK2
     813             :         use pm_kind, only: TKC => CK2
     814             : #include "pm_fftpack@routines.inc.F90"
     815          68 :     end procedure
     816             : #endif
     817             : 
     818             : #if CK1_ENABLED
     819          68 :     module procedure setFFTI_CK1
     820             :         use pm_kind, only: TKC => CK1
     821             : #include "pm_fftpack@routines.inc.F90"
     822          68 :     end procedure
     823             : #endif
     824             : 
     825             : #undef CK_ENABLED
     826             : 
     827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     828             : 
     829             : #define RK_ENABLED 1
     830             : 
     831             : #if RK5_ENABLED
     832             :     module procedure setFFTI_RK5
     833             :         use pm_kind, only: TKC => RK5
     834             : #include "pm_fftpack@routines.inc.F90"
     835             :     end procedure
     836             : #endif
     837             : 
     838             : #if RK4_ENABLED
     839          21 :     module procedure setFFTI_RK4
     840             :         use pm_kind, only: TKC => RK4
     841             : #include "pm_fftpack@routines.inc.F90"
     842          21 :     end procedure
     843             : #endif
     844             : 
     845             : #if RK3_ENABLED
     846           0 :     module procedure setFFTI_RK3
     847             :         use pm_kind, only: TKC => RK3
     848             : #include "pm_fftpack@routines.inc.F90"
     849           0 :     end procedure
     850             : #endif
     851             : 
     852             : #if RK2_ENABLED
     853          21 :     module procedure setFFTI_RK2
     854             :         use pm_kind, only: TKC => RK2
     855             : #include "pm_fftpack@routines.inc.F90"
     856          21 :     end procedure
     857             : #endif
     858             : 
     859             : #if RK1_ENABLED
     860          21 :     module procedure setFFTI_RK1
     861             :         use pm_kind, only: TKC => RK1
     862             : #include "pm_fftpack@routines.inc.F90"
     863          21 :     end procedure
     864             : #endif
     865             : 
     866             : #undef RK_ENABLED
     867             : 
     868             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     869             : 
     870             : #undef setFFTI_ENABLED
     871             : 
     872             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     873             : 
     874             : #undef CHECK_ASSERTION
     875             : 
     876             : end submodule routines

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