Next: , Previous: ZFFT1D, Up: 1D FFT


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

The value of MODE on input determines the operation performed by CFFT1D.
On input:

  • MODE=0 : only default initializations (specific to N) are performed; this is usually followed by calls to the same routine with MODE=-1 or 1.
  • MODE=-1 : a forward transform is performed. Initializations are assumed to have been performed by a prior call to CFFT1D.
  • MODE=1 : a backward (reverse) transform is performed. Initializations are assumed to have been performed by a prior call to CFFT1D.
  • MODE=-2 : (default) initializations and a forward transform are performed.
  • MODE=2 : (default) initializations and a backward transform are performed.
  • MODE=100 : similar to MODE=0; only initializations are performed, but first a plan is generated. This plan is chosen based on the fastest FFT computation for a subset of all possible plans.

— Input: INTEGER N

On input: N is the length of the complex sequence X

— Input/Output: COMPLEX X(N)

On input: X contains the complex sequence of length N to be transformed.
On output: X contains the transformed sequence.

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

COMM is a communication array. Some portions of the array are used to store initializations for subsequent calls with the same sequence length N. The remainder is 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 CFFT1D(0,N,X,COMM,INFO)
             CALL CFFT1D(-1,N,X,COMM,INFO)
             CALL CFFT1D(-1,N,Y,COMM,INFO)
             DO 10 I = 1, N
                X(I) = X(I)*CONJG(Y(I))
        10   CONTINUE
             CALL CFFT1D(1,N,X,COMM,INFO)