mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* bignum.c (Bignum#eql?): remove its definition because it is unified
with Numeric#eql?. * numeric.c (num_eql): treat Bignum values directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ad0b5ebc50
commit
18d114eff2
3 changed files with 14 additions and 13 deletions
|
@ -1,3 +1,10 @@
|
|||
Fri Mar 18 22:10:00 2016 Kenta Murata <mrkn@mrkn.jp>
|
||||
|
||||
* bignum.c (Bignum#eql?): remove its definition because it is unified
|
||||
with Numeric#eql?.
|
||||
|
||||
* numeric.c (num_eql): treat Bignum values directly.
|
||||
|
||||
Fri Mar 18 21:57:00 2016 Kenta Murata <mrkn@mrkn.jp>
|
||||
|
||||
* bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because
|
||||
|
|
12
bignum.c
12
bignum.c
|
@ -5466,17 +5466,6 @@ rb_big_eq(VALUE x, VALUE y)
|
|||
return Qtrue;
|
||||
}
|
||||
|
||||
/*
|
||||
* call-seq:
|
||||
* big.eql?(obj) -> true or false
|
||||
*
|
||||
* Returns <code>true</code> only if <i>obj</i> is a
|
||||
* <code>Bignum</code> with the same value as <i>big</i>. Contrast this
|
||||
* with <code>Bignum#==</code>, which performs type conversions.
|
||||
*
|
||||
* 68719476736.eql?(68719476736.0) #=> false
|
||||
*/
|
||||
|
||||
VALUE
|
||||
rb_big_eql(VALUE x, VALUE y)
|
||||
{
|
||||
|
@ -7044,7 +7033,6 @@ Init_Bignum(void)
|
|||
rb_define_method(rb_cBignum, "<", big_lt, 1);
|
||||
rb_define_method(rb_cBignum, "<=", big_le, 1);
|
||||
rb_define_method(rb_cBignum, "===", rb_big_eq, 1);
|
||||
rb_define_method(rb_cBignum, "eql?", rb_big_eql, 1);
|
||||
rb_define_method(rb_cBignum, "to_f", rb_big_to_f, 0);
|
||||
rb_define_method(rb_cBignum, "abs", rb_big_abs, 0);
|
||||
rb_define_method(rb_cBignum, "magnitude", rb_big_abs, 0);
|
||||
|
|
|
@ -1112,11 +1112,13 @@ flo_pow(VALUE x, VALUE y)
|
|||
* num.eql?(numeric) -> true or false
|
||||
*
|
||||
* Returns +true+ if +num+ and +numeric+ are the same type and have equal
|
||||
* values.
|
||||
* values. Contrast this with <code>Numeric#==</code>, which performs
|
||||
* type conversions.
|
||||
*
|
||||
* 1 == 1.0 #=> true
|
||||
* 1.eql?(1.0) #=> false
|
||||
* (1.0).eql?(1.0) #=> true
|
||||
* 68719476736.eql?(68719476736.0) #=> false
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
|
@ -1124,6 +1126,10 @@ num_eql(VALUE x, VALUE y)
|
|||
{
|
||||
if (TYPE(x) != TYPE(y)) return Qfalse;
|
||||
|
||||
if (RB_TYPE_P(x, T_BIGNUM)) {
|
||||
return rb_big_eql(x, y);
|
||||
}
|
||||
|
||||
return rb_equal(x, y);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue