]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix (+ bignum float) bug
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 22 Sep 2018 06:08:52 +0000 (23:08 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 22 Sep 2018 06:09:08 +0000 (23:09 -0700)
* src/data.c (bignum_arith_driver): Fix typo: missing ‘return’.
* test/src/data-tests.el (data-tests-bignum): Test for the typo.

src/data.c
test/src/data-tests.el

index 1e97d9efa151386c507941e9a51a99052b2dff7f..cc080372d8b8472876d92d14a05dd605c88d1c20 100644 (file)
@@ -2920,8 +2920,8 @@ bignum_arith_driver (enum arithop code, ptrdiff_t nargs, Lisp_Object *args,
       val = args[argnum];
       CHECK_NUMBER_COERCE_MARKER (val);
       if (FLOATP (val))
-       float_arith_driver (code, nargs, args, argnum,
-                           mpz_get_d (*accum), val);
+       return float_arith_driver (code, nargs, args, argnum,
+                                  mpz_get_d (*accum), val);
     }
 }
 
index 701e579ae2e3ba2006068bb10720cc5642c5b91b..3cd4802a9814e6083103e1b1a234cd956d98aa5e 100644 (file)
@@ -547,6 +547,16 @@ comparing the subr with a much slower lisp implementation."
     (should (<= b-1 b0))
     (should (<= b-1 b-1))
 
+    (should (= (+ f0 b0) (+ b0 f0)))
+    (should (= (+ f0 b-1) (+ b-1 f0)))
+    (should (= (+ f-1 b0) (+ b0 f-1)))
+    (should (= (+ f-1 b-1) (+ b-1 f-1)))
+
+    (should (= (* f0 b0) (* b0 f0)))
+    (should (= (* f0 b-1) (* b-1 f0)))
+    (should (= (* f-1 b0) (* b0 f-1)))
+    (should (= (* f-1 b-1) (* b-1 f-1)))
+
     (should (= b0 f0))
     (should (= b0 b0))