Lines Matching +full:- +full:r

1 /* ----------------------------------------------------------------------
4 * Description: Radix-2 Decimation in Frequency CFFT & CIFFT Fixed point processing function
9 * Target Processor: Cortex-M and Cortex-A cores
10 * -------------------------------------------------------------------- */
12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
14 * SPDX-License-Identifier: Apache-2.0
20 * www.apache.org/licenses/LICENSE-2.0
56 @brief Processing function for the fixed-point CFFT/CIFFT.
58 @param[in] S points to an instance of the fixed-point CFFT/CIFFT structure
59 …t] pSrc points to the complex data buffer of size <code>2*fftLen</code>. Processing occurs in-place
67 if (S->ifftFlag == 1U) in arm_cfft_radix2_q15()
69 arm_radix2_butterfly_inverse_q15 (pSrc, S->fftLen, S->pTwiddle, S->twidCoefModifier); in arm_cfft_radix2_q15()
73 arm_radix2_butterfly_q15 (pSrc, S->fftLen, S->pTwiddle, S->twidCoefModifier); in arm_cfft_radix2_q15()
76 arm_bitreversal_q15(pSrc, S->fftLen, S->bitRevFactor, S->pBitRevTable); in arm_cfft_radix2_q15()
94 q31_t T, S, R; in arm_radix2_butterfly_q15() local
121 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
126 out1 = __SMUAD(coeff, R) >> 16; in arm_radix2_butterfly_q15()
127 out2 = __SMUSDX(coeff, R); in arm_radix2_butterfly_q15()
129 out1 = __SMUSDX(R, coeff) >> 16U; in arm_radix2_butterfly_q15()
130 out2 = __SMUAD(coeff, R); in arm_radix2_butterfly_q15()
151 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
156 out1 = __SMUAD(coeff, R) >> 16; in arm_radix2_butterfly_q15()
157 out2 = __SMUSDX(coeff, R); in arm_radix2_butterfly_q15()
160 out1 = __SMUSDX(R, coeff) >> 16U; in arm_radix2_butterfly_q15()
161 out2 = __SMUAD(coeff, R); in arm_radix2_butterfly_q15()
193 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
198 out1 = __SMUAD(coeff, R) >> 16; in arm_radix2_butterfly_q15()
199 out2 = __SMUSDX(coeff, R); in arm_radix2_butterfly_q15()
201 out1 = __SMUSDX(R, coeff) >> 16U; in arm_radix2_butterfly_q15()
202 out2 = __SMUAD(coeff, R); in arm_radix2_butterfly_q15()
215 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
220 out1 = __SMUAD(coeff, R) >> 16; in arm_radix2_butterfly_q15()
221 out2 = __SMUSDX(coeff, R); in arm_radix2_butterfly_q15()
223 out1 = __SMUSDX(R, coeff) >> 16U; in arm_radix2_butterfly_q15()
224 out2 = __SMUAD(coeff, R); in arm_radix2_butterfly_q15()
253 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
257 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_q15()
266 R = __QSUB16(T, S); in arm_radix2_butterfly_q15()
270 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_q15()
300 xt = (pSrc[2 * i] >> 1U) - (pSrc[2 * l] >> 1U); in arm_radix2_butterfly_q15()
303 yt = (pSrc[2 * i + 1] >> 1U) - (pSrc[2 * l + 1] >> 1U); in arm_radix2_butterfly_q15()
310 pSrc[2U * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) - in arm_radix2_butterfly_q15()
337 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_q15()
340 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_q15()
346 pSrc[2U * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) - in arm_radix2_butterfly_q15()
372 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_q15()
375 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_q15()
404 q31_t T, S, R; in arm_radix2_butterfly_inverse_q15() local
431 R = __QSUB16(T, S); in arm_radix2_butterfly_inverse_q15()
436 out1 = __SMUSD(coeff, R) >> 16; in arm_radix2_butterfly_inverse_q15()
437 out2 = __SMUADX(coeff, R); in arm_radix2_butterfly_inverse_q15()
439 out1 = __SMUADX(R, coeff) >> 16U; in arm_radix2_butterfly_inverse_q15()
440 out2 = __SMUSD(__QSUB(0, coeff), R); in arm_radix2_butterfly_inverse_q15()
461 R = __QSUB16(T, S); in arm_radix2_butterfly_inverse_q15()
466 out1 = __SMUSD(coeff, R) >> 16; in arm_radix2_butterfly_inverse_q15()
467 out2 = __SMUADX(coeff, R); in arm_radix2_butterfly_inverse_q15()
469 out1 = __SMUADX(R, coeff) >> 16U; in arm_radix2_butterfly_inverse_q15()
470 out2 = __SMUSD(__QSUB(0, coeff), R); in arm_radix2_butterfly_inverse_q15()
502 R = __QSUB16(T, S); in arm_radix2_butterfly_inverse_q15()
507 out1 = __SMUSD(coeff, R) >> 16; in arm_radix2_butterfly_inverse_q15()
508 out2 = __SMUADX(coeff, R); in arm_radix2_butterfly_inverse_q15()
510 out1 = __SMUADX(R, coeff) >> 16U; in arm_radix2_butterfly_inverse_q15()
511 out2 = __SMUSD(__QSUB(0, coeff), R); in arm_radix2_butterfly_inverse_q15()
524 R = __QSUB16(T, S); in arm_radix2_butterfly_inverse_q15()
529 out1 = __SMUSD(coeff, R) >> 16; in arm_radix2_butterfly_inverse_q15()
530 out2 = __SMUADX(coeff, R); in arm_radix2_butterfly_inverse_q15()
532 out1 = __SMUADX(R, coeff) >> 16U; in arm_radix2_butterfly_inverse_q15()
533 out2 = __SMUSD(__QSUB(0, coeff), R); in arm_radix2_butterfly_inverse_q15()
565 R = __QSUB16(T, S); in arm_radix2_butterfly_inverse_q15()
569 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_inverse_q15()
601 xt = (pSrc[2 * i] >> 1U) - (pSrc[2 * l] >> 1U); in arm_radix2_butterfly_inverse_q15()
604 yt = (pSrc[2 * i + 1] >> 1U) - (pSrc[2 * l + 1] >> 1U); in arm_radix2_butterfly_inverse_q15()
608 pSrc[2 * l] = (((int16_t) (((q31_t) xt * cosVal) >> 16)) - in arm_radix2_butterfly_inverse_q15()
638 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_inverse_q15()
641 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_inverse_q15()
644 pSrc[2 * l] = (((int16_t) (((q31_t) xt * cosVal) >> 16)) - in arm_radix2_butterfly_inverse_q15()
670 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_inverse_q15()
673 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_inverse_q15()