cfft_ccfft3d - complex-complex 3D FFT


SYNOPSIS

#include <cfft.h>

int cfft_ccfft3d(isign, scale, n1, n2, n3, ld1, ld2, data, iopt)

int isign
float scale
int n1
int n2
int n3
int ld1
int ld2
float cdata(ld1,ld2,n3)
int iopt

DESCRIPTION

The function, "cfft_ccfft3d", performs a complex-to-complex 3D FFT.

INPUT

The parameter, "isign", specifies the sign of complex exponential. It expects a "1" or "-1"; a value of zero "0" is invalid.

The parameter, "scale", specified the scale factor to be applied to the data.

The size parameters, "n1", "n2" and "n3", specifies the FFT sizes. These must be setup as mixed radix values (must be even) in order to allow the FFT's to be more efficient. It is recommended to use cfft_nrfft5 to calculate these values.

The leading dimension parameters, "ld1" and "ld2", specify the leading dimensions of the float array in complex values. If they are the same as the FFT sizes, then the routine will be more efficient.

The float array, "data", is the I/O array for the FFT's. This is performed "in place". Complex data are packed in the real array as real/imaginary data pairs.

The parameter, "iopt", is used to specify any other information that is unique to a specific FFT implementation. Currently, the use is for specifying whether to measure or estimate the FFT's when using FFTW routines. The "cfft.h" header defines FFT_MEASURE and FFT_ESTIMATE, besides defining the FFT functions, as integer.

OUTPUT

The fft results are returned in the data array and the returned value is zero "0" if successful. A value of "-1" is returned if the arguments are invalid. Otherwise, a value unique to each FFT implementation is returned.

AUTHOR

Phuong Vu, HPC
Jerry Ehlers, EPTG