diff --git a/collects/tests/racket/numstrs.rktl b/collects/tests/racket/numstrs.rktl index 99e7df8126..9eead56d6b 100644 --- a/collects/tests/racket/numstrs.rktl +++ b/collects/tests/racket/numstrs.rktl @@ -43,6 +43,8 @@ (-0.0 "-1e-10000000000000000000000000000000") (+0.0 "1#e-10000000000000000000000000000000") (-0.0 "-1#e-10000000000000000000000000000000") + (1e-134 + "0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001") (10.0 "1#") (10.0 "1#e0") (10.0 "1####e-3") diff --git a/src/racket/src/numstr.c b/src/racket/src/numstr.c index 3a1ab46cd2..ad6536d497 100644 --- a/src/racket/src/numstr.c +++ b/src/racket/src/numstr.c @@ -245,15 +245,15 @@ static Scheme_Object *read_special_number(const mzchar *str, int pos) return NULL; } -/* Don't bother reading more than the following number of digits in a - floating-point mantissa: */ -#define MAX_FLOATREAD_PRECISION_DIGITS 50 - /* Exponent threshold for obvious infinity. Must be at least max(MAX_FAST_FLOATREAD_LEN, MAX_FLOATREAD_PRECISION_DIGITS) more than the larget possible FP exponent. */ #define CHECK_INF_EXP_THRESHOLD 400 +/* Don't bother reading more than the following number of digits in a + floating-point mantissa: */ +#define MAX_FLOATREAD_PRECISION_DIGITS CHECK_INF_EXP_THRESHOLD + #ifdef USE_EXPLICT_FP_FORM_CHECK /* Fixes Linux problem of 0e... => non-number (0 with ptr at e...) */