diff options
author | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-10 20:59:04 -0400 |
---|---|---|
committer | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-10 20:59:04 -0400 |
commit | 204cb986469b2751a3c3347a34a8013c1a0b6954 (patch) | |
tree | e91534db67add400e5213ec3becb6ab48544b470 /libguile/vectors.h | |
parent | b03b359b5b16c040c485a565f3ce92481ea43f41 (diff) | |
parent | e60469c8b6936575c079faaffa40a340e1d49f3c (diff) | |
download | guile-204cb986469b2751a3c3347a34a8013c1a0b6954.tar.gz |
Merge branch 'main' into compile-to-js-merge
Diffstat (limited to 'libguile/vectors.h')
-rw-r--r-- | libguile/vectors.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libguile/vectors.h b/libguile/vectors.h index 41e2c8909..005999a2b 100644 --- a/libguile/vectors.h +++ b/libguile/vectors.h @@ -41,17 +41,18 @@ SCM_API SCM scm_vector_move_left_x (SCM vec1, SCM start1, SCM end1, SCM_API SCM scm_vector_move_right_x (SCM vec1, SCM start1, SCM end1, SCM vec2, SCM start2); SCM_API SCM scm_vector_copy (SCM vec); +SCM_API SCM scm_vector_copy_partial (SCM vec, SCM start, SCM end); +SCM_API SCM scm_vector_copy_x (SCM dst, SCM at, SCM src, SCM start, SCM end); SCM_API int scm_is_vector (SCM obj); -SCM_API int scm_is_simple_vector (SCM obj); SCM_API SCM scm_c_make_vector (size_t len, SCM fill); SCM_API size_t scm_c_vector_length (SCM vec); SCM_API SCM scm_c_vector_ref (SCM vec, size_t k); SCM_API void scm_c_vector_set_x (SCM vec, size_t k, SCM obj); -SCM_API const SCM *scm_vector_elements (SCM vec, +SCM_API const SCM *scm_vector_elements (SCM array, scm_t_array_handle *h, size_t *lenp, ssize_t *incp); -SCM_API SCM *scm_vector_writable_elements (SCM vec, +SCM_API SCM *scm_vector_writable_elements (SCM array, scm_t_array_handle *h, size_t *lenp, ssize_t *incp); @@ -65,7 +66,7 @@ SCM_API SCM *scm_vector_writable_elements (SCM vec, SCM_ASSERT (scm_is_vector (v) && len == scm_c_vector_length (v), v, pos, FUNC_NAME); \ } while (0) -/* Fast, non-checking accessors for simple vectors. +/* Fast, non-checking accessors */ #define SCM_SIMPLE_VECTOR_LENGTH(x) SCM_I_VECTOR_LENGTH(x) #define SCM_SIMPLE_VECTOR_REF(x,idx) ((SCM_I_VECTOR_ELTS(x))[idx]) @@ -87,9 +88,7 @@ SCM_API SCM *scm_vector_writable_elements (SCM vec, #define SCM_I_VECTOR_WELTS(x) (SCM_CELL_OBJECT_LOC (x, 1)) #define SCM_I_VECTOR_LENGTH(x) (((size_t) SCM_CELL_WORD_0 (x)) >> 8) -SCM_INTERNAL SCM scm_i_vector_equal_p (SCM x, SCM y); - - +SCM_INTERNAL SCM scm_i_vector_equal_p (SCM x, SCM y); SCM_INTERNAL void scm_init_vectors (void); #endif /* SCM_VECTORS_H */ |