Fix type of sinh.

Found using random testing.

original commit: 5de08f06b4d254d4816b8e8320fd339be5c78038
This commit is contained in:
Vincent St-Amour 2013-05-13 11:15:42 -04:00
parent 52fd460618
commit 88ddace934
2 changed files with 4 additions and 2 deletions

View File

@ -226,6 +226,7 @@
(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 (sinh (ann 0 Nonpositive-Integer)) -NonPosReal)
(tc-e (angle -1) -Real)
(tc-e (angle 2.3) -Zero)
(tc-e (magnitude 3/4) -PosRat)

View File

@ -1892,8 +1892,9 @@
(N . -> . N))]
[sinh (from-cases
(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