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


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

The value of MODE on input determines the operation performed by DZFFT.
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 real transform is performed. Initializations are assumed to have been performed by a prior call to DZFFT.
  • MODE=2 : (default) initializations and a real 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 real sequence X

— Input/Output: DOUBLE PRECISION X(N)

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

— Input/Output: DOUBLE PRECISION COMM(3*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 DZFFT(0,N,X,COMM,INFO)
             CALL DZFFT(1,N,X,COMM,INFO)
             DO 10 I = N/2+2, N
                X(I) = -X(I)
        10   CONTINUE
             CALL ZDFFT(2,N,X,COMM,INFO)