Fix type of flexpt.
Found using random testing. Found 9 times.
This commit is contained in:
parent
bd12a1b928
commit
16a18d7648
|
@ -568,7 +568,8 @@
|
|||
(fl-type-lambda
|
||||
(from-cases (-FlZero -PosFl . -> . -FlZero) ; (flexpt -0.0 0.1) -> 0.0 ; not sign preserving
|
||||
((Un -PosFl -NegFl) -FlZero . -> . -PosFl) ; always returns 1.0
|
||||
(-NonNegFl -Fl . -> . -NonNegFl) ; can underflow
|
||||
;; can underflow, and -0.0 breaks sign, so 1st arg can't be non-neg
|
||||
(-Pos -Fl . -> . -NonNegFl)
|
||||
(-Fl -Fl . -> . -Fl))))
|
||||
|
||||
(define fx->fl-type
|
||||
|
|
|
@ -455,6 +455,7 @@
|
|||
(tc-e (exact->inexact (ann 3 Number)) (t:Un -InexactReal -InexactComplex))
|
||||
(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 (exact->inexact 3) -PosFlonum)
|
||||
(tc-e (exact->inexact -3) -NegFlonum)
|
||||
(tc-e (real->double-flonum 0.0) -FlonumPosZero)
|
||||
|
|
Loading…
Reference in New Issue
Block a user