aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorPaul Eggert2018-09-22 08:59:06 -0700
committerPaul Eggert2018-09-22 09:01:26 -0700
commit0b36041d2a528419982a19940573783ff318c0d4 (patch)
tree0b66b534356f9e4ed7cb39601f6d29492cbea104 /src/data.c
parent596ccc087c8f844f81b075da643e5c554a8de9d6 (diff)
downloademacs-0b36041d2a528419982a19940573783ff318c0d4.tar.gz
emacs-0b36041d2a528419982a19940573783ff318c0d4.zip
Round bignums consistently with other integers
* src/bignum.c (mpz_bufsize): New function. (bignum_bufsize): Use it. (mpz_get_d_rounded): New function. (bignum_to_double): Use it. * src/bignum.c (bignum_to_double): * src/data.c (bignum_arith_driver): When converting bignums to double, round instead of truncating, to be consistent with what happens with fixnums. * test/src/floatfns-tests.el (bignum-to-float): Test rounding.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/data.c b/src/data.c
index cc080372d8b..750d494b83a 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2921,7 +2921,7 @@ bignum_arith_driver (enum arithop code, ptrdiff_t nargs, Lisp_Object *args,
2921 CHECK_NUMBER_COERCE_MARKER (val); 2921 CHECK_NUMBER_COERCE_MARKER (val);
2922 if (FLOATP (val)) 2922 if (FLOATP (val))
2923 return float_arith_driver (code, nargs, args, argnum, 2923 return float_arith_driver (code, nargs, args, argnum,
2924 mpz_get_d (*accum), val); 2924 mpz_get_d_rounded (*accum), val);
2925 } 2925 }
2926} 2926}
2927 2927