#ifndef __FACTOR_H__ #define __FACTOR_H__ #if defined(i386) || defined(__i386) || defined(__i386__) #define FACTOR_X86 #endif /* CELL must be 32 bits and your system must have 32-bit pointers */ typedef unsigned long int CELL; #define CELLS ((signed)sizeof(CELL)) /* raw pointer to datastack bottom */ CELL ds_bot; /* raw pointer to datastack top */ #ifdef FACTOR_X86 register CELL ds asm("%esi"); #else CELL ds; #endif /* raw pointer to callstack bottom */ CELL cs_bot; /* raw pointer to callstack top */ CELL cs; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef FFI #include #endif /* FFI */ #define INLINE inline static #define FIXNUM_MAX (LONG_MAX >> TAG_BITS) #define FIXNUM_MIN (LONG_MIN >> TAG_BITS) #define FIXNUM long int /* unboxed */ #define WORD_SIZE (CELLS*8) #define HALF_WORD_SIZE (CELLS*4) #define HALF_WORD_MASK (((unsigned long)1<