diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bignum.c | 12 | ||||
-rw-r--r-- | version.h | 8 |
3 files changed, 15 insertions, 10 deletions
@@ -1,3 +1,8 @@ +Thu Jul 30 09:27:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * bignum.c (big_lshift, big_rshift): return Bignum always withou + normalization. [ruby-dev:38680] + Wed Jul 29 11:19:47 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * io.c (argf_close): always call #close method. [ruby-core:23853] @@ -2038,8 +2038,8 @@ rb_big_lshift(x, y) y = rb_to_int(y); } - if (neg) return big_rshift(x, shift); - return big_lshift(x, shift); + x = neg ? big_rshift(x, shift) : big_lshift(x, shift); + return bignorm(x); } static VALUE @@ -2067,7 +2067,7 @@ big_lshift(x, shift) num = BIGDN(num); } *zds = BIGLO(num); - return bignorm(z); + return z; } /* @@ -2107,8 +2107,8 @@ rb_big_rshift(x, y) y = rb_to_int(y); } - if (neg) return big_lshift(x, shift); - return big_rshift(x, shift); + x = neg ? big_lshift(x, shift) : big_rshift(x, shift); + return bignorm(x); } static VALUE @@ -2153,7 +2153,7 @@ big_rshift(x, shift) if (!RBIGNUM(x)->sign) { get2comp(z); } - return bignorm(z); + return z; } /* @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2009-07-29" +#define RUBY_RELEASE_DATE "2009-07-30" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20090729 -#define RUBY_PATCHLEVEL 191 +#define RUBY_RELEASE_CODE 20090730 +#define RUBY_PATCHLEVEL 192 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 7 -#define RUBY_RELEASE_DAY 29 +#define RUBY_RELEASE_DAY 30 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; |