From 76153d838d84cb8d01196c6272cb8b2a94bb1a1e Mon Sep 17 00:00:00 2001 From: Christophe Favergeon Date: Tue, 7 Jan 2020 10:00:41 +0100 Subject: [PATCH] CMSIS-DSP: Corrected issues 783-786 Adding const to some API arguments Updating array dimensions in some tests --- Include/arm_math.h | 8 ++++---- .../FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c | 6 +++--- Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c | 6 +++--- .../FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c | 2 +- Testing/Source/Tests/FIRQ15.cpp | 4 ++-- Testing/Source/Tests/FIRQ31.cpp | 2 +- Testing/Source/Tests/FIRQ7.cpp | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Include/arm_math.h b/Include/arm_math.h index 24872cfc..0cd2ee7d 100644 --- a/Include/arm_math.h +++ b/Include/arm_math.h @@ -4626,7 +4626,7 @@ arm_status arm_fir_decimate_init_f32( */ void arm_biquad_cas_df1_32x64_q31( const arm_biquad_cas_df1_32x64_ins_q31 * S, - q31_t * pSrc, + const q31_t * pSrc, q31_t * pDst, uint32_t blockSize); @@ -4673,7 +4673,7 @@ arm_status arm_fir_decimate_init_f32( { uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ float64_t *pState; /**< points to the array of state coefficients. The array is of length 2*numStages. */ - float64_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ + const float64_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ } arm_biquad_cascade_df2T_instance_f64; @@ -4714,7 +4714,7 @@ arm_status arm_fir_decimate_init_f32( */ void arm_biquad_cascade_df2T_f64( const arm_biquad_cascade_df2T_instance_f64 * S, - float64_t * pSrc, + const float64_t * pSrc, float64_t * pDst, uint32_t blockSize); @@ -4763,7 +4763,7 @@ void arm_biquad_cascade_df2T_compute_coefs_f32( void arm_biquad_cascade_df2T_init_f64( arm_biquad_cascade_df2T_instance_f64 * S, uint8_t numStages, - float64_t * pCoeffs, + const float64_t * pCoeffs, float64_t * pState); diff --git a/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c b/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c index 88387878..2b70c2ac 100644 --- a/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c +++ b/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c @@ -177,7 +177,7 @@ #include "arm_helium_utils.h" void arm_biquad_cas_df1_32x64_q31( const arm_biquad_cas_df1_32x64_ins_q31 * S, - q31_t * pSrc, + const q31_t * pSrc, q31_t * pDst, uint32_t blockSize) { @@ -409,11 +409,11 @@ void arm_biquad_cas_df1_32x64_q31( #else void arm_biquad_cas_df1_32x64_q31( const arm_biquad_cas_df1_32x64_ins_q31 * S, - q31_t * pSrc, + const q31_t * pSrc, q31_t * pDst, uint32_t blockSize) { - q31_t *pIn = pSrc; /* input pointer initialization */ + const q31_t *pIn = pSrc; /* input pointer initialization */ q31_t *pOut = pDst; /* output pointer initialization */ q63_t *pState = S->pState; /* state pointer initialization */ const q31_t *pCoeffs = S->pCoeffs; /* coeff pointer initialization */ diff --git a/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c b/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c index a8af8cec..f86158bc 100644 --- a/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c +++ b/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c @@ -136,15 +136,15 @@ LOW_OPTIMIZATION_ENTER void arm_biquad_cascade_df2T_f64( const arm_biquad_cascade_df2T_instance_f64 * S, - float64_t * pSrc, + const float64_t * pSrc, float64_t * pDst, uint32_t blockSize) { - float64_t *pIn = pSrc; /* Source pointer */ + const float64_t *pIn = pSrc; /* Source pointer */ float64_t *pOut = pDst; /* Destination pointer */ float64_t *pState = S->pState; /* State pointer */ - float64_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ + const float64_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ float64_t acc1; /* Accumulator */ float64_t b0, b1, b2, a1, a2; /* Filter coefficients */ float64_t Xn1; /* Temporary input */ diff --git a/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c b/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c index fe6901ed..2ab272f3 100644 --- a/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c +++ b/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c @@ -65,7 +65,7 @@ void arm_biquad_cascade_df2T_init_f64( arm_biquad_cascade_df2T_instance_f64 * S, uint8_t numStages, - float64_t * pCoeffs, + const float64_t * pCoeffs, float64_t * pState) { /* Assign filter stages */ diff --git a/Testing/Source/Tests/FIRQ15.cpp b/Testing/Source/Tests/FIRQ15.cpp index 052f219d..bdc47f55 100644 --- a/Testing/Source/Tests/FIRQ15.cpp +++ b/Testing/Source/Tests/FIRQ15.cpp @@ -120,10 +120,10 @@ static __ALIGNED(8) q15_t coeffArray[32]; ref.reload(FIRQ15::FIRREFS_Q15_ID,mgr); output.create(ref.nbSamples(),FIRQ15::OUT_Q15_ID,mgr); - /* Max blockSize + numTaps - 1 as generated by Python script + /* Max blockSize + numTaps as generated by Python script numTaps may be increased by 1 by Python script to force it to even values */ - state.create(36,FIRQ15::OUT_Q15_ID,mgr); + state.create(41,FIRQ15::OUT_Q15_ID,mgr); } void FIRQ15::tearDown(Testing::testID_t id,Client::PatternMgr *mgr) diff --git a/Testing/Source/Tests/FIRQ31.cpp b/Testing/Source/Tests/FIRQ31.cpp index c3d4a405..0d3148de 100644 --- a/Testing/Source/Tests/FIRQ31.cpp +++ b/Testing/Source/Tests/FIRQ31.cpp @@ -118,7 +118,7 @@ static __ALIGNED(8) q31_t coeffArray[32]; output.create(ref.nbSamples(),FIRQ31::OUT_Q31_ID,mgr); /* Max blockSize + numTaps - 1 as generated by Python script */ - state.create(35,FIRQ31::OUT_Q31_ID,mgr); + state.create(47,FIRQ31::OUT_Q31_ID,mgr); } void FIRQ31::tearDown(Testing::testID_t id,Client::PatternMgr *mgr) diff --git a/Testing/Source/Tests/FIRQ7.cpp b/Testing/Source/Tests/FIRQ7.cpp index 329d37c9..2f802625 100644 --- a/Testing/Source/Tests/FIRQ7.cpp +++ b/Testing/Source/Tests/FIRQ7.cpp @@ -118,7 +118,7 @@ static __ALIGNED(8) q7_t coeffArray[32]; output.create(ref.nbSamples(),FIRQ7::OUT_Q7_ID,mgr); /* Max blockSize + numTaps - 1 as generated by Python script */ - state.create(35,FIRQ7::OUT_Q7_ID,mgr); + state.create(47,FIRQ7::OUT_Q7_ID,mgr); } void FIRQ7::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)