mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 14:21:10 +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
|
Also, a call to scm_bitvector_release acts like
|
||||||
scm_remember_upto_here, which is needed in any case.
|
scm_remember_upto_here, which is needed in any case.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
scm_remember_upto_here_1 (vec);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
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)))
|
else if (scm_is_true (scm_u32vector_p (kv)))
|
||||||
{
|
{
|
||||||
size_t ulen, i;
|
size_t ulen, i;
|
||||||
scm_t_uint32 *indices;
|
const scm_t_uint32 *indices;
|
||||||
|
|
||||||
/* assert that obj is a boolean.
|
/* 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);
|
ulen = scm_c_uniform_vector_length (kv);
|
||||||
indices = scm_u32vector_elements (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++)
|
for (i = 0; i < ulen; i++)
|
||||||
scm_c_bitvector_set_x (v, (size_t)indices[i], obj);
|
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)))
|
else if (scm_is_true (scm_u32vector_p (kv)))
|
||||||
{
|
{
|
||||||
size_t count = 0, ulen, i;
|
size_t count = 0, ulen, i;
|
||||||
scm_t_uint32 *indices;
|
const scm_t_uint32 *indices;
|
||||||
int bit = scm_to_bool (obj);
|
int bit = scm_to_bool (obj);
|
||||||
|
|
||||||
scm_frame_begin (0);
|
scm_frame_begin (0);
|
||||||
|
|
||||||
ulen = scm_c_uniform_vector_length (kv);
|
ulen = scm_c_uniform_vector_length (kv);
|
||||||
indices = scm_u32vector_elements (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++)
|
for (i = 0; i < ulen; i++)
|
||||||
if ((scm_is_true (scm_c_bitvector_ref (v, (size_t)indices[i])) != 0)
|
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