1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 15:40:29 +02:00
Commit graph

4963 commits

Author SHA1 Message Date
Marius Vollmer
d6dc83a9bc *** empty log message *** 2005-01-11 16:59:08 +00:00
Marius Vollmer
04b87de561 (SCM_ARRAYP, SCM_I_ARRAYP): Renamed former to latter internal
version.  Changed all uses.
(scm_tc16_array, scm_i_tc16_array,
scm_tc16_enclosed_array, scm_i_tc16_enclosed_array,
SCM_ARRAY_FLAG_CONTIGUOUS, SCM_I_ARRAY_FLAG_CONTIGUOUS,
SCM_ENCLOSE_ARRAYP, SCM_I_ENCLOSE_ARRAYP,
SCM_ARRAY_NDIM, SCM_I_ARRAY_NDIM,
SCM_ARRAY_CONTP, SCM_I_ARRAY_CONTP,
SCM_ARRAY_MEM, SCM_I_ARRAY_MEM,
SCM_ARRAY_V, SCM_I_ARRAY_V,
SCM_ARRAY_BASE, SCM_I_ARRAY_BASE,
SCM_ARRAY_DIMS, SCM_I_ARRAY_DIMS,
scm_t_array, scm_i_t_array): Likewise.
(SCM_SET_ARRAY_CONTIGUOUS_FLAG, SCM_CLR_ARRAY_CONTIGUOUS_FLAG):
Moved from unif.h to unif.c.
(scm_c_array_rank): New.
(scm_array_rank): Reimplement using it.
2005-01-11 16:55:38 +00:00
Marius Vollmer
1f366ef7f0 (SCM_ARRAYP, SCM_ARRAY_NDIM, SCM_ARRAY_CONTP, SCM_ARRAY_MEM,
SCM_ARRAY_V, SCM_ARRAY_BASE, SCM_ARRAY_DIMS, scm_t_array): New
deprecated versions.
2005-01-11 16:55:29 +00:00
Marius Vollmer
dc91d8de1a *** empty log message *** 2005-01-11 00:32:18 +00:00
Marius Vollmer
8551601218 Replace uses of scm_make_ra with scm_i_make_ra.
(GVREF, GVSET): New abbreviations.  Use them everywhere instead of
scm_c_generalized_vector_ref and scm_cvref, and
scm_c_generalized_vector_set_x, respectively.
(RVREF, IVDEP, BINARY_ELTS_CODE, BINARY_PAIR_ELTS_CODE,
UNARY_ELTS_CODE, UNARY_PAIR_ELTS_CODE): Removed since unused.
2005-01-11 00:31:06 +00:00
Marius Vollmer
0cd6cb2fb2 (indices_to_pos, scm_array_handle_pos): Renamed
former to latter and made public.  Changed all uses.
(scm_i_make_ra): Made public, changed tag param to enclosed flag.
(scm_make_ra): Deprecated, changed all uses to scm_i_make_ra.
(scm_i_shap2ra): New internal version of scm_shap2ra.
(scm_shap2ra): Deprecated, changed all uses to scm_i_shap2ra.
(scm_i_ra_set_contp): New internal version of scm_ra_set_contp.
(scm_ra_set_contp): Deprecated, changed all uses to
scm_i_ra_set_contp.
(scm_cvref, scm_aind, scm_raprin1): Deprecated.
2005-01-11 00:26:23 +00:00
Marius Vollmer
b06f099d1d *** empty log message *** 2005-01-10 20:21:19 +00:00
Marius Vollmer
6be1fab900 (scm_eval): Added example to docstring. Thanks to Issac Trotts! 2005-01-10 20:20:58 +00:00
Marius Vollmer
5d35ad8187 *** empty log message *** 2005-01-10 19:07:02 +00:00
Marius Vollmer
2caaadd1c2 (scm_list_to_typed_array): Allow the specification of the
upper bound as well.  This is needed for empty arrays.
(l2ra): Give needed number of elements in error message.
(scm_i_print_array): Print length information for arrays that need
it.
(scm_i_read_array): Parse it.
2005-01-10 19:06:48 +00:00
Marius Vollmer
66d3378432 *** empty log message *** 2005-01-10 17:42:33 +00:00
Marius Vollmer
a725fa951c (SCM_CHARS, SCM_UCHARS, SCM_LENGTH, scm_i_object_chars,
scm_i_object_length): Brought back from the dead.
2005-01-10 17:42:23 +00:00
Marius Vollmer
74c58fce0f *** empty log message *** 2005-01-10 01:45:07 +00:00
Marius Vollmer
afaf9d0b01 Replaced single-index uses of scm_array_set_x with
scm_c_generalized_vector_set_x.
2005-01-10 01:42:29 +00:00
Marius Vollmer
112ba0ac28 (scm_make_shared_array): Use it instead of scm_aind; use handle
for oldra.
2005-01-10 01:41:35 +00:00
Kevin Ryde
d3ddc95ef1 *** empty log message *** 2005-01-10 00:32:48 +00:00
Marius Vollmer
d7d7d40166 *** empty log message *** 2005-01-10 00:20:56 +00:00
Marius Vollmer
523727193a (scm_array_rank, scm_array_dimensions,
scm_shared_array_offset, scm_shared_array_increments,
scm_array_ref, scm_array_set_x): Use scm_t_array_handle operations
to simplify code and make it more general.
(scm_shared_array_root): Work with all kinds of arrays, including
naked vectors.
(indices_to_pos): New.
2005-01-10 00:15:48 +00:00
Kevin Ryde
fa0198bfad (scm_mktime): Missing default errno=EINVAL from prev change. 2005-01-10 00:11:25 +00:00
Marius Vollmer
8cb01d9fbf *** empty log message *** 2005-01-09 22:38:39 +00:00
Marius Vollmer
4e8ad32394 (coerce_to_uvec, scm_c_uniform_vector_ref,
scm_c_uniform_vector_set_x): Use generic scm_array_handle_ref/set
instead of uvec_fast_ref/set since scm_array_handle_ref should be
faster now.
2005-01-09 22:37:50 +00:00
Kevin Ryde
4475d3febd *** empty log message *** 2005-01-09 22:31:53 +00:00
Kevin Ryde
2c4cdcb06c (scm_mkstemp): Update docstring from manual. 2005-01-09 22:23:14 +00:00
Marius Vollmer
b89ecc6fb3 *** empty log message *** 2005-01-09 22:12:26 +00:00
Marius Vollmer
4ea4bc4c40 * srfi-4.h, srfi-4.c, srfi-4.i.c (scm_i_uniform_vector_ref_proc,
scm_i_uniform_vector_set_proc): New.
(u8ref, u8set, s8ref, s8set, etc): New.
(uvec_reffers, uvec_setters): New.
(uvec_to_list): Use generic scm_array_handle_ref instead of
uvec_fast_ref since scm_array_handle_ref should be faster now.
More changes like this are upcoming.
2005-01-09 22:06:56 +00:00
Marius Vollmer
9598a4060a * unif.h, unif.c, inline.h (scm_i_t_array_ref, scm_i_t_array_set):
New.
(scm_t_array_handle): Added ref, set, elements and
writable_elements for fast inline operation of
scm_array_handle_ref and scm_array_handle_set.
(scm_array_handle_ref, scm_array_handle_set): Moved to inline.h
and replaced with inline code that simply calls the ref/set
members of the handle.
(enclosed_ref, vector_ref, string_ref, bitvector_ref, memoize_ref,
enclosed_set, vector_set, string_set, bitvector_set, memoize_set):
New.
(scm_array_handle_get): Initialize ref/set fields to memoize_ref
and memoize_set.
(scm_bitvector_fill_x, scm_bitvector_to_list, scm_bit_count,
scm_bit_position, scm_bit_set_star_x, scm_bit_count_star,
scm_bit_invert_x): Correctly multiply index with increment in the
general case.

