Lines Matching +full:- +full:l
1 /* ----------------------------------------------------------------------
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
44 /* ----------------------------------------------------------------------
46 * ---------------------------------------------------------------------- */
49 * @brief Core function for the Double Precision floating-point CFFT butterfly process.
50 * @param[in, out] *pSrc points to the in-place buffer of F64 data type.
110 /* xa - xc */ in arm_radix4_butterfly_f64()
111 r2 = pSrc[(2U * i0)] - pSrc[(2U * i2)]; in arm_radix4_butterfly_f64()
116 /* ya - yc */ in arm_radix4_butterfly_f64()
117 s2 = pSrc[(2U * i0) + 1U] - pSrc[(2U * i2) + 1U]; in arm_radix4_butterfly_f64()
125 /* xa + xc -(xb + xd) */ in arm_radix4_butterfly_f64()
126 r1 = r1 - t1; in arm_radix4_butterfly_f64()
134 /* (ya + yc) - (yb + yd) */ in arm_radix4_butterfly_f64()
135 s1 = s1 - t2; in arm_radix4_butterfly_f64()
137 /* (yb - yd) */ in arm_radix4_butterfly_f64()
138 t1 = pSrc[(2U * i1) + 1U] - pSrc[(2U * i3) + 1U]; in arm_radix4_butterfly_f64()
140 /* (xb - xd) */ in arm_radix4_butterfly_f64()
141 t2 = pSrc[2U * i1] - pSrc[2U * i3]; in arm_radix4_butterfly_f64()
143 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ in arm_radix4_butterfly_f64()
146 /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ in arm_radix4_butterfly_f64()
147 pSrc[(2U * i1) + 1U] = (s1 * co2) - (r1 * si2); in arm_radix4_butterfly_f64()
149 /* (xa - xc) + (yb - yd) */ in arm_radix4_butterfly_f64()
152 /* (xa - xc) - (yb - yd) */ in arm_radix4_butterfly_f64()
153 r2 = r2 - t1; in arm_radix4_butterfly_f64()
155 /* (ya - yc) - (xb - xd) */ in arm_radix4_butterfly_f64()
156 s1 = s2 - t2; in arm_radix4_butterfly_f64()
158 /* (ya - yc) + (xb - xd) */ in arm_radix4_butterfly_f64()
161 /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ in arm_radix4_butterfly_f64()
164 /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ in arm_radix4_butterfly_f64()
165 pSrc[(2U * i2) + 1U] = (s1 * co1) - (r1 * si1); in arm_radix4_butterfly_f64()
167 /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ in arm_radix4_butterfly_f64()
170 /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ in arm_radix4_butterfly_f64()
171 pSrc[(2U * i3) + 1U] = (s2 * co3) - (r2 * si3); in arm_radix4_butterfly_f64()
176 } while (j <= (n2 - 1U)); in arm_radix4_butterfly_f64()
182 * @brief Core function for the Double Precision floating-point CFFT butterfly process.
183 * @param[in, out] *pSrc points to the in-place buffer of F64 data type.
194 uint32_t i, l; in arm_cfft_radix4by2_f64() local
207 l = i + n2; in arm_cfft_radix4by2_f64()
210 a0 = pSrc[2 * i] + pSrc[2 * l]; in arm_cfft_radix4by2_f64()
211 xt = pSrc[2 * i] - pSrc[2 * l]; in arm_cfft_radix4by2_f64()
213 yt = pSrc[2 * i + 1] - pSrc[2 * l + 1]; in arm_cfft_radix4by2_f64()
214 a1 = pSrc[2 * l + 1] + pSrc[2 * i + 1]; in arm_cfft_radix4by2_f64()
224 pSrc[2 * l] = p0 + p1; in arm_cfft_radix4by2_f64()
225 pSrc[2 * l + 1] = p2 - p3; in arm_cfft_radix4by2_f64()
242 @brief Processing function for the Double Precision floating-point complex FFT.
243 …@param[in] S points to an instance of the Double Precision floating-point CFFT st…
244 … points to the complex data buffer of size <code>2*fftLen</code>. Processing occurs in-place
246 - value = 0: forward transform
247 - value = 1: inverse transform
249 - value = 0: disables bit reversal of output
250 - value = 1: enables bit reversal of output
259 uint32_t L = S->fftLen, l; in arm_cfft_f64() local
266 for(l=0; l<L; l++) in arm_cfft_f64()
268 *pSrc = -*pSrc; in arm_cfft_f64()
273 switch (L) in arm_cfft_f64()
280 arm_radix4_butterfly_f64 (p1, L, (float64_t*)S->pTwiddle, 1U); in arm_cfft_f64()
287 arm_cfft_radix4by2_f64 ( p1, L, (float64_t*)S->pTwiddle); in arm_cfft_f64()
293 arm_bitreversal_64((uint64_t*)p1, S->bitRevLength,S->pBitRevTable); in arm_cfft_f64()
297 invL = 1.0 / (float64_t)L; in arm_cfft_f64()
300 for(l=0; l<L; l++) in arm_cfft_f64()
303 *pSrc = -(*pSrc) * invL; in arm_cfft_f64()