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

Chapter 5 Fast Fourier Transforms 543
One-dimensional FFT C1DFFT/Z1DFFT
Output z If iopt ≠−3, transformed data replaces the input if
ier = 0 is returned. Not used as output if iopt = 3.
ier Status response:
ier = 0 Normal return—transform or
initialization successful.
ier = 1 l < 0.
ier = −2 l = 0.
ier = 3 Invalid value of iopt.
ier = 4 Insufficient dynamic memory
available for workspace.
Example Compute the forward discrete Fourier transform of two COMPLEX*8 data sets
of length 1024. Here, length of working storage is 5 × 1024/2 = 2560.
INTEGER*4 L,IOPT,IER
COMPLEX*8 Z1(1024),Z2(1024)
REAL*4 WORK(5*1024/2)
L = 1024
IOPT = -3
CALL C1DFFT (Z1,L,WORK,IOPT,IER) ! INITIALIZE
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM C1DFFT.’
STOP
END IF
CALL C1DFFT (Z1,L,WORK,IOPT,IER) ! FIRST TRANSFORM
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM C1DFFT.’
STOP
END IF
CALL C1DFFT (Z2,L,WORK,IOPT,IER) ! SECOND TRANSFORM
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM C1DFFT.’
STOP
END IF