CTITLERCFFT2 -- REAL-TO-COMPLEX FFT 00010002 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR STU NELAN 00020002 CA DESIGNER STU NELAN 00030002 CA LANGUAGE FORTRAN 00040002 CA SYSTEM IBM (SEE CRAY SYSTEM LIBRARY) 00050002 CA WRITTEN 02-19-86 00060002 C REVISED XX-XX-XX III. ... 00070002 CA 00080002 CA 00090002 CA CALL RCFFT2 (INIT, IX, N, X, WORK, Y) 00100002 CA INPUT INIT = INITIALIZATION SWITCH I4 00110002 CA INPUT IX = FFT SWITCH I4 00120002 CA INPUT N = SIZE OF FFT I4 00130002 CA INPUT X = INPUT VECTOR OF LENGTH N R4 00140002 CA WORK WORK = WORK ARRAY R4 00150002 CA OUTPUT Y = RESULT VECTOR OF LENGTH (N/2)+1 COMPLEX C4 00160002 CA 00170002 CA 00180002 CA RCFFT2 SIMULATES THE CRAY RCFFT2 ROUTINE. 00190002 CAEND 00200002 SUBROUTINE RCFFT2 (INIT, IX, N, X, WORK, Y) 00210002 C 00220002 REAL WORK (1) 00230002 REAL X (1) 00240002 REAL Y (1) 00250002 C 00260002 IF (INIT .NE. 0) GO TO 50 00270002 C 00280002 CALL ARMVE (X, Y, N) 00290002 CALL S1FMAG (N, MAG, LFOUR) 00300002 C 00310002 CALL S2DFT2 (MAG, Y, *100) 00320002 C 00330002 SCALE = SQRT(N*2.0) 00340002 NP2 = N + 2 00350002 DO 10 I = 1, NP2 00360002 10 Y(I) = Y(I) * SCALE 00370002 C 00380002 IF (IX .LT. 0) GO TO 50 00390002 DO 30 I = 2, NP2, 2 00400002 30 Y(I) = -Y(I) 00410002 C 00420002 50 RETURN 00430002 C 00440002 100 CALL XDUMPX 00450002 GO TO 50 00460002 C 00470002 END 00480002