85 uint16_t numRowsA = pSrcA->
numRows;
86 uint16_t numColsB = pSrcB->
numCols;
87 uint16_t numColsA = pSrcA->
numCols;
88 q63_t sumReal1, sumImag1;
95 uint16_t col, i = 0u, j, row = numRowsA, colCnt;
98 #ifdef ARM_MATH_MATRIX_CHECK 140 colCnt = numColsA >> 2;
159 sumReal1 += (
q63_t) a0 *c0;
160 sumImag1 += (
q63_t) b0 *c0;
164 pIn2 += 2 * numColsB;
167 sumReal1 -= (
q63_t) b0 *d0;
168 sumImag1 += (
q63_t) a0 *d0;
179 sumReal1 += (
q63_t) a1 *c1;
180 sumImag1 += (
q63_t) b1 *c1;
184 pIn2 += 2 * numColsB;
187 sumReal1 -= (
q63_t) b1 *d1;
188 sumImag1 += (
q63_t) a1 *d1;
197 sumReal1 += (
q63_t) a0 *c0;
198 sumImag1 += (
q63_t) b0 *c0;
202 pIn2 += 2 * numColsB;
205 sumReal1 -= (
q63_t) b0 *d0;
206 sumImag1 += (
q63_t) a0 *d0;
217 sumReal1 += (
q63_t) a1 *c1;
218 sumImag1 += (
q63_t) b1 *c1;
222 pIn2 += 2 * numColsB;
225 sumReal1 -= (
q63_t) b1 *d1;
226 sumImag1 += (
q63_t) a1 *d1;
234 colCnt = numColsA % 0x4u;
246 sumReal1 += (
q63_t) a1 *c1;
247 sumImag1 += (
q63_t) b1 *c1;
251 pIn2 += 2 * numColsB;
254 sumReal1 -= (
q63_t) b1 *d1;
255 sumImag1 += (
q63_t) a1 *d1;
262 *px++ = (
q31_t) clip_q63_to_q31(sumReal1 >> 31);
263 *px++ = (
q31_t) clip_q63_to_q31(sumImag1 >> 31);
267 pIn2 = pSrcB->
pData + 2u * j;
276 pInA = pInA + 2 * numColsA;
int64_t q63_t
64-bit fractional data type in 1.63 format.
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.
int32_t q31_t
32-bit fractional data type in 1.31 format.
arm_status
Error status returned by some functions in the library.
Instance structure for the Q31 matrix structure.