File: EX1F4F.FT of Tape: Various/ETH/eth11-3
(Source file text)
DIMENSION IR(32),IM(32) DATA PI/3.141593/,IM/32*0/ DELX=2.*PI/32. X=0. DO 1 I=1,32 IR(I)=SIN(X)*1000. 1 X=X+DELX TYPE 900 TYPE 1001,IR TYPE 1002,IM CALL FFT(IE,32,IR,IM,0,ISF) IF(IE) 99,2,99 2 IF(ISF.NE.0) TYPE 999,ISF TYPE 1000 TYPE 1001,IR TYPE 1002,IM CALL FFT(IE,32,IR,IM,1,ISI) IF(IE) 99,3,99 3 IF(ISI.NE.0) TYPE 999,ISI TYPE 2000 TYPE 1001,IR TYPE 1002,IM SCAL=2.**(ISF+ISI) DO 4 I=1,32 IR(I)=SCAL*(IR(I)/32) 4 IM(I)=SCAL*(IM(I)/32) TYPE 3000 TYPE 1001,IR TYPE 1002,IM STOP 99 TYPE 998,IE STOP 900 FORMAT(1H1,' DATA TO BE TRANSFORMED - SINE WAVE SCALED BY 1000.') 998 FORMAT(//' THE ERROR CODE RETURNED = ',I4) 999 FORMAT(//' THE SCALE FACTOR RETURNED = ',I4) 1000 FORMAT(//,' RESULTS FROM THE FORWARD FOURIER TRANSFORM OF 32', 1 ' POINTS OF A SINE WAVE') 1001 FORMAT(/' - REAL PART -'/,(8I8)) 1002 FORMAT(/' - IMAGINARY PART -'/,(8I8)) 2000 FORMAT(//,' RESULTS FROM THE INVERSE FOURIER TRANSFORM ', 1 //,32X,'- BEFORE SCALING 2 -') 3000 FORMAT(//,32X,'- AFTER SCALING -') END