From 3f2a0df53249e09d79eb72ee55a558f3c637044d Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Wed, 6 Jul 2011 17:54:06 -0400 Subject: [PATCH] Recognize multiple argument types for flvector accessors. With only Integer possible as type for the index argument, Integer was used as expected type, and any information we had about the argument (sign, range, etc.) was lost. original commit: 7debd466211150c58f6554dde95521ad75fc86b5 --- .../base-env/base-env-indexing-abs.rkt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/collects/typed-scheme/base-env/base-env-indexing-abs.rkt b/collects/typed-scheme/base-env/base-env-indexing-abs.rkt index b960a25f..9812977f 100644 --- a/collects/typed-scheme/base-env/base-env-indexing-abs.rkt +++ b/collects/typed-scheme/base-env/base-env-indexing-abs.rkt @@ -275,12 +275,20 @@ (-> index-type -Flonum -FlVector))] [flvector-length (-> -FlVector -NonNegFixnum)] - [flvector-ref (-> -FlVector index-type -Flonum)] - [flvector-set! (-> -FlVector index-type -Flonum -Void)] + [flvector-ref (cl->* (-> -FlVector -NonNegFixnum -Flonum) + (-> -FlVector -Fixnum -Flonum) + (-> -FlVector index-type -Flonum))] + [flvector-set! (cl->* (-> -FlVector -NonNegFixnum -Flonum -Void) + (-> -FlVector -Fixnum -Flonum -Void) + (-> -FlVector index-type -Flonum -Void))] [unsafe-flvector-length (-> -FlVector -NonNegFixnum)] - [unsafe-flvector-ref (-> -FlVector index-type -Flonum)] - [unsafe-flvector-set! (-> -FlVector index-type -Flonum -Void)] + [unsafe-flvector-ref (cl->* (-> -FlVector -NonNegFixnum -Flonum) + (-> -FlVector -Fixnum -Flonum) + (-> -FlVector index-type -Flonum))] + [unsafe-flvector-set! (cl->* (-> -FlVector -NonNegFixnum -Flonum -Void) + (-> -FlVector -Fixnum -Flonum -Void) + (-> -FlVector index-type -Flonum -Void))] [bytes-ref (-> -Bytes index-type -Byte)]