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

9201 commits

Author SHA1 Message Date
Kevin Ryde
788aca275f (scm_ash): Rewrite using shifts, much faster than
integer-expt and multiply/divide.  Inexacts and fractions no longer
supported (they happened to work before for left shifts, but not
right).  Don't really need inexacts and fractions, since ash is
documented as a "bitwise operation", and all the rest of those only
take exact integers.
2005-01-27 22:51:22 +00:00
Han-Wen Nienhuys
856fca7e70 * gc-card.c (scm_i_card_statistics): map structs, closures and
subrs to one tag.

* gc-card.c (scm_i_tag_name):  new function.
(scm_i_card_statistics): new function.
2005-01-27 22:50:09 +00:00
Han-Wen Nienhuys
73a4c24e41 * gc.c (s_scm_gc_live_object_stats): return alist, not hashtable.
(tag_table_to_type_alist): ignore unknown types.

* gc.c (s_scm_gc_live_object_stats): new GUILE callable: return
statistics on the number of live objects of each type.

* gc-card.c (scm_i_tag_name):  new function.
(scm_i_card_statistics): new function.
2005-01-27 22:44:43 +00:00
Han-Wen Nienhuys
8b378a5f48 *** empty log message *** 2005-01-27 22:20:13 +00:00
Han-Wen Nienhuys
1367aa5e91 * gc.c (s_scm_gc_live_object_stats): return alist, not hashtable.
* gc-segment.c (scm_i_all_segments_statistics): new function.
(scm_i_heap_segment_statistics): new function

* gc.c (s_scm_gc_live_object_stats): new GUILE callable: return
statistics on the number of live objects of each type.

* gc-card.c (scm_i_tag_name):  new function.
(scm_i_card_statistics): new function.
2005-01-27 22:19:49 +00:00
Marius Vollmer
76da80e788 Reverted changed from 2005/01/24 19:14:54, which was a commit to the
wrong branch.  Sorry.
2005-01-24 23:41:14 +00:00
Marius Vollmer
a54a94b397 Threading changes. 2005-01-24 19:14:54 +00:00
Kevin Ryde
3843f734d1 (scm_sigaction_for_thread): Use scm_to_long for
sa_handler, needs to be a long on 64-bit systems where int is only 32
bits.
2005-01-24 00:03:00 +00:00
Kevin Ryde
8b3747f9c6 (scm_i_init_rstate): Compare w to -1 not 0xffffffffUL, now
that it's an scm_t_int32.  Otherwise gcc 3.4 says it's always false on
a 64-bit system.
2005-01-23 23:58:43 +00:00
Kevin Ryde
333db3b87f *** empty log message *** 2005-01-23 22:10:12 +00:00
Kevin Ryde
0b91f1db7a (scm_flock): Update docstring from manual. 2005-01-23 22:09:14 +00:00
Kevin Ryde
41b74b7dbb (scm_setlocale): Force errno=EINVAL for an error, since
POSIX and C99 don't document errno being set.  Reported by Bruno
Haible.
2005-01-23 21:59:09 +00:00
Marius Vollmer
0eeb261138 *** empty log message *** 2005-01-20 15:58:06 +00:00
Marius Vollmer
6fccb8805c (obarray_enter, obarray_replace): Call SCM_HASHTABLE_INCREMENT when
adding a new entry.
2005-01-20 15:57:50 +00:00
Marius Vollmer
88f59e537d *** empty log message *** 2005-01-20 14:41:14 +00:00
Marius Vollmer
38c9cccb96 Include goops.h for the scm_class_of prototype. 2005-01-20 14:40:46 +00:00
Marius Vollmer
937770822e (hashtable_size, HASHTABLE_SIZE_N): Restrict hashtable sizes to be
smaller than the maximum lengths of vectors.
2005-01-20 14:39:49 +00:00
Marius Vollmer
219b286864 *** empty log message *** 2005-01-18 15:00:52 +00:00
Marius Vollmer
539d541073 * objects.h, objects.c, goops.c, goops.h (scm_class_boolean,
scm_class_char, scm_class_pair, scm_class_procedure,
scm_class_string, scm_class_symbol,
scm_class_procedure_with_setter, scm_class_primitive_generic,
scm_class_vector, scm_class_null, scm_class_real,
scm_class_complex, scm_class_integer, scm_class_fraction,
scm_class_unknown, scm_port_class, scm_smob_class,
scm_no_applicable_method, scm_class_of): Moved from objects to
goops since they are only useable once goops has been loaded.
(scm_classes_initialized): Removed.
(scm_class_of): Do not check it.
(create_standard_classes): Do not set it.
2005-01-18 14:58:39 +00:00
Marius Vollmer
9511876f49 Include "libguile/goops.h". 2005-01-18 13:59:04 +00:00
Marius Vollmer
50472546d5 *** empty log message *** 2005-01-17 18:54:58 +00:00
Marius Vollmer
526982f570 * objects.h, objects.c (scm_classes_initialized): New.
(scm_class_of): Signal error when scm_classes_initialized is zero.
* goops.c (create_standard_classes): Set scm_classes_initialized
to one.
2005-01-17 18:11:43 +00:00
Marius Vollmer
009c6b9c89 *** empty log message *** 2005-01-17 17:22:33 +00:00
Marius Vollmer
f160e70907 (scm_random_solid_sphere_x): Use scm_c_generalized_vector_length
instead of scm_uniform_vector_length.
2005-01-17 17:22:22 +00:00
Marius Vollmer
7719cbe989 *** empty log message *** 2005-01-16 17:21:28 +00:00
Marius Vollmer
436be13ae8 (scm_compile_shell_switches): Removed debugging output. 2005-01-16 17:20:36 +00:00
Kevin Ryde
1ec44fed86 *** empty log message *** 2005-01-15 00:04:54 +00:00
Kevin Ryde
6efaeb3567 (scm_random_solid_sphere_x): Update docstring from manual. 2005-01-15 00:03:53 +00:00
Kevin Ryde
ba6e7231e4 (scm_logtest, scm_logbit_p, scm_integer_expt): Update
docstrings from manual.
2005-01-15 00:01:40 +00:00
Marius Vollmer
0b5a0521d1 *** empty log message *** 2005-01-14 18:27:12 +00:00
Marius Vollmer
00c17d4526 (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.
2005-01-14 18:19:13 +00:00
Marius Vollmer
55fcbb966b Don't check for definedness of SCM_HAVE_T_INT64, check
its value.
2005-01-14 18:01:31 +00:00
Marius Vollmer
6e4cd850f6 *** empty log message *** 2005-01-14 16:24:17 +00:00
Marius Vollmer
39e707a130 (sym_at, sym_atat, sym_main, all_symbols): New.
(scm_compile_shell_switches): Use them to recognize and convert
1.4 "-e" syntax.
2005-01-14 16:20:36 +00:00
Marius Vollmer
3b698afe02 *** empty log message *** 2005-01-12 11:11:45 +00:00
Marius Vollmer
fe78c51aa2 Turn all deprecated features that once were macros but are now
functions back into macros.
2005-01-12 11:10:02 +00:00
Marius Vollmer
49086691f6 *** empty log message *** 2005-01-11 17:45:14 +00:00
Marius Vollmer
65bc1f7a0b * eval.c, debug.h (SCM_WARN_DEPRECATED): New debug option.
* deprecation.c (scm_issue_deprecation_warning,
scm_c_issue_deprecation_warning_fmt): Use it.
(mode): Removed.
(print_summary): New.
(scm_init_deprecation): Initialize SCM_WARN_DEPRECATED instead of
mode.
2005-01-11 17:43:37 +00:00
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