Lines Matching +full:- +full:l
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()
91 uint32_t i, j, k, l; in arm_radix2_butterfly_q15() local
111 l = i + n2; in arm_radix2_butterfly_q15()
117 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
133 write_q15x2 (pSrc + (2U * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_q15()
141 l++; in arm_radix2_butterfly_q15()
147 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
164 write_q15x2 (pSrc + (2U * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_q15()
187 l = i + n2; in arm_radix2_butterfly_q15()
191 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
205 write_q15x2 (pSrc + (2U * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_q15()
209 l = i + n2; in arm_radix2_butterfly_q15()
213 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
227 write_q15x2 (pSrc + (2U * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_q15()
247 l = i + n2; in arm_radix2_butterfly_q15()
251 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
257 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_q15()
260 l = i + n2; in arm_radix2_butterfly_q15()
264 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_q15()
270 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_q15()
277 uint32_t i, j, k, l; in arm_radix2_butterfly_q15()
299 l = i + n2; in arm_radix2_butterfly_q15()
300 xt = (pSrc[2 * i] >> 1U) - (pSrc[2 * l] >> 1U); in arm_radix2_butterfly_q15()
301 pSrc[2 * i] = ((pSrc[2 * i] >> 1U) + (pSrc[2 * l] >> 1U)) >> 1U; in arm_radix2_butterfly_q15()
303 yt = (pSrc[2 * i + 1] >> 1U) - (pSrc[2 * l + 1] >> 1U); in arm_radix2_butterfly_q15()
304 pSrc[2 * i + 1] = ((pSrc[2 * l + 1] >> 1U) + in arm_radix2_butterfly_q15()
307 pSrc[2 * l] = (((int16_t) (((q31_t) xt * cosVal) >> 16)) + in arm_radix2_butterfly_q15()
310 pSrc[2U * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) - in arm_radix2_butterfly_q15()
336 l = i + n2; in arm_radix2_butterfly_q15()
337 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_q15()
338 pSrc[2 * i] = (pSrc[2 * i] + pSrc[2 * l]) >> 1U; in arm_radix2_butterfly_q15()
340 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_q15()
341 pSrc[2 * i + 1] = (pSrc[2 * l + 1] + pSrc[2 * i + 1]) >> 1U; in arm_radix2_butterfly_q15()
343 pSrc[2 * l] = (((int16_t) (((q31_t) xt * cosVal) >> 16)) + in arm_radix2_butterfly_q15()
346 pSrc[2U * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) - in arm_radix2_butterfly_q15()
371 l = i + n2; in arm_radix2_butterfly_q15()
372 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_q15()
373 pSrc[2 * i] = (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()
376 pSrc[2 * i + 1] = (pSrc[2 * l + 1] + pSrc[2 * i + 1]); in arm_radix2_butterfly_q15()
378 pSrc[2 * l] = xt; in arm_radix2_butterfly_q15()
380 pSrc[2 * l + 1] = yt; in arm_radix2_butterfly_q15()
401 uint32_t i, j, k, l; in arm_radix2_butterfly_inverse_q15() local
421 l = i + n2; in arm_radix2_butterfly_inverse_q15()
427 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_inverse_q15()
443 write_q15x2 (pSrc + (2 * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_inverse_q15()
451 l++; in arm_radix2_butterfly_inverse_q15()
457 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_inverse_q15()
473 write_q15x2 (pSrc + (2 * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_inverse_q15()
496 l = i + n2; in arm_radix2_butterfly_inverse_q15()
500 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_inverse_q15()
514 write_q15x2 (pSrc + (2 * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_inverse_q15()
518 l = i + n2; in arm_radix2_butterfly_inverse_q15()
522 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_inverse_q15()
536 write_q15x2 (pSrc + (2 * l), (q31_t) ((out2) & 0xFFFF0000) | (out1 & 0x0000FFFF)); in arm_radix2_butterfly_inverse_q15()
559 l = i + n2; in arm_radix2_butterfly_inverse_q15()
563 S = read_q15x2 (pSrc + (2 * l)); in arm_radix2_butterfly_inverse_q15()
569 write_q15x2 (pSrc + (2 * l), R); in arm_radix2_butterfly_inverse_q15()
579 uint32_t i, j, k, l; in arm_radix2_butterfly_inverse_q15()
600 l = i + n2; in arm_radix2_butterfly_inverse_q15()
601 xt = (pSrc[2 * i] >> 1U) - (pSrc[2 * l] >> 1U); in arm_radix2_butterfly_inverse_q15()
602 pSrc[2 * i] = ((pSrc[2 * i] >> 1U) + (pSrc[2 * l] >> 1U)) >> 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()
605 pSrc[2 * i + 1] = ((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()
611 pSrc[2 * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) + in arm_radix2_butterfly_inverse_q15()
637 l = i + n2; in arm_radix2_butterfly_inverse_q15()
638 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_inverse_q15()
639 pSrc[2 * i] = (pSrc[2 * i] + pSrc[2 * l]) >> 1U; in arm_radix2_butterfly_inverse_q15()
641 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_radix2_butterfly_inverse_q15()
642 pSrc[2 * i + 1] = (pSrc[2 * l + 1] + pSrc[2 * i + 1]) >> 1U; in arm_radix2_butterfly_inverse_q15()
644 pSrc[2 * l] = (((int16_t) (((q31_t) xt * cosVal) >> 16)) - in arm_radix2_butterfly_inverse_q15()
647 pSrc[2 * l + 1] = (((int16_t) (((q31_t) yt * cosVal) >> 16)) + in arm_radix2_butterfly_inverse_q15()
669 l = i + n2; in arm_radix2_butterfly_inverse_q15()
670 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_radix2_butterfly_inverse_q15()
671 pSrc[2 * i] = (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()
674 pSrc[2 * i + 1] = (pSrc[2 * l + 1] + pSrc[2 * i + 1]); in arm_radix2_butterfly_inverse_q15()
676 pSrc[2 * l] = xt; in arm_radix2_butterfly_inverse_q15()
678 pSrc[2 * l + 1] = yt; in arm_radix2_butterfly_inverse_q15()