mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 13:49:17 +02:00
adding domain checks on uvector accessors
This commit is contained in:
parent
70af1d6394
commit
adec61993b
1 changed files with 48 additions and 24 deletions
|
@ -135,38 +135,62 @@ void c128vector_set(sexp ctx, double* uv, int i, sexp v) {
|
||||||
(define-c boolean (c64vector? "uvector_of") (sexp (value SEXP_C64 int)))
|
(define-c boolean (c64vector? "uvector_of") (sexp (value SEXP_C64 int)))
|
||||||
(define-c boolean (c128vector? "uvector_of") (sexp (value SEXP_C128 int)))
|
(define-c boolean (c128vector? "uvector_of") (sexp (value SEXP_C128 int)))
|
||||||
|
|
||||||
(define-c int u1vector-ref (sexp int))
|
(define-c int u1vector-ref (sexp int)
|
||||||
(define-c void (u1vector-set! "u1vector_set") (sexp int int))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (u1vector-set! "u1vector_set") (sexp int int)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c signed-char s8vector-ref (s8vector int))
|
(define-c signed-char s8vector-ref (s8vector int)
|
||||||
(define-c void (s8vector-set! "s8vector_set") (s8vector int signed-char))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (s8vector-set! "s8vector_set") (s8vector int signed-char)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c unsigned-short u16vector-ref (u16vector int))
|
(define-c unsigned-short u16vector-ref (u16vector int)
|
||||||
(define-c void (u16vector-set! "u16vector_set") (u16vector int unsigned-short))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (u16vector-set! "u16vector_set") (u16vector int unsigned-short)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c short s16vector-ref (s16vector int))
|
(define-c short s16vector-ref (s16vector int)
|
||||||
(define-c void (s16vector-set! "s16vector_set") (s16vector int short))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (s16vector-set! "s16vector_set") (s16vector int short)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c unsigned-int u32vector-ref (u32vector int))
|
(define-c unsigned-int u32vector-ref (u32vector int)
|
||||||
(define-c void (u32vector-set! "u32vector_set") (u32vector int unsigned-int))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (u32vector-set! "u32vector_set") (u32vector int unsigned-int)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c int32_t s32vector-ref (s32vector int))
|
(define-c int32_t s32vector-ref (s32vector int)
|
||||||
(define-c void (s32vector-set! "s32vector_set") (s32vector int int32_t))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (s32vector-set! "s32vector_set") (s32vector int int32_t)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c uint64_t u64vector-ref (u64vector int))
|
(define-c uint64_t u64vector-ref (u64vector int)
|
||||||
(define-c void (u64vector-set! "u64vector_set") (u64vector int uint64_t))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (u64vector-set! "u64vector_set") (u64vector int uint64_t)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c int64_t s64vector-ref (s64vector int))
|
(define-c int64_t s64vector-ref (s64vector int)
|
||||||
(define-c void (s64vector-set! "s64vector_set") (s64vector int int64_t))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (s64vector-set! "s64vector_set") (s64vector int int64_t)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c float f32vector-ref (f32vector int))
|
(define-c float f32vector-ref (f32vector int)
|
||||||
(define-c void (f32vector-set! "f32vector_set") (f32vector int float))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (f32vector-set! "f32vector_set") (f32vector int float)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c double f64vector-ref (f64vector int))
|
(define-c double f64vector-ref (f64vector int)
|
||||||
(define-c void (f64vector-set! "f64vector_set") (f64vector int double))
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
(define-c void (f64vector-set! "f64vector_set") (f64vector int double)
|
||||||
|
(assert (< -1 arg1 (uvector-length arg0))))
|
||||||
|
|
||||||
(define-c sexp c64vector-ref ((value ctx sexp) c64vector int))
|
(define-c sexp c64vector-ref ((value ctx sexp) c64vector int)
|
||||||
(define-c void (c64vector-set! "c64vector_set") ((value ctx sexp) c64vector int sexp))
|
(assert (< -1 arg2 (uvector-length arg1))))
|
||||||
|
(define-c void (c64vector-set! "c64vector_set") ((value ctx sexp) c64vector int sexp)
|
||||||
|
(assert (< -1 arg2 (uvector-length arg1))))
|
||||||
|
|
||||||
(define-c sexp c128vector-ref ((value ctx sexp) c128vector int))
|
(define-c sexp c128vector-ref ((value ctx sexp) c128vector int)
|
||||||
(define-c void (c128vector-set! "c128vector_set") ((value ctx sexp) c128vector int sexp))
|
(assert (< -1 arg2 (uvector-length arg1))))
|
||||||
|
(define-c void (c128vector-set! "c128vector_set") ((value ctx sexp) c128vector int sexp)
|
||||||
|
(assert (< -1 arg2 (uvector-length arg1))))
|
||||||
|
|
Loading…
Add table
Reference in a new issue