From 07c1f1e94f05cbbecd6d7606d725c0217f1d4a33 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Thu, 17 Jun 2010 12:32:42 -0400 Subject: [PATCH] Added types for some bitwise operations. --- .../typed-scheme/private/base-env-numeric.rkt | 17 +++++++++++++++++ collects/typed-scheme/private/base-env.rkt | 14 -------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/collects/typed-scheme/private/base-env-numeric.rkt b/collects/typed-scheme/private/base-env-numeric.rkt index 56885801a0..7d6aa00aed 100644 --- a/collects/typed-scheme/private/base-env-numeric.rkt +++ b/collects/typed-scheme/private/base-env-numeric.rkt @@ -133,6 +133,23 @@ [quotient/remainder (cl->* (-Nat -Nat . -> . (-values (list -Nat -Nat))) (-Integer -Integer . -> . (-values (list -Integer -Integer))))] +[arithmetic-shift (cl->* (-Nat -Nat . -> . -Nat) + (-Integer -Integer . -> . -Integer))] +[bitwise-and (cl->* (null -Nat . ->* . -Nat) + (null -Integer . ->* . -Integer))] +[bitwise-ior (cl->* (null -Nat . ->* . -Nat) + (null -Integer . ->* . -Integer))] +[bitwise-not (cl->* (null -Nat . ->* . -Nat) + (null -Integer . ->* . -Integer))] +[bitwise-xor (cl->* (null -Nat . ->* . -Nat) + (null -Integer . ->* . -Integer))] +[bitwise-bit-set? (-> -Integer -Integer B)] +[bitwise-bit-field (-> -Integer -Integer -Integer -Integer)] +[integer-length (-> -Integer -Nat)] + +[abs (cl->* (-Integer . -> . -Nat) + (-Real . -> . -Real))] + ;; exactness [exact->inexact (cl->* (-Real . -> . -Flonum) diff --git a/collects/typed-scheme/private/base-env.rkt b/collects/typed-scheme/private/base-env.rkt index f0f3b830ce..d381bc3232 100644 --- a/collects/typed-scheme/private/base-env.rkt +++ b/collects/typed-scheme/private/base-env.rkt @@ -465,20 +465,6 @@ [match:error ((list) Univ . ->* . (Un))] -[arithmetic-shift (cl->* (-Nat -Nat . -> . -Nat) - (-Integer -Integer . -> . -Integer))] -[bitwise-and (cl->* (null -Nat . ->* . -Nat) - (null -Integer . ->* . -Integer))] -[bitwise-ior (cl->* (null -Nat . ->* . -Nat) - (null -Integer . ->* . -Integer))] -[bitwise-not (cl->* (null -Nat . ->* . -Nat) - (null -Integer . ->* . -Integer))] -[bitwise-xor (cl->* (null -Nat . ->* . -Nat) - (null -Integer . ->* . -Integer))] - -[abs (cl->* (-Integer . -> . -Nat) - (-Real . -> . -Real))] - [file-exists? (-Pathlike . -> . B)] [string->symbol (-String . -> . Sym)] [symbol->string (Sym . -> . -String)]