Lines Matching defs:nd0
290 int e0, nd, nd0, scale;
495 decimal separator at position nd0, which is ignored) to a Bigint. This
501 s2b(const char *s, int nd0, int nd, ULong y9)
519 nd0; i++) {
1383 bc->nd0 gives the number of significant digits of s0 before the
1384 decimal separator. If there's no decimal separator, bc->nd0 ==
1400 int b2, d2, dd, i, nd, nd0, odd, p2, p5;
1403 nd0 = bc->nd0;
1482 dd = s0[i < nd0 ? i : i+1] - '0' - quorem(b, d);
1510 int esign, i, j, k, lz, nd, nd0, odd, sign;
1586 nd0 = (int)ndigits - (int)fraclen;
1634 e -= nd - nd0;
1635 if (nd0 <= 0)
1636 nd0 = nd;
1648 if (s0[i < nd0 ? i : i+1] != '0') {
1655 if (nd0 > nd)
1656 nd0 = nd;
1659 * inputs, we have values s0, nd0, nd, e, sign, where:
1668 * - nd0 indicates the position of the decimal point, if present; it
1669 * satisfies 1 <= nd0 <= nd. The nd significant digits are in
1670 * s0[0:nd0] and s0[nd0+1:nd+1] using the usual Python half-open slice
1671 * notation. (If nd0 < nd, then s0[nd0] contains a '.' character; if
1672 * nd0 == nd, then s0[nd0] could be any non-digit character.)
1677 * s0[0:nd0] and s0[nd0+1:nd+1]
1698 y = 10*y + s0[i < nd0 ? i : i+1] - '0';
1700 z = 10*z + s0[i < nd0 ? i : i+1] - '0';
1814 bc.nd0 = nd0; /* Only needed if nd > STRTOD_DIGLIM, but done here */
1815 /* to silence an erroneous warning about bc.nd0 */
1823 zeros on the result by updating nd, nd0, e and y suitably. (There's
1827 is s0[i] if i < nd0, s0[i+1] if i >= nd0. */
1829 if (s0[i < nd0 ? i : i+1] != '0') {
1836 if (nd0 > nd)
1837 nd0 = nd;
1840 for(i = 0; i < nd0; ++i)
1846 bd0 = s2b(s0, nd0, nd, y);