75 #ifndef ARM_MATH_CM0_FAMILY 81 q15_t out1, out2, out3, out4;
82 q31_t mul1, mul2, mul3, mul4;
85 blkCnt = numSamples >> 2u;
101 #ifndef ARM_MATH_BIG_ENDIAN 118 out1 = (
q15_t) __SSAT(mul1 >> 15u, 16);
119 out2 = (
q15_t) __SSAT(mul2 >> 15u, 16);
120 out3 = (
q15_t) __SSAT(mul3 >> 15u, 16);
121 out4 = (
q15_t) __SSAT(mul4 >> 15u, 16);
124 *
__SIMD32(pCmplxDst)++ = __PKHBT(out1, out2, 16);
125 *
__SIMD32(pCmplxDst)++ = __PKHBT(out3, out4, 16);
131 #ifndef ARM_MATH_BIG_ENDIAN 147 out1 = (
q15_t) __SSAT(mul1 >> 15u, 16);
148 out2 = (
q15_t) __SSAT(mul2 >> 15u, 16);
149 out3 = (
q15_t) __SSAT(mul3 >> 15u, 16);
150 out4 = (
q15_t) __SSAT(mul4 >> 15u, 16);
152 *
__SIMD32(pCmplxDst)++ = __PKHBT(out1, out2, 16);
153 *
__SIMD32(pCmplxDst)++ = __PKHBT(out3, out4, 16);
161 blkCnt = numSamples % 0x4u;
170 (
q15_t) __SSAT((((
q31_t) (*pSrcCmplx++) * (in)) >> 15), 16);
172 (
q15_t) __SSAT((((
q31_t) (*pSrcCmplx++) * (in)) >> 15), 16);
182 while(numSamples > 0u)
189 (
q15_t) __SSAT((((
q31_t) (*pSrcCmplx++) * (in)) >> 15), 16);
191 (
q15_t) __SSAT((((
q31_t) (*pSrcCmplx++) * (in)) >> 15), 16);
void arm_cmplx_mult_real_q15(q15_t *pSrcCmplx, q15_t *pSrcReal, q15_t *pCmplxDst, uint32_t numSamples)
Q15 complex-by-real 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.
int32_t q31_t
32-bit fractional data type in 1.31 format.