mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 16:50:21 +02:00
fix bitvectors after the array handle refactoring
* libguile/uniform.h (scm_array_handle_uniform_element_bit_size): New public accessor. * libguile/uniform.c (scm_array_handle_uniform_element_size): Better errors in non-byte-aligned arrays. (scm_uniform_vector_element_type, scm_uniform_vector_element_size) (scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x): (scm_uniform_vector_to_list): Don't require byte-aligned access. * libguile/bytevectors.c (scm_uniform_array_to_bytevector): * libguile/arrays.c (scm_from_contiguous_typed_array): Fix for uniform arrays whose element size is not a multiple of the byte size.
This commit is contained in:
parent
c5923112fe
commit
f5a51caec1
4 changed files with 59 additions and 46 deletions
|
@ -36,8 +36,10 @@ SCM_INTERNAL const size_t scm_i_array_element_type_sizes[];
|
|||
#define SCM_ARRAY_ELEMENT_TYPE_IS_UNBOXED(t) \
|
||||
(scm_i_array_element_type_sizes[(t)] != 0)
|
||||
|
||||
/* returns type size in bits */
|
||||
/* type size in bytes */
|
||||
SCM_API size_t scm_array_handle_uniform_element_size (scm_t_array_handle *h);
|
||||
/* type size in bits */
|
||||
SCM_API size_t scm_array_handle_uniform_element_bit_size (scm_t_array_handle *h);
|
||||
|
||||
SCM_API const void *scm_array_handle_uniform_elements (scm_t_array_handle *h);
|
||||
SCM_API void *scm_array_handle_uniform_writable_elements (scm_t_array_handle *h);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue