]> git.lizzy.rs Git - plan9front.git/commitdiff
stdio: remove erronous assert in dtoa
authorOri Bernstein <ori@eigenstate.org>
Tue, 9 Feb 2021 21:57:38 +0000 (13:57 -0800)
committerOri Bernstein <ori@eigenstate.org>
Tue, 9 Feb 2021 21:57:38 +0000 (13:57 -0800)
The value of `k` in dtoa() is an estimate of
floor(log10(d)), where `d` is the number being
converted. The code was asserting that 'k' was
less than 100, but the full range of a double
goes to 10^308 or so.

This means that the majority of the range of
a double would trigger that assert.

sys/src/libstdio/dtoa.c

index 80fd3c73ea3150cd75139b7db2ac703dc432e982..7f6c70657455c91be45a9cb535d511aba1c45cc6 100644 (file)
@@ -811,7 +811,6 @@ dtoa(double _d, int mode, int ndigits, int *decpt, int *sign, char **rve)
                b5 = -k;
                s5 = 0;
        }
-       assert(k < 100);
        if (mode < 0 || mode > 9)
                mode = 0;
        try_quick = 1;