[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 26/27: Simplify vector constructor
From: |
Daniel Llorens |
Subject: |
[Guile-commits] 26/27: Simplify vector constructor |
Date: |
Fri, 21 Feb 2020 03:57:06 -0500 (EST) |
lloda pushed a commit to branch wip-vector-cleanup
in repository guile.
commit 7e23c0bb2e810b3ddef07d3eafa3d5d5c91768d9
Author: Daniel Llorens <address@hidden>
AuthorDate: Thu Feb 13 12:26:19 2020 +0100
Simplify vector constructor
* libguile/vectors.c: Remove redundant list check.
---
libguile/vectors.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/libguile/vectors.c b/libguile/vectors.c
index 16823d3..8047729 100644
--- a/libguile/vectors.c
+++ b/libguile/vectors.c
@@ -122,20 +122,16 @@ SCM_DEFINE (scm_vector, "vector", 0, 0, 1,
"@end lisp")
#define FUNC_NAME s_scm_vector
{
- SCM res;
- SCM *data;
- long i, len;
-
+ long len;
SCM_VALIDATE_LIST_COPYLEN (1, l, len);
+
+ SCM res = scm_c_make_vector (len, SCM_UNSPECIFIED);
+ SCM *data = SCM_I_VECTOR_WELTS (res);
- res = scm_c_make_vector (len, SCM_UNSPECIFIED);
- data = SCM_I_VECTOR_WELTS (res);
- i = 0;
- while (scm_is_pair (l) && i < len)
+ for (long i=0; i < len; ++i)
{
data[i] = SCM_CAR (l);
l = SCM_CDR (l);
- i += 1;
}
return res;
- [Guile-commits] 01/27: Require vector as argument to vector-copy, (continued)
- [Guile-commits] 01/27: Require vector as argument to vector-copy, Daniel Llorens, 2020/02/21
- [Guile-commits] 08/27: Fix doc for last bitvector patch, Daniel Llorens, 2020/02/21
- [Guile-commits] 06/27: Simplify interfaces to scm_vector_elements and scm_vector_writable_elements, Daniel Llorens, 2020/02/21
- [Guile-commits] 20/27: Update branch news file, Daniel Llorens, 2020/02/21
- [Guile-commits] 17/27: Pull generalized-vectors from under typed vectors, Daniel Llorens, 2020/02/21
- [Guile-commits] 16/27: Pull generalized-vectors from under bitvector/string/vector, Daniel Llorens, 2020/02/21
- [Guile-commits] 18/27: Pull generalized-vectors from under bytevectors, Daniel Llorens, 2020/02/21
- [Guile-commits] 14/27: Golf in srfi-4.h, Daniel Llorens, 2020/02/21
- [Guile-commits] 12/27: Remove generalized vector support for vector-move-right!, vector-move-left!, Daniel Llorens, 2020/02/21
- [Guile-commits] 15/27: Rewrite vector-copy! using memmove, Daniel Llorens, 2020/02/21
- [Guile-commits] 26/27: Simplify vector constructor,
Daniel Llorens <=
- [Guile-commits] 22/27: Remove scm_from_contiguous_typed_array, Daniel Llorens, 2020/02/21
- [Guile-commits] 24/27: Move uniform-array->bytevector from (rnrs bytevectors) to core, Daniel Llorens, 2020/02/21
- [Guile-commits] 19/27: Remove generalized-vectors.[hc], Daniel Llorens, 2020/02/21
- [Guile-commits] 23/27: Remove 'contiguous' flag in arrays, Daniel Llorens, 2020/02/21
- [Guile-commits] 09/27: Simplify interfaces to scm_TYPEvector_(writable_)elements, Daniel Llorens, 2020/02/21
- [Guile-commits] 25/27: Remove superfluous type check in bitvector->list, Daniel Llorens, 2020/02/21
- [Guile-commits] 27/27: Reuse SCM_ASSERT_RANGE in scm_c_vector_ref, scm_c_vector_set_x, Daniel Llorens, 2020/02/21
- [Guile-commits] 07/27: Simplify interfaces to scm_bitvector_elements and scm_bitvector_writable_elements, Daniel Llorens, 2020/02/21
- [Guile-commits] 21/27: Merge generalized-arrays.[ch] in arrays.[ch], Daniel Llorens, 2020/02/21
- [Guile-commits] 05/27: Simple vectors are just vectors, Daniel Llorens, 2020/02/21