0.8.10.27:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 17 May 2004 09:44:45 +0000 (09:44 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 17 May 2004 09:44:45 +0000 (09:44 +0000)
commitb0a51fec91a2196e95824165dcdb049ff6e3834b
tree63dfe762ce55a73ff9a434f5eaf37438141cb036
parent2f1071f50ae43bce938aacf03d67d9626014a076
0.8.10.27:
Two fixes for ugly specification regarding negative zeros
... SXHASH is defined to respect similarity.  This is good in general,
but bad in the presence of negative floating point zeros,
which are similar to positive floating point zeros, and
must therefore hash to the same value.  Make it so,
courtesy of a neat trick (add 0.0) from
... IMAGPART is specified to return (* 0 <real>) for reals.  This
is different from what we were doing for negative floating
point reals.  Make it so, but...
... adjust the irrational function code so that floating point
reals are treated identically to #c(<real> 0.0), so that
we don't get a discontinuity in the real line.
... adjust the hash.impure.lisp test to cope with the new caveat;
... delete irrat.pure.lisp, because (a) no non-x86 platform ever
passed it and (b) the IMAGPART changes have knock-on effects
that cause x86 not to pass it either.  Replacing it with
tests based on the IEEE floating point test vectors
(available from netlib) would be a good thing.
NEWS
src/code/irrat.lisp
src/code/numbers.lisp
src/code/sxhash.lisp
tests/hash.impure.lisp
tests/irrat.pure.lisp [deleted file]
version.lisp-expr