CMSIS-DSP
Version 1.5.1
CMSIS DSP Software Library
|
Functions | |
arm_status | arm_mat_cmplx_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst) |
Floating-point Complex matrix multiplication. More... | |
arm_status | arm_mat_cmplx_mult_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pScratch) |
Q15 Complex matrix multiplication. More... | |
arm_status | arm_mat_cmplx_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst) |
Q31 Complex matrix multiplication. More... | |
Complex 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_cmplx_mult_f32 | ( | const arm_matrix_instance_f32 * | pSrcA, |
const arm_matrix_instance_f32 * | pSrcB, | ||
arm_matrix_instance_f32 * | pDst | ||
) |
Floating-point, complex, matrix multiplication.
[in] | *pSrcA | points to the first input complex matrix structure |
[in] | *pSrcB | points to the second input complex matrix structure |
[out] | *pDst | points to output complex matrix structure |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking. References ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_f32::numCols, arm_matrix_instance_f32::numRows, arm_matrix_instance_f32::pData, and status.
arm_status arm_mat_cmplx_mult_q15 | ( | const arm_matrix_instance_q15 * | pSrcA, |
const arm_matrix_instance_q15 * | pSrcB, | ||
arm_matrix_instance_q15 * | pDst, | ||
q15_t * | pScratch | ||
) |
Q15, complex, matrix multiplication.
[in] | *pSrcA | points to the first input complex matrix structure |
[in] | *pSrcB | points to the second input complex matrix structure |
[out] | *pDst | points to output complex 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_fast_q15()
for a faster but less precise version of this function. References __SIMD32, __SMUADX(), __SMUSD(), ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_q15::numCols, arm_matrix_instance_q15::numRows, arm_matrix_instance_q15::pData, and status.
arm_status arm_mat_cmplx_mult_q31 | ( | const arm_matrix_instance_q31 * | pSrcA, |
const arm_matrix_instance_q31 * | pSrcB, | ||
arm_matrix_instance_q31 * | pDst | ||
) |
Q31, complex, matrix multiplication.
[in] | *pSrcA | points to the first input complex matrix structure |
[in] | *pSrcB | points to the second input complex matrix structure |
[out] | *pDst | points to output complex matrix structure |
ARM_MATH_SIZE_MISMATCH
or ARM_MATH_SUCCESS
based on the outcome of size checking.Scaling and Overflow Behavior:
References ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, clip_q63_to_q31(), arm_matrix_instance_q31::numCols, arm_matrix_instance_q31::numRows, arm_matrix_instance_q31::pData, and status.