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

11212 commits

Author SHA1 Message Date
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
0b63c1eeb7 More removed bitvector stuff. 2005-01-07 15:50:41 +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
f16f4d3cae Use (test-suite lib) module. 2005-01-07 00:31:36 +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
a483777244 (have-llvect?): Removed, Scheme code will always
have u64 and s64 uniform vectors.
2005-01-06 18:58:30 +00:00
Marius Vollmer
86ccc3545b Finished(?) the new array API docs. 2005-01-06 18:57:11 +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
28c1c15c75 Use *unspecified* instead of #f to get an uninitialized array. 2005-01-04 23:41:48 +00:00
Marius Vollmer
1281f0fc22 Updated for newfill rule of make-typed-array. 2005-01-04 23:34:40 +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
f1fd6418f9 *** empty log message *** 2005-01-04 00:45:36 +00:00
Kevin Ryde
2c0ddf445a * tests/ramap.test: New file, test array-map!.
* Makefile.am (SCM_TESTS): Add it.
2005-01-04 00:45:13 +00:00
Kevin Ryde
66e9b24dcb New file, test array-map!. 2005-01-04 00:44:37 +00:00
Kevin Ryde
c4cb76284e *** empty log message *** 2005-01-04 00:37:34 +00:00
Kevin Ryde
168e958cb8 (scm_strftime): Free t.tm_zone produced by bdtime2c.
Reported by Bill Schottstaedt.
2005-01-04 00:35:48 +00:00
Marius Vollmer
52d28fc2b4 One more incremental step towards the new array API. 2005-01-03 20:10:15 +00:00
Marius Vollmer
0fb1d2642c Hard code SCM_HAVE_ARRAYS to "1", for real now. 2005-01-02 21:04:50 +00:00
Marius Vollmer
5be5e69974 *** empty log message *** 2005-01-02 21:04:11 +00:00
Marius Vollmer
3963764d1d Rewritten for new 'typed' approach to uniform arrays. 2005-01-02 21:03:52 +00:00
Marius Vollmer
42fc3f2c76 New tests, especially for sorting non-contigous and
negative-incrementing vectors.
2005-01-02 21:03:12 +00:00
Marius Vollmer
3c4ce91b65 Use new vector elements API or simple vector API, as
appropriate.
2005-01-02 21:01:55 +00:00
Marius Vollmer
d030cad861 (uniform-vector-fill!, make-uniform-vector,
make-uniform-array,list->uniform-array): Deprecated for real.
2005-01-02 21:00:43 +00:00
Marius Vollmer
c34e5780b0 Vector API has been mostly deprecated. 2005-01-02 20:58:53 +00:00
Marius Vollmer
0356881d32 *** empty log message *** 2005-01-02 20:50:28 +00:00
Marius Vollmer
4057a3e05a Use new vector elements API or simple vector API, as appropriate.
Removed SCM_HAVE_ARRAYS ifdefery.  Replaced all uses of
SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.
2005-01-02 20:49:04 +00:00
Marius Vollmer
f60539dba4 (SCM_VALIDATE_VECTOR, SCM_VALIDATE_VECTOR_OR_DVECTOR): use
scm_is_simple_vector instead of SCM_VECTORP.
2005-01-02 20:46:03 +00:00
Marius Vollmer
cb26f5696c * sort.c (quicksort): Added INC parameter for non-contigous
vectors.
(quicksort1): New, for contigous vectors.  Both functions are
generated from the same code by including "quicksort.i.c".
(scm_restricted_vector_sort_x): Call one of quicksort and
quicksort1, depending on increment of vector.
(scm_sort): Simply call scm_sort_x on a copy of the list or
vector.
(scm_merge_vector_x, scm_merge_vector_step): Changed indices to
size_t, added inc parameter.
(scm_stable_sort_x): Allocate temporary storage as Scheme vector
so that it doesn't leak.
(scm_stable_sort): Simply call scm_stable_sort_x on a copy of the
list or vector.

* tags.h, weaks.c, vports.c, hashtab.c, convert.c, sort.c: Use new
vector elements API or simple vector API, as appropriate.  Removed
SCM_HAVE_ARRAYS ifdefery.  Replaced all uses of
SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.
2005-01-02 20:45:07 +00:00
Marius Vollmer
5d916ba3f0 * ramap.c (scm_array_map_x): Do not try to convert fill value
before filling, any necessary conversion is done while storing.
2005-01-02 20:25:26 +00:00
Marius Vollmer
b8b154fdf9 (scm_i_sweep_card): Call scm_i_vector_free instead of doing it inline. 2005-01-02 20:17:26 +00:00
Marius Vollmer
3ebc1832c7 (SCM_HASHTABLE_BUCKETS): Removed.
(SCM_HASHTABLE_BUCKET, SCM_HASHTABLE_BUCKET_LOC): New.  Replaced
all uses of SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.
2005-01-02 20:11:15 +00:00
Marius Vollmer
6e708ef2b1 * weaks.c: Use new vector elements API or simple vector
API, as appropriate.

