From 3c978d82cbca7e3e16ce136866e2d45f52c7eeda Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Thu, 9 Apr 2015 23:29:55 -0700 Subject: [PATCH] Tighten fxior and fxxor. --- .../typed-racket/base-env/base-env-numeric.rkt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 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 731243e5..21d01641 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 @@ -360,8 +360,9 @@ (define fxior-type (lambda () (fx-from-cases - (binop -Zero) - (commutative-binop -One -Zero -One) + (-> -Zero -Int -Fixnum : -true-filter : (-arg-path 1)) + (-> -Int -Zero -Fixnum : -true-filter : (-arg-path 0)) + (commutative-binop -PosByte -Byte -PosByte) (binop -Byte) (commutative-binop -PosIndex -Index -PosIndex) @@ -373,7 +374,9 @@ (define fxxor-type (lambda () (fx-from-cases - (binop -Zero) + (-> -Zero -Int -Fixnum : -true-filter : (-arg-path 1)) + (-> -Int -Zero -Fixnum : -true-filter : (-arg-path 0)) + (binop -One -Zero) (binop -Byte) (binop -Index)