зеркало из https://github.com/github/ruby.git
* complex.c (nucomp_equal_p): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
bac1841a93
Коммит
0d2d098660
|
@ -1,3 +1,7 @@
|
||||||
|
Fri Jul 3 21:30:14 2009 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
|
* complex.c (nucomp_equal_p): removed.
|
||||||
|
|
||||||
Fri Jul 3 21:07:29 2009 Tadayoshi Funaba <tadf@dotrb.org>
|
Fri Jul 3 21:07:29 2009 Tadayoshi Funaba <tadf@dotrb.org>
|
||||||
|
|
||||||
* rational.c: renamed equal_p to eqeq_p.
|
* rational.c: renamed equal_p to eqeq_p.
|
||||||
|
|
34
complex.c
34
complex.c
|
@ -18,9 +18,9 @@
|
||||||
VALUE rb_cComplex;
|
VALUE rb_cComplex;
|
||||||
|
|
||||||
static ID id_abs, id_abs2, id_arg, id_cmp, id_conj, id_convert,
|
static ID id_abs, id_abs2, id_arg, id_cmp, id_conj, id_convert,
|
||||||
id_denominator, id_divmod, id_eqeq_p, id_equal_p, id_expt, id_fdiv,
|
id_denominator, id_divmod, id_eqeq_p, id_expt, id_fdiv, id_floor,
|
||||||
id_floor, id_idiv, id_imag, id_inspect, id_negate, id_numerator,
|
id_idiv, id_imag, id_inspect, id_negate, id_numerator, id_quo,
|
||||||
id_quo, id_real, id_real_p, id_to_f, id_to_i, id_to_r, id_to_s;
|
id_real, id_real_p, id_to_f, id_to_i, id_to_r, id_to_s;
|
||||||
|
|
||||||
#define f_boolcast(x) ((x) ? Qtrue : Qfalse)
|
#define f_boolcast(x) ((x) ? Qtrue : Qfalse)
|
||||||
|
|
||||||
|
@ -169,14 +169,6 @@ fun1(to_s)
|
||||||
|
|
||||||
fun2(divmod)
|
fun2(divmod)
|
||||||
|
|
||||||
inline static VALUE
|
|
||||||
f_equal_p(VALUE x, VALUE y)
|
|
||||||
{
|
|
||||||
if (FIXNUM_P(x) && FIXNUM_P(y))
|
|
||||||
return f_boolcast(FIX2LONG(x) == FIX2LONG(y));
|
|
||||||
return rb_funcall(x, id_equal_p, 1, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline static VALUE
|
inline static VALUE
|
||||||
f_eqeq_p(VALUE x, VALUE y)
|
f_eqeq_p(VALUE x, VALUE y)
|
||||||
{
|
{
|
||||||
|
@ -890,24 +882,6 @@ nucomp_expt(VALUE self, VALUE other)
|
||||||
return rb_num_coerce_bin(self, other, id_expt);
|
return rb_num_coerce_bin(self, other, id_expt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* call-seq:
|
|
||||||
* cmp == object -> true or false
|
|
||||||
*
|
|
||||||
* Returns true if cmp is same as object.
|
|
||||||
*/
|
|
||||||
static VALUE
|
|
||||||
nucomp_equal_p(VALUE self, VALUE other)
|
|
||||||
{
|
|
||||||
if (k_complex_p(other)) {
|
|
||||||
get_dat2(self, other);
|
|
||||||
|
|
||||||
return f_boolcast(f_equal_p(adat->real, bdat->real) &&
|
|
||||||
f_equal_p(adat->imag, bdat->imag));
|
|
||||||
}
|
|
||||||
return Qfalse;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* call-seq:
|
* call-seq:
|
||||||
* cmp == object -> true or false
|
* cmp == object -> true or false
|
||||||
|
@ -1831,7 +1805,6 @@ Init_Complex(void)
|
||||||
id_convert = rb_intern("convert");
|
id_convert = rb_intern("convert");
|
||||||
id_denominator = rb_intern("denominator");
|
id_denominator = rb_intern("denominator");
|
||||||
id_divmod = rb_intern("divmod");
|
id_divmod = rb_intern("divmod");
|
||||||
id_equal_p = rb_intern("equal?");
|
|
||||||
id_eqeq_p = rb_intern("==");
|
id_eqeq_p = rb_intern("==");
|
||||||
id_expt = rb_intern("**");
|
id_expt = rb_intern("**");
|
||||||
id_fdiv = rb_intern("fdiv");
|
id_fdiv = rb_intern("fdiv");
|
||||||
|
@ -1901,7 +1874,6 @@ Init_Complex(void)
|
||||||
rb_define_method(rb_cComplex, "fdiv", nucomp_fdiv, 1);
|
rb_define_method(rb_cComplex, "fdiv", nucomp_fdiv, 1);
|
||||||
rb_define_method(rb_cComplex, "**", nucomp_expt, 1);
|
rb_define_method(rb_cComplex, "**", nucomp_expt, 1);
|
||||||
|
|
||||||
rb_define_method(rb_cComplex, "equal?", nucomp_equal_p, 1);
|
|
||||||
rb_define_method(rb_cComplex, "==", nucomp_eqeq_p, 1);
|
rb_define_method(rb_cComplex, "==", nucomp_eqeq_p, 1);
|
||||||
rb_define_method(rb_cComplex, "coerce", nucomp_coerce, 1);
|
rb_define_method(rb_cComplex, "coerce", nucomp_coerce, 1);
|
||||||
|
|
||||||
|
|
|
@ -488,18 +488,6 @@ class Complex_Test < Test::Unit::TestCase
|
||||||
assert_raise(NoMethodError){Complex(1,1) <=> Complex(1,1)}
|
assert_raise(NoMethodError){Complex(1,1) <=> Complex(1,1)}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_equal
|
|
||||||
unless @unify
|
|
||||||
assert_equal(true, Complex(1,0).equal?(Complex(1)))
|
|
||||||
assert_equal(false, Complex(1,0).equal?(Complex(1.0)))
|
|
||||||
if (0.0/0).nan?
|
|
||||||
nan = 0.0/0
|
|
||||||
assert_equal(true, Complex(nan).equal?(Complex(nan)))
|
|
||||||
assert_equal(false, Complex(nan).equal?(nan))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_eqeq
|
def test_eqeq
|
||||||
assert(Complex(1,0) == Complex(1))
|
assert(Complex(1,0) == Complex(1))
|
||||||
assert(Complex(-1,0) == Complex(-1))
|
assert(Complex(-1,0) == Complex(-1))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче