2004-08-29 03:20:19 -04:00
|
|
|
CELL bignum_zero;
|
|
|
|
CELL bignum_pos_one;
|
|
|
|
CELL bignum_neg_one;
|
|
|
|
|
2004-08-25 02:00:52 -04:00
|
|
|
INLINE ARRAY* untag_bignum(CELL tagged)
|
2004-07-27 22:52:35 -04:00
|
|
|
{
|
|
|
|
type_check(BIGNUM_TYPE,tagged);
|
2004-08-25 02:00:52 -04:00
|
|
|
return (ARRAY*)UNTAG(tagged);
|
2004-07-27 22:52:35 -04:00
|
|
|
}
|
|
|
|
|
2004-08-25 02:00:52 -04:00
|
|
|
ARRAY* to_bignum(CELL tagged);
|
2004-08-05 15:18:31 -04:00
|
|
|
void primitive_to_bignum(void);
|
2004-09-19 00:33:40 -04:00
|
|
|
void primitive_bignum_eq(void);
|
|
|
|
void primitive_bignum_add(void);
|
|
|
|
void primitive_bignum_subtract(void);
|
|
|
|
void primitive_bignum_multiply(void);
|
|
|
|
void primitive_bignum_divint(void);
|
|
|
|
void primitive_bignum_divfloat(void);
|
|
|
|
void primitive_bignum_divmod(void);
|
|
|
|
void primitive_bignum_mod(void);
|
|
|
|
void primitive_bignum_and(void);
|
|
|
|
void primitive_bignum_or(void);
|
|
|
|
void primitive_bignum_xor(void);
|
|
|
|
void primitive_bignum_shift(void);
|
|
|
|
void primitive_bignum_less(void);
|
|
|
|
void primitive_bignum_lesseq(void);
|
|
|
|
void primitive_bignum_greater(void);
|
|
|
|
void primitive_bignum_greatereq(void);
|
|
|
|
void primitive_bignum_not(void);
|
2004-08-25 02:00:52 -04:00
|
|
|
void copy_bignum_constants(void);
|