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.