mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Fix bug with ‘mod’ and float+bignum
Problem reported by Andy Moreton in: https://lists.gnu.org/r/emacs-devel/2018-08/msg00442.html * src/floatfns.c (fmod_float): Work even if an arg is a bignum. * test/src/floatfns-tests.el (bignum-mod): New test.
This commit is contained in:
parent
351859238d
commit
06b5bcd639
2 changed files with 5 additions and 4 deletions
|
|
@ -514,10 +514,8 @@ With optional DIVISOR, truncate ARG/DIVISOR. */)
|
|||
Lisp_Object
|
||||
fmod_float (Lisp_Object x, Lisp_Object y)
|
||||
{
|
||||
double f1, f2;
|
||||
|
||||
f1 = FLOATP (x) ? XFLOAT_DATA (x) : XFIXNUM (x);
|
||||
f2 = FLOATP (y) ? XFLOAT_DATA (y) : XFIXNUM (y);
|
||||
double f1 = XFLOATINT (x);
|
||||
double f2 = XFLOATINT (y);
|
||||
|
||||
f1 = fmod (f1, f2);
|
||||
|
||||
|
|
|
|||
|
|
@ -46,4 +46,7 @@
|
|||
(should (= (+ (logb most-positive-fixnum) 1)
|
||||
(logb (+ most-positive-fixnum 1)))))
|
||||
|
||||
(ert-deftest bignum-mod ()
|
||||
(should (= 0 (mod (1+ most-positive-fixnum) 2.0))))
|
||||
|
||||
(provide 'floatfns-tests)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue