Previous: ZDFFT, Up: 1D Hermitian FFT


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

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

  • MODE=0 : only initializations (specific to the values of N) are performed using a default plan; this is usually followed by calls to the same routine with MODE=1.
  • MODE=1 : a real transform is performed. Initializations are assumed to have been performed by a prior call to CSFFT.
  • MODE=2 : (default) initializations and a real transform are performed.
  • MODE=100 : similar to MODE=0; only initializations (specific to the value of N) are performed, but these are based on a plan that is first generated by timing a subset of all possible plans and choosing the quickest (i.e. the FFT computation was timed as fastest based on the chosen plan). The plan generation phase may take a significant amount of time depending on the value of N.

— Input: INTEGER N

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

— Input/Output: REAL X(N)

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

— Input/Output: REAL 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 SCFFT(0,N,X,COMM,INFO)
             CALL SCFFT(1,N,X,COMM,INFO)
             DO 10 I = N/2+2, N
                X(I) = -X(I)
        10   CONTINUE
             CALL CSFFT(2,N,X,COMM,INFO)