Fix subtyping for Negative-Single-Flonum.

original commit: 12aaa229a3fb84018a44f0aff175982a1841b764
This commit is contained in:
Vincent St-Amour 2013-02-20 17:21:13 -05:00
parent 441845b18a
commit 6755a11d36
3 changed files with 4 additions and 1 deletions

View File

@ -94,6 +94,7 @@
[(Un (-val 'foo) (-val 6)) (Un (-val 'foo) (-val 6))]
[(-poly (a) (make-Listof (-v a))) (make-Listof (-mu x (Un (make-Listof x) -Number)))]
[FAIL (make-Listof (-mu x (Un (make-Listof x) -Number))) (-poly (a) (make-Listof a))]
[(-val -34.2f0) -NegSingleFlonum]
;; case-lambda
[(cl-> [(-Number) -Number] [(-Boolean) -Boolean]) (-Number . -> . -Number)]
;; special case for unused variables

View File

@ -177,6 +177,8 @@
(tc-e (- -23524623547234734568) -PosInt)
(tc-e (- 241.3) -NegFlonum)
(tc-e (- -24.3) -PosFlonum)
(tc-e/t 34.2f0 -PosSingleFlonum)
(tc-e/t -34.2f0 -NegSingleFlonum)
(tc-e (- (ann 1000 Index) 1) -Fixnum)
(tc-e (- (ann 1000 Positive-Index) 1) -Index)

View File

@ -201,7 +201,7 @@
(define -NegSingleFlonumNoNan
(make-Base 'Negative-Single-Flonum-No-Nan
#'(and/c single-flonum? negative?)
(lambda (x) (and (single-flonum? x) (positive? x)))
(lambda (x) (and (single-flonum? x) (negative? x)))
#'-NegSingleFlonumNoNan))
(define -NegSingleFlonum (*Un -NegSingleFlonumNoNan -SingleFlonumNan))
(define -NegInexactReal (*Un -NegSingleFlonum -NegFlonum))