83 q15_t * pState CMSIS_UNUSED)
87 #ifndef ARM_MATH_CM0_FAMILY 91 q15_t *pSrcBT = pState;
95 uint16_t numRowsA = pSrcA->
numRows;
96 uint16_t numColsB = pSrcB->
numCols;
97 uint16_t numColsA = pSrcA->
numCols;
98 uint16_t numRowsB = pSrcB->
numRows;
99 uint16_t col, i = 0u, row = numRowsB, colCnt;
102 #ifndef UNALIGNED_SUPPORT_DISABLE 105 q31_t pSourceA1, pSourceB1, pSourceA2, pSourceB2;
110 q15_t inA1, inB1, inA2, inB2;
114 #ifdef ARM_MATH_MATRIX_CHECK 138 #ifndef UNALIGNED_SUPPORT_DISABLE 144 #ifndef ARM_MATH_BIG_ENDIAN 150 *px = (
q15_t) ((in & (
q31_t) 0xffff0000) >> 16);
158 #ifndef ARM_MATH_BIG_ENDIAN 160 *px = (
q15_t) ((in & (
q31_t) 0xffff0000) >> 16);
175 #ifndef ARM_MATH_BIG_ENDIAN 181 *px = (
q15_t) ((in & (
q31_t) 0xffff0000) >> 16);
190 #ifndef ARM_MATH_BIG_ENDIAN 192 *px = (
q15_t) ((in & (
q31_t) 0xffff0000) >> 16);
249 col = numColsB % 0x4u;
293 colCnt = numColsA >> 2;
296 pInA = pSrcA->
pData + i;
303 #ifndef UNALIGNED_SUPPORT_DISABLE 313 sum = __SMLALD(pSourceA1, pSourceB1, sum);
314 sum = __SMLALD(pSourceA2, pSourceB2, sum);
343 colCnt = numColsA & 3u;
348 sum += *pInA++ * *pInB++;
355 *px = (
q15_t) (__SSAT((sum >> 15), 16));
380 uint16_t numColsB = pSrcB->
numCols;
381 uint16_t numColsA = pSrcA->
numCols;
382 uint16_t numRowsA = pSrcA->
numRows;
383 uint16_t col, i = 0u, row = numRowsA, colCnt;
386 #ifdef ARM_MATH_MATRIX_CHECK 430 sum += (
q31_t) * pIn1++ * *pIn2;
439 *px++ = (
q15_t) __SSAT((sum >> 15), 16);
445 pIn2 = pInB + (numColsB - col);
451 pInA = pInA + numColsA;
int64_t q63_t
64-bit fractional data type in 1.63 format.
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 *pState CMSIS_UNUSED)
Q15 matrix multiplication.
int16_t q15_t
16-bit fractional data type in 1.15 format.
#define __SIMD32(addr)
definition to read/write two 16 bit values.
Instance structure for the Q15 matrix structure.
int32_t q31_t
32-bit fractional data type in 1.31 format.
arm_status
Error status returned by some functions in the library.