HP MLIB User's Guide Vol. 2 7th Ed.

542 HP MLIB User’s Guide
C1DFFT/Z1DFFT One-dimensional FFT
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 543
VECLIB:
INTEGER*4 l, iopt, ier
COMPLEX*8 z(l)
REAL*4 work(5*l/2)
CALL C1DFFT(z, l, work, iopt, ier)
INTEGER*4 l, iopt, ier
COMPLEX*16 z(l)
REAL*8 work(5*l/2)
CALL Z1DFFT(z, l, work, iopt, ier)
VECLIB8:
INTEGER*8 l, iopt, ier
COMPLEX*8 z(l)
REAL*4 work(5*l/2)
CALL C1DFFT(z, l, work, iopt, ier)
INTEGER*8 l, iopt, ier
COMPLEX*16 z(l)
REAL*8 work(5*l/2)
CALL Z1DFFT(z, l, work, iopt, ier)
Input z Array of 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.