summaryrefslogtreecommitdiff
path: root/libguile/vectors.h
diff options
context:
space:
mode:
authorChristine Lemmer-Webber <cwebber@dustycloud.org>2021-10-10 20:59:04 -0400
committerChristine Lemmer-Webber <cwebber@dustycloud.org>2021-10-10 20:59:04 -0400
commit204cb986469b2751a3c3347a34a8013c1a0b6954 (patch)
treee91534db67add400e5213ec3becb6ab48544b470 /libguile/vectors.h
parentb03b359b5b16c040c485a565f3ce92481ea43f41 (diff)
parente60469c8b6936575c079faaffa40a340e1d49f3c (diff)
downloadguile-204cb986469b2751a3c3347a34a8013c1a0b6954.tar.gz
Merge branch 'main' into compile-to-js-merge
Diffstat (limited to 'libguile/vectors.h')
-rw-r--r--libguile/vectors.h13
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 */