- Sep 03, 2016
-
-
Raymond Toy authored
-
Raymond Toy authored
The recursive definition comes from %single-float and %double-float trying to coerce a double-double-float to a single or double. Not sure the best place to fix this, but added a special case here for %single-float and %double-float to convert the double-double-float to a double that can then be coerced to the appropriate type. (Could have added a deftransform for coerce to handle double-doubles, but doing it here makes it easier to follow the code.) Verified that x86->x86 and sparc->sparc cross-compiles no longer have the warning. Also verified that sparc->sparc actually cross-compiles and loads successfully and that the result will compile itself successfully.
-
- Sep 27, 2014
-
-
Raymond Toy authored
This is a long standing bug where INTEGER-DECODE-FLOAT returned incorrect values for denormal double-float numbers. The lower 32 bits of the double were not shifted enough when creating the integer result. As a side-effect, DECODE-FLOAT decodes denormal double-float's correctly and SCALE-FLOAT scales denormals correctly too. * src/code/float.lisp: * Shift the lower 32-bit of the fraction one more time to adjust for the fact that the upper 20 bits were shifted an extra time. * tests/float.lisp: * Add several tests for INTEGER-DECODE-FLOAT, SCALE-FLOAT, and DECODE-FLOAT. * src/general-info/release-20f.txt: * Add this bug fix to the notes. Conflicts: tests/float.lisp
-
Raymond Toy authored
This is a long standing bug where INTEGER-DECODE-FLOAT returned incorrect values for denormal double-float numbers. The lower 32 bits of the double were not shifted enough when creating the integer result. As a side-effect, DECODE-FLOAT decodes denormal double-float's correctly and SCALE-FLOAT scales denormals correctly too. * src/code/float.lisp: * Shift the lower 32-bit of the fraction one more time to adjust for the fact that the upper 20 bits were shifted an extra time. * tests/float.lisp: * Add several tests for INTEGER-DECODE-FLOAT, SCALE-FLOAT, and DECODE-FLOAT. * src/general-info/release-20f.txt: * Add this bug fix to the notes.
-
- Aug 26, 2014
-
-
Raymond Toy authored
These numbers are called signaling, not trapping NaN in almost all usages. * code/exports.lisp: * Export FLOAT-SIGNALING-NAN-P. * code/float.lisp: * Implement FLOAT-SIGNALING-NAN-P. * Make FLOAT-TRAPPING-NAN-P an inline call to the FLOAT-SIGNALING-NAN-P and add a docstring to say it is deprecated. * code/print.lisp: * Print "Signaling" instead of "Trapping". * i18n/locale/cmucl.pot: * Regenerated due to the changes in docstrings.
-
- May 10, 2014
-
-
Raymond Toy authored
because we don't need to renormalize the values. Also gets rid of some compiler warnings about constant folding.
-
- Mar 08, 2014
-
-
Raymond Toy authored
double-double-float-negative-infinity.
-
- Mar 01, 2014
-
-
Raymond Toy authored
* Add least-positive-normalized-double-double-float, least-negative-normalized-double-double-float, least-positive-double-double-float, least-negative-double-double-float, most-positive-double-double-float, most-negative-double-double-float to the extensions package.
-
- Nov 04, 2011
-
-
Raymond Toy authored
-
- Sep 25, 2011
-
-
Raymond Toy authored
entries with just the file path, removing the revision number, date, author and state. The actual information is now computed during compilation and stored in the fasl itself. (See ticket:48.)
-
- Sep 03, 2011
-
-
rtoy authored
Bug was pointed by Christophe in private email. Fix is based on his suggested solution. Some examples that should work now: (round 100000000002.9d0) -> 100000000003 (round (+ most-positive-fixnum 1.5w0)) -> 536870912
-
- Apr 20, 2010
-
-
rtoy authored
may get confused with source locations if the reader macros are installed.
-
- Apr 19, 2010
-
-
rtoy authored
-
- Mar 19, 2010
-
-
rtoy authored
boot-2010-02-1 as the bootstrap file. You should probably also use the new -P option for build.sh to generate and update the po files while building.
-
- Feb 05, 2010
-
-
rtoy authored
negative zero. o Change %unary-ftruncate to call %unary-fround. This speeds up ftruncate by 2-4 times.
-
rtoy authored
everywhere except for x87 builds since there is a possible roundoff issue due to the 80-bit registers for x87. This is some 2-3 times faster than the existing fround function. code/float.lisp: o Implementations of %unary-fround/single-float, %unary-fround/double-float, and %unary-fround. Declare the first two as inline too. compiler/float-tran.lisp: o Tell compiler about %unary-fround. o Transform fround to a call to %unary-fround. o Transform %unary-fround to special versions for single and double float arguments.
-
- Dec 22, 2008
-
-
rtoy authored
to code/float.lisp because we need this early in the build process to handle float types. This might cuase problems with bootstrapping double-double floats!
-
- Oct 24, 2008
-
-
rtoy authored
o Forgot to implement FLOAT-PRECISION for double-doubles. general-info/release-19f.txt: o Document it.
-
- Apr 15, 2008
- Feb 13, 2008
-
-
rtoy authored
on the maxima mailing list.)
-
- Oct 10, 2007
-
-
rtoy authored
double-double-floats. (From Richard Fateman.) o Use that in FLOAT-RATIO for convertnig ratios to double-double-floats. o Remove old double-double-float support from FLOAT-RATIO. o Split FLOAT-RATIO in two, one supporting single/double floats, and one for double-double-floats. With these changes, I think we now have print/read consistency for double-double-float numbers.
-
- May 24, 2007
-
-
rtoy authored
-
- May 19, 2007
-
-
rtoy authored
For large numbers we did not check for odd-valued results that needed to be rounded to even.
-
- Mar 27, 2007
-
-
rtoy authored
correctly if the two parts had different signs, which does happen.
-
- Jan 18, 2007
-
-
rtoy authored
sign. This caused (FLOAT -1/9 1w0) to return -0.11111111111111109877529972638715w0 instead of 0.111111111111111111111111111111111w0.
-
- Aug 21, 2006
-
-
rtoy authored
can now read and print -0w0. code/float.lisp: o Adjust float-sign so that we get the correct sign when double-double-floats are used. o Adjust FLOAT-RATIO to call %MAKE-DOUBLE-DOUBLE-FLOAT so that we preserve the sign of the number. This is safe because the components are known to be properly scaled. compiler/float-tran.lisp: o Use %MAKE-DOUBLE-DOUBLE-FLOAT in %DOUBLE-DOUBLE-FLOAT to preserve the sign of the original float. This is safe because the components are known to be properly scaled. o Add a FLOAT-SIGN deftransform to handle DOUBLE-DOUBLE-FLOAT.
-
- Jun 30, 2006
-
-
rtoy authored
The merge is from the tag "double-double-irrat-end". The double-double branch is now obsolete. The code should build without double-double support (tested on sparc) as well as build with double-double support (tested also on sparc).
-
- Aug 25, 2005
-
-
rtoy authored
%unary-ftruncate/double-float where the test for infinity and NaN was wrong. o When given NaN, these functions should return a quiet (non-signaling) NaN instead of returning the signaling NaN. This fixes the FRUNCATE/FFLOOR/FCEILING tests in ieeefp-tests.
-
- Jun 18, 2004
-
-
rtoy authored
o Update %unary-ftruncate and the corresponding deftransform because it was not properly returning the correct sign for signed zeroes. If the number was in a good range, we used truncate, which loses the sign of zero. (Should we have leave it in and add an explicit check for a zero result and adjust the sign appropriately? That would allow us to use the fast builtin instructions at the expense of a test for zero and a fix.)
-
- Jun 09, 2004
-
-
rtoy authored
returned appropriately instead of +0.0. This is to conform to IEEE754.
-
- Jul 22, 2002
-
-
toy authored
float.
-
- May 08, 2002
-
-
toy authored
%UNARY-FTRUNCATE/DOUBLE-FLOAT as maybe-inline so that they can be inlined by the user if desired.
-
- Mar 05, 2002
-
-
toy authored
0.5 <= x < 1. (Stupid typo) o Clean up %unary-ftruncate/single-float and %unary-ftruncate/double-float so the code looks identical except for the case where real work is needed. (Macroize this so the code is identical?)
-
- Feb 25, 2002
-
-
toy authored
instead of calling the generic TRUNCATE. Make FFLOOR, FCEILING, and FROUND use FTRUNCATE so they benefit too.
-
- Jun 17, 2001
-
-
pw authored
FLOAT-RADIX should signal an error if arg is not a FLOAT.
-
- Mar 04, 2001
-
-
pw authored
-
- May 22, 2000
-
-
dtc authored
on an algorithm from Bruno Haible.
-
- May 06, 2000
-
-
dtc authored
double-float-epsilon and double-float-negative-epsilon to overcome a rounding problem and fix their definitions as per the CLHS.
-
- Nov 19, 1999
-
-
dtc authored
found by Akira Kurihara. The bug was caused by (- xx (float a x)) eventually becoming zero; an extra test has been added to exit the do loop when this is true. From Raymond Toy.
-