Lines Matching defs:an
40 A = 2^(1+as)*{a, an}/B^an, as is 0 or 1, an = ceil(ap/GMP_NUMB_BITS),
49 a[an-1] is set, and so is the most significant bit of the output x[n-1].
59 (1) A should be normalized, i.e., the most significant bit of a[an-1]
62 (3) {a, an} and {x, n} should not overlap
67 implement an efficient mpfr_rec_sqrt_ui function.
163 mp_size_t an = LIMB_SIZE(ap); /* number of limbs of A */
166 MPFR_ASSERTD((a[an - 1] & MPFR_LIMB_HIGHBIT) != 0);
170 /* {a, an} and {x, n} should not overlap */
171 MPFR_ASSERTD((a + an <= x) || (x + n <= a));
174 if (MPFR_UNLIKELY(an > n)) /* we can cut the input to n limbs */
176 a += an - n;
177 an = n;
186 i = a[an - 1] >> (GMP_NUMB_BITS - (12 + as));
201 /* compared to Algorithm 3.9 of [1], we have {a, an} = A/2 if as=0,
230 if (MPFR_UNLIKELY(ahn > an))
231 ahn = an;
232 mpfr_mpn_rec_sqrt (x + ln, h, a + an - ahn, ahn * GMP_NUMB_BITS, as);
270 sn = an + rn;
277 /* since n=1, and we ensured an <= n, we also have an=1 */
278 MPFR_ASSERTD(an == 1);
287 /* since we ensured an <= n, we have an <= rn */
288 MPFR_ASSERTD(an <= rn);
289 mpn_mul (s, r, rn, a, an);
294 We have {s, rn+an} = A*X_h^2/2 if as=0, A*X_h^2/4 if as=1. */
297 /* We ignore the bits of s after the first 2h+1+as ones: s has rn + an
298 limbs, where rn = LIMBS(2h), an=LIMBS(a), and tn = LIMBS(2h+1+as). */
498 If e is even, we compute an approximation of X of (4U)^{-1/2},
500 If e is odd, we compute an approximation of X of (2U)^{-1/2},