ruby-changes:27983
From: akr <ko1@a...>
Date: Mon, 1 Apr 2013 20:08:53 +0900 (JST)
Subject: [ruby-changes:27983] akr:r40035 (trunk): * numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly.
akr 2013-04-01 20:08:44 +0900 (Mon, 01 Apr 2013) New Revision: 40035 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=40035 Log: * numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly. (check_int): Ditto. (check_short): Ditto. (rb_num2fix): Ditto. (rb_num2ulong_internal): Add a cast. Modified files: trunk/ChangeLog trunk/numeric.c Index: ChangeLog =================================================================== --- ChangeLog (revision 40034) +++ ChangeLog (revision 40035) @@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Mon Apr 1 20:08:07 2013 Tanaka Akira <akr@f...> + + * numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly. + (check_int): Ditto. + (check_short): Ditto. + (rb_num2fix): Ditto. + (rb_num2ulong_internal): Add a cast. + Mon Apr 1 18:41:35 2013 Nobuyoshi Nakada <nobu@r...> * configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived Index: numeric.c =================================================================== --- numeric.c (revision 40034) +++ numeric.c (revision 40035) @@ -1959,7 +1959,7 @@ rb_num2long(VALUE val) https://github.com/ruby/ruby/blob/trunk/numeric.c#L1959 case T_FLOAT: if (RFLOAT_VALUE(val) < LONG_MAX_PLUS_ONE && LONG_MIN_MINUS_ONE_IS_LESS_THAN(RFLOAT_VALUE(val))) { - return (SIGNED_VALUE)(RFLOAT_VALUE(val)); + return (long)RFLOAT_VALUE(val); } else { char buf[24]; @@ -1991,7 +1991,7 @@ rb_num2ulong_internal(VALUE val, int *wr https://github.com/ruby/ruby/blob/trunk/numeric.c#L1991 long l = FIX2LONG(val); /* this is FIX2LONG, inteneded */ if (wrap_p) *wrap_p = l < 0; - return l; + return (unsigned long)l; } switch (TYPE(val)) { @@ -2021,8 +2021,8 @@ rb_num2ulong_internal(VALUE val, int *wr https://github.com/ruby/ruby/blob/trunk/numeric.c#L2021 } default: - val = rb_to_int(val); - goto again; + val = rb_to_int(val); + goto again; } } @@ -2032,7 +2032,7 @@ rb_num2ulong(VALUE val) https://github.com/ruby/ruby/blob/trunk/numeric.c#L2032 return rb_num2ulong_internal(val, NULL); } -#if SIZEOF_INT < SIZEOF_VALUE +#if SIZEOF_INT < SIZEOF_LONG void rb_out_of_int(SIGNED_VALUE num) { @@ -2041,9 +2041,9 @@ rb_out_of_int(SIGNED_VALUE num) https://github.com/ruby/ruby/blob/trunk/numeric.c#L2041 } static void -check_int(SIGNED_VALUE num) +check_int(long num) { - if ((SIGNED_VALUE)(int)num != num) { + if ((long)(int)num != num) { rb_out_of_int(num); } } @@ -2126,9 +2126,9 @@ rb_out_of_short(SIGNED_VALUE num) https://github.com/ruby/ruby/blob/trunk/numeric.c#L2126 } static void -check_short(SIGNED_VALUE num) +check_short(long num) { - if ((SIGNED_VALUE)(short)num != num) { + if ((long)(short)num != num) { rb_out_of_short(num); } } @@ -2193,13 +2193,13 @@ rb_fix2ushort(VALUE val) https://github.com/ruby/ruby/blob/trunk/numeric.c#L2193 VALUE rb_num2fix(VALUE val) { - SIGNED_VALUE v; + long v; if (FIXNUM_P(val)) return val; v = rb_num2long(val); if (!FIXABLE(v)) - rb_raise(rb_eRangeError, "integer %"PRIdVALUE " out of range of fixnum", v); + rb_raise(rb_eRangeError, "integer %ld out of range of fixnum", v); return LONG2FIX(v); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/