CMSIS-DSP: Cleaning for RFFT

Updated Doxygen comments.
Moved cfft_init_f64 from PythonWrapper to normal repository.
pull/19/head
Christophe Favergeon 6 years ago
parent d5db9b7123
commit dcda169de6

@ -3309,21 +3309,6 @@ arm_status arm_rfft_fast_init_f64 (
arm_rfft_fast_instance_f64 * S,
uint16_t fftLen);
arm_status arm_rfft_32_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_64_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_128_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_256_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_512_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_1024_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_2048_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
arm_status arm_rfft_4096_fast_init_f64 ( arm_rfft_fast_instance_f64 * S );
void arm_rfft_fast_f64(
arm_rfft_fast_instance_f64 * S,
@ -3345,22 +3330,6 @@ arm_status arm_rfft_fast_init_f32 (
arm_rfft_fast_instance_f32 * S,
uint16_t fftLen);
arm_status arm_rfft_32_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_64_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_128_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_256_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_512_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_1024_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_2048_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
arm_status arm_rfft_4096_fast_init_f32 ( arm_rfft_fast_instance_f32 * S );
void arm_rfft_fast_f32(
const arm_rfft_fast_instance_f32 * S,

@ -7950,7 +7950,7 @@ cmsis_arm_rfft_fast_init_f64(PyObject *obj, PyObject *args)
return(NULL);
}
#if 0
static PyObject *
cmsis_arm_rfft_32_fast_init_f64(PyObject *obj, PyObject *args)
{
@ -8141,7 +8141,7 @@ cmsis_arm_rfft_4096_fast_init_f64(PyObject *obj, PyObject *args)
}
return(NULL);
}
#endif
static PyObject *
cmsis_arm_rfft_fast_f64(PyObject *obj, PyObject *args)
@ -8201,6 +8201,7 @@ cmsis_arm_rfft_fast_init_f32(PyObject *obj, PyObject *args)
return(NULL);
}
#if 0
static PyObject *
cmsis_arm_rfft_32_fast_init_f32(PyObject *obj, PyObject *args)
@ -8393,6 +8394,7 @@ cmsis_arm_rfft_4096_fast_init_f32(PyObject *obj, PyObject *args)
return(NULL);
}
#endif
static PyObject *
cmsis_arm_rfft_fast_f32(PyObject *obj, PyObject *args)
@ -15589,24 +15591,8 @@ static PyMethodDef CMSISMLMethods[] = {
{"arm_rfft_init_f32", cmsis_arm_rfft_init_f32, METH_VARARGS,""},
{"arm_rfft_f32", cmsis_arm_rfft_f32, METH_VARARGS,""},
{"arm_rfft_fast_init_f64", cmsis_arm_rfft_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_32_fast_init_f64", cmsis_arm_rfft_32_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_64_fast_init_f64", cmsis_arm_rfft_64_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_128_fast_init_f64", cmsis_arm_rfft_128_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_256_fast_init_f64", cmsis_arm_rfft_256_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_512_fast_init_f64", cmsis_arm_rfft_512_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_1024_fast_init_f64", cmsis_arm_rfft_1024_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_2048_fast_init_f64", cmsis_arm_rfft_2048_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_4096_fast_init_f64", cmsis_arm_rfft_4096_fast_init_f64, METH_VARARGS,""},
{"arm_rfft_fast_f32", cmsis_arm_rfft_fast_f32, METH_VARARGS,""},
{"arm_rfft_fast_init_f32", cmsis_arm_rfft_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_32_fast_init_f32", cmsis_arm_rfft_32_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_64_fast_init_f32", cmsis_arm_rfft_64_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_128_fast_init_f32", cmsis_arm_rfft_128_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_256_fast_init_f32", cmsis_arm_rfft_256_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_512_fast_init_f32", cmsis_arm_rfft_512_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_1024_fast_init_f32", cmsis_arm_rfft_1024_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_2048_fast_init_f32", cmsis_arm_rfft_2048_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_4096_fast_init_f32", cmsis_arm_rfft_4096_fast_init_f32, METH_VARARGS,""},
{"arm_rfft_fast_f32", cmsis_arm_rfft_fast_f32, METH_VARARGS,""},
{"arm_dct4_init_f32", cmsis_arm_dct4_init_f32, METH_VARARGS,""},
{"arm_dct4_f32", cmsis_arm_dct4_f32, METH_VARARGS,""},

@ -50,7 +50,6 @@ common.remove(os.path.join(ROOT,"Source","CommonTables","CommonTables.c"))
#modulesrc = glob.glob(os.path.join("cmsisdsp_pkg","src","*.c"))
modulesrc = []
modulesrc.append(os.path.join("cmsisdsp_pkg","src","fftinit.c"))
modulesrc.append(os.path.join("cmsisdsp_pkg","src","cmsismodule.c"))
module1 = Extension(config.extensionName,

@ -1,15 +1,15 @@
/* ----------------------------------------------------------------------
* Project: CMSIS DSP Python Wrapper
* Title: fftinit.c
* Description: FFT init functions for the Python wrapper
* Project: CMSIS DSP Library
* Title: arm_cfft_init_f64.c
* Description: Initialization function for cfft f64 instance
*
* $Date: 25. March 2019
* $Revision: V0.0.1
* $Date: 23. January 2020
* $Revision: V1.7.0
*
* Target Processor: Cortex-M cores
* -------------------------------------------------------------------- */
/*
* Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved.
* Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@ -25,20 +25,33 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "arm_math.h"
#include "arm_common_tables.h"
#include "arm_const_structs.h"
#define FFTINIT(EXT,SIZE) \
S->bitRevLength = arm_cfft_sR_##EXT##_len##SIZE.bitRevLength; \
S->pBitRevTable = arm_cfft_sR_##EXT##_len##SIZE.pBitRevTable; \
S->pTwiddle = arm_cfft_sR_##EXT##_len##SIZE.pTwiddle;
#define FFTFXTINIT(EXT,SIZE) \
S->bitRevLength = arm_cfft_sR_##EXT##_len##SIZE.bitRevLength; \
S->pBitRevTable = arm_cfft_sR_##EXT##_len##SIZE.pBitRevTable; \
S->pTwiddle = arm_cfft_sR_##EXT##_len##SIZE.pTwiddle;
/**
@addtogroup ComplexFFT
@{
*/
/**
@brief Initialization function for the cfft f64 function
@param[in,out] S points to an instance of the floating-point CFFT structure
@param[in] fftLen fft length (number of complex samples)
@return execution status
- \ref ARM_MATH_SUCCESS : Operation successful
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
@par 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 arm_const_structs.h
*/
#include "arm_math.h"
#include "arm_common_tables.h"
#include "arm_const_structs.h"
arm_status arm_cfft_init_f64(
@ -52,58 +65,75 @@ arm_status arm_cfft_init_f64(
S->fftLen = fftLen;
/* Initialise the Twiddle coefficient pointer */
S->pTwiddle = (float64_t *)twiddleCoefF64_4096;
S->pTwiddle = NULL;
/* Initializations of Instance structure depending on the FFT length */
switch (S->fftLen) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_4096) && defined(ARM_TABLE_BITREVIDX_FLT_4096))
/* Initializations of structure parameters for 4096 point FFT */
case 4096U:
/* Initialise the bit reversal table modifier */
FFTINIT(f64,4096);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_2048) && defined(ARM_TABLE_BITREVIDX_FLT_2048))
/* Initializations of structure parameters for 2048 point FFT */
case 2048U:
/* Initialise the bit reversal table modifier */
FFTINIT(f64,2048);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_1024) && defined(ARM_TABLE_BITREVIDX_FLT_1024))
/* Initializations of structure parameters for 1024 point FFT */
case 1024U:
/* Initialise the bit reversal table modifier */
FFTINIT(f64,1024);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_512) && defined(ARM_TABLE_BITREVIDX_FLT_512))
/* Initializations of structure parameters for 512 point FFT */
case 512U:
/* Initialise the bit reversal table modifier */
FFTINIT(f64,512);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_256) && defined(ARM_TABLE_BITREVIDX_FLT_256))
case 256U:
FFTINIT(f64,256);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_128) && defined(ARM_TABLE_BITREVIDX_FLT_128))
case 128U:
FFTINIT(f64,128);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_64) && defined(ARM_TABLE_BITREVIDX_FLT_64))
case 64U:
FFTINIT(f64,64);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_32) && defined(ARM_TABLE_BITREVIDX_FLT_32))
case 32U:
FFTINIT(f64,32);
break;
#endif
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_f64_16) && defined(ARM_TABLE_BITREVIDX_FLT_16))
case 16U:
/* Initializations of structure parameters for 16 point FFT */
FFTINIT(f64,16);
break;
#endif
default:
/* Reporting argument error if fftSize is not valid value */
@ -111,7 +141,10 @@ arm_status arm_cfft_init_f64(
break;
}
return (status);
}
/**
@} end of ComplexFFT group
*/

