70 #ifndef ARM_MATH_CM0_FAMILY 86 uint32_t i, blkCnt, j;
98 blkCnt = blockSize / 2;
99 blkCntN2 = blockSize - (2 * blkCnt);
105 *pStateCurnt++ = *pSrc++;
106 *pStateCurnt++ = *pSrc++;
124 ptr2 = pCoeffs + (S->
L - j);
128 tapCnt = phaseLen >> 2u;
142 acc0 += (
q63_t) x0 *c0;
143 acc1 += (
q63_t) x1 *c0;
153 acc0 += (
q63_t) x1 *c0;
154 acc1 += (
q63_t) x0 *c0;
158 c0 = *(ptr2 + S->
L * 2);
164 acc0 += (
q63_t) x0 *c0;
165 acc1 += (
q63_t) x1 *c0;
168 c0 = *(ptr2 + S->
L * 3);
174 acc0 += (
q63_t) x1 *c0;
175 acc1 += (
q63_t) x0 *c0;
188 tapCnt = phaseLen % 0x4u;
200 acc0 += (
q63_t) x0 *c0;
201 acc1 += (
q63_t) x1 *c0;
214 *pDst = (
q31_t) (acc0 >> 31);
215 *(pDst + S->
L) = (
q31_t) (acc1 >> 31);
245 *pStateCurnt++ = *pSrc++;
261 ptr2 = pCoeffs + (S->
L - j);
265 tapCnt = phaseLen >> 2;
281 sum0 += (
q63_t) x0 *c0;
293 sum0 += (
q63_t) x0 *c0;
305 sum0 += (
q63_t) x0 *c0;
317 sum0 += (
q63_t) x0 *c0;
324 tapCnt = phaseLen & 0x3u;
338 sum0 += (
q63_t) x0 *c0;
345 *pDst++ = (
q31_t) (sum0 >> 31);
369 tapCnt = (phaseLen - 1u) >> 2u;
374 *pStateCurnt++ = *pState++;
375 *pStateCurnt++ = *pState++;
376 *pStateCurnt++ = *pState++;
377 *pStateCurnt++ = *pState++;
383 tapCnt = (phaseLen - 1u) % 0x04u;
388 *pStateCurnt++ = *pState++;
429 *pStateCurnt++ = *pSrc++;
443 ptr2 = pCoeffs + (i - 1u);
459 sum += (
q63_t) x0 *c0;
466 *pDst++ = (
q31_t) (sum >> 31);
487 tapCnt = phaseLen - 1u;
492 *pStateCurnt++ = *pState++;
int64_t q63_t
64-bit fractional data type in 1.63 format.
void arm_fir_interpolate_q31(const arm_fir_interpolate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
Processing function for the Q31 FIR interpolator.
Instance structure for the Q31 FIR interpolator.
int32_t q31_t
32-bit fractional data type in 1.31 format.