Fix type of expt.

Found using random testing. Found 10 times.
This commit is contained in:
Vincent St-Amour 2015-11-05 14:23:56 -06:00
parent ef80d61ae9
commit a0ef6b1d8c
2 changed files with 8 additions and 3 deletions

View File

@ -1613,12 +1613,16 @@
(-Flonum (Un -NegInt -PosInt) . -> . -Flonum)
(-Flonum -Int . -> . (Un -Flonum -One))
(-Flonum -Flonum . -> . (Un -Flonum -FloatComplex))
(-NonNegSingleFlonum (Un -NonNegSingleFlonum -NegRat -PosRat) . -> . -NonNegSingleFlonum)
;; 1st arg can't be non-neg, -0.0 gives the wrong sign
(-PosSingleFlonum (Un -NonNegSingleFlonum -NegRat -PosRat) . -> . -NonNegSingleFlonum)
(-NonNegSingleFlonum (Un -NonNegSingleFlonum -NegRat -PosRat) . -> . -SingleFlonum)
(-SingleFlonum (Un -NegInt -PosInt) . -> . -SingleFlonum)
(-SingleFlonum -Int . -> . (Un -SingleFlonum -One))
(-SingleFlonum -SingleFlonum . -> . (Un -SingleFlonum -SingleFlonumComplex))
(-NonNegInexactReal (Un -NegReal -PosReal) . -> . -NonNegInexactReal)
(-NonNegReal -Real . -> . -NonNegReal)
(-PosInexactReal (Un -NegReal -PosReal) . -> . -NonNegInexactReal)
(-NonNegInexactReal (Un -NegReal -PosReal) . -> . -InexactReal)
(-PosReal -Real . -> . -NonNegReal)
(-NonNegReal -Real . -> . -Real)
(-InexactReal (Un -NegInt -PosInt) . -> . -InexactReal)
(-InexactReal -InexactReal . -> . (Un -InexactReal -InexactComplex))
(-Real -Int . -> . -Real)

View File

@ -456,6 +456,7 @@
(tc-e (/ (round (exact-round -2.7393196f0)) (real->double-flonum (inexact->exact (real->single-flonum -0.0)))) -Real)
(tc-e (bitwise-and (exact-round 1.7976931348623157e+308) (exact-round -29)) -Int)
(tc-e (flexpt -0.0 -1.0) -Flonum)
(tc-e (expt -0.0f0 -3.0) -InexactReal)
(tc-e (exact->inexact 3) -PosFlonum)
(tc-e (exact->inexact -3) -NegFlonum)
(tc-e (real->double-flonum 0.0) -FlonumPosZero)