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