Complex Transform Routines __________________________ CFFT1I 1D complex initialization CFFT1B 1D complex backward CFFT1F 1D complex forward CFFT2I 2D complex initialization CFFT2B 2D complex backward CFFT2F 2D complex forward CFFTMI multiple complex initialization CFFTMB multiple complex backward CFFTMF multiple complex forward Real Transform Routines _______________________ RFFT1I 1D real initialization RFFT1B 1D real backward RFFT1F 1D real forward RFFT2I 2D real initialization RFFT2B 2D real backward RFFT2F 2D real forward RFFTMI multiple real initialization RFFTMB multiple real backward RFFTMF multiple real forward Real Cosine Transform Routines ______________________________ COST1I 1D real cosine initialization COST1B 1D real cosine backward COST1F 1D real cosine forward COSTMI multiple real cosine initialization COSTMB multiple real cosine backward COSTMF multiple real cosine forward Real Sine Transform Routines ____________________________ SINT1I 1D real sine initialization SINT1B 1D real sine backward SINT1F 1D real sine forward SINTMI multiple real sine initialization SINTMB multiple real sine backward SINTMF multiple real sine forward Real Quarter-Cosine Transform Routines ______________________________________ COSQ1I 1D real quarter-cosine initialization COSQ1B 1D real quarter-cosine backward COSQ1F 1D real quarter-cosine forward COSQMI multiple real quarter-cosine initialization COSQMB multiple real quarter-cosine backward COSQMF multiple real quarter-cosine forward Real Quarter-Sine Transform Routines ____________________________________ SINQ1I 1D real quarter-sine initialization SINQ1B 1D real quarter-sine backward SINQ1F 1D real quarter-sine forward SINQMI multiple real quarter-sine initialization SINQMB multiple real quarter-sine backward SINQMF multiple real quarter-sine forward
Library FFTPACK 5.1 contains 1D, 2D, and multiple fast Fourier subroutines, written in Fortran 77, for transforming real and complex data, real even and odd wave data, and real even and odd quarter-wave data. All of the FFTPACK 5.1 routines listed above are grouped in triplets e.g. {CFFT1I, CFFT1F, CFFT1B}. The suffix I denotes initialize, F denotes forward (as in forward transform) and B denotes backward. In an application program, before calling B or F routines for the first time, or before calling them with a different length, users must initialize an array by calling the I routine of the appropriate pair or triplet. Note that I routines need not be called each time before a B or F routine is called.
All of the transform routines in FFTPACK 5.1 are normalized.
Error messages are written to unit 6 by routine XERFFT. The standard version of XERFFT issues an error message and halts execution, so that no FFTPACK 5.1 routine will return to the calling program with error return IER different than zero. Users may consider modifying the STOP statement in order to call system-specific exception-handling facilities.
FFTPACK 5.1 is written in standard Fortran 77 except for several instances where arrays of type REAL or COMPLEX are passed to a subroutine and used as a different type.
(1) Vectorizing the Fast Fourier Transforms, by Paul Swarztrauber, Parallel Computations, G. Rodrigue, ed., Academic Press, New York 1982.