void vsip_ccfftop_f(const vsip_fft_f *fft, const vsip_cvview_f *x, const vsip_cvview_f *y); void vsip_rcfftop_f(const vsip_fft_f *fft, const vsip_vview_f *x, const vsip_cvview_f *y); void vsip_crfftop_f(const vsip_fft_f *fft, const vsip_cvview_f *x, const vsip_vview_f *y); void vsip_ccfftop_d(const vsip_fft_d *fft, const vsip_cvview_d *x, const vsip_cvview_d *y); void vsip_rcfftop_d(const vsip_fft_d *fft, const vsip_vview_d *x, const vsip_cvview_d *y); void vsip_crfftop_d(const vsip_fft_d *fft, const vsip_cvview_d *x, const vsip_vview_d *y);
These functions perform FFT (Fast Fourier Transform) operations using the specified FFT object. Each function handles a different type of FFT:
vsip_ccfftop_p : Performs a out-of-place complex-to-complex FFT.
vsip_rcfftop_p : Performs a out-of-place real-to-complex FFT.
vsip_crfftop_p : Performs a out-of-place complex-to-real FFT.
The performance for supported FFT sizes is standardized as . For sizes not directly supported by the FFT kernels a
DFT fallback with a performance of
is standardized.
const vsip_fft_p* fft: Pointer to the FFT object.
const vsip_dvview_p* x: Pointer to the input complex vector view
const vsip_dvview_p* y: Pointer to the output complex vector view
vsip_fft_f *fft_cc; vsip_fft_f *fft_rc; vsip_fft_f *fft_cr; vsip_cvview_f *complex_input; vsip_cvview_f *complex_output; vsip_vview_f *real_input; vsip_vview_f *real_output; // Assuming fft_cc, fft_rc, fft_cr, complex_input, complex_output, real_input, and real_output have been properly initialized // Perform complex-to-complex FFT vsip_ccfftop_f(fft_cc, complex_input, complex_output);