CTITLECRFFT2 -- COMPLEX-TO-REAL FFT 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR STU NELAN 00020001 CA DESIGNER STU NELAN 00030001 CA LANGUAGE FORTRAN 00040001 CA SYSTEM IBM (SEE CRAY SYSTEM LIBRARY) 00050001 CA WRITTEN 02-19-86 00060001 C REVISED XX-XX-XX III. ... 00070001 CA 00080001 CA 00090001 CA CALL CRFFT2 (INIT, IX, N, X, WORK, Y) 00100001 CA INPUT INIT = INITIALIZATION SWITCH I4 00110001 CA INPUT IX = FFT SWITCH I4 00120001 CA INPUT N = SIZE OF FFT I4 00130001 CA INPUT X = INPUT VECTOR OF LENGTH N R4 00140001 CA WORK WORK = WORK ARRAY R4 00150001 CA OUTPUT Y = RESULT VECTOR OF LENGTH (N/2)+1 COMPLEX C4 00160001 CA 00170001 CA 00180001 CA CRFFT2 SIMULATES THE CRAY CRFFT2 ROUTINE. 00190001 CAEND 00200001 SUBROUTINE CRFFT2 (INIT, IX, N, X, WORK, Y) 00210001 C 00220001 REAL WORK (1) 00230001 REAL X (1) 00240001 REAL Y (1) 00250001 C 00260001 IF (INIT .NE. 0) GO TO 80 00270001 C 00280001 NP2 = N + 2 00290001 DO 10 I = 1, NP2, 2 00300001 10 Y(I) = X(I) 00310001 IF (IX .LT. 0) GO TO 30 00320001 DO 20 I = 2, NP2, 2 00330001 20 Y(I) = X(I) 00340001 GO TO 50 00350001 30 DO 40 I = 2, NP2, 2 00360001 40 Y(I) = -X(I) 00370001 50 CONTINUE 00380001 CALL S1FMAG (N, MAG, LFOUR) 00390001 C 00400001 CALL S2DFI2 (MAG, Y, *100) 00410001 C 00420001 SCALE = SQRT(N*2.0) 00430001 DO 60 I = 1, N 00440001 60 Y(I) = Y(I) * SCALE 00450001 C 00460001 80 RETURN 00470001 C 00480001 100 CALL XDUMPX 00490001 GO TO 80 00500001 C 00510001 END 00520001