--- Begin Message ---
Subject: |
bytevector-copy creates srfi-4 vector with greater length |
Date: |
Mon, 27 Oct 2014 19:28:49 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
with guile version 2.1.0.89-c5ea7 on an x86_64 GNU/Linux system
and the following code
(use-modules (srfi srfi-4) (rnrs bytevectors))
(define a (make-f32vector 2 0))
(define b (bytevector-copy a))
(write (list a b))
"b" turns out to be an f32vector with length 8, 4 times the length of "a".
i expected the result to have the same length as the argument
see also http://lists.gnu.org/archive/html/guile-devel/2014-10/msg00064.html
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#18866: bytevector-copy creates srfi-4 vector with greater length |
Date: |
Wed, 12 Nov 2014 01:04:37 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
tantalum <address@hidden> writes:
> with guile version 2.1.0.89-c5ea7 on an x86_64 GNU/Linux system
> and the following code
> (use-modules (srfi srfi-4) (rnrs bytevectors))
> (define a (make-f32vector 2 0))
> (define b (bytevector-copy a))
> (write (list a b))
>
> "b" turns out to be an f32vector with length 8, 4 times the length of "a".
> i expected the result to have the same length as the argument
>
> see also http://lists.gnu.org/archive/html/guile-devel/2014-10/msg00064.html
I fixed this in 10679f4c59fcffb0657219e28e38d15df8ad09a0 by changing
'bytevector-copy' to always produce a standard bytevector with unsigned
8-bit elements, as if 'bytevector-copy' was implemented using the
standard procedures 'make-bytevector', 'bytevector-length', etc.
This is on the stable-2.0 branch and will be in Guile 2.0.12.
I'm open to the idea of adding another procedure that copies arbitrary
SRFI-4 vectors, but I think it should have a different name. If you'd
like to persue this, let's create another ticket for it.
I'm closing this bug now.
Thanks,
Mark
--- End Message ---