2 #define FIXNUM_MAX (LONG_MAX >> TAG_BITS)
3 #define FIXNUM_MIN (LONG_MIN >> TAG_BITS)
5 #define FIXNUM long int /* unboxed */
7 INLINE FIXNUM untag_fixnum_fast(CELL tagged)
9 return ((FIXNUM)tagged) >> TAG_BITS;
12 INLINE FIXNUM untag_fixnum(CELL tagged)
14 type_check(FIXNUM_TYPE,tagged);
15 return untag_fixnum_fast(tagged);
18 INLINE CELL tag_fixnum(FIXNUM untagged)
20 return RETAG(untagged << TAG_BITS,FIXNUM_TYPE);
23 void primitive_fixnump(void);
24 void primitive_divide(void);
25 void primitive_mod(void);
26 void primitive_and(void);
27 void primitive_or(void);
28 void primitive_xor(void);
29 void primitive_not(void);
30 void primitive_shiftleft(void);
31 void primitive_shiftright(void);