74 int8_t kShift = 7 - shift;
77 #ifndef ARM_MATH_CM0_FAMILY 80 q7_t in1, in2, in3, in4, out1, out2, out3, out4;
84 blkCnt = blockSize >> 2u;
99 out1 = (
q7_t) (__SSAT(((in1) * scaleFract) >> kShift, 8));
100 out2 = (
q7_t) (__SSAT(((in2) * scaleFract) >> kShift, 8));
101 out3 = (
q7_t) (__SSAT(((in3) * scaleFract) >> kShift, 8));
102 out4 = (
q7_t) (__SSAT(((in4) * scaleFract) >> kShift, 8));
114 blkCnt = blockSize % 0x4u;
120 *pDst++ = (
q7_t) (__SSAT(((*pSrc++) * scaleFract) >> kShift, 8));
137 *pDst++ = (
q7_t) (__SSAT((((
q15_t) * pSrc++ * scaleFract) >> kShift), 8));
int8_t q7_t
8-bit fractional data type in 1.7 format.
#define __PACKq7(v0, v1, v2, v3)
definition to pack four 8 bit values.
int16_t q15_t
16-bit fractional data type in 1.15 format.
#define __SIMD32(addr)
definition to read/write two 16 bit values.
void arm_scale_q7(q7_t *pSrc, q7_t scaleFract, int8_t shift, q7_t *pDst, uint32_t blockSize)
Multiplies a Q7 vector by a scalar.