Fix type of tanh.

Found using random testing.
(cherry picked from commit 89f9b860cd)
This commit is contained in:
Vincent St-Amour 2013-05-07 10:03:13 -04:00 committed by Ryan Culpepper
parent 07fca0974d
commit bc34a73cd6
2 changed files with 5 additions and 3 deletions

View File

@ -28,7 +28,7 @@
(typecheck typechecker)
(env global-env)
(base-env base-env-indexing))
racket/file racket/port racket/flonum
racket/file racket/port racket/flonum racket/math
(env global-env)
(for-meta 2 (env global-env))
(for-template
@ -225,6 +225,7 @@
(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 (tanh (ann 0 Nonnegative-Integer)) -NonNegReal)
(tc-e (angle -1) -Real)
(tc-e (angle 2.3) -Zero)
(tc-e (magnitude 3/4) -PosRat)

View File

@ -1908,8 +1908,9 @@
(map unop (list -FloatComplex -SingleFlonumComplex -InexactComplex N)))]
[tanh (from-cases ; same as sinh
(unop -Zero) ; only exact case
((Un -NonNegRat -NonNegFlonum) . -> . -NonNegFlonum) ; possible underflow, no pos -> pos
((Un -NonPosRat -NonPosFlonum) . -> . -NonPosFlonum)
;; possible underflow, no pos -> pos. 0 -> 0, no -NonNegRat -> -NonNegFlonum
((Un -PosRat -NonNegFlonum) . -> . -NonNegFlonum)
((Un -NegRat -NonPosFlonum) . -> . -NonPosFlonum)
(map unop (list -FlonumNan -Flonum
-SingleFlonumNan -NonNegSingleFlonum -NonPosSingleFlonum -SingleFlonum
-NonNegInexactReal -NonPosInexactReal -InexactReal