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
This commit is contained in:
Vincent St-Amour 2011-07-06 17:54:06 -04:00
parent 7761a92cca
commit 3f2a0df532

View File

@ -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)]