diff options
author | Daniel Llorens <lloda@sarc.name> | 2021-12-06 13:38:37 +0100 |
---|---|---|
committer | Daniel Llorens <lloda@sarc.name> | 2021-12-06 14:00:03 +0100 |
commit | 5759e37181ae648cc861656b6c75982851ba93fa (patch) | |
tree | 97e66e5402c614e6cdde5937e22abeb53d8301e1 /module/srfi | |
parent | 6af3362b059bb132231354ccca7f15c781f50f48 (diff) | |
download | guile-5759e37181ae648cc861656b6c75982851ba93fa.tar.gz |
New function srfi-4-vector-type-size in (srfi srfi-4 gnu)
This patch removes the undocumented function make-srfi-4-vector from
(guile). That function is still exported from (srfi srfi-4 gnu).
* libguile/srfi-4.h (scm_init_srfi_4): Split into scm_bootstrap_srfi_4()
and scm_init_srfi_4(), after the pattern of scm_init_bytevectors() and
scm_bootstrap_bytevectors().
* libguile/init.c: Replace scm_init_srfi_4() call by scm_bootstrap_srfi_4().
* module/srfi/srfi-4.scm: Load newly defined srfi-4 extension. This
provides undocumented make-srfi-4-vector.
* module/srfi/srfi-4/gnu.scm: Export srfi-4-vector-type-size.
* doc/ref/srfi-modules.texi: Document srfi-4-vector-type-size.
Diffstat (limited to 'module/srfi')
-rw-r--r-- | module/srfi/srfi-4.scm | 3 | ||||
-rw-r--r-- | module/srfi/srfi-4/gnu.scm | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/module/srfi/srfi-4.scm b/module/srfi/srfi-4.scm index b2e6f4928..9209185f7 100644 --- a/module/srfi/srfi-4.scm +++ b/module/srfi/srfi-4.scm @@ -116,3 +116,6 @@ (define-bytevector-type s64 s64-native 8) (define-bytevector-type f32 ieee-single-native 4) (define-bytevector-type f64 ieee-double-native 8) + +(load-extension (string-append "libguile-" (effective-version)) + "scm_init_srfi_4") diff --git a/module/srfi/srfi-4/gnu.scm b/module/srfi/srfi-4/gnu.scm index 35e6c4f66..7c5d2c5fb 100644 --- a/module/srfi/srfi-4/gnu.scm +++ b/module/srfi/srfi-4/gnu.scm @@ -33,8 +33,6 @@ c64vector? make-c64vector c64vector c64vector-length c64vector-ref c64vector-set! c64vector->list list->c64vector - make-srfi-4-vector - ;; Somewhat polymorphic conversions. any->u8vector any->s8vector any->u16vector any->s16vector any->u32vector any->s32vector any->u64vector any->s64vector @@ -48,10 +46,14 @@ ;; copy range with destination u8vector-copy! s8vector-copy! u16vector-copy! s16vector-copy! u32vector-copy! s32vector-copy! u64vector-copy! s64vector-copy! - f32vector-copy! f64vector-copy! c32vector-copy! c64vector-copy!)) + f32vector-copy! f64vector-copy! c32vector-copy! c64vector-copy! + + ;; from libguile + srfi-4-vector-type-size make-srfi-4-vector)) (define make-srfi-4-vector (@@ (srfi srfi-4) make-srfi-4-vector)) +(define srfi-4-vector-type-size (@@ (srfi srfi-4) srfi-4-vector-type-size)) (define (bytevector-c32-native-ref v i) (make-rectangular (bytevector-ieee-single-native-ref v i) |