NAME

GFT_set_fft - Sets the size of the 1D, 2D or 3D FFT and allocates work and trigonometric arrays.

SYNOPSIS

CALL GFT_set_fft(Nx=n, FFT=h, code=ierr)
CALL GFT_set_fft(Nx=n, Ny=m, FFT=h, code=ierr)
CALL GFT_set_fft(Nx=n, Ny=m, Nz=l, FFT=h, code=ierr)

PARAMETERS

<IN>  n, m, l : Integer. Size of the FFT.
                n or m or l must be even in all FFT cases.
                Only FFTs of base 2, 3 and 5 or a combination are considered in this release. 
<OUT> h       : GFT handel of type one of the following derived data types: 
                  1) GFT_CC  : to perform a Complex-Complex FFT and inverse.
                  2) GFT_RCR : to perform a Real-Complex FFT and inverse.
                  3) GFT_MRCR: to perform a multiple 1D Real-Complex FFT and inverse.
                  4) GFT_MCC : to perform a multiple 1D Complex-Complex FFT and inverse.
<OUT> ierr    : Integer. Optional error code. It will always return 0 in this release.

EXAMPLES

In this example, we set the size of a 2D FFT to later perform a Real-Complex or a Complex-Real FFT.

     USE GFT
     INTEGER       :: n, m
     TYPE(GFT_RCR) :: h
     ...
     n=15; m=12
     CALL GFT_set_fft( Nx=n, Ny=m, FFT=h)
     ...

DISCUSSION

This routine allocates work and trigonometric arrays as needed and returns a handel to further perform the FFT. So user has not to worry any more about the amount of memory to be reserved for these arrays. However, this advantage has a counterpart which is performances of the FFT may slow down significantly when the work array has an even size.

SEE ALSO

Back to the routines' list...
Last modified: Thu May 23 11:55:51 CEST 2002