aboutsummaryrefslogtreecommitdiffstats
path: root/numeric.c
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-12 06:45:11 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-12 06:45:11 +0000
commit7e333ebc4afd7c0edbafe001ecf3d1654577cc26 (patch)
tree50adc4408bba56ddb9288f8d861b0f6f4de5e3d6 /numeric.c
parent802bfba19c02058e95a31194c9316680df0c15e1 (diff)
downloadruby-7e333ebc4afd7c0edbafe001ecf3d1654577cc26.tar.gz
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.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/numeric.c b/numeric.c
index 8dd05afefd..e0d6358932 100644
--- a/numeric.c
+++ b/numeric.c
@@ -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);