HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 5 Fast Fourier Transforms 545
One-dimensional FFT S1DFFT/D1DFFT
Usage Because it is common to use one data set length repetitively, these subprograms
have a separate initialization call such that the setup can be performed only
once for each different transform size. You will, therefore, always have at least
two CALL statements to the FFT subprogram using the same working storage
array. Refer to “Example” on page 546.
VECLIB:
INTEGER*4 l, iopt, ier
REAL*4 x(l), y(l), work(5*l/2)
CALL S1DFFT(x, y, l, work, iopt, ier)
INTEGER*4 l, iopt, ier
REAL*8 x(l), y(l), work(5*l/2)
CALL D1DFFT(x, y, l, work, iopt, ier)
VECLIB8:
INTEGER*8 l, iopt, ier
REAL*4 x(l), y(l), work(5*l/2)
CALL S1DFFT(x, y, l, work, iopt, ier)
INTEGER*8 l, iopt, ier
REAL*8 x(l), y(l), work(5*l/2)
CALL D1DFFT(x, y, l, work, iopt, ier)
Input x Array of real parts of the data to be transformed.
Not used if iopt = −3.
y Array of imaginary parts of the data to be transformed.
Not used if iopt = −3.
l Number of data points, l > 0.
iopt Option flag:
iopt = +1 Compute forward transform.
iopt = −1 Compute scaled inverse transform.
iopt = −2 Compute unscaled inverse transform.
iopt = −3 Initialize work for subsequent
transforms of length l.
Working
Storage
work If iopt = −3, work is initialized for computing
transforms of length l.
If iopt ≠−3, work must have been initialized by a
previous call with this value of l in which iopt was −3.