FFTPACK5, a FORTRAN90 code which computes Fast Fourier Transforms, by Paul Swarztrauber and Dick Valent;
Note: An apparent indexing problem in the 2D complex codes CFFT2B/CFFT2F/CFFT2I and ZFFT2B/ZFFT2F/ZFFT2I was reported on 10 May 2010. A partial fix was inserted, the authors have been noted, and a proper fix has been promised...
Special features include:
Routines in the code come in groups of three:
The following table groups the routines:
Initialization | Forward | Backward | Purpose |
---|---|---|---|
CFFT1I | CFFT1F | CFFT1B | FFT for complex single precision 1D data |
CFFT2I | CFFT2F | CFFT2B | FFT for complex single precision 2D data |
CFFTMI | CFFTMF | CFFTMB | FFT for complex single precision multi-D data |
COSQ1I | COSQ1F | COSQ1B | Even function 1D quarter-cosine FFT for real single precision data |
DCOSQ1I | DCOSQ1F | DCOSQ1B | Even function 1D quarter-cosine FFT for real double precision data |
COSQMI | COSQMF | COSQMB | Even function 1D quarter-cosine FFT for real single precision data |
COST1I | COST1F | COST1B | Even function 1D cosine FFT for real single precision data |
DCOST1I | DCOST1F | DCOST1B | Even function 1D cosine FFT for real double precision data |
COSTMI | COSTMF | COSTMB | Even function 1D cosine FFT for real single precision data |
RFFT1I | RFFT1F | RFFT1B | FFT for real single precision 1D data |
DFFT1I | DFFT1F | DFFT1B | FFT for real double precision 1D data |
RFFT2I | RFFT2F | RFFT2B | FFT for real single precision 2D data |
RFFTMI | RFFTMF | RFFTMB | FFT for real single precision multi-D data |
SINQ1I | SINQ1F | SINQ1B | Even function 1D quarter-sine FFT for real single precision data |
SINQMI | SINQMF | SINQMB | Even function 1D quarter-sine FFT for real single precision data |
SINT1I | SINT1F | SINT1B | Even function 1D sine FFT for real single precision data |
DSINT1I | DSINT1F | DSINT1B | Even function 1D sine FFT for real double precision data |
SINTMI | SINTMF | SINTMB | Even function 1D sine FFT for real single precision data |
ZFFT1I | ZFFT1F | ZFFT1B | FFT for complex double precision 1D data |
ZFFT2I | ZFFT2F | ZFFT2B | FFT for complex double precision 2D data |
ZFFTMI | ZFFTMF | ZFFTMB | FFT for complex double precision multi-D data |
Licensed under the GNU General Public License (GPL).
Copyright (C) 1995-2004, Scientific Computing Division,
University Corporation for Atmospheric Research.
FFTPACK5 is available in a FORTRAN90 version.
FFTPACK51, a FORTRAN90 code which implements the Fast Fourier Transform by Paul Swarztrauber and Dick Valent;
fftw_test, FORTRAN90 codes which illustrate the use of the FFTW3 code for Fast Fourier Transforms, by Matteo Frigo and Steven Johnson.
NMS, a FORTRAN90 code which includes a number of FFT routines.
SFTPACK, a FORTRAN90 code which implements the "slow" Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
XERROR, a FORTRAN90 code which is designed to report and handle errors detected during code execution.
The original Fortran77 version of this code was written by Dick Valent and Paul Swarztrauber, of the National Center for Atmospheric Research (NCAR).
Modifications and additions were made by John Burkardt to convert the code to FORTRAN90 format, and to add real and complex double precision routines.