From 6a2c8ca9f76f192b3b6de325674bcdbbf365ca38 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Mon, 9 Nov 2015 11:03:32 -0600 Subject: [PATCH] Fix the fix to flexpt. --- .../typed-racket/base-env/base-env-numeric.rkt | 2 +- typed-racket-test/unit-tests/typecheck-tests.rkt | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt index 2d4e6655..ae1e89e8 100644 --- a/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-env-numeric.rkt @@ -569,7 +569,7 @@ (from-cases (-FlZero -PosFl . -> . -FlZero) ; (flexpt -0.0 0.1) -> 0.0 ; not sign preserving ((Un -PosFl -NegFl) -FlZero . -> . -PosFl) ; always returns 1.0 ;; can underflow, and -0.0 breaks sign, so 1st arg can't be non-neg - (-Pos -Fl . -> . -NonNegFl) + (-PosFl -Fl . -> . -NonNegFl) (-Fl -Fl . -> . -Fl)))) (define fx->fl-type diff --git a/typed-racket-test/unit-tests/typecheck-tests.rkt b/typed-racket-test/unit-tests/typecheck-tests.rkt index b23186ed..b927cdcf 100644 --- a/typed-racket-test/unit-tests/typecheck-tests.rkt +++ b/typed-racket-test/unit-tests/typecheck-tests.rkt @@ -434,11 +434,11 @@ (tan (real->double-flonum 6)) (lcm (*) (exact-round -1.7976931348623153e+308) 6)) -Number) - (tc-e (flexpt 0.5 0.3) -Flonum) - (tc-e (flexpt 0.00000000001 100000000000.0) -Flonum) + (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 (extflexpt 0.5t0 0.3t0) -ExtFlonum) - (tc-e (extflexpt 0.00000000001t0 100000000000.0t0) -ExtFlonum) + (tc-e (extflexpt 0.5t0 0.3t0) -NonNegExtFlonum) + (tc-e (extflexpt 0.00000000001t0 100000000000.0t0) -NonNegExtFlonum) (tc-e (extflexpt -2.0t0 -0.5t0) -ExtFlonum) ; NaN (tc-e (let-values ([(x y) (integer-sqrt/remainder 0)]) (+ x y)) -Zero) (tc-e (tanh (ann 0 Nonnegative-Integer)) -NonNegReal)