On Jul 24, 2004, at 12:11 PM, Jabari Zakiya wrote: > Currently FIXNUMs are set to fit 32-bit CPUs. > > For 64-bit CPUs (AMD, etc) will a FIXNUMs scale to > fit 64-bit registers, or remain the same. > They scale, see ruby.h for more details but here are some of the relevant parts: #if SIZEOF_LONG != SIZEOF_VOIDP # error ---->> ruby requires sizeof(void*) == sizeof(long) to be compiled. <<---- #endif typedef unsigned long VALUE; /* ...snip ... */ #define FIXNUM_MAX (LONG_MAX>>1) /* ...snip ... */ #define INT2FIX(i) ((VALUE)(((long)(i))<<1 | FIXNUM_FLAG)) #define LONG2FIX(i) INT2FIX(i) -Charlie