diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-03-14 06:42:48 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2000-03-14 06:42:48 +0000 |
commit | 1b88bf8a84374c123dca397c34f49db277af63b0 (patch) | |
tree | 8d319329a5ec92e251619bf708a29fcd720b5ee1 | |
parent | 87621a14e0ded1ebb5190b53827c7015529af011 (diff) | |
download | guile-1b88bf8a84374c123dca397c34f49db277af63b0.tar.gz |
* tags.h (scm_tcs_bignums): Removed.
(scm_tc16_bigpos, scm_tc16_bigneg): Replaced by scm_tc16_big.
Use SCM_BIGSIGN(x) to test for sign!
(scm_tc16_big): The new bignum type.
(SCM_REAL_PART, SCM_IMAG_PART): Removed.
-rw-r--r-- | libguile/tags.h | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/libguile/tags.h b/libguile/tags.h index f0d953c16..dc19d0e0f 100644 --- a/libguile/tags.h +++ b/libguile/tags.h @@ -417,32 +417,27 @@ typedef void * SCM; /* scm_tc_free_cell is also the 0th smob type. We place this * in free cells to tell the conservative marker not to trace it. */ -#define scm_tc_free_cell 127 +#define scm_tc_free_cell 0x007f -/* The 1st smob type: +/* Smob type 1 (note the dependency on the predicate SCM_NUMP) */ -#define scm_tc16_flo 0x017f -#define scm_tc_flo 0x017fL - -/* Some option bits begeinning at bit 16 of scm_tc16_flo: - */ -#define SCM_REAL_PART (1L << 16) -#define SCM_IMAG_PART (2L << 16) -#define scm_tc_dblr (scm_tc16_flo | SCM_REAL_PART) -#define scm_tc_dblc (scm_tc16_flo | SCM_REAL_PART | SCM_IMAG_PART) - +#define scm_tc16_big 0x017f /* Smob types 2 and 3: */ -#define scm_tc16_bigpos 0x027f -#define scm_tc16_bigneg 0x037f +#define scm_tc16_real 0x027f +#define scm_tc16_complex 0x037f -/* Smob type 4: this is allocated, but not initialized cells; +/* The following four macros are now deprecated: */ +#define scm_tc16_flo scm_tc16_real +#define scm_tc_flo 0x017fL +#define scm_tc_dblr scm_tc16_real +#define scm_tc_dblc scm_tc16_complex + +/* Smob type 4 allocated, but not initialized cells; this is required to prevent the gc from hosing your cells if you have to allocate while creating the cell*/ - -#define scm_tc16_allocated 0x047f - +#define scm_tc16_allocated 0x047f /* {Immediate Values} @@ -583,6 +578,4 @@ extern char *scm_isymnames[]; /* defined in print.c */ #define scm_tcs_symbols scm_tc7_ssymbol:case scm_tc7_msymbol -#define scm_tcs_bignums scm_tc16_bigpos:case scm_tc16_bigneg - #endif /* TAGSH */ |