bpt/guile.git
19 years ago* boot-9.scm (app, %app): Renamed former to the latter.
Marius Vollmer [Wed, 1 Dec 2004 00:02:24 +0000 (00:02 +0000)]
* boot-9.scm (app, %app): Renamed former to the latter.
Previously, 'app' was reserved in every module.  Now '%app' is
reserved, which is slightly better.  The real fix is to not use
'local-ref' etc to find modules.  Changed all uses.
* syncase.scm: Changed 'app' to '%app'.

19 years ago*** empty log message ***
Kevin Ryde [Mon, 29 Nov 2004 21:16:54 +0000 (21:16 +0000)]
*** empty log message ***

19 years ago(NetBSD): Test __m68k__ and __arm__ as well as m68k and
Kevin Ryde [Mon, 29 Nov 2004 21:13:57 +0000 (21:13 +0000)]
(NetBSD): Test __m68k__ and __arm__ as well as m68k and
arm32.  Reported by Greg Troxel.

19 years ago*** empty log message ***
Kevin Ryde [Sat, 27 Nov 2004 20:06:23 +0000 (20:06 +0000)]
*** empty log message ***

19 years ago(AC_SUBST): Correction, LTDLINC should be LTDLINCL, the
Kevin Ryde [Sat, 27 Nov 2004 20:05:52 +0000 (20:05 +0000)]
(AC_SUBST): Correction, LTDLINC should be LTDLINCL, the
latter is what libtool defines.

19 years ago*** empty log message ***
Marius Vollmer [Sun, 14 Nov 2004 00:25:10 +0000 (00:25 +0000)]
*** empty log message ***

19 years ago(scm_i_cvref): Made non-static for ramap.c.
Marius Vollmer [Sun, 14 Nov 2004 00:23:08 +0000 (00:23 +0000)]
(scm_i_cvref): Made non-static for ramap.c.

19 years ago(INCLUDES): It is "@LTDLINCL@", not "@LTDLINC@".
Marius Vollmer [Sun, 14 Nov 2004 00:18:26 +0000 (00:18 +0000)]
(INCLUDES): It is "@LTDLINCL@", not "@LTDLINC@".

19 years ago*** empty log message ***
Marius Vollmer [Fri, 12 Nov 2004 19:00:36 +0000 (19:00 +0000)]
*** empty log message ***

19 years agoReplaced uniform-array-set1! with just array-set!. Do not check
Marius Vollmer [Fri, 12 Nov 2004 19:00:22 +0000 (19:00 +0000)]
Replaced uniform-array-set1! with just array-set!.  Do not check
improper index lists, which can't arise with uarray-set!.  Use
"#s16()" instead of "#h()".

19 years agoDo not use prototypes, use creator functions.
Marius Vollmer [Fri, 12 Nov 2004 18:57:12 +0000 (18:57 +0000)]
Do not use prototypes, use creator functions.

19 years ago(scm_tc16_enclosed_array, SCM_ENCLOSED_ARRAYP):
Marius Vollmer [Fri, 12 Nov 2004 18:55:25 +0000 (18:55 +0000)]
(scm_tc16_enclosed_array, SCM_ENCLOSED_ARRAYP):
New.
(exactly_one_third, singp): Removed.
(scm_array_p, scm_array_dimensions, scm_shared_array_root,
scm_shared_array_offset, scm_shared_array_increments): Handle
enclosed arrays explicitely.
(scm_array_rank): Likewise. Also, do not return zero for
non-arrays, signal an error instead since arrays with rank zero do
exist.
(scm_i_make_ra): New, for specifying the tag of the new array.
(scm_make_enclosed_array): Use it.
(scm_make_ra): Reimplemented in terms of scm_i_make_ra.
(scm_make_shared_array): Use scm_c_generalized_vector_length
instead of scm_uniform_vector_length.
(scm_array_in_bounds_p): Rewritten to be much cleaner.
(scm_i_cvref): New, doing the job of scm_cvref.
(scm_cvref): Use scm_i_cvref.
(scm_array_ref): Do not accept non-arrays when no indices are
given. Use scm_i_cvref to do the actual access.
("uniform-array-set1"): Do not register.
(scm_array_set_x, scm_uniform_array_read_x,
scm_uniform_array_write): Handle enclosed arrays explicitly.
(ra2l): Use scm_i_cvref instead of scm_uniform_vector_ref to also
handle enclosed arrays.
(scm_array_to_list): Handle enclosed arrays explicitly.
(rapr1): Removed.
(scm_i_print_array_dimension): Use scm_i_cvref to also handle
enclosed arrays.
(scm_i_print_enclosed_array): New.
(tag_proto_table, tag_creator_table): Renamed former to latter.
Added "a" and "b" for strings and bitvectors, resp.
(scm_i_tag_to_prototype, scm_i_tag_to_creator): Renamed former to
latter.  Tag "a" is in the table now, no need to handle it as a
legacy tag.
(scm_raprin1): Just call scm_iprin1.
(scm_array_creator, scm_array_prototype): Handle enclosed arrays
explicitly.
(scm_init_unif): Initialize scm_tc16_enclosed_array smob.
Use scm_i_print_array as printer for scm_tc16_array.

