Functions | |
arm_status | arm_mat_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst) |
arm_status | arm_mat_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst) |
arm_status | arm_mat_mult_fast_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst) |
arm_status | arm_mat_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch) |
arm_status | arm_mat_mult_fast_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch) |
Multiplies two matrices.
Multiplication of two 3 x 3 matrices
Matrix multiplication is only defined if the number of columns of the first matrix equals the number of rows of the second matrix. Multiplying an M x N
matrix with an N x P
matrix results in an M x P
matrix. When matrix size checking is enabled, the functions check: (1) that the inner dimensions of pSrcA
and pSrcB
are equal; and (2) that the size of the output matrix equals the outer dimensions of pSrcA
and pSrcB
.
arm_status arm_mat_mult_f32 | ( | const arm_matrix_instance_f32 * | pSrcA, |
const arm_matrix_instance_f32 * | pSrcB, | ||
arm_matrix_instance_f32 * | pDst | ||
) |
Floating-point matrix multiplication.
[in] | *pSrcA | points to the first input matrix structure |
[in] | *pSrcB | points to the second input matrix structure |
[out] | *pDst | points to output matrix structure |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking. Definition at line 62 of file arm_mat_mult_f32.c.
arm_status arm_mat_mult_q31 | ( | const arm_matrix_instance_q31 * | pSrcA, |
const arm_matrix_instance_q31 * | pSrcB, | ||
arm_matrix_instance_q31 * | pDst | ||
) |
Q31 matrix multiplication.
[in] | *pSrcA | points to the first input matrix structure |
[in] | *pSrcB | points to the second input matrix structure |
[out] | *pDst | points to output matrix structure |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking.Scaling and Overflow Behavior:
arm_mat_mult_fast_q31()
for a faster but less precise implementation of this function. Definition at line 62 of file arm_mat_mult_q31.c.
arm_status arm_mat_mult_fast_q31 | ( | const arm_matrix_instance_q31 * | pSrcA, |
const arm_matrix_instance_q31 * | pSrcB, | ||
arm_matrix_instance_q31 * | pDst | ||
) |
Q31 matrix multiplication (fast variant)
[in] | *pSrcA | points to the first input matrix structure |
[in] | *pSrcB | points to the second input matrix structure |
[out] | *pDst | points to output matrix structure |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking.Scaling and Overflow Behavior:
arm_mat_mult_q31()
for a slower implementation of this function which uses 64-bit accumulation to provide higher precision. Definition at line 66 of file arm_mat_mult_fast_q31.c.
arm_status arm_mat_mult_q15 | ( | const arm_matrix_instance_q15 * | pSrcA, |
const arm_matrix_instance_q15 * | pSrcB, | ||
arm_matrix_instance_q15 * | pDst, | ||
q15_t * | pScratch | ||
) |
Q15 matrix multiplication.
[in] | *pSrcA | points to the first input matrix structure |
[in] | *pSrcB | points to the second input matrix structure |
[out] | *pDst | points to output matrix structure |
[in] | * | |
[in] | *pScratch | points to scratch buffer of size numBRows * numBCol |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking.Scaling and Overflow Behavior:
arm_mat_mult_fast_q15()
for a faster but less precise version of this function. Definition at line 71 of file arm_mat_mult_q15.c.
arm_status arm_mat_mult_fast_q15 | ( | const arm_matrix_instance_q15 * | pSrcA, |
const arm_matrix_instance_q15 * | pSrcB, | ||
arm_matrix_instance_q15 * | pDst, | ||
q15_t * | pScratch | ||
) |
Q15 matrix multiplication (fast variant)
[in] | *pSrcA | points to the first input matrix structure |
[in] | *pSrcB | points to the second input matrix structure |
[out] | *pDst | points to output matrix structure |
[in] | *pScratch | points to the array for storing intermediate results |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking.Scaling and Overflow Behavior:
arm_mat_mult_q15()
for a slower implementation of this function which uses 64-bit accumulation to provide higher precision. Definition at line 76 of file arm_mat_mult_fast_q15.c.