This set of patches introduces a new tc7 code scm_tc7_number for
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Thu, 18 Sep 2003 20:55:40 +0000 (20:55 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Thu, 18 Sep 2003 20:55:40 +0000 (20:55 +0000)
commit534c55a97d9860059a2d2042263cce3cad364b2c
treed50165f4aa115e6fac127fcd8fdfd51eac834ffc
parent29c4382afda07debaef4f5d2534f5272bca15fdd
This set of patches introduces a new tc7 code scm_tc7_number for
numbers.  Bignums, reals and complex numbers are turned from smobs
into subtypes of scm_tc7_number.

* tags.h (scm_tc7_number): New.

* eq.c (scm_equal_p), eval.c (SCM_CEVAL), evalext.c
(scm_self_evaluating_p), gc-card.c (scm_i_sweep_card), gc-mark.c
(scm_gc_mark_dependencies), goops.c (create_smob_classes), hash.c
(scm_hasher), numbers.c, numbers.h (SCM_NUMP), objects.c
(scm_class_of), print.c (scm_iprin1), smob.c
(scm_smob_prehistory): Don't handle bignums, reals and complex
numbers as subtypes of scm_tc7_smob any more.

* numbers.h, tags.h (scm_tc16_big, scm_tc16_real,
scm_tc16_complex): Moved definitions from tags.h to numbers.h.
14 files changed:
libguile/ChangeLog
libguile/eq.c
libguile/eval.c
libguile/evalext.c
libguile/gc-card.c
libguile/gc-mark.c
libguile/goops.c
libguile/hash.c
libguile/numbers.c
libguile/numbers.h
libguile/objects.c
libguile/print.c
libguile/smob.c
libguile/tags.h