81 #ifndef FFTLIB_FFT_DFTSMALL_IXX_CXX_OXX_H_
82 #define FFTLIB_FFT_DFTSMALL_IXX_CXX_OXX_H_
84 #include "../../common/FFTLIB_types.h"
111 #define FFTLIB_FFT_DFTSMALL_IXX_CXX_OXX_NUMSHIFTS 1
314 const void *restrict pX,
315 const void *restrict pW,
316 const void *restrict pY);
347 uint64_t *archCycles,
348 uint64_t *estCycles);
void * FFTLIB_kernelHandle
Handle type for FFTLIB operations.
FFTLIB_STATUS_NAME
The enumeration of all status codes.
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_getSizes(const FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY)
This is a query function to calculate the sizes of input, output and the DFT computational matrix buf...
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_init_checkParams(FFTLIB_kernelHandle handle, const FFTLIB_bufParams1D_t *bufParamsX, const FFTLIB_bufParams1D_t *bufParamsW, const FFTLIB_bufParams1D_t *bufParamsY, const FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This function checks the validity of the parameters passed to FFTLIB_FFT_dftSmall_ixX_cxX_oxX_init fu...
#define FFTLIB_FFT_DFTSMALL_IXX_CXX_OXX_NUMSHIFTS
Macro to define the number of bit-shifts that are to be provided for use in the internal DFT computat...
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec_checkParams(FFTLIB_kernelHandle handle, const void *restrict pX, const void *restrict pW, const void *restrict pY)
This function checks the validity of the parameters passed to FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec fu...
int32_t FFTLIB_FFT_dftSmall_ixX_cxX_oxX_getHandleSize(FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This is a query function to calculate the size of internal handle.
void FFTLIB_FFT_dftSmall_ixX_cxX_oxX_perfEst(FFTLIB_kernelHandle handle, const FFTLIB_bufParams1D_t *bufParamsX, const FFTLIB_bufParams1D_t *bufParamsY, const FFTLIB_bufParams1D_t *bufParamsW, uint32_t fftSize, uint32_t batchSize, uint64_t *archCycles, uint64_t *estCycles)
This is a utility function that gives an estimate of the cycles consumed for the kernel execution.
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_init(FFTLIB_kernelHandle handle, FFTLIB_bufParams1D_t *bufParamsX, FFTLIB_bufParams1D_t *bufParamsW, FFTLIB_bufParams1D_t *bufParamsY, FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs)
This function should be called before the FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec function is called....
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_twGen(const FFTLIB_FFT_dftSmall_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *pW, const FFTLIB_bufParams1D_t *bufParamsW)
This is a utility function that generates the DFT computational matrix into the provided buffer.
FFTLIB_STATUS FFTLIB_FFT_dftSmall_ixX_cxX_oxX_exec(FFTLIB_kernelHandle handle, void *restrict pX, void *restrict pW, void *restrict pY)
This function is the main kernel compute function.
Structure containing the parameters for DFT computation.
uint32_t interleave
Flag to indicate if the real and imaginary parts of data are interleaved or not. A value of 1 indicat...
int8_t funcStyle
Variant of the function refer to FFTLIB_FUNCTION_STYLE
uint32_t fftSize
Size of each channel's data in terms of number of complex points.
uint32_t batchSize
Size of the batch in terms of number of channels of DFT's
A structure for a 1 dimensional buffer descriptor.