diff options
Diffstat (limited to 'libguile/vectors.c')
-rw-r--r-- | libguile/vectors.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/libguile/vectors.c b/libguile/vectors.c index bb42e00ba..5dab5454a 100644 --- a/libguile/vectors.c +++ b/libguile/vectors.c @@ -432,40 +432,6 @@ SCM_DEFINE (scm_vector_move_right_x, "vector-move-right!", 5, 0, 0, #undef FUNC_NAME -static SCM -vector_handle_ref (scm_t_array_handle *h, size_t idx) -{ - if (idx > h->dims[0].ubnd) - scm_out_of_range ("vector-handle-ref", scm_from_size_t (idx)); - return ((SCM*)h->elements)[idx]; -} - -static void -vector_handle_set (scm_t_array_handle *h, size_t idx, SCM val) -{ - if (idx > h->dims[0].ubnd) - scm_out_of_range ("vector-handle-set!", scm_from_size_t (idx)); - ((SCM*)h->writable_elements)[idx] = val; -} - -static void -vector_get_handle (SCM v, scm_t_array_handle *h) -{ - h->array = v; - h->ndims = 1; - h->dims = &h->dim0; - h->dim0.lbnd = 0; - h->dim0.ubnd = SCM_I_VECTOR_LENGTH (v) - 1; - h->dim0.inc = 1; - h->element_type = SCM_ARRAY_ELEMENT_TYPE_SCM; - h->elements = h->writable_elements = SCM_I_VECTOR_WELTS (v); -} - -/* the & ~2 allows catching scm_tc7_wvect as well. needs changing if you change - tags.h. */ -SCM_ARRAY_IMPLEMENTATION (scm_tc7_vector, 0x7f & ~2, - vector_handle_ref, vector_handle_set, - vector_get_handle) SCM_VECTOR_IMPLEMENTATION (SCM_ARRAY_ELEMENT_TYPE_SCM, scm_make_vector) |