guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Unexpected srfi-4 C Interface Change in 2.0.10


From: Barry Fishman
Subject: Unexpected srfi-4 C Interface Change in 2.0.10
Date: Wed, 19 Mar 2014 10:22:40 -0400
User-agent: Gnus/5.13001 (Ma Gnus v0.10) Emacs/24.3.50 (gnu/linux)

When building C interface code using scm_f32vector_writable_elements()
in 2.0.10 and on the trunk I found:

For a vector generated in guile with:

  (f32vector 0.25 0.25 0.25 1.0)

I found in the C interface:

  scm_t_array_handle handle;
  size_t vlen, vinc;
  float *arrayp;
  
  arrayp = scm_f32vector_writable_elements(s_uvec, &handle,
                                           &vlen, &vinc)

When I test vlen it now seems to contain the number of bytes (16)
rather than the number of elements (4) in the f32vector.

It was 4 in 2.0.9 and the guile trunk I built on Jan 8.
It was 16 in 2.0.10 and the guile trunk I built on March 17.
I assume it relates to the Feb 8 changes, where:
 (in commit dc65b88d839c326889618112c4870ad3a64e9446)

    *lenp = scm_c_bytevector_length (uvec) / width;

and width is set to 1 in the macro:

DEFINE_SRFI_4_C_FUNCS (F32, f32, float, 1);

--
Barry Fishman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]