mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 14:00:21 +02:00
* unif.c (scm_bitvector_release): Added explicit call to
scm_remember_upto_here_1. (scm_uniform_vector_elements, scm_u8vector_elements, etc): Made return value "const". (scm_uniform_vector_writable_elements, scm_u8vector_writable_elements, etc): New. (scm_uniform_vector_release, scm_uniform_vector_release_elements): Renamed former to latter. Added explicit call to scm_remember_upto_here_1. (scm_frame_uniform_vector_release, scm_frame_uniform_vector_release_elements): Renamed former to latter. (scm_uniform_vector_release_writable_elements, scm_frame_uniform_vector_release_writable_elements): New. Takes crown of longest identifier yet. Changed all uses as required by the changes above.
This commit is contained in:
parent
b590aceb96
commit
d817a70c3d
1 changed files with 6 additions and 4 deletions
|
@ -1334,6 +1334,8 @@ scm_bitvector_release (SCM vec)
|
|||
Also, a call to scm_bitvector_release acts like
|
||||
scm_remember_upto_here, which is needed in any case.
|
||||
*/
|
||||
|
||||
scm_remember_upto_here_1 (vec);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1636,7 +1638,7 @@ SCM_DEFINE (scm_bit_set_star_x, "bit-set*!", 3, 0, 0,
|
|||
else if (scm_is_true (scm_u32vector_p (kv)))
|
||||
{
|
||||
size_t ulen, i;
|
||||
scm_t_uint32 *indices;
|
||||
const scm_t_uint32 *indices;
|
||||
|
||||
/* assert that obj is a boolean.
|
||||
*/
|
||||
|
@ -1646,7 +1648,7 @@ SCM_DEFINE (scm_bit_set_star_x, "bit-set*!", 3, 0, 0,
|
|||
|
||||
ulen = scm_c_uniform_vector_length (kv);
|
||||
indices = scm_u32vector_elements (kv);
|
||||
scm_frame_uniform_vector_release (kv);
|
||||
scm_frame_uniform_vector_release_elements (kv);
|
||||
|
||||
for (i = 0; i < ulen; i++)
|
||||
scm_c_bitvector_set_x (v, (size_t)indices[i], obj);
|
||||
|
@ -1714,14 +1716,14 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0,
|
|||
else if (scm_is_true (scm_u32vector_p (kv)))
|
||||
{
|
||||
size_t count = 0, ulen, i;
|
||||
scm_t_uint32 *indices;
|
||||
const scm_t_uint32 *indices;
|
||||
int bit = scm_to_bool (obj);
|
||||
|
||||
scm_frame_begin (0);
|
||||
|
||||
ulen = scm_c_uniform_vector_length (kv);
|
||||
indices = scm_u32vector_elements (kv);
|
||||
scm_frame_uniform_vector_release (kv);
|
||||
scm_frame_uniform_vector_release_elements (kv);
|
||||
|
||||
for (i = 0; i < ulen; i++)
|
||||
if ((scm_is_true (scm_c_bitvector_ref (v, (size_t)indices[i])) != 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue