FIXNUM Size

J

Jabari Zakiya

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.
 
C

Charles Mills

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top