[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: |
Fri, 21 Feb 2020 03:57:03 -0500 (EST) |
lloda pushed a commit to branch wip-vector-cleanup
in repository guile.
commit 0439d0249b9d5d573e333098e194aa26f80ddda9
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] 04/27: Remove the unused argument from scm_array_p, (continued)
- [Guile-commits] 04/27: Remove the unused argument from scm_array_p, Daniel Llorens, 2020/02/21
- [Guile-commits] 10/27: Add lenp parameter back to scm_vector_(writable_)elements, Daniel Llorens, 2020/02/21
- [Guile-commits] 11/27: Add lenp parameter back to scm_bitvector_(writable_)elements, Daniel Llorens, 2020/02/21
- [Guile-commits] 13/27: Move bitvector functions using array_handle to libguile/array-handle.[ch], Daniel Llorens, 2020/02/21
- [Guile-commits] 02/27: Require vector as argument to vector->list, Daniel Llorens, 2020/02/21
- [Guile-commits] 03/27: Require vector argument to scm_vector_elements, scm_vector_writable_elements, Daniel Llorens, 2020/02/21
- [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 <=
- [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, 2020/02/21
- [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