diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bignum.c | 8 | ||||
-rw-r--r-- | numeric.c | 9 |
3 files changed, 12 insertions, 12 deletions
@@ -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 @@ -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); @@ -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); |