* __scm.h eq.c, eval.c, gc.c, hc.h, gh_data, hash.c, numbers.c,
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 14 Mar 2000 06:41:25 +0000 (06:41 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 14 Mar 2000 06:41:25 +0000 (06:41 +0000)
commit88eb68523a6152548b844f9edee06b8183c248fc
tree72e0b1756f0f3a21d40b2b80e5f936ee40594c09
parentf3ae5d60804b824d7fa8945af39a163a8c589dad
* __scm.h eq.c, eval.c, gc.c, hc.h, gh_data, hash.c, numbers.c,
numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
rewrite of handling of real and complex numbers.
(SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
removed along with the support for floats.  (Float vectors are
still supported.)

* numbers.h (SCM_BIGSIGN): Sign moved to bit 16.
(scm_makdbl): Deprecated.
(SCM_NEWREAL, SCM_NEWCOMPLEX): New macros.
(SCM_SINGP): Deprecated.
(SCM_FLO): Removed.
(SCM_INEXP, SCM_CPLXP): Deprecated.
(SCM_INEXACTP, SCM_COMPLEXP): New macros.
(SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG): Renamed from
SCM_REAL, SCM_IMAG (and now only valid for complex numbers).
(SCM_REAL, SCM_IMAG): New, *deprecated*, selectors which work both
for doubles and complex numbers.
(SCM_REAL_VALUE): New selector for doubles.
(scm_double_t, scm_complex_t): New types.
(scm_dbl): Removed.

* numbers.h (struct scm_dbl): changed to represent a double cell,
with the number in the second half.
(struct scm_cplx): new, represents a complex number as a triple
cell.
libguile/numbers.h