aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2020-03-18 14:48:52 -0700
committerPaul Eggert2020-03-19 00:11:15 -0700
commitefb5115ba29d75e1227e36da3d92dc2f5c5b6257 (patch)
tree3fe22875d08ff20630cdfea35c7018f9eccccd84 /src
parent64d9b4cd762cd39749b899343cb4878e5998a170 (diff)
downloademacs-efb5115ba29d75e1227e36da3d92dc2f5c5b6257.tar.gz
emacs-efb5115ba29d75e1227e36da3d92dc2f5c5b6257.zip
Omit timestamp optimization invalid on 387 FPU
* src/timefns.c (frac_to_double): Omit optimization that is invalid on machines with excess precision (e.g., gcc x86 with 387 FPU), because it double-rounds. Found via ‘gcc -m32’ on x86-64.
Diffstat (limited to 'src')
-rw-r--r--src/timefns.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/timefns.c b/src/timefns.c
index 404ce4973b7..a9595b5d239 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -611,9 +611,6 @@ frac_to_double (Lisp_Object numerator, Lisp_Object denominator)
611 ptrdiff_t ndig = mpz_sizeinbase (*n, FLT_RADIX); 611 ptrdiff_t ndig = mpz_sizeinbase (*n, FLT_RADIX);
612 ptrdiff_t ddig = mpz_sizeinbase (*d, FLT_RADIX); 612 ptrdiff_t ddig = mpz_sizeinbase (*d, FLT_RADIX);
613 613
614 if (FASTER_TIMEFNS && ndig <= DBL_MANT_DIG && ddig <= DBL_MANT_DIG)
615 return mpz_get_d (*n) / mpz_get_d (*d);
616
617 /* Scale with SCALE when doing integer division. That is, compute 614 /* Scale with SCALE when doing integer division. That is, compute
618 (N * FLT_RADIX**SCALE) / D [or, if SCALE is negative, N / (D * 615 (N * FLT_RADIX**SCALE) / D [or, if SCALE is negative, N / (D *
619 FLT_RADIX**-SCALE)] as a bignum, convert the bignum to double, 616 FLT_RADIX**-SCALE)] as a bignum, convert the bignum to double,