diff --git a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt index 00bf1603..1bf7d85f 100644 --- a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt @@ -1621,8 +1621,12 @@ (-InexactReal (Un -NegInt -PosInt) . -> . -InexactReal) (-InexactReal -InexactReal . -> . (Un -InexactReal -InexactComplex)) (-Real -Int . -> . -Real) - (-FloatComplex (Un -InexactComplex -InexactReal) . -> . -FloatComplex) - (-SingleFlonumComplex (Un -SingleFlonum -SingleFlonumComplex) . -> . -SingleFlonumComplex) + (-FloatComplex -FloatComplex . -> . -FloatComplex) + (-FloatComplex -Flonum . -> . (Un -FloatComplex -Flonum)) + (-FloatComplex -InexactReal . -> . (Un -FloatComplex -InexactReal)) + (-FloatComplex -InexactComplex . -> . -FloatComplex) + (-SingleFlonumComplex -SingleFlonumComplex . -> . -SingleFlonumComplex) + (-SingleFlonumComplex -SingleFlonum . -> . (Un -SingleFlonumComplex -SingleFlonum)) ((Un -InexactReal -InexactComplex) -InexactComplex . -> . -InexactComplex) (-InexactComplex (Un -InexactReal -InexactComplex) . -> . -InexactComplex) (N N . -> . N))] diff --git a/typed-racket-test/unit-tests/typecheck-tests.rkt b/typed-racket-test/unit-tests/typecheck-tests.rkt index ffc5532e..e42f81ef 100644 --- a/typed-racket-test/unit-tests/typecheck-tests.rkt +++ b/typed-racket-test/unit-tests/typecheck-tests.rkt @@ -451,6 +451,7 @@ (tc-e (min (ann -2 Negative-Fixnum) (ann 3 Fixnum)) -NegFixnum) (tc-e (min (ann 3 Fixnum) (ann -2 Negative-Fixnum)) -NegFixnum) (tc-e (fl/ 1.7976931348623157e+308 -0.0e0) -Flonum) + (tc-e (expt (make-rectangular 3 -1.7976931348623157e+308) (flacos (real->double-flonum 59.316513f0))) (t:Un -Flonum -FloatComplex)) (tc-e (exact->inexact (ann 3 Number)) (t:Un -InexactReal -InexactComplex)) (tc-e (exact->inexact 3) -PosFlonum) (tc-e (exact->inexact -3) -NegFlonum)