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.
This commit is contained in:
Vincent St-Amour 2011-07-06 17:54:06 -04:00
parent d75d6c7ee4
commit 7debd46621

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