Complex FFT F16

void riscv_cfft_f16(const riscv_cfft_instance_f16 *S, float16_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 CFFTINIT_F16 (4096, 4096)
 CFFTINIT_F16 (2048, 1024)
 CFFTINIT_F16 (1024, 1024)
 CFFTINIT_F16 (512, 256)
 CFFTINIT_F16 (256, 256)
 CFFTINIT_F16 (128, 64)
 CFFTINIT_F16 (64, 64)
 CFFTINIT_F16 (32, 16)
 CFFTINIT_F16 (16, 16)

riscv_status riscv_cfft_init_f16(riscv_cfft_instance_f16 *S, uint16_t fftLen)

FFTINIT(EXT, SIZE)

CFFTINIT_F16(LEN, LENTWIDDLE)
 group ComplexFFTF16
Defines

FFTINIT(EXT, SIZE)

CFFTINIT_F16(LEN, LENTWIDDLE)
Functions

void riscv_cfft_f16(const riscv_cfft_instance_f16 *S, float16_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
Processing function for the floatingpoint complex FFT.
 Parameters
S – [in] points to an instance of the floatingpoint CFFT structure
p1 – [inout] points to the complex data buffer of size
2*fftLen
. Processing occurs inplaceifftFlag – [in] flag that selects transform direction
value = 0: forward transform
value = 1: inverse transform
bitReverseFlag – [in] flag that enables / disables bit reversal of output
value = 0: disables bit reversal of output
value = 1: enables bit reversal of output
 Returns
none
 CFFTINIT_F16 (4096, 4096)
Initialization function for the cfft f16 function with 4096 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (2048, 1024)
Initialization function for the cfft f16 function with 2048 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (1024, 1024)
Initialization function for the cfft f16 function with 1024 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (512, 256)
Initialization function for the cfft f16 function with 512 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (256, 256)
Initialization function for the cfft f16 function with 256 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (128, 64)
Initialization function for the cfft f16 function with 128 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (64, 64)
Initialization function for the cfft f16 function with 64 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (32, 16)
Initialization function for the cfft f16 function with 32 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected
 CFFTINIT_F16 (16, 16)
Initialization function for the cfft f16 function with 16 samples.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected

riscv_status riscv_cfft_init_f16(riscv_cfft_instance_f16 *S, uint16_t fftLen)
Generic initialization function for the cfft f16 function.
 Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using. variables declared in riscv_const_structs.h
This function should be used only if you don’t know the FFT sizes that. you’ll need at build time. The use of this function will prevent the. linker from removing the FFT tables that are not needed and the library. code size will be bigger than needed.
If you use NMSISDSP as a static library, and if you know the FFT sizes. that you need at build time, then it is better to use the initialization functions defined for each FFT size.
 Parameters
S – [inout] points to an instance of the floatingpoint CFFT structure
fftLen – [in] fft length (number of complex samples)
 Returns
execution status
RISCV_MATH_SUCCESS : Operation successful
RISCV_MATH_ARGUMENT_ERROR : an error is detected

FFTINIT(EXT, SIZE)