
PROGRAM TEST

IMPLICIT NONE

C

INTEGER LWSAVE, M, N

PARAMETER (M = 2)

PARAMETER (N = 4)

PARAMETER (LWSAVE = 4 * (M + N + N) + 45)

C

INTEGER I, J

REAL PI, WSAVE(LWSAVE)

REAL X, Y

COMPLEX C(M,N)

C

EXTERNAL CFFT2B, CFFT2F, CFFT2I

INTRINSIC ACOS, CMPLX, COS, SIN

C

C Initialize the array C to a complex sequence.

C

PI = ACOS (1.0)

DO 110, J = 1, N

DO 100, I = 1, M

X = SIN ((I  1.0) * 2.0 * PI / N)

Y = COS ((J  1.0) * 2.0 * PI / M)

C(I,J) = CMPLX (X, Y)

100 CONTINUE

110 CONTINUE

C

PRINT 1000

DO 200, I = 1, M

PRINT 1010, (C(I,J), J = 1, N)

200 CONTINUE

CALL CFFT2I (M, N, WSAVE)

CALL CFFT2F (M, N, C, M, WSAVE, LWSAVE)

PRINT 1020

DO 300, I = 1, M

PRINT 1010, (C(I,J), J = 1, N)

300 CONTINUE

CALL CFFT2B (M, N, C, M, WSAVE, LWSAVE)

PRINT 1030

DO 400, I = 1, M

PRINT 1010, (C(I,J), J = 1, N)

400 CONTINUE

C

1000 FORMAT (1X, `Original Sequences:')

1010 FORMAT (1X, 100(F4.1' +',F4.1,'i `))

1020 FORMAT (1X, `Transformed Sequences:')

1030 FORMAT (1X, `Recovered Sequences:')

C

END

