44 #include "../FFTLIB_FFT_fft_ixX_cxX_oxX_priv.h"
45 #include "../../../common/c71/FFTLIB_inlines.h"
53 template <u
int32_t dataType>
62 int32_t dftSmall, dftLarge, highRadixDecompositions;
65 printf(
"In FFTLIB_FFT_fft_ixX_cxX_oxX_getSizes()..\n");
80 &highRadixDecompositions);
84 printf(
"About to call FFTLIB_FFT_dftSmall_ixX_cxX_oxX_getSizes()..\n");
86 status = FFTLIB_FFT_dftSmall_ixX_cxX_oxX_getSizes<dataType>(
95 printf(
"About to call FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getSizes()..\n");
97 status = FFTLIB_FFT_dftLarge_ixX_cxX_oxX_getSizes<dataType>(
104 if (highRadixDecompositions) {
105 #if FFTLIB_DEBUGPRINT
106 printf(
"About to call FFTLIB_FFT_highRadixDecompositions_ixX_cxX_oxX_getSizes()..\n");
108 status = FFTLIB_FFT_highRadixDecompositions_ixX_cxX_oxX_getSizes<dataType>(
132 template <
typename dataType>
140 int32_t dftSmall, dftLarge, highRadixDecompositions;
142 #if FFTLIB_DEBUGPRINT
143 printf(
"In FFTLIB_FFT_fft_ixX_cxX_oxX_twGen()..\n");
145 if (
sizeof(dataType) == 4) {
147 }
else if (
sizeof(dataType) == 2) {
158 &highRadixDecompositions);
161 #if FFTLIB_DEBUGPRINT
162 printf(
"About to call FFTLIB_FFT_dftSmall_ixX_cxX_oxX_twGen()..\n");
164 status = FFTLIB_FFT_dftSmall_ixX_cxX_oxX_twGen<dataType>(
171 #if FFTLIB_DEBUGPRINT
172 printf(
"About to call FFTLIB_FFT_dftLarge_ixX_cxX_oxX_twGen()..\n");
174 status = FFTLIB_FFT_dftLarge_ixX_cxX_oxX_twGen<dataType>(
180 if (highRadixDecompositions) {
181 #if FFTLIB_DEBUGPRINT
182 printf(
"About to call FFTLIB_FFT_highRadixDecompositions_ixX_cxX_oxX_twGen()..\n");
184 status = FFTLIB_FFT_highRadixDecompositions_ixX_cxX_oxX_twGen<dataType>(
void FFTLIB_FFT_fft_ixX_cxX_oxX_determineKernelVariant(const FFTLIB_FFT_fft_ixX_cxX_oxX_InitArgs *pKerInitArgs, int32_t MMA_SIZE, int32_t *dftSmall, int32_t *dftLarge, int32_t *highRadixDecompositions)
This is an internal function that is used to determine which FFT kernel variant to call for optimal D...
template FFTLIB_STATUS FFTLIB_FFT_fft_ixX_cxX_oxX_twGen< int32_t >(const FFTLIB_FFT_fft_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *restrict pW, const FFTLIB_bufParams1D_t *bufParamsW)
FFTLIB_STATUS FFTLIB_FFT_fft_ixX_cxX_oxX_twGen(const FFTLIB_FFT_fft_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *restrict pW, const FFTLIB_bufParams1D_t *bufParamsW)
This is a utility function that generates the computational matrices into the provided buffer.
template FFTLIB_STATUS FFTLIB_FFT_fft_ixX_cxX_oxX_twGen< int16_t >(const FFTLIB_FFT_fft_ixX_cxX_oxX_InitArgs *pKerInitArgs, void *restrict pW, const FFTLIB_bufParams1D_t *bufParamsW)
FFTLIB_STATUS_NAME
The enumeration of all status codes.
@ FFTLIB_ERR_NOT_IMPLEMENTED
#define FFTLIB_MMA_SIZE_16_BIT
type is 16-bit integers
#define FFTLIB_MMA_SIZE_32_BIT
type is 32-bit integers
FFTLIB_STATUS FFTLIB_FFT_fft_ixX_cxX_oxX_getSizes(const FFTLIB_FFT_fft_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 computational matrix buffers...
Structure containing the parameters for DFT computation.
Structure containing the parameters for DFT computation.
Structure containing the parameters for DFT computation.
Structure containing the parameters for DFT computation.
A structure for a 1 dimensional buffer descriptor.