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

546 HP MLIB User’s Guide
S1DFFT/D1DFFT One-dimensional FFT
Output x and y If iopt ≠−3, the 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 REAL*8 data sets of
length 512. Here, the length of the working storage is 5 × 512/2 = 1280.
INTEGER*4 L,IOPT,IER
REAL*8 X1(512),Y1(512),X2(512),Y2(512),WORK(5*512/2)
L = 512
IOPT = -3
CALL D1DFFT (X1,Y1,L,WORK,IOPT,IER) ! INITIALIZE
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM D1DFFT.’
STOP
END IF
IOPT = 1
CALL D1DFFT (X1,Y1,L,WORK,IOPT,IER) ! FIRST TRANSFORM
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM D1DFFT.’
STOP
END IF
CALL D1DFFT (X2,Y2,L,WORK,IOPT,IER) ! SECOND TRANSFORM
IF ( IER .NE. 0 ) THEN
PRINT *,’IER =’,IER,’ FROM D1DFFT.’
STOP
END IF