diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-12 06:45:11 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-12 06:45:11 +0000 |
commit | 9bb3022475a3026353ba6716724486630d10d899 (patch) | |
tree | 50adc4408bba56ddb9288f8d861b0f6f4de5e3d6 /numeric.c | |
parent | a5160c50511db1e62316225ca13cc075679250b1 (diff) |
rational.c: optimize Rational#{floor,ceil,round,truncate}
* rational.c (f_{expt10,round_common},nurat_{floor,ceil,round_half_{up,even}}):
optimize Rational#{floor,ceil,round,truncate}.
Author: Tadashi Saito <tad.a.digger@gmail.com>
* numeric.c (rb_int_divmod): rename from int_divmod to be exported.
* numeric.c (rb_int_and): rename from int_and to be exported.
* intern.h (rb_int_{divmod,and}): exported.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r-- | numeric.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -3800,8 +3800,8 @@ fix_divmod(VALUE x, VALUE y) } } -static VALUE -int_divmod(VALUE x, VALUE y) +VALUE +rb_int_divmod(VALUE x, VALUE y) { if (FIXNUM_P(x)) { return fix_divmod(x, y); @@ -4275,8 +4275,8 @@ fix_and(VALUE x, VALUE y) return rb_num_coerce_bit(x, y, '&'); } -static VALUE -int_and(VALUE x, VALUE y) +VALUE +rb_int_and(VALUE x, VALUE y) { if (FIXNUM_P(x)) { return fix_and(x, y); @@ -4743,7 +4743,7 @@ rb_int_digits_bigbase(VALUE num, VALUE base) digits = rb_ary_new(); while (!FIXNUM_P(num) || FIX2LONG(num) > 0) { - VALUE qr = int_divmod(num, base); + VALUE qr = rb_int_divmod(num, base); rb_ary_push(digits, RARRAY_AREF(qr, 1)); num = RARRAY_AREF(qr, 0); } @@ -5246,7 +5246,7 @@ Init_Numeric(void) rb_define_method(rb_cInteger, "%", rb_int_modulo, 1); rb_define_method(rb_cInteger, "modulo", rb_int_modulo, 1); rb_define_method(rb_cInteger, "remainder", int_remainder, 1); - rb_define_method(rb_cInteger, "divmod", int_divmod, 1); + rb_define_method(rb_cInteger, "divmod", rb_int_divmod, 1); rb_define_method(rb_cInteger, "fdiv", rb_int_fdiv, 1); rb_define_method(rb_cInteger, "**", rb_int_pow, 1); @@ -5261,7 +5261,7 @@ Init_Numeric(void) rb_define_method(rb_cInteger, "<=", int_le, 1); rb_define_method(rb_cInteger, "~", int_comp, 0); - rb_define_method(rb_cInteger, "&", int_and, 1); + rb_define_method(rb_cInteger, "&", rb_int_and, 1); rb_define_method(rb_cInteger, "|", int_or, 1); rb_define_method(rb_cInteger, "^", int_xor, 1); rb_define_method(rb_cInteger, "[]", int_aref, 1); |