Next: , Previous: ZFFT2D, Up: 2D FFT


CFFT2D Routine Documentation
— SUBROUTINE: CFFT2D (MODE,M,N,X,COMM,INFO)
— Input: INTEGER MODE

The value of MODE on input determines the direction of transform to be performed by CFFT2D.
On input:

  • MODE=-1 : a forward 2D transform is performed.
  • MODE=1 : a backward (reverse) 2D transform is performed.

— Input: INTEGER M

On input: M is the number of rows in the 2D array of data to be transformed. If X is declared as a 2D array then M is the first dimension of X.

— Input: INTEGER N

On input: N is the number of columns in the 2D array of data to be transformed. If X is declared as a 2D array then M is the second dimension of X.

— Input/Output: COMPLEX X(M*N)

On input: X contains the M by N complex 2D array to be transformed. Element ij is stored in location i+(j-1)*M of X.
On output: X contains the transformed sequence.

— Input/Output: COMPLEX COMM(M*N+5*(M+N))

COMM is a communication array used as temporary store.

— Output: INTEGER INFO

On output: INFO is an error indicator. On successful exit, INFO contains 0. If INFO = -i on exit, the i-th argument had an illegal value.

Example:

             CALL CFFT2D(-1,M,N,X,COMM,INFO)
             DO 20 J = 1, N
                DO 10 I = 1, MIN(J-1,M)
                   X(I,J) = 0.5D0*(X(I,J) + X(J,I))
                   X(J,I) = CONJG(X(I,J))
        10      CONTINUE
        20   CONTINUE
             CALL CFFT2D(1,M,N,X,COMM,INFO)