Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Vector Multiplication
[Basic Math Functions]
Element-by-element multiplication of two vectors. More...
Functions | |
void | arm_mult_f32 (float32_t *pSrcA, float32_t *pSrcB, float32_t *pDst, uint32_t blockSize) |
Floating-point vector multiplication. | |
void | arm_mult_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, uint32_t blockSize) |
Q15 vector multiplication. | |
void | arm_mult_q31 (q31_t *pSrcA, q31_t *pSrcB, q31_t *pDst, uint32_t blockSize) |
Q31 vector multiplication. | |
void | arm_mult_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, uint32_t blockSize) |
Q7 vector multiplication. |
Detailed Description
Element-by-element multiplication of two vectors.
pDst[n] = pSrcA[n] * pSrcB[n], 0 <= n < blockSize.
There are separate functions for floating-point, Q7, Q15, and Q31 data types.
Function Documentation
void arm_mult_f32 | ( | float32_t * | pSrcA, |
float32_t * | pSrcB, | ||
float32_t * | pDst, | ||
uint32_t | blockSize | ||
) |
Floating-point vector multiplication.
- Parameters:
-
[in] *pSrcA points to the first input vector [in] *pSrcB points to the second input vector [out] *pDst points to the output vector [in] blockSize number of samples in each vector
- Returns:
- none.
Definition at line 73 of file arm_mult_f32.c.
void arm_mult_q15 | ( | q15_t * | pSrcA, |
q15_t * | pSrcB, | ||
q15_t * | pDst, | ||
uint32_t | blockSize | ||
) |
Q15 vector multiplication.
- Parameters:
-
[in] *pSrcA points to the first input vector [in] *pSrcB points to the second input vector [out] *pDst points to the output vector [in] blockSize number of samples in each vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q15 range [0x8000 0x7FFF] will be saturated.
Definition at line 67 of file arm_mult_q15.c.
void arm_mult_q31 | ( | q31_t * | pSrcA, |
q31_t * | pSrcB, | ||
q31_t * | pDst, | ||
uint32_t | blockSize | ||
) |
Q31 vector multiplication.
- Parameters:
-
[in] *pSrcA points to the first input vector [in] *pSrcB points to the second input vector [out] *pDst points to the output vector [in] blockSize number of samples in each vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q31 range[0x80000000 0x7FFFFFFF] will be saturated.
Definition at line 66 of file arm_mult_q31.c.
void arm_mult_q7 | ( | q7_t * | pSrcA, |
q7_t * | pSrcB, | ||
q7_t * | pDst, | ||
uint32_t | blockSize | ||
) |
Q7 vector multiplication.
- Parameters:
-
[in] *pSrcA points to the first input vector [in] *pSrcB points to the second input vector [out] *pDst points to the output vector [in] blockSize number of samples in each vector
- Returns:
- none.
Scaling and Overflow Behavior:
- The function uses saturating arithmetic. Results outside of the allowable Q7 range [0x80 0x7F] will be saturated.
Definition at line 66 of file arm_mult_q7.c.
Generated on Tue Jul 12 2022 13:32:32 by
