0.pre8.99:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 24 Apr 2003 08:55:34 +0000 (08:55 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 24 Apr 2003 08:55:34 +0000 (08:55 +0000)
One more -0.0/0.0 fix:
... numeric type ranges should be compared with EQUALP, not
EQUAL, to make (FLOAT 0.0) be the same as (FLOAT -0.0)

src/code/late-type.lisp
tests/type.impure.lisp
version.lisp-expr

index e4a17df..c8c76ea 100644 (file)
    (and (eq (numeric-type-class type1) (numeric-type-class type2))
        (eq (numeric-type-format type1) (numeric-type-format type2))
        (eq (numeric-type-complexp type1) (numeric-type-complexp type2))
-       (equal (numeric-type-low type1) (numeric-type-low type2))
-       (equal (numeric-type-high type1) (numeric-type-high type2)))
+       (equalp (numeric-type-low type1) (numeric-type-low type2))
+       (equalp (numeric-type-high type1) (numeric-type-high type2)))
    t))
 
 (!define-type-method (number :unparse) (type)
index d07044f..7bd27fb 100644 (file)
 
 (assert-t-t (subtypep '(not (single-float 0.0 0.0)) '(not (member 0.0))))
 (assert-t-t (subtypep '(not (double-float 0.0d0 0.0d0)) '(not (member 0.0d0))))
+
+(assert-t-t (subtypep '(float -0.0) '(float 0.0)))
+(assert-t-t (subtypep '(float 0.0) '(float -0.0)))
+(assert-t-t (subtypep '(float (0.0)) '(float (-0.0))))
+(assert-t-t (subtypep '(float (-0.0)) '(float (0.0))))
 \f
 ;;;; Douglas Thomas Crosher rewrote the CMU CL type test system to
 ;;;; allow inline type tests for CONDITIONs and STANDARD-OBJECTs, and
index d76e8b0..95102c4 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.pre8.98"
+"0.pre8.99"