19 years agoUpdated cross reference to Arrays.
Marius Vollmer [Wed, 10 Nov 2004 16:00:17 +0000 (16:00 +0000)]
Updated cross reference to Arrays.

19 years agoMore harsh words about non-compatibilities...
Marius Vollmer [Wed, 10 Nov 2004 01:57:37 +0000 (01:57 +0000)]
More harsh words about non-compatibilities...

19 years ago*** empty log message ***
Marius Vollmer [Wed, 10 Nov 2004 01:57:04 +0000 (01:57 +0000)]
*** empty log message ***

19 years agoChanged all uses of scm_array_prototype to
Marius Vollmer [Wed, 10 Nov 2004 01:55:26 +0000 (01:55 +0000)]
Changed all uses of scm_array_prototype to
scm_array_creator. (scm_i_get_old_prototype): Signal error when no
prototype is known.
(scm_uniform_array_read_x, scm_uniform_array_write): Reimplemented
in terms of scm_uniform_vector_read_x and
scm_uniform_vector_write, respectively.  Strings and
bitvector support has been dropped.

19 years ago(cind): Changed second arg to be pointer to long instead
Marius Vollmer [Wed, 10 Nov 2004 01:47:44 +0000 (01:47 +0000)]
(cind): Changed second arg to be pointer to long instead
of uniform vector.
(scm_ramapc): Allocate index vector with scm_malloc and not as
uniform vector.  Wrap it in a frameso that it gets properly freed.
(scm_array_index_map_x): Likewise.

19 years ago*** empty log message ***
Marius Vollmer [Wed, 10 Nov 2004 01:03:43 +0000 (01:03 +0000)]
*** empty log message ***

19 years ago(uniform-vector-read!, uniform-vector-write):
Marius Vollmer [Wed, 10 Nov 2004 01:03:23 +0000 (01:03 +0000)]
(uniform-vector-read!, uniform-vector-write):
Removed.

19 years agoDo not include <libguile.h>, include the
Marius Vollmer [Wed, 10 Nov 2004 01:02:32 +0000 (01:02 +0000)]
Do not include <libguile.h>, include the
needed files directly.  Include config.h, <unistd.h> and <io.h>
when available.
(scm_uniform_vector_read_x, scm_uniform_vector_write): New.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 9 Nov 2004 22:12:33 +0000 (22:12 +0000)]
*** empty log message ***

19 years ago(gh_uniform_vector_length): Properly use scm_c_uniform_vector_length
Marius Vollmer [Tue, 9 Nov 2004 22:10:59 +0000 (22:10 +0000)]
(gh_uniform_vector_length): Properly use scm_c_uniform_vector_length
instead of scm_uniform_vector_length.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 9 Nov 2004 16:17:20 +0000 (16:17 +0000)]
*** empty log message ***

