[前][次][番号順一覧][スレッド一覧]

ruby-changes:12070

From: nobu <ko1@a...>
Date: Fri, 19 Jun 2009 08:15:02 +0900 (JST)
Subject: [ruby-changes:12070] Ruby:r23740 (ruby_1_8): * bignum.c (big_lshift, big_rshift): return Bignum always without

nobu	2009-06-19 08:14:27 +0900 (Fri, 19 Jun 2009)

  New Revision: 23740

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23740

  Log:
    * bignum.c (big_lshift, big_rshift): return Bignum always without
      normalization.  [ruby-dev:38680]

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/bignum.c
    branches/ruby_1_8/version.h

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 23739)
+++ ruby_1_8/ChangeLog	(revision 23740)
@@ -1,3 +1,8 @@
+Fri Jun 19 08:14:25 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* bignum.c (big_lshift, big_rshift): return Bignum always withou
+	  normalization.  [ruby-dev:38680]
+
 Wed Jun 17 07:44:27 2009  NARUSE, Yui  <naruse@r...>
 
 	* lib/webrick/httputils.rb (parse_form_data): escape boundary of
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 23739)
+++ ruby_1_8/version.h	(revision 23740)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.8.8"
-#define RUBY_RELEASE_DATE "2009-06-17"
+#define RUBY_RELEASE_DATE "2009-06-19"
 #define RUBY_VERSION_CODE 188
-#define RUBY_RELEASE_CODE 20090617
+#define RUBY_RELEASE_CODE 20090619
 #define RUBY_PATCHLEVEL -1
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 8
 #define RUBY_RELEASE_YEAR 2009
 #define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 17
+#define RUBY_RELEASE_DAY 19
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8/bignum.c
===================================================================
--- ruby_1_8/bignum.c	(revision 23739)
+++ ruby_1_8/bignum.c	(revision 23740)
@@ -2042,8 +2042,8 @@
 	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
@@ -2071,7 +2071,7 @@
 	num = BIGDN(num);
     }
     *zds = BIGLO(num);
-    return bignorm(z);
+    return z;
 }
 
 /*
@@ -2111,8 +2111,8 @@
 	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
@@ -2157,7 +2157,7 @@
     if (!RBIGNUM(x)->sign) {
 	get2comp(z);
     }
-    return bignorm(z);
+    return z;
 }
 
 /*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]