[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 17/27: Pull generalized-vectors from under typed vectors
From: |
Daniel Llorens |
Subject: |
[Guile-commits] 17/27: Pull generalized-vectors from under typed vectors |
Date: |
Tue, 18 Feb 2020 04:19:28 -0500 (EST) |
lloda pushed a commit to branch wip-vector-cleanup
in repository guile.
commit d7e4ea843ea14e8446f64c229078c2f9da55bbf0
Author: Daniel Llorens <address@hidden>
AuthorDate: Thu Feb 6 15:40:51 2020 +0100
Pull generalized-vectors from under typed vectors
---
libguile/generalized-vectors.c | 25 ++++++++++++++++++++++++-
libguile/generalized-vectors.h | 4 ----
libguile/srfi-4.c | 19 -------------------
3 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/libguile/generalized-vectors.c b/libguile/generalized-vectors.c
index 68c1d23..e3d0f69 100644
--- a/libguile/generalized-vectors.c
+++ b/libguile/generalized-vectors.c
@@ -29,9 +29,10 @@
#include "generalized-vectors.h"
#include "array-handle.h"
-#include "vectors.h"
#include "bitvectors.h"
#include "strings.h"
+#include "vectors.h"
+#include "srfi-4.h"
struct scm_t_vector_ctor
{
@@ -70,6 +71,10 @@ SCM_DEFINE (scm_make_generalized_vector,
"make-generalized-vector", 2, 1, 0,
}
#undef FUNC_NAME
+#define SCM_VECTOR_IMPLEMENTATION(type, ctor) \
+ SCM_SNARF_INIT (scm_i_register_vector_constructor \
+ (scm_i_array_element_types[type], ctor))
+
SCM_VECTOR_IMPLEMENTATION (SCM_ARRAY_ELEMENT_TYPE_SCM, scm_make_vector)
SCM_VECTOR_IMPLEMENTATION (SCM_ARRAY_ELEMENT_TYPE_BIT, scm_make_bitvector)
@@ -78,5 +83,23 @@ SCM_VECTOR_IMPLEMENTATION (SCM_ARRAY_ELEMENT_TYPE_CHAR,
scm_make_string)
void
scm_init_generalized_vectors ()
{
+#define REGISTER(tag, TAG) \
+ scm_i_register_vector_constructor \
+ (scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_##TAG], \
+ scm_make_##tag##vector)
+
+ REGISTER (u8, U8);
+ REGISTER (s8, S8);
+ REGISTER (u16, U16);
+ REGISTER (s16, S16);
+ REGISTER (u32, U32);
+ REGISTER (s32, S32);
+ REGISTER (u64, U64);
+ REGISTER (s64, S64);
+ REGISTER (f32, F32);
+ REGISTER (f64, F64);
+ REGISTER (c32, C32);
+ REGISTER (c64, C64);
+
#include "generalized-vectors.x"
}
diff --git a/libguile/generalized-vectors.h b/libguile/generalized-vectors.h
index 7a8da6a..1c5d021 100644
--- a/libguile/generalized-vectors.h
+++ b/libguile/generalized-vectors.h
@@ -31,10 +31,6 @@
SCM_API SCM scm_make_generalized_vector (SCM type, SCM len, SCM fill);
SCM_INTERNAL void scm_i_register_vector_constructor (SCM type, SCM
(*ctor)(SCM, SCM));
-#define SCM_VECTOR_IMPLEMENTATION(type, ctor) \
- SCM_SNARF_INIT (scm_i_register_vector_constructor \
- (scm_i_array_element_types[type], ctor))
-
SCM_INTERNAL void scm_init_generalized_vectors (void);
#endif /* SCM_GENERALIZED_VECTORS_H */
diff --git a/libguile/srfi-4.c b/libguile/srfi-4.c
index 912feeb..0107b9a 100644
--- a/libguile/srfi-4.c
+++ b/libguile/srfi-4.c
@@ -31,7 +31,6 @@
#include "error.h"
#include "eval.h"
#include "extensions.h"
-#include "generalized-vectors.h"
#include "gsubr.h"
#include "modules.h"
#include "numbers.h"
@@ -273,24 +272,6 @@ SCM_DEFINE (scm_make_srfi_4_vector, "make-srfi-4-vector",
2, 1, 0,
void
scm_init_srfi_4 (void)
{
-#define REGISTER(tag, TAG) \
- scm_i_register_vector_constructor \
- (scm_i_array_element_types[SCM_ARRAY_ELEMENT_TYPE_##TAG], \
- scm_make_##tag##vector)
-
- REGISTER (u8, U8);
- REGISTER (s8, S8);
- REGISTER (u16, U16);
- REGISTER (s16, S16);
- REGISTER (u32, U32);
- REGISTER (s32, S32);
- REGISTER (u64, U64);
- REGISTER (s64, S64);
- REGISTER (f32, F32);
- REGISTER (f64, F64);
- REGISTER (c32, C32);
- REGISTER (c64, C64);
-
#include "srfi-4.x"
}
- [Guile-commits] 09/27: Simplify interfaces to scm_TYPEvector_(writable_)elements, (continued)
- [Guile-commits] 09/27: Simplify interfaces to scm_TYPEvector_(writable_)elements, Daniel Llorens, 2020/02/18
- [Guile-commits] 14/27: Golf in srfi-4.h, Daniel Llorens, 2020/02/18
- [Guile-commits] 13/27: Move bitvector functions using array_handle to libguile/array-handle.[ch], Daniel Llorens, 2020/02/18
- [Guile-commits] 16/27: Pull generalized-vectors from under bitvector/string/vector, Daniel Llorens, 2020/02/18
- [Guile-commits] 18/27: Pull generalized-vectors from under bytevectors, Daniel Llorens, 2020/02/18
- [Guile-commits] 20/27: Update branch news file, Daniel Llorens, 2020/02/18
- [Guile-commits] 12/27: Remove generalized vector support for vector-move-right!, vector-move-left!, Daniel Llorens, 2020/02/18
- [Guile-commits] 19/27: Remove generalized-vectors.[hc], Daniel Llorens, 2020/02/18
- [Guile-commits] 05/27: Simple vectors are just vectors, Daniel Llorens, 2020/02/18
- [Guile-commits] 10/27: Add lenp parameter back to scm_vector_(writable_)elements, Daniel Llorens, 2020/02/18
- [Guile-commits] 17/27: Pull generalized-vectors from under typed vectors,
Daniel Llorens <=
- [Guile-commits] 15/27: Rewrite vector-copy! using memmove, Daniel Llorens, 2020/02/18
- [Guile-commits] 25/27: Remove superfluous type check in bitvector->list, Daniel Llorens, 2020/02/18
- [Guile-commits] 22/27: Remove scm_from_contiguous_typed_array, Daniel Llorens, 2020/02/18
- [Guile-commits] 24/27: Move uniform-array->bytevector from (rnrs bytevectors) to core, Daniel Llorens, 2020/02/18
- [Guile-commits] 21/27: Merge generalized-arrays.[ch] in arrays.[ch], Daniel Llorens, 2020/02/18
- [Guile-commits] 23/27: Remove 'contiguous' flag in arrays, Daniel Llorens, 2020/02/18
- [Guile-commits] 26/27: Simplify vector constructor, Daniel Llorens, 2020/02/18
- [Guile-commits] 27/27: Reuse SCM_ASSERT_RANGE in scm_c_vector_ref, scm_c_vector_set_x, Daniel Llorens, 2020/02/18