19 years ago(scm_bitvector_p, scm_bitvector,
Marius Vollmer [Tue, 9 Nov 2004 16:16:19 +0000 (16:16 +0000)]
(scm_bitvector_p, scm_bitvector,
scm_make_bitvector, scm_bitvector_length, scm_bitvector_ref,
scm_bitvector_set_x, scm_list_to_bitvector, scm_bitvector_to_list,
scm_bitvector_fill_x, scm_is_bitvector, scm_c_make_bitvector,
scm_c_bitvector_length, scm_c_bitvector_ref,
scm_c_bitvector_set_x, scm_bitvector_elements,
scm_bitvector_release, scm_frame_bitvector_release,
scm_tc16_bitvector, bitvector_free, bitvector_print,
bitvector_equalp, count_ones, find_first_one): New.
(scm_bit_count, scm_bit_position, scm_bit_set_star_x,
scm_bit_count_star, scm_bit_invert_x, scm_istr2bve): Rewritten
using the new C API for bitvectors and maybe count_ones or
find_first_one, as appropriate.
(SCM_I_MAX_LENGTH, SCM_BITVECTOR_P, SCM_BITVECTOR_BASE,
SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH,
SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG,
SCM_SET_BITVECTOR_LENGTH): Removed.  Replaced all uses with the
new functions from above.
(scm_i_proc_make_vector, scm_i_proc_make_string,
scm_i_proc_make_bitvector): Made non-static for use in
scm_i_generalized_vector_creator.
(scm_make_u1vector): Removed, replaced by scm_make_bitvector.
(scm_make_uve): Validate that the created object is a generalized
vector.
(scm_i_legacy_tag): Removed.
(scm_i_print_array): Do it here.
(scm_raprin1): Only print enclosed arrays.

19 years ago(scm_is_vector, scm_c_vector_length, scm_c_vector_ref,
Marius Vollmer [Tue, 9 Nov 2004 16:14:46 +0000 (16:14 +0000)]
(scm_is_vector, scm_c_vector_length, scm_c_vector_ref,
scm_c_vector_set_x, scm_generalized_vector_p,
scm_generalized_vector_length, scm_generalized_vector_ref,
scm_generalized_vector_set_x, scm_generalized_vector_to_list,
scm_is_generalized_vector, scm_c_generalized_vector_length,
scm_c_generalized_vector_ref, scm_c_generalized_vector_set_x): New.

19 years agoUse the new generalized vector functions to handle all
Marius Vollmer [Tue, 9 Nov 2004 16:14:33 +0000 (16:14 +0000)]
Use the new generalized vector functions to handle all
vector like things.

19 years agoDo no longer handle scm_tc7_bvect bitvectors.
Marius Vollmer [Tue, 9 Nov 2004 16:14:22 +0000 (16:14 +0000)]
Do no longer handle scm_tc7_bvect bitvectors.

19 years ago(scm_tc7_bvect): Renamed to scm_tc7_unused7, renaming the
Marius Vollmer [Tue, 9 Nov 2004 16:14:09 +0000 (16:14 +0000)]
(scm_tc7_bvect): Renamed to scm_tc7_unused7, renaming the
remaining scm_tc7_unused tags to get a neatly ordered list.

19 years ago(scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x): New.
Marius Vollmer [Tue, 9 Nov 2004 16:13:58 +0000 (16:13 +0000)]
(scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x): New.
(scm_i_uniform_vector_creator): Removed.
(scm_i_generalized_vector_creator): New.
(scm_uniform_vector_length, scm_uniform_element_size): Do not
handle generalized vectors, only uniform numeric vectors.
(alloc_uvec): Do length check here...
(make_uvec): ...but not here.
(coerce_to_uvec): Use new generalized vector functions to handle
all kinds of vectors in one go.

19 years ago(DOT_DOC_FILES): Added srfi-4.doc.
Marius Vollmer [Tue, 9 Nov 2004 13:55:20 +0000 (13:55 +0000)]
(DOT_DOC_FILES): Added srfi-4.doc.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 9 Nov 2004 13:54:32 +0000 (13:54 +0000)]
*** empty log message ***

19 years ago(process-multiline-directive): Allow the fname attribute to a sequence
Marius Vollmer [Tue, 9 Nov 2004 13:54:22 +0000 (13:54 +0000)]
(process-multiline-directive): Allow the fname attribute to a sequence
of strings and append them all to form the fname.  This is needed for
string literals like "u8""vector?".

19 years agoMore stuff about arrays and vectors.
Marius Vollmer [Tue, 9 Nov 2004 13:48:14 +0000 (13:48 +0000)]
More stuff about arrays and vectors.

19 years agoSynchronized from libguile/guile.texi
Marius Vollmer [Tue, 9 Nov 2004 13:44:54 +0000 (13:44 +0000)]
Synchronized from libguile/guile.texi

19 years ago*** empty log message ***
Marius Vollmer [Tue, 9 Nov 2004 13:44:14 +0000 (13:44 +0000)]
*** empty log message ***

19 years agoMinor updates.
Marius Vollmer [Tue, 9 Nov 2004 13:43:47 +0000 (13:43 +0000)]
Minor updates.

19 years ago(Generalized Vectors): New.
Marius Vollmer [Tue, 9 Nov 2004 13:43:14 +0000 (13:43 +0000)]
(Generalized Vectors): New.
(Bit Vectors): More docs.
(Uniform Vectors): Call them Uniform numeric vectors.

19 years ago*** empty log message ***
Marius Vollmer [Fri, 5 Nov 2004 15:31:31 +0000 (15:31 +0000)]
*** empty log message ***

19 years agoUse @ifnottex instead of @ifinfo around the "Top" node declaration so
Marius Vollmer [Fri, 5 Nov 2004 15:31:23 +0000 (15:31 +0000)]
Use @ifnottex instead of @ifinfo around the "Top" node declaration so
that html can be generated.  Use only lower case inside @sc.  Move
editors outside of author table, which looks better in html.

19 years ago*** empty log message ***
Marius Vollmer [Fri, 5 Nov 2004 14:50:16 +0000 (14:50 +0000)]
*** empty log message ***

19 years agoDo not add "." to %load-path. 'load' will still be able to load files
Marius Vollmer [Fri, 5 Nov 2004 14:49:56 +0000 (14:49 +0000)]
Do not add "." to %load-path. 'load' will still be able to load files
in the current directory, but 'use-modules' etc will not.

19 years ago*** empty log message ***
Marius Vollmer [Thu, 4 Nov 2004 17:08:37 +0000 (17:08 +0000)]
*** empty log message ***

19 years ago(scm_charnames, scm_charnums): Added "sp" as an alias for "space".
Marius Vollmer [Thu, 4 Nov 2004 17:08:26 +0000 (17:08 +0000)]
(scm_charnames, scm_charnums): Added "sp" as an alias for "space".
Thanks to Bruce Korb!

19 years ago(make_uvec): Use SCM_I_SIZE_MAX instead of SIZE_MAX for added
Marius Vollmer [Thu, 4 Nov 2004 17:07:42 +0000 (17:07 +0000)]
(make_uvec): Use SCM_I_SIZE_MAX instead of SIZE_MAX for added
portability.

19 years ago*** empty log message ***
Marius Vollmer [Thu, 4 Nov 2004 14:04:35 +0000 (14:04 +0000)]
*** empty log message ***

19 years ago(scm_read_string_x_partial): Bugfix, apply offset to dest
Marius Vollmer [Thu, 4 Nov 2004 14:01:18 +0000 (14:01 +0000)]
(scm_read_string_x_partial): Bugfix, apply offset to dest
only after dest has been set.  Thanks to Hyper Division!

19 years ago(gh_uniform_vector_length): Use scm_uniform_vector_length instead of
Marius Vollmer [Thu, 4 Nov 2004 13:53:31 +0000 (13:53 +0000)]
(gh_uniform_vector_length): Use scm_uniform_vector_length instead of
SCM_UVECTOR_LENGTH.

19 years ago*** empty log message ***
Marius Vollmer [Wed, 3 Nov 2004 22:02:13 +0000 (22:02 +0000)]
*** empty log message ***

19 years ago(SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
Marius Vollmer [Wed, 3 Nov 2004 21:55:43 +0000 (21:55 +0000)]
(SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG,
SCM_SET_UVECTOR_LENGTH): Removed.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 2 Nov 2004 22:50:19 +0000 (22:50 +0000)]
*** empty log message ***

19 years ago(scm_display_backtrace_with_highlights): Join the
Marius Vollmer [Tue, 2 Nov 2004 22:49:14 +0000 (22:49 +0000)]
(scm_display_backtrace_with_highlights): Join the
first and the second line of the SCM_DEFINE macro call, since old
preprocessors cannot handle definitions that are split into two
lines.

19 years ago(scm_cell, scm_double_cell): Don't use C99 variable
Marius Vollmer [Tue, 2 Nov 2004 22:47:36 +0000 (22:47 +0000)]
(scm_cell, scm_double_cell): Don't use C99 variable
declarations.

19 years ago(scm_i_chase_pairs): Replace scm_t_bits with scm_t_uint32 to fix the
Marius Vollmer [Tue, 2 Nov 2004 22:47:14 +0000 (22:47 +0000)]
(scm_i_chase_pairs): Replace scm_t_bits with scm_t_uint32 to fix the
mismatch between the function declaration and definition.

19 years ago(quicksort): Don't use C99 variable declarations.
Marius Vollmer [Tue, 2 Nov 2004 22:46:42 +0000 (22:46 +0000)]
(quicksort): Don't use C99 variable declarations.

19 years ago(uvec_fast_ref): Avoid a compiler warning by returning
Marius Vollmer [Tue, 2 Nov 2004 22:46:26 +0000 (22:46 +0000)]
(uvec_fast_ref): Avoid a compiler warning by returning
SCM_BOOL_F if no type matches.

19 years ago(thread_print): Cast a pointer to size_t when printing
Marius Vollmer [Tue, 2 Nov 2004 22:45:36 +0000 (22:45 +0000)]
(thread_print): Cast a pointer to size_t when printing
with scm_uintprint.

19 years ago(scm_i_tag_to_prototype): Make sure that "instead" gets defined.
Marius Vollmer [Tue, 2 Nov 2004 22:45:22 +0000 (22:45 +0000)]
(scm_i_tag_to_prototype): Make sure that "instead" gets defined.
(scm_array_prototype): Deprecated.

19 years agoMore docs.
Marius Vollmer [Tue, 2 Nov 2004 20:16:06 +0000 (20:16 +0000)]
More docs.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 2 Nov 2004 20:15:42 +0000 (20:15 +0000)]
*** empty log message ***

