typedef enum _vsip_fft_dir { VSIP_FFT_FWD = -1, VSIP_FFT_INV = +1 } vsip_fft_dir; typedef enum _vsip_alg_hint { VSIP_ALG_TIME = 0, VSIP_ALG_SPACE = 1, VSIP_ALG_NOISE = 2 } vsip_alg_hint; vsip_fftm_f* vsip_ccfftmip_create_f(vsip_length m, vsip_length n, vsip_scalar_f scale, vsip_fft_dir dir, vsip_major major, vsip_length ntimes, vsip_alg_hint hint);
These functions create a Multiple-FFT (Fast Fourier Transform) object for a complex-to-complex in-place FFT. The functions initialize a FFT object with the specified length, scale factor, direction, number of times to apply the FFT, and algorithm hint.
vsip_length m: The length of columns or rows, depending on the given major.
vsip_length n: The length of rows or columns, depending on the given major.
vsip_scalar_f scale: The scale factor to apply to the FFT result.
vsip_fft_dir sign: The direction of the FFT.
VSIP_FFT_FWD - Forward
VSIP_FFT_INV - Inverse
vsip_major major: Direction of the multiple-FFT:
VSIP_ROW - Row Major
VSIP_Col - Column Major
vsip_length ntimes: The number of times to apply the FFT.
vsip_alg_hint hint: Algorithm hint for the FFT.
VSIP_ALG_TIME - Optimize for time
VSIP_ALG_SPACE - Optimize for memory usage
VSIP_ALG_NOISE - Optimize for noise
On success, a pointer to the newly created FFT object is returned.
On error, NULL is returned.