|
PROGRAM TEST
|
IMPLICIT NONE
|
C
|
INTEGER N
|
PARAMETER (N = 9)
|
C
|
INTEGER I
|
REAL A(N), B(N), AZERO, PI, R(N)
|
REAL WSAVE(3 * N + 15)
|
C
|
EXTERNAL EZFFTB, EZFFTF, EZFFTI
|
INTRINSIC ACOS, COS, SIN
|
C
|
C Initialize array to a sequence of real numbers.
|
C
|
PI = ACOS (-1.0)
|
DO 100, I=1, N
|
R(I) = 3.0 + SIN ((I - 1.0) * 2.0 * PI / N) +
|
$ 4.0 * COS ((I - 1.0) * 8.0 * PI / N)
|
100 CONTINUE
|
C
|
CALL EZFFTI (N, WSAVE)
|
PRINT 1000
|
PRINT 1010, (R(I), I = 1, N)
|
CALL EZFFTF (N, R, AZERO, A, B, WSAVE)
|
PRINT 1020, AZERO
|
PRINT 1030
|
PRINT 1010, (A(I), I = 1, N)
|
PRINT 1040
|
PRINT 1010, (B(I), I = 1, N)
|
CALL EZFFTB (N, R, AZERO, A, B, WSAVE)
|
PRINT 1050
|
PRINT 1010, (R(I), I = 1, N)
|
C
|
1000 FORMAT (1X, 'Original Sequence: ')
|
1010 FORMAT (100(F6.1, 1X))
|
1020 FORMAT (1X, 'Azero = ' F4.1)
|
1030 FORMAT (1X, 'A = ')
|
1040 FORMAT (1X, 'B = ')
|
1050 FORMAT (1X, 'Recovered Sequence: ')
|
C
|
END
|
|