diff --git a/Include/arm_math.h b/Include/arm_math.h index cdf8092d..525dce95 100644 --- a/Include/arm_math.h +++ b/Include/arm_math.h @@ -1083,6 +1083,25 @@ compiler file in Core or Core_A would not make sense. } return (uint32_t)val; } + + /** + \brief Rotate Right in unsigned value (32 bit) + \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. + \param [in] op1 Value to rotate + \param [in] op2 Number of Bits to rotate + \return Rotated value + */ +__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) +{ + op2 %= 32U; + if (op2 == 0U) + { + return op1; + } + return (op1 >> op2) | (op1 << (32U - op2)); +} + + #endif #ifndef ARM_MATH_DSP @@ -1373,6 +1392,7 @@ __STATIC_INLINE q31_t arm_div_q63_to_q31(q63_t num, q31_t den) */ #if !defined (ARM_MATH_DSP) + /* * @brief C custom defined QADD8 */ diff --git a/Source/CommonTables/arm_common_tables_f16.c b/Source/CommonTables/arm_common_tables_f16.c index 3ef53a19..91186ac1 100755 --- a/Source/CommonTables/arm_common_tables_f16.c +++ b/Source/CommonTables/arm_common_tables_f16.c @@ -8427,4 +8427,6 @@ const float16_t twiddleCoefF16_4096[8192] = { #endif /* Not ARM AC5 */ - +/** + @} end of CFFT_CIFFT group +*/ diff --git a/Source/MatrixFunctions/arm_mat_vec_mult_f32.c b/Source/MatrixFunctions/arm_mat_vec_mult_f32.c index 40330d7b..66809769 100755 --- a/Source/MatrixFunctions/arm_mat_vec_mult_f32.c +++ b/Source/MatrixFunctions/arm_mat_vec_mult_f32.c @@ -40,8 +40,8 @@ /** * @brief Floating-point matrix and vector multiplication. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure + * @param[in] *pSrcMat points to the first input matrix structure + * @param[in] *pVec points to the second input matrix structure * @param[out] *pDst points to output matrix structure */ #if defined(ARM_MATH_MVEF) && !defined(ARM_MATH_AUTOVECTORIZE) diff --git a/Source/MatrixFunctions/arm_mat_vec_mult_q15.c b/Source/MatrixFunctions/arm_mat_vec_mult_q15.c index f9cc82d1..ce512d1e 100755 --- a/Source/MatrixFunctions/arm_mat_vec_mult_q15.c +++ b/Source/MatrixFunctions/arm_mat_vec_mult_q15.c @@ -363,8 +363,8 @@ void arm_mat_vec_mult_q15(const arm_matrix_instance_q15 *pSrcMat, const q15_t *p vecData2 = read_q15x2_ia ((q15_t **) &pInVec); matData = read_q15x2_ia ((q15_t **) &pInA1); matData2 = read_q15x2_ia ((q15_t **) &pInA1); - sum = __SMLAD(matData, vecData, sum); - sum = __SMLAD(matData2, vecData2, sum); + sum = __SMLALD(matData, vecData, sum); + sum = __SMLALD(matData2, vecData2, sum); colCnt--; } diff --git a/Testing/Source/Tests/UnaryTestsQ15.cpp b/Testing/Source/Tests/UnaryTestsQ15.cpp index 826a86b8..5340dda5 100755 --- a/Testing/Source/Tests/UnaryTestsQ15.cpp +++ b/Testing/Source/Tests/UnaryTestsQ15.cpp @@ -117,6 +117,8 @@ a double precision computation. void UnaryTestsQ15::test_mat_vec_mult_q15() { + + LOADVECDATA2(); for(i=0;i < nbMatrixes ; i ++)