diff --git a/Source/QuaternionMathFunctions/arm_quaternion_product_f32.c b/Source/QuaternionMathFunctions/arm_quaternion_product_f32.c index 6bb800db..b67fbda4 100755 --- a/Source/QuaternionMathFunctions/arm_quaternion_product_f32.c +++ b/Source/QuaternionMathFunctions/arm_quaternion_product_f32.c @@ -38,7 +38,17 @@ */ /** - @addtogroup QuatProd + @ingroup QuatProd + */ + +/** + @defgroup QuatProdVect Elementwise Quaternion Product + + Compute the elementwise product of quaternions. + */ + +/** + @addtogroup QuatProdVect @{ */ @@ -117,20 +127,20 @@ void arm_quaternion_product_f32(const float32_t *qa, void arm_quaternion_product_f32(const float32_t *qa, const float32_t *qb, - float32_t *r, + float32_t *qr, uint32_t nbQuaternions) { for(uint32_t i=0; i < nbQuaternions; i++) { - arm_quaternion_product_single_f32(qa, qb, r); + arm_quaternion_product_single_f32(qa, qb, qr); qa += 4; qb += 4; - r += 4; + qr += 4; } } #endif /* defined(ARM_MATH_MVEF) && !defined(ARM_MATH_AUTOVECTORIZE) */ /** - @} end of QuatProd group + @} end of QuatProdVect group */ diff --git a/Source/QuaternionMathFunctions/arm_quaternion_product_single_f32.c b/Source/QuaternionMathFunctions/arm_quaternion_product_single_f32.c index 94ffc6e0..bca2b256 100755 --- a/Source/QuaternionMathFunctions/arm_quaternion_product_single_f32.c +++ b/Source/QuaternionMathFunctions/arm_quaternion_product_single_f32.c @@ -27,14 +27,15 @@ #include "dsp/quaternion_math_functions.h" #include + /** - @ingroup groupQuaternionMath + @ingroup QuatProd */ /** - @defgroup QuatProd Quaternion Product + @defgroup QuatProdSingle Quaternion Product - Compute the product of quaternions. + Compute the product of two quaternions. */ /** @@ -90,12 +91,12 @@ void arm_quaternion_product_single_f32(const float32_t *qa, #else void arm_quaternion_product_single_f32(const float32_t *qa, const float32_t *qb, - float32_t *r) + float32_t *qr) { - r[0] = qa[0] * qb[0] - qa[1] * qb[1] - qa[2] * qb[2] - qa[3] * qb[3]; - r[1] = qa[0] * qb[1] + qa[1] * qb[0] + qa[2] * qb[3] - qa[3] * qb[2]; - r[2] = qa[0] * qb[2] + qa[2] * qb[0] + qa[3] * qb[1] - qa[1] * qb[3]; - r[3] = qa[0] * qb[3] + qa[3] * qb[0] + qa[1] * qb[2] - qa[2] * qb[1]; + qr[0] = qa[0] * qb[0] - qa[1] * qb[1] - qa[2] * qb[2] - qa[3] * qb[3]; + qr[1] = qa[0] * qb[1] + qa[1] * qb[0] + qa[2] * qb[3] - qa[3] * qb[2]; + qr[2] = qa[0] * qb[2] + qa[2] * qb[0] + qa[3] * qb[1] - qa[1] * qb[3]; + qr[3] = qa[0] * qb[3] + qa[3] * qb[0] + qa[1] * qb[2] - qa[2] * qb[1]; } #endif /* defined(ARM_MATH_MVEF) && !defined(ARM_MATH_AUTOVECTORIZE) */