]> gitweb.factorcode.org Git - factor.git/blob - native/fixnum.h
f68556cd81491b7efaae5d0006b0057fa503a68d
[factor.git] / native / fixnum.h
1 #define FIXNUM int /* unboxed */
2
3 INLINE FIXNUM untag_fixnum(CELL tagged)
4 {
5         type_check(FIXNUM_TYPE,tagged);
6         return ((FIXNUM)tagged) >> TAG_BITS;
7 }
8
9 INLINE CELL tag_fixnum(FIXNUM untagged)
10 {
11         return RETAG(untagged << TAG_BITS,FIXNUM_TYPE);
12 }
13
14 void primitive_fixnump(void);
15 void primitive_add(void);
16 void primitive_subtract(void);
17 void primitive_multiply(void);
18 void primitive_divide(void);
19 void primitive_mod(void);
20 void primitive_divmod(void);
21 void primitive_and(void);
22 void primitive_xor(void);
23 void primitive_less(void);
24 void primitive_lesseq(void);
25 void primitive_greater(void);
26 void primitive_greatereq(void);