ruby-changes:4891
From: ko1@a...
Date: Mon, 12 May 2008 13:44:35 +0900 (JST)
Subject: [ruby-changes:4891] akr - Ruby:r16384 (trunk): * bignum.c (bigzero_p): check from MSB to LSB.
akr 2008-05-12 13:44:13 +0900 (Mon, 12 May 2008) New Revision: 16384 Modified files: trunk/ChangeLog trunk/bignum.c trunk/include/ruby/ruby.h Log: * bignum.c (bigzero_p): check from MSB to LSB. [ruby-dev:34649] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/ruby.h?r1=16384&r2=16383&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16384&r2=16383&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bignum.c?r1=16384&r2=16383&diff_format=u Index: include/ruby/ruby.h =================================================================== --- include/ruby/ruby.h (revision 16383) +++ include/ruby/ruby.h (revision 16384) @@ -632,6 +632,7 @@ (long)((RBASIC(b)->flags >> RBIGNUM_EMBED_LEN_SHIFT) & \ (RBIGNUM_EMBED_LEN_MASK >> RBIGNUM_EMBED_LEN_SHIFT)) : \ RBIGNUM(b)->as.heap.len) +/* LSB:RBIGNUM_DIGITS(b)[0], MSB:RBIGNUM_DIGITS(b)[RBIGNUM_LEN(b)-1] */ #define RBIGNUM_DIGITS(b) \ ((RBASIC(b)->flags & RBIGNUM_EMBED_FLAG) ? \ RBIGNUM(b)->as.ary : \ Index: ChangeLog =================================================================== --- ChangeLog (revision 16383) +++ ChangeLog (revision 16384) @@ -1,3 +1,7 @@ +Mon May 12 13:29:26 2008 Tanaka Akira <akr@f...> + + * bignum.c (bigzero_p): check from MSB to LSB. [ruby-dev:34649] + Mon May 12 12:32:10 2008 Nobuyoshi Nakada <nobu@r...> * common.mk (RUBYOPT): affected BASERUBY too. [ruby-talk:301514] Index: bignum.c =================================================================== --- bignum.c (revision 16383) +++ bignum.c (revision 16384) @@ -44,7 +44,7 @@ bigzero_p(VALUE x) { long i; - for (i = 0; i < RBIGNUM_LEN(x); ++i) { + for (i = RBIGNUM_LEN(x) - 1; 0 <= i; i--) { if (BDIGITS(x)[i]) return 0; } return 1; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/