ruby-changes:4336
From: ko1@a...
Date: Sun, 23 Mar 2008 02:31:39 +0900 (JST)
Subject: [ruby-changes:4336] tadf - Ruby:r15826 (trunk): fixed.
tadf 2008-03-23 02:31:08 +0900 (Sun, 23 Mar 2008)
New Revision: 15826
Modified files:
trunk/ChangeLog
trunk/complex.c
trunk/rational.c
trunk/test/ruby/test_complex.rb
trunk/test/ruby/test_rational.rb
Log:
fixed. [ruby-dev:34109]
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_complex.rb?r1=15826&r2=15825&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/complex.c?r1=15826&r2=15825&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15826&r2=15825&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_rational.rb?r1=15826&r2=15825&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/rational.c?r1=15826&r2=15825&diff_format=u
Index: complex.c
===================================================================
--- complex.c (revision 15825)
+++ complex.c (revision 15826)
@@ -70,12 +70,12 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '+', 1, y);
} else if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
_r = y;
else
_r = rb_funcall(x, '+', 1, y);
@@ -85,10 +85,10 @@
}
inline static VALUE
-f_div(x, y)
+f_div(VALUE x, VALUE y)
{
VALUE _r;
- if (FIXNUM_P(y) && FIX2INT(y) == 1)
+ if (FIXNUM_P(y) && FIX2LONG(y) == 1)
_r = x;
else
_r = rb_funcall(x, '/', 1, y);
@@ -100,7 +100,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) > FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) > FIX2LONG(y));
else
_r = rb_funcall(x, '>', 1, y);
return _r;
@@ -111,7 +111,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) < FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) < FIX2LONG(y));
else
_r = rb_funcall(x, '<', 1, y);
return _r;
@@ -124,7 +124,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- int _iy = FIX2INT(y);
+ long _iy = FIX2LONG(y);
if (_iy == 0) {
if (TYPE(x) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -135,7 +135,7 @@
else
_r = rb_funcall(x, '*', 1, y);
} else if (FIXNUM_P(x)) {
- int _ix = FIX2INT(x);
+ long _ix = FIX2LONG(x);
if (_ix == 0) {
if (TYPE(y) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -155,7 +155,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '-', 1, y);
@@ -189,7 +189,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y)) {
- int c = FIX2INT(x) - FIX2INT(y);
+ long c = FIX2LONG(x) - FIX2LONG(y);
if (c > 0)
c = 1;
else if (c < 0)
@@ -208,7 +208,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) == FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) == FIX2LONG(y));
else
_r = rb_funcall(x, id_equal_p, 1, y);
return _r;
@@ -223,7 +223,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) < 0);
+ _r = f_boolcast(FIX2LONG(x) < 0);
else
_r = rb_funcall(x, '<', 1, ZERO);
return _r;
@@ -234,7 +234,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 0);
+ _r = f_boolcast(FIX2LONG(x) == 0);
else
_r = rb_funcall(x, id_equal_p, 1, ZERO);
return _r;
@@ -245,7 +245,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 1);
+ _r = f_boolcast(FIX2LONG(x) == 1);
else
_r = rb_funcall(x, id_equal_p, 1, ONE);
return _r;
Index: ChangeLog
===================================================================
--- ChangeLog (revision 15825)
+++ ChangeLog (revision 15826)
@@ -1,3 +1,9 @@
+Sun Mar 23 02:28:01 2008 Tadayoshi Funaba <tadf@d...>
+
+ * complex.c: fixed. [ruby-dev:34109]
+
+ * rational.c: ditto.
+
Fri Mar 21 21:32:25 2008 Nobuyoshi Nakada <nobu@r...>
* io.c (rb_f_gets, rb_f_readline, rb_f_readlines): delegates to ARGF
Index: test/ruby/test_complex.rb
===================================================================
--- test/ruby/test_complex.rb (revision 15825)
+++ test/ruby/test_complex.rb (revision 15826)
@@ -894,7 +894,7 @@
end
assert_equal(Complex(0.5,1.0), Complex(1,2).quo(2))
- unless $".grep(/complex/).empty?
+ unless $".grep(/(\A|\/)complex/).empty?
assert_equal(Complex(0,2), Math.sqrt(-4.0))
# assert_equal(true, Math.sqrt(-4.0).inexact?)
assert_equal(Complex(0,2), Math.sqrt(-4))
Index: test/ruby/test_rational.rb
===================================================================
--- test/ruby/test_rational.rb (revision 15825)
+++ test/ruby/test_rational.rb (revision 15826)
@@ -959,13 +959,12 @@
if defined?(Rational::Unify)
assert_instance_of(Fixnum, Rational(1,2) ** 0) # mathn's bug
end
- end
-=begin
- def test_known_bug
n = Float::MAX.to_i * 2
assert_equal(1.0, Rational(n + 2, n + 1).to_f, '[ruby-dev:33852]')
end
-=end
+ def test_known_bug
+ end
+
end
Index: rational.c
===================================================================
--- rational.c (revision 15825)
+++ rational.c (revision 15826)
@@ -53,12 +53,12 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '+', 1, y);
} else if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
_r = y;
else
_r = rb_funcall(x, '+', 1, y);
@@ -68,10 +68,10 @@
}
inline static VALUE
-f_div(x, y)
+f_div(VALUE x, VALUE y)
{
VALUE _r;
- if (FIXNUM_P(y) && FIX2INT(y) == 1)
+ if (FIXNUM_P(y) && FIX2LONG(y) == 1)
_r = x;
else
_r = rb_funcall(x, '/', 1, y);
@@ -83,7 +83,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) > FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) > FIX2LONG(y));
else
_r = rb_funcall(x, '>', 1, y);
return _r;
@@ -94,7 +94,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) < FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) < FIX2LONG(y));
else
_r = rb_funcall(x, '<', 1, y);
return _r;
@@ -107,7 +107,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- int _iy = FIX2INT(y);
+ long _iy = FIX2LONG(y);
if (_iy == 0) {
if (TYPE(x) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -118,7 +118,7 @@
else
_r = rb_funcall(x, '*', 1, y);
} else if (FIXNUM_P(x)) {
- int _ix = FIX2INT(x);
+ long _ix = FIX2LONG(x);
if (_ix == 0) {
if (TYPE(y) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -138,7 +138,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '-', 1, y);
@@ -162,7 +162,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y)) {
- int c = FIX2INT(x) - FIX2INT(y);
+ long c = FIX2LONG(x) - FIX2LONG(y);
if (c > 0)
c = 1;
else if (c < 0)
@@ -180,7 +180,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) == FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) == FIX2LONG(y));
else
_r = rb_funcall(x, id_equal_p, 1, y);
return _r;
@@ -194,7 +194,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) < 0);
+ _r = f_boolcast(FIX2LONG(x) < 0);
else
_r = rb_funcall(x, '<', 1, ZERO);
return _r;
@@ -205,7 +205,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 0);
+ _r = f_boolcast(FIX2LONG(x) == 0);
else
_r = rb_funcall(x, id_equal_p, 1, ZERO);
return _r;
@@ -216,7 +216,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 1);
+ _r = f_boolcast(FIX2LONG(x) == 1);
else
_r = rb_funcall(x, id_equal_p, 1, ONE);
return _r;
@@ -319,7 +319,7 @@
for (;;) {
if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
return y;
if (FIXNUM_P(y))
return LONG2NUM(i_gcd(FIX2LONG(x), FIX2LONG(y)));
@@ -897,7 +897,7 @@
{
get_dat1(self);
- if (FIXNUM_P(dat->den) && FIX2INT(dat->den) == 1)
+ if (FIXNUM_P(dat->den) && FIX2LONG(dat->den) == 1)
return f_cmp(dat->num, other);
else
return f_cmp(self, f_rational_new_bang1(CLASS_OF(self), other));
@@ -912,8 +912,8 @@
if (FIXNUM_P(adat->num) && FIXNUM_P(adat->den) &&
FIXNUM_P(bdat->num) && FIXNUM_P(bdat->den)) {
- num1 = f_imul(FIX2INT(adat->num), FIX2INT(bdat->den));
- num2 = f_imul(FIX2INT(bdat->num), FIX2INT(adat->den));
+ num1 = f_imul(FIX2LONG(adat->num), FIX2LONG(bdat->den));
+ num2 = f_imul(FIX2LONG(bdat->num), FIX2LONG(adat->den));
} else {
num1 = f_mul(adat->num, bdat->den);
num2 = f_mul(bdat->num, adat->den);
@@ -939,7 +939,7 @@
if (!FIXNUM_P(dat->den))
return Qfalse;
- if (FIX2INT(dat->den) != 1)
+ if (FIX2LONG(dat->den) != 1)
return Qfalse;
if (f_equal_p(dat->num, other))
return Qtrue;
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/