Lines Matching defs:zn
31 mp_size_t fn, zn, dif;
46 zn = ABSIZ(z); /* limb size of z */
47 MPFR_ASSERTD (zn >= 1);
49 /* Detect early overflow with zn + en > nmax,
54 zn > nmax - e / GMP_NUMB_BITS :
55 zn + (e + 1) / GMP_NUMB_BITS - 1 > nmax))
57 /* because zn + en >= MPFR_EMAX_MAX / GMP_NUMB_BITS + 2
58 implies (zn + en) * GMP_NUMB_BITS >= MPFR_EMAX_MAX + GMP_NUMB_BITS + 1
59 and exp = zn * GMP_NUMB_BITS + e - k
60 >= (zn + en) * GMP_NUMB_BITS - k > MPFR_EMAX_MAX */
64 dif = zn - fn;
66 count_leading_zeros (k, zp[zn-1]);
68 /* now zn + en <= MPFR_EMAX_MAX / GMP_NUMB_BITS + 1
69 thus (zn + en) * GMP_NUMB_BITS <= MPFR_EMAX_MAX + GMP_NUMB_BITS
70 and exp = zn * GMP_NUMB_BITS + e - k
71 <= (zn + en) * GMP_NUMB_BITS - k + GMP_NUMB_BITS - 1
73 /* We need to compute exp = zn * GMP_NUMB_BITS + e - k with well-defined
75 The mathematical result of zn * GMP_NUMB_BITS may be larger than
80 uexp = (mpfr_uexp_t) zn * GMP_NUMB_BITS + (mpfr_uexp_t) e - k;
181 mpn_lshift (fp - dif, zp, zn, k);
183 MPN_COPY (fp - dif, zp, zn);