diff --git a/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt b/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt index 627db5a3c2..67301df261 100644 --- a/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt +++ b/collects/tests/typed-racket/unit-tests/typecheck-tests.rkt @@ -210,6 +210,10 @@ (tc-e (flexpt 0.5 0.3) -NonNegFlonum) (tc-e (flexpt 0.00000000001 100000000000.0) -NonNegFlonum) (tc-e (flexpt -2.0 -0.5) -Flonum) ; NaN + (tc-e (angle -1) -Real) + (tc-e (angle 2.3) -Zero) + (tc-e (magnitude 3/4) -Rat) + (tc-e (magnitude 3+2i) -Real) [tc-e/t (lambda: () 3) (t:-> -PosByte : -true-lfilter)] [tc-e/t (lambda: ([x : Number]) 3) (t:-> N -PosByte : -true-lfilter)] diff --git a/collects/typed-racket/base-env/base-env-numeric.rkt b/collects/typed-racket/base-env/base-env-numeric.rkt index e3bc29ec47..3fd1629108 100644 --- a/collects/typed-racket/base-env/base-env-numeric.rkt +++ b/collects/typed-racket/base-env/base-env-numeric.rkt @@ -1567,11 +1567,11 @@ (-FloatComplex . -> . -Flonum) (-InexactComplex . -> . -InexactReal) (N . -> . -Real))] -[magnitude (cl->* (-ExactNumber . -> . -Rat) +[magnitude (cl->* (-Rat . -> . -Rat) (-FloatComplex . -> . -Flonum) (-InexactComplex . -> . -InexactReal) (N . -> . -Real))] -[angle (cl->* (-ExactNumber . -> . -Rat) +[angle (cl->* (-PosReal . -> . -Zero) (-FloatComplex . -> . -Flonum) (-InexactComplex . -> . -InexactReal) (N . -> . -Real))]