19 years ago* srfi-4.h, srfi-4.c (scm_frame_uniform_vector_release): New.
Marius Vollmer [Tue, 2 Nov 2004 20:15:32 +0000 (20:15 +0000)]
* srfi-4.h, srfi-4.c (scm_frame_uniform_vector_release): New.
* unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use it to get
more efficient access to the u32vector.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 2 Nov 2004 19:52:26 +0000 (19:52 +0000)]
*** empty log message ***

19 years ago(scm_tc7_llvect, scm_tc7_uvect, scm_tc7_fvect, scm_tc7_dvect,
Marius Vollmer [Tue, 2 Nov 2004 19:52:16 +0000 (19:52 +0000)]
(scm_tc7_llvect, scm_tc7_uvect, scm_tc7_fvect, scm_tc7_dvect,
scm_tc7_cvect, scm_tc7_svect, scm_tc7_byvect, scm_tc7_ivect): Renamed
to scm_tc7_unused_1 to scm_tc7_unused_8.

19 years ago* eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c,
Marius Vollmer [Tue, 2 Nov 2004 19:50:11 +0000 (19:50 +0000)]
* eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c,
ramap.c, unif.c: Do no longer handle old-style uniform vectors.

* unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use u32vectors
instead of old-sytle uvectors.

19 years agoDo no longer handle old-style uniform vectors.
Marius Vollmer [Tue, 2 Nov 2004 19:47:20 +0000 (19:47 +0000)]
Do no longer handle old-style uniform vectors.

19 years ago(SCM_VALIDATE_VECTOR_OR_DVECTOR): Accept f64vectors instead of the
Marius Vollmer [Tue, 2 Nov 2004 19:46:29 +0000 (19:46 +0000)]
(SCM_VALIDATE_VECTOR_OR_DVECTOR): Accept f64vectors instead of the
old-style dvectors.

19 years agoUse new-style uniform arrays in place of old-style ones.
Marius Vollmer [Tue, 2 Nov 2004 19:44:49 +0000 (19:44 +0000)]
Use new-style uniform arrays in place of old-style ones.

19 years agoRewritten completely, using scm_any_to_u8vector, etc and other
Marius Vollmer [Tue, 2 Nov 2004 19:38:55 +0000 (19:38 +0000)]
Rewritten completely, using scm_any_to_u8vector, etc and other
new-style uniform vector functions.

19 years ago(scm_random_solid_sphere_x, scm_random_hollow_sphere_x): Do not
Marius Vollmer [Tue, 2 Nov 2004 19:36:50 +0000 (19:36 +0000)]
(scm_random_solid_sphere_x, scm_random_hollow_sphere_x): Do not
validate vector argument, this is already done elsewhere.

19 years ago(coerce_to_uvec, scm_any_to_u8vector, etc): New.
Marius Vollmer [Tue, 2 Nov 2004 19:34:30 +0000 (19:34 +0000)]
(coerce_to_uvec, scm_any_to_u8vector, etc): New.
(scm_uniform_element_size, scm_uniform_vector_length): Do no longer
handle old-style uniform vectors.

19 years ago*** empty log message ***
Marius Vollmer [Tue, 2 Nov 2004 15:59:47 +0000 (15:59 +0000)]
*** empty log message ***

19 years ago(scm_lreadr): Bugfix: include the last bit in the bit vector.
Marius Vollmer [Tue, 2 Nov 2004 15:53:53 +0000 (15:53 +0000)]
(scm_lreadr): Bugfix: include the last bit in the bit vector.

19 years ago*** empty log message ***
Marius Vollmer [Fri, 29 Oct 2004 16:14:37 +0000 (16:14 +0000)]
*** empty log message ***

19 years ago(Uniform Vectors): Added c32 and c64 docs.
Marius Vollmer [Fri, 29 Oct 2004 16:14:00 +0000 (16:14 +0000)]
(Uniform Vectors): Added c32 and c64 docs.

19 years agoRemoved commented out code.
Marius Vollmer [Fri, 29 Oct 2004 15:42:02 +0000 (15:42 +0000)]
Removed commented out code.

19 years ago*** empty log message ***
Marius Vollmer [Fri, 29 Oct 2004 15:41:54 +0000 (15:41 +0000)]
*** empty log message ***

19 years ago* unif.h, unif.c (scm_array_creator): New.
Marius Vollmer [Fri, 29 Oct 2004 15:41:26 +0000 (15:41 +0000)]
* unif.h, unif.c (scm_array_creator): New.
(scm_i_get_old_prototype): New.
(scm_array_prototype): use it to return old-style prototype, never
return creators.
(scm_make_uve): Use scm_call_1 instead of scm_call_2 with a second
arg of SCM_UNDEFINED.  The latter is wrong.

19 years ago(scm_i_print_array): It's "ndim", not "rank". D'Oh!
Marius Vollmer [Fri, 29 Oct 2004 14:50:13 +0000 (14:50 +0000)]
(scm_i_print_array): It's "ndim", not "rank".  D'Oh!

19 years ago*** empty log message ***
Marius Vollmer [Fri, 29 Oct 2004 14:47:29 +0000 (14:47 +0000)]
*** empty log message ***

19 years agoDo not install read-hash procedure for reading arrays, this is done in
Marius Vollmer [Fri, 29 Oct 2004 14:47:15 +0000 (14:47 +0000)]
Do not install read-hash procedure for reading arrays, this is done in
libguile now.

19 years ago(scm_lreadr): Call scm_i_read_array for all characters followinf '#'
Marius Vollmer [Fri, 29 Oct 2004 14:45:19 +0000 (14:45 +0000)]
(scm_lreadr): Call scm_i_read_array for all characters followinf '#'
that can start an array.  Explicitely disambiguate 'i' and 'e' between
introducing numbers and uniform vectors.  Do not call
scm_i_read_homogenous_vector, since that is also handled by
scm_i_read_array now.

19 years ago(scm_make_u1vector): New, but only temporary.
Marius Vollmer [Fri, 29 Oct 2004 14:41:14 +0000 (14:41 +0000)]
(scm_make_u1vector): New, but only temporary.
(make_uve): Removed.
(scm_i_proc_make_vector, scm_i_proc_make_string,
scm_i_proc_make_u1vector): New.
(scm_init_unif): Initialize them.
(scm_i_convert_old_prototype): New.
(scm_make_uve): Use it to get the creator procedure.  Removed all
old code that created old-style uniform vectors.
(scm_array_p): Handle generic vectors.
(scm_dimensions_to_uniform_array): Do not fill new array with
prototype when that is a procedure.
(scm_list_to_uniform_array): Also accept a list of lower bounds as
the NDIM argument.
(scm_i_print_array): Print rank for shared or non-zero-origin
vectors.
(tag_proto_table, scm_i_tag_to_prototype, scm_i_read_array): New.
(scm_raprin1): Do not call scm_i_array_print for enclosed arrays,
which I do not understand yet.
(scm_array_prototype): Explicitely handle generic vectors.

19 years ago(scm_i_print_complex, icmplx2str): New.
Marius Vollmer [Fri, 29 Oct 2004 14:17:20 +0000 (14:17 +0000)]
(scm_i_print_complex, icmplx2str): New.
(iflo2str): Use icmplx2str for complex numbers.

19 years ago(scm_i_read_homogenous_vector,
Marius Vollmer [Fri, 29 Oct 2004 14:10:49 +0000 (14:10 +0000)]
(scm_i_read_homogenous_vector,
scm_i_uniform_vector_prototype): Removed.
(scm_i_uniform_vector_creator): New.
(SCM_UVEC_C32, scm_c32vector, scm_make_c32vector, etc,
SCM_UVEC_C64, scm_c64vector, scm_make_c64vector, etc): New.
Updated all tables and generic functions to support them.
(scm_i_proc_make_u8vector, scm_i_proc_make_s8vector, etc): New.
(scm_init_srfi_4): Initialize them.

19 years ago(scm_take_u8vector, etc): use uvec_sizes instead of
Marius Vollmer [Fri, 29 Oct 2004 14:06:02 +0000 (14:06 +0000)]
(scm_take_u8vector, etc): use uvec_sizes instead of
sizeof(CTYPE) as explained in the comment.

19 years ago*** empty log message ***
Marius Vollmer [Wed, 27 Oct 2004 19:38:04 +0000 (19:38 +0000)]
*** empty log message ***

19 years agoRemoved tests that tried to store a character into a byte vector,
Marius Vollmer [Wed, 27 Oct 2004 19:34:17 +0000 (19:34 +0000)]
Removed tests that tried to store a character into a byte vector,
which no longer works.  Characters are not bytes.

19 years ago*** empty log message ***
Marius Vollmer [Wed, 27 Oct 2004 19:32:41 +0000 (19:32 +0000)]
*** empty log message ***

19 years agoAdded scm_take_u8vector, etc.
Marius Vollmer [Wed, 27 Oct 2004 19:32:29 +0000 (19:32 +0000)]
Added scm_take_u8vector, etc.

19 years ago* convert.i.c: Convert srfi-4 style uniform vectors when
Marius Vollmer [Wed, 27 Oct 2004 19:32:11 +0000 (19:32 +0000)]
* convert.i.c: Convert srfi-4 style uniform vectors when
requested.
* convert.c (scm_c_scm2chars, scm_c_chars2scm,
scm_c_chars2byvect): Use a s8vector instead of a scm_tc7_byvect.

19 years ago(vector_scale, vector_scale_x): Renamed former to the
Marius Vollmer [Wed, 27 Oct 2004 19:28:05 +0000 (19:28 +0000)]
(vector_scale, vector_scale_x): Renamed former to the
latter, since it modifies its argument.
(vector_scale_x, vector_sum_squares, scm_random_normal_vector_x):
Do not use scm_universal_vector_length for non-uniform vectors.
Use scm_f64vector_elements to access innards of uniform vectors.

19 years ago* srfi-4.c (take_uvec): New.
Marius Vollmer [Wed, 27 Oct 2004 19:25:14 +0000 (19:25 +0000)]
* srfi-4.c (take_uvec): New.
(alloc_uvec): Use it.
* srfi-4.h, srfi-4.i.c (scm_take_u8vector, etc): New.

19 years ago(gh_chars2byvect): Reimplemented with scm_make_s8vector.
Marius Vollmer [Wed, 27 Oct 2004 18:29:20 +0000 (18:29 +0000)]
(gh_chars2byvect): Reimplemented with scm_make_s8vector.
(gh_scm2chars): Handle s8vectors, removed code for scm_tc7_byvect.

19 years ago* print.c (iprin1): Removed code for scm_tc7_byvect.
Marius Vollmer [Wed, 27 Oct 2004 18:21:43 +0000 (18:21 +0000)]
* print.c (iprin1): Removed code for scm_tc7_byvect.
* objects.c (scm_class_of): Likewise.
* gc-mark.c (scm_gc_mark_dependencies): Likewise.
* gc-card.c (scm_i_sweep_card): Likewise.
* evalext.c (scm_self_evaluating_p): Likewise.
* eq.c (scm_equal_p): Likewise.

19 years ago(scm_ra_matchp, scm_array_fill_int, racp, scm_array_index_map_x,
Marius Vollmer [Wed, 27 Oct 2004 18:16:26 +0000 (18:16 +0000)]
(scm_ra_matchp, scm_array_fill_int, racp, scm_array_index_map_x,
raeql_1, scm_array_equal_p): Handle srfi-4 uniform vectors.  Removed
code for scm_tc7_byvect

19 years ago(scm_tc7_byvect): Commented out.
Marius Vollmer [Wed, 27 Oct 2004 18:12:20 +0000 (18:12 +0000)]
(scm_tc7_byvect): Commented out.

19 years ago* srfi-4.h, srfi-4.i.c (scm_u8vector_elements, etc): New.
Marius Vollmer [Wed, 27 Oct 2004 18:11:14 +0000 (18:11 +0000)]
* srfi-4.h, srfi-4.i.c (scm_u8vector_elements, etc): New.

* srfi-4.h, srfi-4.c (scm_uniform_vector_p,
scm_uniform_vector_ref, scm_uniform_vector_set_x,
scm_uniform_vector_to_list, scm_is_uniform_vector,
scm_c_uniform_vector_lengths, scm_c_uniform_vector_size,
scm_uniform_vector_elements, scm_uniform_vector_element_size,
scm_uniform_vector_release): New.
(scm_i_uniform_vector_prototype, scm_i_uniform_vector_tag): New.
(scm_uniform_element_size, scm_uniform_vector_length): Moved here
from unif.h, unif.c and extended to handle both the old and new
uniform vectors.

* unif.h, unif.c (scm_uniform_vector_ref, scm_array_ref): Renamed
the former to the latter.
(scm_uniform_vector_length, scm_uniform_element_size): Moved to
srfi-4.h, srfi-4.c.
(scm_make_uve): Call scm_make_s8vector for #\nul prototype.
(scm_array_p, scm_array_rank, scm_array_dimensions,
scm_transpose_array, scm_enclose_array, scm_array_ref, scm_cvref,
scm_array_set_x, scm_array_contents, scm_uniform_array_read_x,
scm_array_to_list, scm_array_prototype): Handle srfi-4 uniform
vectors.  Removed code for scm_tc7_byvect.
(scm_dimensions_to_uniform_array): Fill array with 0 when
prototype is #\nul.
(scm_i_print_array_dimension, scm_i_legacy_tag,
scm_i_print_array): New.
(scm_raprin1): Call scm_i_print_array for arrays.  Removed code
for scm_tc7_byvect.

19 years ago*** empty log message ***
Marius Vollmer [Wed, 27 Oct 2004 17:39:04 +0000 (17:39 +0000)]
*** empty log message ***

19 years agoMoved SRFI-4 docs into main part. Moved bit vectors out of array
Marius Vollmer [Wed, 27 Oct 2004 17:38:51 +0000 (17:38 +0000)]
Moved SRFI-4 docs into main part.  Moved bit vectors out of array
section to make them more visible.

19 years ago(uniform-vector?, uniform-vector-set!): Removed, now provided by
Marius Vollmer [Wed, 27 Oct 2004 17:36:16 +0000 (17:36 +0000)]
(uniform-vector?, uniform-vector-set!): Removed, now provided by
libguile.

19 years agoInclude "libguile/srfi-4.h".
Marius Vollmer [Wed, 27 Oct 2004 17:32:18 +0000 (17:32 +0000)]
Include "libguile/srfi-4.h".