From b7a59cd17875f344b912b983eee876e2f6093e0f Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 30 Dec 2009 11:45:32 +0000 Subject: Add more description about Fixnum's size. [ruby-core:27333] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- README.EXT | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'README.EXT') diff --git a/README.EXT b/README.EXT index e29b3ae89d..30269eb74f 100644 --- a/README.EXT +++ b/README.EXT @@ -94,8 +94,10 @@ respectively. They are singletons for the data type. The equivalent C constants are: Qnil, Qfalse, Qtrue. Note that Qfalse is false in C also (i.e. 0), but not Qnil. -The T_FIXNUM data is a 31bit length fixed integer (63bit length on -some machines), which can be converted to a C integer by using the +The T_FIXNUM data is a 31bit or 63bit length fixed integer. +This size is depend on the size of long: if long is 32bit then +T_FIXNUM is 31bit, if long is 64bit then T_FIXNUM is 63bit. +T_FIXNUM can be converted to a C integer by using the FIX2INT() macro or FIX2LONG(). Though you have to check that the data is really FIXNUM before using them, they are faster. FIX2LONG() never raises exceptions, but FIX2INT() raises RangeError if the -- cgit v1.2.3