1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

merge revision(s) 18211:

* bignum.c (rb_big2str0, bigsqr): made interruptible.  [ruby-Bugs-20622]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@18339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2008-08-04 05:05:38 +00:00
parent 2ae40aef63
commit 47bb1804cb
4 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Mon Aug 4 13:53:42 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big2str0, bigsqr): made interruptible. [ruby-Bugs-20622]
Mon Aug 4 13:31:41 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* numeric.c (check_uint, rb_num2uint, rb_fix2uint): fixed wrong check

View file

@ -11,6 +11,7 @@
**********************************************************************/
#include "ruby.h"
#include "rubysig.h"
#include <math.h>
#include <float.h>
@ -720,6 +721,7 @@ rb_big2str0(x, base, trim)
s = RSTRING(ss)->ptr;
s[0] = RBIGNUM(x)->sign ? '+' : '-';
TRAP_BEG;
while (i && j > 1) {
long k = i;
BDIGIT_DBL num = 0;
@ -749,6 +751,7 @@ rb_big2str0(x, base, trim)
RSTRING(ss)->len = i;
}
s[RSTRING(ss)->len] = '\0';
TRAP_END;
return ss;
}
@ -1735,11 +1738,13 @@ bigsqr(x)
RBIGNUM(z)->len = len;
a2 = bigtrunc(rb_big_mul0(a, b));
len = RBIGNUM(a2)->len;
TRAP_BEG;
for (i = 0, num = 0; i < len; i++) {
num += (BDIGIT_DBL)BDIGITS(z)[i + k] + ((BDIGIT_DBL)BDIGITS(a2)[i] << 1);
BDIGITS(z)[i + k] = BIGLO(num);
num = BIGDN(num);
}
TRAP_END;
if (num) {
len = RBIGNUM(z)->len;
for (i += k; i < len && num; ++i) {

View file

@ -362,7 +362,8 @@ array.$(OBJEXT): {$(VPATH)}array.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}util.h {$(VPATH)}st.h
bignum.$(OBJEXT): {$(VPATH)}bignum.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}rubysig.h
class.$(OBJEXT): {$(VPATH)}class.c {$(VPATH)}ruby.h config.h \
{$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
{$(VPATH)}rubysig.h {$(VPATH)}node.h {$(VPATH)}st.h

View file

@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2008-08-04"
#define RUBY_VERSION_CODE 187
#define RUBY_RELEASE_CODE 20080804
#define RUBY_PATCHLEVEL 66
#define RUBY_PATCHLEVEL 67
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8