Reading floats with large exponents no longer takes too much time.
authorStas Boukarev <stassats@gmail.com>
Fri, 31 Aug 2012 21:38:13 +0000 (01:38 +0400)
committerStas Boukarev <stassats@gmail.com>
Fri, 31 Aug 2012 21:38:13 +0000 (01:38 +0400)
commitb8359d1e6db950b0a7bd4a255ed6d57a3eac08ef
treefb6ecf5d4b521838c135188c9f20c5f3ae5e7e43
parent34d75fd54651830d53ebd41ddebaf6ac1c76ba62
Reading floats with large exponents no longer takes too much time.

Reading 1.0s1000000000000000 will attempt to construct a very large
bignum, which takes a considerable amount of time just to report in
the end that it cannot be represented as a float. Truncate the
exponent to manageable size before raising it.

Fixes lp#309070. Thanks to Paul Khuong for the help.
NEWS
src/code/reader.lisp
tests/reader.pure.lisp