* unif.c (scm_array_handle_set): Correctly execute only one
alternative.  D'Oh!
(scm_list_to_typed_array, l2ra): Use scm_t_array_handle to fill
the array; this covers all cases with much simpler code.
2005-01-09 22:02:40 +00:00
Marius Vollmer
8c8491f56c *** empty log message *** 2005-01-09 17:47:36 +00:00
Marius Vollmer
bcbbea0e2f (scm_array_handle_set): Correctly execute only one
alternative.  D'Oh!
(scm_list_to_typed_array, l2ra): Use scm_t_array_handle to fill
the array; this covers all cases with much simpler code.
2005-01-09 17:45:59 +00:00
Marius Vollmer
7c2ef9a87b (scm_uniform_element_size): Deprecated implementation
as well.
2005-01-09 17:43:14 +00:00
Marius Vollmer
cd5d55c76c *** empty log message *** 2005-01-09 15:45:33 +00:00
Marius Vollmer
5e320e5926 (uvec_type): New.
(uvec_to_list, uvec_ref, uvec_set_x, scm_c_uniform_vector_ref,
scm_c_uniform_vector_x): Use it to get concrete type.
2005-01-09 15:45:21 +00:00
Marius Vollmer
5f37cb6331 (ra2l): Handle zero rank arrays.
(scm_i_print_array): Print zero rank arrays specially.
(tag_to_type): Return #t for an empty tag, not the empty symbol.
(scm_i_read_array): Allow zero rank arrays.
2005-01-09 15:41:22 +00:00
Marius Vollmer
4cf8074fd1 (scm_t_array_dim): Changed type of members to ssize_t, to
fit the docs.
2005-01-09 15:41:14 +00:00
Marius Vollmer
3a40d5e117 *** empty log message *** 2005-01-07 16:11:07 +00:00
Marius Vollmer
ec313f0e7d (scm_uniform_element_size): Deprecated for real. 2005-01-07 16:10:53 +00:00
Marius Vollmer
a4aad74e34 *** empty log message *** 2005-01-07 15:58:01 +00:00
Marius Vollmer
12783367ec (SCM_HASHTAB_BUCKET_LOC): Removed.
(scan_weak_hashtables): Rewrote its use with SCM_HASHTAB_BUCKET
and SCM_SET_HASHTAB_BUCKET.
2005-01-07 15:50:01 +00:00
Marius Vollmer
509759dd31 (scm_print_state, SCM_PRINT_STATE_LAYOUT):
Removed ref_stack field.
(PSTATE_STACK_REF, PSTATE_STACK_SET): New, for accessing the stack
of a print state.  Use them everywhere instead of ref_stack.
2005-01-07 15:47:47 +00:00
Marius Vollmer
6e433d8b8f Include deprecation.h. 2005-01-07 15:44:45 +00:00
Marius Vollmer
354116f7c2 (SCM_BITVEC_REF, SCM_BITVEC_SET, SCM_BITVEC_CLR): Removed.
(scm_vector_elements, scm_vector_writable_elements,
scm_generalized_vector_get_handle): Moved to vectors.[hc] from
unif.[hc].
(SCM_SIMPLE_VECTOR_LOC): Removed.
(SCM_VECTOR_MAX_LENGTH, SCM_VECTOR_LENGTH, SCM_VELTS,
SCM_WRITABLE_VELTS, SCM_VECTOR_REF, SCM_VECTOR_SET,
scm_vector_equal_p): Moved from vectors.[hc] to deprecated.[hc].
(scm_vector_equal_p, scm_i_vector_equal_p): Renamed former to
latter.  Changed use in eq.c.
2005-01-07 15:44:09 +00:00
Marius Vollmer
f01fe441aa *** empty log message *** 2005-01-07 00:32:03 +00:00
Marius Vollmer
4330ee2502 (SCM_IS_UVEC): New, use it instead of
SCM_SMOB_PREDICATE in this file.
(is_uvec): Also recognize one-dimensional uniform numeric arrays
of the right type.
(scm_is_uniform_vector): Likewise.
(uvec_fast_ref): Made BASE param const.
(uvec_writable_elements, uvec_elements): New.
(uvec_to_list, uvec_ref, uvec_set_x, uvec_length,
scm_c_uniform_vector_length, scm_c_uniform_vector_ref,
scm_c_uniform_set_x): Use them to also deal with one-dimensional
arrays.
(scm_uniform_vector_ref, scm_uniform_vector_set_x): Deprecate old
argument convention.
(scm_uniform_vector_to_list): Let uvec_to_list do all the
checking.
(scm_uniform_vector_length): Use uvec_length.
2005-01-07 00:28:33 +00:00
Marius Vollmer
2aaf5726a3 *** empty log message *** 2005-01-06 19:01:14 +00:00
Marius Vollmer
c8857a4db4 (scm_array_handle_release): New, changed all uses of
scm_t_array_handle to properly call it.
(scm_vector_get_handle, scm_generalized_vector_get_handle):
Renamed former to latter, changed all uses.
2005-01-06 18:56:34 +00:00
Marius Vollmer
fea99690f2 (scm_c_uniform_vector_element_size,
scm_c_uniform_vector_size): Removed.
(scm_array_handle_uniform_element_size): New.
2005-01-06 18:44:08 +00:00
Marius Vollmer
996baf27e9 (scm_vector_get_handle, scm_generalized_vector_get_handle): Renamed
former to latter, changed all uses.
2005-01-06 18:15:33 +00:00
Marius Vollmer
cdd6e0a8d5 (scm_array_handle_ref, scm_array_handle_set): Changed
type of POS parameter to be signed, positions can be negative.
(scm_array_handle_release): New, changed all uses of
scm_t_array_handle to properly call it.
(scm_vector_get_handle, scm_generalized_vector_get_handle):
Renamed former to latter.
2005-01-06 18:14:18 +00:00
Marius Vollmer
34ae52fcaf *** empty log message *** 2005-01-04 23:42:03 +00:00
Marius Vollmer
f0b9103901 (scm_bitvector_elements,
scm_bitvector_writable_elements): Use a scm_t_array_handle and
deliver offset, length and increment to caller.  Changed all uses.
(scm_bitvector_release_elements,
scm_frame_bitvector_release_elements,
scm_bitvector_release_writable_elements,
scm_frame_bitvector_release_writable_elements): Removed.
(scm_array_handle_bit_elements,
scm_array_handle_bit_writable_elements,
scm_array_handle_bit_elements_offset): New.
(scm_make_typed_array): The special value for non-initialized
arrays is now SCM_UNSPECIFIED.  The old special value SCM_BOOL_F
was a valid value to fill bitvectors with, so it can't really be
specialed out.
2005-01-04 23:31:19 +00:00
Kevin Ryde
c4cb76284e *** empty log message *** 2005-01-04 00:37:34 +00:00