2004-12-10 21:46:42 -05:00
|
|
|
INLINE F_FIXNUM untag_fixnum_fast(CELL tagged)
|
2004-07-27 22:52:35 -04:00
|
|
|
{
|
2004-12-10 21:46:42 -05:00
|
|
|
return ((F_FIXNUM)tagged) >> TAG_BITS;
|
2004-07-27 22:52:35 -04:00
|
|
|
}
|
2004-07-16 02:26:21 -04:00
|
|
|
|
2004-12-10 21:46:42 -05:00
|
|
|
INLINE CELL tag_fixnum(F_FIXNUM untagged)
|
2004-07-16 02:26:21 -04:00
|
|
|
{
|
|
|
|
return RETAG(untagged << TAG_BITS,FIXNUM_TYPE);
|
|
|
|
}
|
|
|
|
|
2004-12-10 21:46:42 -05:00
|
|
|
F_FIXNUM to_fixnum(CELL tagged);
|
2004-08-05 15:18:31 -04:00
|
|
|
void primitive_to_fixnum(void);
|
|
|
|
|
2004-09-19 00:33:40 -04:00
|
|
|
void primitive_fixnum_add(void);
|
|
|
|
void primitive_fixnum_subtract(void);
|
|
|
|
void primitive_fixnum_multiply(void);
|
|
|
|
void primitive_fixnum_divint(void);
|
|
|
|
void primitive_fixnum_divfloat(void);
|
|
|
|
void primitive_fixnum_divmod(void);
|
|
|
|
void primitive_fixnum_mod(void);
|
|
|
|
void primitive_fixnum_and(void);
|
|
|
|
void primitive_fixnum_or(void);
|
|
|
|
void primitive_fixnum_xor(void);
|
|
|
|
void primitive_fixnum_shift(void);
|
|
|
|
void primitive_fixnum_less(void);
|
|
|
|
void primitive_fixnum_lesseq(void);
|
|
|
|
void primitive_fixnum_greater(void);
|
|
|
|
void primitive_fixnum_greatereq(void);
|
|
|
|
void primitive_fixnum_not(void);
|
2004-12-18 00:41:31 -05:00
|
|
|
DLLEXPORT void box_signed_1(signed char integer);
|
|
|
|
DLLEXPORT void box_signed_2(signed short integer);
|
2005-02-17 23:01:29 -05:00
|
|
|
DLLEXPORT void box_unsigned_1(unsigned char integer);
|
|
|
|
DLLEXPORT void box_unsigned_2(unsigned short integer);
|
2004-12-18 00:41:31 -05:00
|
|
|
DLLEXPORT signed char unbox_signed_1(void);
|
|
|
|
DLLEXPORT signed short unbox_signed_2(void);
|
2005-02-17 23:01:29 -05:00
|
|
|
DLLEXPORT unsigned char unbox_unsigned_1(void);
|
|
|
|
DLLEXPORT unsigned short unbox_unsigned_2(void);
|