Patch from Raymond Toy for the :negative-zero-is-not-zero feature:
have make-numeric-type canonicalize the bounds so that a lower bound of (-0.0) becomes 0.0 and an upper bound of (0.0) becomes -0.0. Also fixes the problem of (subtypep '(float (-0.0)) (float 0.0)), returning nil when it should be T. This is because (float (-0.0)) is canonicalized to the identical (float 0.0).
Loading
Please register or sign in to comment