summaryrefslogtreecommitdiff
path: root/rational.c
diff options
context:
space:
mode:
authortadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-13 22:57:02 +0000
committertadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-13 22:57:02 +0000
commit9540aa5b7b01712eadf30540d9163ed949daaa68 (patch)
treec2471cc6aa0246ad03dd95a54451e69660bebd32 /rational.c
parentd9cf0f822f68a9e1bc439b5aae5ae292c7c4ac84 (diff)
* complex.c (nucomp_fdiv): use fdiv recursively.
* complex.c (nucomp_expt): reduced code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'rational.c')
-rw-r--r--rational.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/rational.c b/rational.c
index 5028ef8dc7..b5c93caa60 100644
--- a/rational.c
+++ b/rational.c
@@ -1,5 +1,5 @@
/*
- rational.c: Coded by Tadayoshi Funaba 2008
+ rational.c: Coded by Tadayoshi Funaba 2008,2009
This implementation is based on Keiju Ishitsuka's Rational library
which is written in ruby.
@@ -26,8 +26,8 @@
VALUE rb_cRational;
-static ID id_abs, id_cmp, id_convert, id_equal_p, id_expt, id_floor,
- id_idiv, id_inspect, id_integer_p, id_negate, id_to_f,
+static ID id_abs, id_cmp, id_convert, id_equal_p, id_expt, id_fdiv,
+ id_floor, id_idiv, id_inspect, id_integer_p, id_negate, id_to_f,
id_to_i, id_to_s, id_truncate;
#define f_boolcast(x) ((x) ? Qtrue : Qfalse)
@@ -154,6 +154,7 @@ f_equal_p(VALUE x, VALUE y)
}
fun2(expt)
+fun2(fdiv)
fun2(idiv)
inline static VALUE
@@ -1064,8 +1065,6 @@ nurat_round_n(int argc, VALUE *argv, VALUE self)
return nurat_round_common(argc, argv, self, nurat_round);
}
-#define f_fdiv(x,y) rb_funcall(x, rb_intern("fdiv"), 1, y)
-
static VALUE
nurat_to_f(VALUE self)
{
@@ -1483,6 +1482,7 @@ Init_Rational(void)
id_convert = rb_intern("convert");
id_equal_p = rb_intern("==");
id_expt = rb_intern("**");
+ id_fdiv = rb_intern("fdiv");
id_floor = rb_intern("floor");
id_idiv = rb_intern("div");
id_inspect = rb_intern("inspect");