aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-30 06:30:08 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-04-30 06:30:08 +0000
commit75265b9df335eebfa31f727978fd7931a8275a44 (patch)
treec1bc31a27c810ad11df564490292369bdc0b7525
parent8976ab14107c7e95a9c0c927d03515d3517fc2f2 (diff)
downloadruby-75265b9df335eebfa31f727978fd7931a8275a44.tar.gz
{Fixnum,Bignum}#-@ is unified into Integer.
* numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into Integer. * bignum.c (rb_big_uminus): Don't define Bignum#-@. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--bignum.c8
-rw-r--r--numeric.c9
3 files changed, 12 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index eb5cbb2fcd..30599dac4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Apr 30 15:29:24 2016 Tanaka Akira <akr@fsij.org>
+
+ * numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into
+ Integer.
+
+ * bignum.c (rb_big_uminus): Don't define Bignum#-@.
+
Sat Apr 30 14:42:20 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into
diff --git a/bignum.c b/bignum.c
index aedb7758c1..70aad22c1d 100644
--- a/bignum.c
+++ b/bignum.c
@@ -5529,13 +5529,6 @@ rb_big_eql(VALUE x, VALUE y)
return Qtrue;
}
-/*
- * call-seq:
- * -big -> integer
- *
- * Unary minus (returns an integer whose value is 0-big)
- */
-
VALUE
rb_big_uminus(VALUE x)
{
@@ -6890,7 +6883,6 @@ Init_Bignum(void)
rb_cBignum = rb_define_class("Bignum", rb_cInteger);
rb_define_method(rb_cBignum, "coerce", rb_big_coerce, 1);
- rb_define_method(rb_cBignum, "-@", rb_big_uminus, 0);
rb_define_method(rb_cBignum, "+", rb_big_plus, 1);
rb_define_method(rb_cBignum, "-", rb_big_minus, 1);
rb_define_method(rb_cBignum, "*", rb_big_mul, 1);
diff --git a/numeric.c b/numeric.c
index 92545453d5..e772b01a34 100644
--- a/numeric.c
+++ b/numeric.c
@@ -3122,11 +3122,12 @@ int_ord(VALUE num)
/*
- * Document-method: Fixnum#-@
+ * Document-method: Integer#-@
* call-seq:
- * -fix -> integer
+ * -int -> integer
*
- * Negates +fix+, which may return a Bignum.
+ * Negates +int+.
+ * (returns an integer whose value is 0-int)
*/
static VALUE
@@ -4834,7 +4835,7 @@ Init_Numeric(void)
rb_cFixnum = rb_define_class("Fixnum", rb_cInteger);
- rb_define_method(rb_cFixnum, "-@", fix_uminus, 0);
+ rb_define_method(rb_cFixnum, "-@", rb_int_uminus, 0);
rb_define_method(rb_cFixnum, "+", fix_plus, 1);
rb_define_method(rb_cFixnum, "-", fix_minus, 1);
rb_define_method(rb_cFixnum, "*", fix_mul, 1);