aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2018-09-21 23:08:52 -0700
committerPaul Eggert2018-09-21 23:09:08 -0700
commit3727bc7d599c24715a66de3e899a82b6f07d1aac (patch)
tree1a5a7eacf38cf04030134725f88bc3a5e0cda80f
parent0bec064454adac2bdff04a11bbdfaa79aa4ce052 (diff)
downloademacs-3727bc7d599c24715a66de3e899a82b6f07d1aac.tar.gz
emacs-3727bc7d599c24715a66de3e899a82b6f07d1aac.zip
Fix (+ bignum float) bug
* src/data.c (bignum_arith_driver): Fix typo: missing ‘return’. * test/src/data-tests.el (data-tests-bignum): Test for the typo.
-rw-r--r--src/data.c4
-rw-r--r--test/src/data-tests.el10
2 files changed, 12 insertions, 2 deletions
diff --git a/src/data.c b/src/data.c
index 1e97d9efa15..cc080372d8b 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2920,8 +2920,8 @@ bignum_arith_driver (enum arithop code, ptrdiff_t nargs, Lisp_Object *args,
2920 val = args[argnum]; 2920 val = args[argnum];
2921 CHECK_NUMBER_COERCE_MARKER (val); 2921 CHECK_NUMBER_COERCE_MARKER (val);
2922 if (FLOATP (val)) 2922 if (FLOATP (val))
2923 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 (*accum), val);
2925 } 2925 }
2926} 2926}
2927 2927
diff --git a/test/src/data-tests.el b/test/src/data-tests.el
index 701e579ae2e..3cd4802a981 100644
--- a/test/src/data-tests.el
+++ b/test/src/data-tests.el
@@ -547,6 +547,16 @@ comparing the subr with a much slower lisp implementation."
547 (should (<= b-1 b0)) 547 (should (<= b-1 b0))
548 (should (<= b-1 b-1)) 548 (should (<= b-1 b-1))
549 549
550 (should (= (+ f0 b0) (+ b0 f0)))
551 (should (= (+ f0 b-1) (+ b-1 f0)))
552 (should (= (+ f-1 b0) (+ b0 f-1)))
553 (should (= (+ f-1 b-1) (+ b-1 f-1)))
554
555 (should (= (* f0 b0) (* b0 f0)))
556 (should (= (* f0 b-1) (* b-1 f0)))
557 (should (= (* f-1 b0) (* b0 f-1)))
558 (should (= (* f-1 b-1) (* b-1 f-1)))
559
550 (should (= b0 f0)) 560 (should (= b0 f0))
551 (should (= b0 b0)) 561 (should (= b0 b0))
552 562