From eeef1a7c55b5a8b3445482d4e7bb927c286b2dda Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Thu, 9 Apr 2015 20:36:22 -0700 Subject: [PATCH] Simplify types of integer-sqrt. --- .../typed-racket/base-env/base-env-numeric.rkt | 11 +++++------ 1 file changed, 5 insertions(+), 6 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 c364107a..c905ed8a 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 @@ -1711,13 +1711,12 @@ (N . -> . N))] [integer-sqrt (from-cases - (map unop (list -Zero -One -Byte -Index)) + (-> (Un -RealZero -One) (Un -RealZero -One) : -true-filter : (-arg-path 0)) + (unop -Byte) (-NonNegFixnum . -> . -Index) - (map unop (list -Nat -NonNegRat - -FlonumPosZero -FlonumNegZero -FlonumZero -NonNegFlonum - -SingleFlonumPosZero -SingleFlonumNegZero -SingleFlonumZero -NonNegSingleFlonum - -InexactRealPosZero -InexactRealNegZero -InexactRealZero -NonNegInexactReal - -RealZero -NonNegReal)) + (-NonNegRat . -> . -Nat) + (map unop (list -NonNegFlonum -NonNegSingleFlonum -NonNegInexactReal -NonNegReal)) + ; This errors on NaN so we can ignore it (-Rat . -> . -ExactNumber) (-Real . -> . N))] ; defined on inexact integers too, but not complex [integer-sqrt/remainder