Mercurial > hg > xemacs-beta
comparison tests/automated/lisp-tests.el @ 5912:47ffa085a9ad
Fix a bug when passing a float to truncate and giving a bignum result.
src/ChangeLog addition:
2015-05-10 Aidan Kehoe <kehoea@parhasard.net>
* floatfns.c (truncate_one_float):
Fix a bug here when double_to_integer() (and previously
float_to_int()) returned a bignum; this was silently treated as a
fixnum, giving consistently incorrect remainders and less
consistently-incorrect but still buggy divisors.
tests/ChangeLog addition:
Check that a bug when supplying #'truncate with one float that
rounds to a bignum, has been fixed.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 10 May 2015 23:55:41 +0100 |
parents | 48386fd60fd0 |
children | 1af53d35dd53 |
comparison
equal
deleted
inserted
replaced
5911:48386fd60fd0 | 5912:47ffa085a9ad |
---|---|
1984 (when (featurep 'bigfloat) | 1984 (when (featurep 'bigfloat) |
1985 (Assert-rounding-floating (coerce pi 'bigfloat) (coerce e 'bigfloat))) | 1985 (Assert-rounding-floating (coerce pi 'bigfloat) (coerce e 'bigfloat))) |
1986 (when (featurep 'bignum) | 1986 (when (featurep 'bignum) |
1987 (assert (not (evenp most-positive-fixnum)) t | 1987 (assert (not (evenp most-positive-fixnum)) t |
1988 "In the unlikely event that most-positive-fixnum is even, rewrite this.") | 1988 "In the unlikely event that most-positive-fixnum is even, rewrite this.") |
1989 (Assert (equal (multiple-value-list (truncate (+ most-positive-fixnum 2.0))) | |
1990 (list (+ most-positive-fixnum 2) 0.0)) | |
1991 "checking a bug in single-argument truncate's remainder fixed") | |
1989 (Assert-rounding (1+ most-positive-fixnum) (* 2 most-positive-fixnum) | 1992 (Assert-rounding (1+ most-positive-fixnum) (* 2 most-positive-fixnum) |
1990 :one-floor-result `(,(1+ most-positive-fixnum) 0) | 1993 :one-floor-result `(,(1+ most-positive-fixnum) 0) |
1991 :two-floor-result `(0 ,(1+ most-positive-fixnum)) | 1994 :two-floor-result `(0 ,(1+ most-positive-fixnum)) |
1992 :one-ffloor-result `(,(float (1+ most-positive-fixnum)) 0) | 1995 :one-ffloor-result `(,(float (1+ most-positive-fixnum)) 0) |
1993 :two-ffloor-result `(0.0 ,(1+ most-positive-fixnum)) | 1996 :two-ffloor-result `(0.0 ,(1+ most-positive-fixnum)) |