1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-25 22:20:28 +02:00

* 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.
This commit is contained in:
Mikael Djurfeldt 2000-03-14 06:42:48 +00:00
parent 87621a14e0
commit 1b88bf8a84

View file

@ -417,33 +417,28 @@ typedef void * SCM;
/* scm_tc_free_cell is also the 0th smob type. We place this /* 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. * 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_tc16_big 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)
/* Smob types 2 and 3: /* Smob types 2 and 3:
*/ */
#define scm_tc16_bigpos 0x027f #define scm_tc16_real 0x027f
#define scm_tc16_bigneg 0x037f #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 this is required to prevent the gc from hosing your cells if
you have to allocate while creating the cell*/ you have to allocate while creating the cell*/
#define scm_tc16_allocated 0x047f #define scm_tc16_allocated 0x047f
/* {Immediate Values} /* {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_symbols scm_tc7_ssymbol:case scm_tc7_msymbol
#define scm_tcs_bignums scm_tc16_bigpos:case scm_tc16_bigneg
#endif /* TAGSH */ #endif /* TAGSH */