adding domain checks on uvector accessors

This commit is contained in:
Alex Shinn 2021-03-26 17:34:25 +09:00
parent 70af1d6394
commit adec61993b

View file

@ -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 (c128vector? "uvector_of") (sexp (value SEXP_C128 int)))
(define-c int u1vector-ref (sexp int))
(define-c void (u1vector-set! "u1vector_set") (sexp int int))
(define-c int u1vector-ref (sexp 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 void (s8vector-set! "s8vector_set") (s8vector int signed-char))
(define-c signed-char s8vector-ref (s8vector int)
(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 void (u16vector-set! "u16vector_set") (u16vector int unsigned-short))
(define-c unsigned-short u16vector-ref (u16vector int)
(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 void (s16vector-set! "s16vector_set") (s16vector int short))
(define-c short s16vector-ref (s16vector int)
(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 void (u32vector-set! "u32vector_set") (u32vector int unsigned-int))
(define-c unsigned-int u32vector-ref (u32vector 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 void (s32vector-set! "s32vector_set") (s32vector int int32_t))
(define-c int32_t s32vector-ref (s32vector int)
(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 void (u64vector-set! "u64vector_set") (u64vector int uint64_t))
(define-c uint64_t u64vector-ref (u64vector int)
(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 void (s64vector-set! "s64vector_set") (s64vector int int64_t))
(define-c int64_t s64vector-ref (s64vector int)
(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 void (f32vector-set! "f32vector_set") (f32vector int float))
(define-c float f32vector-ref (f32vector int)
(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 void (f64vector-set! "f64vector_set") (f64vector int double))
(define-c double f64vector-ref (f64vector int)
(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 void (c64vector-set! "c64vector_set") ((value ctx sexp) c64vector int sexp))
(define-c sexp c64vector-ref ((value ctx sexp) c64vector int)
(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 void (c128vector-set! "c128vector_set") ((value ctx sexp) c128vector int sexp))
(define-c sexp c128vector-ref ((value ctx sexp) c128vector int)
(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))))