(scm_take_u64vector,
authorMarius Vollmer <mvo@zagadka.de>
Fri, 14 Jan 2005 18:19:13 +0000 (18:19 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Fri, 14 Jan 2005 18:19:13 +0000 (18:19 +0000)
commit00c17d45262defe568a3c628c403cdcdf57fd69a
tree142e705a576db6654d98372e5370af2282bf46ac
parent55fcbb966b95006ce54a5d648f00087c41e802e6
(scm_take_u64vector,
scm_array_handle_u64_elements,
scm_array_handle_u64_writable_elements, scm_u64vector_elements,
scm_u64vector_writable_elements): Do not define when scm_t_uint64
is not available.
(scm_take_s64vector, scm_array_handle_s64_elements,
scm_array_handle_s64_writable_elements, scm_s64vector_elements,
scm_s64vector_writable_elements): Likewise for scm_t_int64.
(uvec_sizes, uvec_print, uvec_equalp): Use SCM bignums when
scm_t_int64/scm_t_uint64 are not available.
(uvec_mark): New, to mark the bignums.
(alloc_uvec): Initialize bignums.
(uvec_fast_ref): Return bignums directly.
(scm_uint64_min, scm_uint64_max, scm_int64_min, scm_int64_max,
assert_exact_integer): New.
(uvec_fast_set): Use them to validate the bignums.
(scm_init_srfi_4): Set mark function of smob when needed.
Initialize scm_uint64_min, scm_uint64_max, scm_int64_min,
scm_int64_max.
libguile/srfi-4.c
libguile/srfi-4.h
libguile/srfi-4.i.c