summaryrefslogtreecommitdiffstats
path: root/ruby.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-12 15:54:53 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-12 15:54:53 +0000
commit43617b64cc55eed822dbaddf2574499eb43cc514 (patch)
tree5b72e65de7d3e5b62e56945b9bb558cbd3613a2b /ruby.h
parent32e72eb8eac52142f8f06e8d8f0b988c6f47f499 (diff)
downloadruby-43617b64cc55eed822dbaddf2574499eb43cc514.tar.gz
ruby-43617b64cc55eed822dbaddf2574499eb43cc514.tar.xz
ruby-43617b64cc55eed822dbaddf2574499eb43cc514.zip
* ruby.h (FIX2LONG): returns integer of size of VALUE.
[ruby-dev:29024] * ruby.h (FIX2ULONG): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/ruby.h b/ruby.h
index 28be3d3df..5b1964ece 100644
--- a/ruby.h
+++ b/ruby.h
@@ -185,9 +185,9 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
# define OFFT2NUM(v) INT2NUM(v)
#endif
-#define FIX2LONG(x) RSHIFT((long)x,1)
-#define FIX2ULONG(x) (((unsigned long)(x))>>1)
-#define FIXNUM_P(f) (((long)(f))&FIXNUM_FLAG)
+#define FIX2LONG(x) RSHIFT((SIGNED_VALUE)x,1)
+#define FIX2ULONG(x) (((VALUE)(x))>>1)
+#define FIXNUM_P(f) (((SIGNED_VALUE)(f))&FIXNUM_FLAG)
#define POSFIXABLE(f) ((f) <= FIXNUM_MAX)
#define NEGFIXABLE(f) ((f) >= FIXNUM_MIN)
#define FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f))