* srfi-4.h, srfi-4.c, srfi-4.i.c (scm_array_handle_uniform_elements,
scm_array_handle_uniform_writable_elements,
scm_uniform_vector_elements, scm_uniform_vector_writable_elements):
(scm_<foo>vector_elements, scm_<foo>vector_writable_elements): Use
scm_t_array_handle, deliver length and increment.
(scm_array_handle_<foo>_elements,
scm_array_handle_<foo>_writable_elements): New.

* unif.h, unif.c (scm_t_array_handle, scm_array_get_handle,
scm_array_handle_rank, scm_array_handle_dims, scm_array_handle_ref
scm_array_handle_set, scm_array_handle_elements
scm_array_handle_writable_elements, scm_vector_get_handle): New.
(scm_make_uve, scm_array_prototype, scm_list_to_uniform_array,
scm_dimensions_to_uniform_array): Deprecated for real.  (scm_array_p,
scm_i_array_p): Use latter for SCM_DEFINE since snarfing wont allow a
mismatch between C and Scheme arglists.  (scm_make_shared_array,
scm_enclose_array): Correctly use scm_c_generalized_vector_length
instead of scm_uniform_vector_length.

* weaks.h, weaks.c: Use new internal weak vector API from
vectors.h.

* Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
'extra' to being regular sources.
(noinst_HEADERS): Added quicksort.i.c.
* quicksort.i.c: New file.

* vectors.h, vector.c (SCM_VECTORP, SCM_VECTOR_LENGTH, SCM_VELTS,
SCM_WRITABLE_VELTS, SCM_VECTOR_REF, SCM_VECTOR_SET): Deprecated and
reimplemented.  Replaced all uses with scm_vector_elements,
scm_vector_writable_elements, or SCM_SIMPLE_VECTOR_*, as appropriate.
(scm_is_simple_vector, SCM_SIMPLE_VECTOR_LENGTH,
SCM_SIMPLE_VECTOR_REF, SCM_SIMPLE_VECTOR_SET, SCM_SIMPLE_VECTOR_LOC):
New.  (SCM_VECTOR_BASE, SCM_SET_VECTOR_BASE, SCM_VECTOR_MAX_LENGTH,
SCM_MAKE_VECTOR_TAG, SCM_SET_VECTOR_LENGTH, SCM_VELTS_AS_STACKITEMS,
SCM_SETVELTS, SCM_GC_WRITABLE_VELTS): Removed.  (scm_vector_copy):
New.  (scm_vector_elements, scm_vector_writable_elements): Use
scm_t_array_handle, deliver length and increment.  Moved to
unif.h. Changed all uses.  (scm_vector_release_elements,
scm_vector_release_writable_elements,
(scm_frame_vector_release_elements,
scm_frame_vector_release_writable_elements): Removed.
(SCM_I_IS_VECTOR, SCM_I_VECTOR_ELTS, SCM_I_VECTOR_WELTS,
SCM_I_VECTOR_LENGTH, scm_i_vector_free): New internal API.
(SCM_I_WVECTP SCM_I_WVECT_LENGTH SCM_I_WVECT_VELTS
SCM_I_WVECT_GC_WVELTS SCM_I_WVECT_TYPE SCM_I_WVECT_GC_CHAIN
SCM_I_SET_WVECT_GC_CHAIN, scm_i_allocate_weak_vector): New, for weak
vectors.
2005-01-02 20:06:08 +00:00
Marius Vollmer
9c6e33c62a * gen-scmconfig.h.in (SCM_I_GSC_HAVE_ARRAYS): Removed.
* gen-scmconfig.c: Hard code SCM_HAVE_ARRAYS to "1".
2005-01-02 19:43:36 +00:00
Marius Vollmer
9de6f5f176 * Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
'extra' to being regular sources.
(noinst_HEADERS): Added quicksort.i.c.
* quicksort.i.c: New file.
2005-01-02 19:16:39 +00:00
Marius Vollmer
06f9c81488 * Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
'extra' to being regular sources.
(noinst_HEADERS): Added quicksort.i.c.
* quicksort.i.c: New file.
2005-01-02 18:55:03 +00:00
Marius Vollmer
286da8bca7 (SCM_I_GSC_HAVE_ARRAYS): Removed '--disable-arrays' option. 2005-01-02 18:51:42 +00:00
Kevin Ryde
1d18f1b199 *** empty log message *** 2005-01-02 00:58:04 +00:00
Kevin Ryde
8dd93b9695 (SCM_TESTS): Add srfi-39.test. 2005-01-02 00:41:55 +00:00
Kevin Ryde
b262ee721c *** empty log message *** 2005-01-01 23:59:56 +00:00
Kevin Ryde
cb62d8e556 * posix.texi (Pipes): Expand and clarify a bit. Describe port
inheritance.  Caution against waitpid WAIT_ANY.
2005-01-01 23:54:46 +00:00