@ -533,17 +533,15 @@ void merge_rfft_f32(
- Initializes twiddle factor table and bit reversal table pointers.
- Initializes the internal complex FFT data structure.
@par
Use of the initialization function is optional.
However, if the initialization function is used, then the instance structure
cannot be placed into a const data section. To place an instance structure
into a const data section, the instance structure should be manually
initialized as follows:
Use of the initialization function is optional **except for MVE versions where it is mandatory**.
If you don't use the initialization functions, then the structures should be initialized with code
similar to the one below:
<pre>
arm_rfft_instance_q31 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};
arm_rfft_instance_q15 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};
</pre>
where <code>fftLenReal</code> is the length of the real transform;
<code>fftLenBy2</code> length of the internal complex transform.
<code>fftLenBy2</code> length of the internal complex transform (fftLenReal/2).
<code>ifftFlagR</code> Selects forward (=0) or inverse (=1) transform.
<code>bitReverseFlagR</code> Selects bit reversed output (=0) or normal order
output (=1).
@ -552,8 +550,10 @@ void merge_rfft_f32(
<code>pTwiddleAReal</code>points to the A array of twiddle coefficients;
<code>pTwiddleBReal</code>points to the B array of twiddle coefficients;
<code>pCfft</code> points to the CFFT Instance structure. The CFFT structure
must also be initialized. Refer to arm_cfft_radix4_f32() for details regarding
static initialization of the complex FFT instance structure.
must also be initialized.
@par
Note that with MVE versions you can't initialize instance structures directly and **must
use the initialization function**.
*/
/**

@ -41,6 +41,7 @@
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_16) && defined(ARM_TABLE_BITREVIDX_FLT_16) && defined(ARM_TABLE_TWIDDLECOEF_F32_16) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_32))
/**
@private
@brief Initialization function for the 32pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -48,7 +49,7 @@
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_32_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_32_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -70,6 +71,7 @@ arm_status arm_rfft_32_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_32) && defined(ARM_TABLE_BITREVIDX_FLT_32) && defined(ARM_TABLE_TWIDDLECOEF_F32_32) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_64))
/**
@private
@brief Initialization function for the 64pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -77,7 +79,7 @@ arm_status arm_rfft_32_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_64_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_64_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -99,6 +101,7 @@ arm_status arm_rfft_64_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_64) && defined(ARM_TABLE_BITREVIDX_FLT_64) && defined(ARM_TABLE_TWIDDLECOEF_F32_64) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_128))
/**
@private
@brief Initialization function for the 128pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -106,7 +109,7 @@ arm_status arm_rfft_64_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_128_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_128_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -128,6 +131,7 @@ arm_status arm_rfft_128_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_128) && defined(ARM_TABLE_BITREVIDX_FLT_128) && defined(ARM_TABLE_TWIDDLECOEF_F32_128) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_256))
/**
@private
@brief Initialization function for the 256pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -135,7 +139,7 @@ arm_status arm_rfft_128_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_256_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_256_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -157,6 +161,7 @@ arm_status arm_rfft_256_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_256) && defined(ARM_TABLE_BITREVIDX_FLT_256) && defined(ARM_TABLE_TWIDDLECOEF_F32_256) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_512))
/**
@private
@brief Initialization function for the 512pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -164,7 +169,7 @@ arm_status arm_rfft_256_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_512_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_512_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -185,6 +190,7 @@ arm_status arm_rfft_512_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_512) && defined(ARM_TABLE_BITREVIDX_FLT_512) && defined(ARM_TABLE_TWIDDLECOEF_F32_512) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_1024))
/**
@private
@brief Initialization function for the 1024pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -192,7 +198,7 @@ arm_status arm_rfft_512_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_1024_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_1024_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -213,13 +219,14 @@ arm_status arm_rfft_1024_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_1024) && defined(ARM_TABLE_BITREVIDX_FLT_1024) && defined(ARM_TABLE_TWIDDLECOEF_F32_1024) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_2048))
/**
@private
@brief Initialization function for the 2048pt floating-point real FFT.
@param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
- \ref ARM_MATH_SUCCESS : Operation successful
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_2048_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_2048_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;
@ -240,6 +247,7 @@ arm_status arm_rfft_2048_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
#if !defined(ARM_DSP_CONFIG_TABLES) || defined(ARM_ALL_FFT_TABLES) || (defined(ARM_TABLE_TWIDDLECOEF_F32_2048) && defined(ARM_TABLE_BITREVIDX_FLT_2048) && defined(ARM_TABLE_TWIDDLECOEF_F32_2048) && defined(ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096))
/**
@private
* @brief Initialization function for the 4096pt floating-point real FFT.
* @param[in,out] S points to an arm_rfft_fast_instance_f32 structure
@return execution status
@ -247,7 +255,7 @@ arm_status arm_rfft_2048_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_4096_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
static arm_status arm_rfft_4096_fast_init_f32( arm_rfft_fast_instance_f32 * S ) {
arm_status status;

@ -48,7 +48,7 @@
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_32_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_32_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -77,7 +77,7 @@ arm_status arm_rfft_32_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_64_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_64_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -106,7 +106,7 @@ arm_status arm_rfft_64_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_128_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_128_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -135,7 +135,7 @@ arm_status arm_rfft_128_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_256_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_256_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -164,7 +164,7 @@ arm_status arm_rfft_256_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_512_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_512_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -192,7 +192,7 @@ arm_status arm_rfft_512_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_1024_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_1024_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -219,7 +219,7 @@ arm_status arm_rfft_1024_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_SUCCESS : Operation successful
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_2048_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_2048_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;
@ -247,7 +247,7 @@ arm_status arm_rfft_2048_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
- \ref ARM_MATH_ARGUMENT_ERROR : an error is detected
*/
arm_status arm_rfft_4096_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
static arm_status arm_rfft_4096_fast_init_f64( arm_rfft_fast_instance_f64 * S ) {
arm_cfft_instance_f64 * Sint;

@ -68,6 +68,9 @@ void arm_split_rifft_q15(
\image html RFFTQ15.gif "Input and Output Formats for Q15 RFFT"
@par
\image html RIFFTQ15.gif "Input and Output Formats for Q15 RIFFT"
@par
If the input buffer is of length N, the output buffer must have length 2*N.
The input buffer is modified by this function.
*/
void arm_rfft_q15(

@ -68,6 +68,9 @@ void arm_split_rifft_q31(
\image html RFFTQ31.gif "Input and Output Formats for Q31 RFFT"
@par
\image html RIFFTQ31.gif "Input and Output Formats for Q31 RIFFT"
@par
If the input buffer is of length N, the output buffer must have length 2*N.
The input buffer is modified by this function.
*/
void arm_rfft_q31(

@ -147,9 +147,9 @@ set(TESTSRC
Source/Tests/ComplexTestsQ15.cpp
Source/Tests/SVMF32.cpp
Source/Tests/BayesF32.cpp
#Source/Tests/TransformCF64.cpp
Source/Tests/TransformCF64.cpp
Source/Tests/TransformCF32.cpp
#Source/Tests/TransformRF64.cpp
Source/Tests/TransformRF64.cpp
Source/Tests/TransformRF32.cpp
Source/Tests/TransformCQ31.cpp
Source/Tests/TransformRQ31.cpp

@ -2391,7 +2391,7 @@ group Root {
class = TransformTests
folder = Transform
disabled {suite Transform Complex F64 {
suite Transform Complex F64 {
class = TransformCF64
folder = TransformF64
@ -2509,9 +2509,8 @@ group Root {
}
}
}
disabled { suite Transform Real F64 {
suite Transform Real F64 {
class = TransformRF64
folder = TransformF64
@ -2618,7 +2617,7 @@ group Root {
}
}
}
suite Transform Complex F32 {
class = TransformCF32

@ -103,7 +103,27 @@ processAndRun(BUILDFOLDER,FVP,"FilteringTests",custom=custom)
msg("Matrix Tests")
processAndRun(BUILDFOLDER,FVP,"MatrixTests",custom=custom)
msg("Transform Tests")
processAndRun(BUILDFOLDER,FVP,"TransformTests",custom=custom)
# Too many patterns to run the full transform directly
msg("Transform Tests CF64")
processAndRun(BUILDFOLDER,FVP,"TransformCF64",custom=custom)
msg("Transform Tests RF64")
processAndRun(BUILDFOLDER,FVP,"TransformRF64",custom=custom)
msg("Transform Tests CF32")
processAndRun(BUILDFOLDER,FVP,"TransformCF32",custom=custom)
msg("Transform Tests RF32")
processAndRun(BUILDFOLDER,FVP,"TransformRF32",custom=custom)
msg("Transform Tests CQ31")
processAndRun(BUILDFOLDER,FVP,"TransformCQ31",custom=custom)
msg("Transform Tests RQ31")
processAndRun(BUILDFOLDER,FVP,"TransformRQ31",custom=custom)
msg("Transform Tests CQ15")
processAndRun(BUILDFOLDER,FVP,"TransformCQ15",custom=custom)
msg("Transform Tests RQ15")
processAndRun(BUILDFOLDER,FVP,"TransformRQ15",custom=custom)
Loading…
Cancel
Save