typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; typedef unsigned long long u64; typedef signed char s8; typedef signed short s16; typedef signed int s32; typedef signed long long s64; #ifdef _WIN64 typedef long long F_FIXNUM; typedef unsigned long long CELL; #else typedef long F_FIXNUM; typedef unsigned long CELL; #endif #define CELLS ((signed)sizeof(CELL)) /* must always be 16 bits */ #define CHARS ((signed)sizeof(u16)) #define WORD_SIZE (CELLS*8) #define HALF_WORD_SIZE (CELLS*4) #define HALF_WORD_MASK (((unsigned long)1<