cfft_rcfftm - multiple real-complex 1D FFT's


SYNOPSIS

#include <cfft.h>

int cfft_rcfftm(scale, n1, m, ld1, data, iopt);

float scale
int n1
int m
int ld1
float *data
int iopt

DESCRIPTION

The function, "cfft_rcfftm", performs multiple real-to-complex 1D FFT's.

INPUT

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

The size parameter, "n1", specifies the 1D FFT size. It 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 number of 1D traces parameter, "m", specifies the number of 1D FFT's to do at a time.

The leading dimension parameter, "ld1", specifies the leading dimension of the data array.

The float array, "data", is the I/O array for the FFT's. This is performed "in place". The output complex data is packed into the float array in a typical half-complex format; it requires the size of data, "ld1", to be at least "n1" + 2, and "ld1" is specified in real values.

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 float 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