1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
Commit graph

18 commits

Author SHA1 Message Date
Greg J. Badros
3b3b36ddb7 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
macros and SCM_DEFINE macros to match GNU coding standards.
2000-01-05 19:25:37 +00:00
Greg J. Badros
a1ec69163d *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE. 2000-01-05 19:05:23 +00:00
Greg J. Badros
c751e5e3c3 * guile-snarf.awk.in: Do argument/number mismatch checking and
print warnings in an Emacs compile-mode parseable format.

* struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
SCM_OUTOFRANGE as 3rd argument.

* random.c: Fix argument/number mismatch (that I introduced :-( ).

* __scm.h: Do not #define SCM_ARG* when snarfing;
lets us distinguish between 1 and SCM_ARG1 when snarfing as only
the former (using the number) requires the argument to match the
formal in the current argument snarfing check.

* ramap.c: Remove extraneous #undef FUNC_NAME.
2000-01-05 18:48:07 +00:00
Greg J. Badros
368cf54d89 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
posix.c:  Eliminated a bunch of SCM_NIMP(..)s that are now
redundant with the safer macros.  Patch from Dirk Hermann applied
by hand. Thanks Dirk!

* scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
uses in random.c.

* ramap.c: whitespace change.
2000-01-05 16:16:57 +00:00
Greg J. Badros
0c95b57d77 * coop-threads.c: Remove K&R function headers.
* scm_validate.h: Added SCM_VALIDATE_THREAD.

* *.c: Remove SCM_NIMP(X) when it is an extraneous pre-test given
that SCM_FOOP macros all now include SCM_NIMP in their expansion.
This simplifies lots of code, making it far more readable.
1999-12-16 20:48:05 +00:00
Greg J. Badros
717050c8d5 Remove leading whitespace before empty docstrings. 1999-12-13 00:44:10 +00:00
Greg J. Badros
6b5a304f6b * *.c, scm_validate.h: Use SCM_VALIDATE_NIM, not SCM_VALIDATE_NIMP
(none of the other validate macros have the trailing P).
1999-12-12 18:30:09 +00:00
Greg J. Badros
1bbd0b849f * *.c: Pervasive software-engineering-motivated rewrite of
function headers and argument checking.  Switched SCM_PROC,
SCM_PROC1 macros to be GUILE_PROC, GUILE_PROC1 (may change names
later, but was useful to keep old versions around while migrate)
that has docstrings and argument lists embedded in the GUILE_PROC
macro invocations that expand into a function header.  Use lots of
new SCM_VALIDATE_* macros to simplify error checking and reduce
tons of redundancy.  This is very similar to what I did for Scwm.

Note that none of the extraction of the docstrings, nor software
engineering checks of Scwm is yet added to Guile.  I'll work on
that tomorrow, I expect.

* Makefile.am: Added scm_validate.h to modinclude_HEADERS.

* chars.c: Added docstrings for the primitives defined in here.

* snarf.h:  Added GUILE_PROC, GUILE_PROC1.  Added
SCM_REGISTER_PROC to be like old SCM_PROC, though old SCM_PROC
still remains for now.  Changed naming convention for the s_foo
string name of the primitive to be s_scm_foo for ease of use with
the macro.

* scm_validate.h: Lots of new SCM_VALIDATE macros to simplify
argument checking through guile.  Maybe some of these should be
folded into the header file for the types they check, but for now
it was easiest to just stick them all in one place.
1999-12-12 02:36:16 +00:00
Gary Houston
afe5177e7f * acconfig.h: add HAVE_ARRAYS.
* configure.in: add --disable-arrays option, probably temporary.

	* the following changes allow guile to be built with the array
	"module" omitted.  some of this stuff is just tc7 type support,
	which wouldn't be needed if uniform array types were converted
	to smobs.

	* tag.c (scm_utag_bvect ... scm_utag_cvect): don't define unless
	HAVE_ARRAYS.
	(scm_tag): don't check array types unless HAVE_ARRAYS.

	* sort.c (scm_restricted_vector_sort_x, scm_sorted_p):
	remove the unused array types.
	* (scm_stable_sort, scm_sort): don't support vectors if not
	HAVE_ARRAYS.  a bit excessive.

	* random.c (vector_scale, vector_sum_squares,
	scm_random_solid_sphere_x, scm_random_hollow_sphere_x,
	scm_random_normal_vector_x): don't define unless HAVE_ARRAYS.

	* gh_data.c (makvect, gh_chars2byvect, gh_shorts2svect,
	gh_longs2ivect,	gh_ulongs2uvect, gh_floats2fvect, gh_doubles2dvect,
	gh_uniform_vector_length, gh_uniform_vector_ref):
	don't define unless HAVE_ARRAYS.
	(gh_scm2chars, gh_scm2shorts, gh_scm2longs, gh_scm2floats,
	gh_scm2doubles):
	don't check vector types if not HAVE_ARRAYS.

	* eq.c (scm_equal_p), eval.c (SCM_CEVAL), print.c (scm_iprin1),
	gc.c (scm_gc_mark, scm_gc_sweep), objects.c (scm_class_of):
	don't support the array types unless HAVE_ARRAYS is defined.

	* tags.h: make nine tc7 types conditional on HAVE_ARRAYS.

	* read.c (scm_lreadr): don't check for #* unless HAVE_ARRAYS is
	defined (this should use read-hash-extend).

	* ramap.c, unif.c: don't check whether ARRAYS is defined.

	* vectors.c (scm_vector_set_length_x): moved here from unif.c.  call
	scm_uniform_element_size if HAVE_ARRAYS.
	vectors.h: prototype too.

	* unif.c (scm_uniform_element_size): new procedure.

	* init.c (scm_boot_guile_1): don't call scm_init_ramap or
	scm_init_unif unless HAVE_ARRAYS is defined.

	* __scm.h: don't define ARRAYS.

	* Makefile.am (EXTRA_libguile_la_SOURCES): unif.c and ramap.c
	moved here from	libguile_la_SOURCES.


	* Makefile.am (ice9_sources): add arrays.scm.

	* boot-9.scm: load arrays.scm if 'array is provided.

	* arrays.scm: new file with stuff from boot-9.scm.
1999-11-19 18:16:19 +00:00
Mikael Djurfeldt
9b741bb6da * random.c, random.h (scm_c_default_rstate, scm_c_uniform32):
Added.
Renamed functions in the random function library interface
from scm_i_XXX --> scm_c_XXX.
1999-07-25 19:25:01 +00:00
Mikael Djurfeldt
23a621512f Greg's smob patch 1999-07-07 09:44:01 +00:00
Mikael Djurfeldt
96e263d633 * random.c (scm_i_random_bignum): Made independent of endianness. 1999-01-26 02:27:06 +00:00
Mikael Djurfeldt
7f14609425 Added #include <stdio.h> 1999-01-21 10:41:10 +00:00
Mikael Djurfeldt
5ee11b7cc0 * random.c, random.h (scm_i_make_rstate): New function: Makes
scm_rstate from seed.
(scm_copy_random_state, scm_seed_to_random_state): New functions.
(scm_make_random_state): Removed.
* random.c (scm_make_random_state): Use scm_i_make_rstate().
1999-01-21 09:20:39 +00:00
Mikael Djurfeldt
2a0279c9b8 * random.c: Bugfix: Retrieve and store most significant 32 bits in
different order if the machine is bigendian.
(scm_init_random): Added safety check for bignum digit size.
1999-01-21 02:13:23 +00:00
Mikael Djurfeldt
5a92ddfd5c * random.c: Removed alloca includes. 1999-01-11 07:13:18 +00:00
Mikael Djurfeldt
a7e7ea3e01 Fix 1999-01-10 14:18:33 +00:00
Mikael Djurfeldt
e7a7298668 * random.c, random.h: New files: Random number support.
Interface same as slib's.
1999-01-10 07:57:27 +00:00