NCEPLIBS-sp 2.4.0
spffte.f File Reference

Perform multiple fast Fourier transforms. More...

Go to the source code of this file.

Functions/Subroutines

subroutine spffte (IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)
 This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space. More...
 

Detailed Description

Perform multiple fast Fourier transforms.

Program History Log

Date Programmer Comments
1998-12-18 Iredell Initial.
2012-11-12 Mirvis fixing hard-wired types problem on Intel/Linux.
Author
Iredell
Date
96-02-20

Definition in file spffte.f.

Function/Subroutine Documentation

◆ spffte()

subroutine spffte ( integer, intent(in)  IMAX,
integer, intent(in)  INCW,
integer, intent(in)  INCG,
integer, intent(in)  KMAX,
real, dimension(2*incw,kmax), intent(inout)  W,
real, dimension(incg,kmax), intent(inout)  G,
integer, intent(in)  IDIR,
real(8), dimension(50000+4*imax), intent(inout)  AFFT 
)

This subprogram performs multiple fast Fourier transforms between complex amplitudes in Fourier space and real values in cyclic physical space.

This subprogram must be invoked first with IDIR=0 to initialize trigonemetric data. Use subprogram spfft1() to perform an FFT without previous initialization.

This version invokes the IBM ESSL FFT.

Note
The restrictions on IMAX are that it must be a multiple of 1 to 25 factors of two, up to 2 factors of three, and up to 1 factor of five, seven and eleven.

If IDIR=0, then W and G need not contain any valid data. The other parameters must be supplied and cannot change in succeeding calls until the next time it is called with IDIR=0.

This subprogram is thread-safe.

Parameters
IMAXnumber of values in the cyclic physical space (see limitations on imax in remarks below.)
INCWfirst dimension of the complex amplitude array (INCW >= IMAX/2+1)
INCGfirst dimension of the real value array (INCG >= IMAX)
KMAXnumber of transforms to perform
[out]Wcomplex amplitudes if IDIR>0
[out]Greal values if IDIR<0
IDIRdirection flag
  • IDIR=0 to initialize trigonometric data
  • IDIR>0 to transform from Fourier to physical space
  • IDIR<0 to transform from physical to Fourier space
[out]AFFTauxiliary array if IDIR<>0
Author
Iredell
Date
96-02-20

Definition at line 48 of file spffte.f.

References dcrft(), drcft(), scrft(), and srcft().

Referenced by sptranf0(), and sptranf1().