From fff1183ffefc1cc29860672eb39992a942c33dfb Mon Sep 17 00:00:00 2001 From: tadf Date: Sun, 12 Jul 2009 11:46:40 +0000 Subject: * numeric.c (fix_divide): added an entry to rational. * rational.c (rb_rational_reciprocal): added. * complex.c (f_reciprocal): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- complex.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'complex.c') diff --git a/complex.c b/complex.c index 9d9e90c02e..f8c0ecd1c2 100644 --- a/complex.c +++ b/complex.c @@ -812,6 +812,12 @@ rb_fexpt(VALUE x, VALUE y) return m_exp(f_mul(m_log(x), y)); } +inline static VALUE +f_reciprocal(VALUE x) +{ + return f_quo(ONE, x); +} + /* * call-seq: * cmp ** numeric -> complex @@ -879,7 +885,7 @@ nucomp_expt(VALUE self, VALUE other) } return z; } - return f_expt(f_div(f_to_r(ONE), self), f_negate(other)); + return f_expt(f_reciprocal(self), f_negate(other)); } if (k_numeric_p(other) && f_real_p(other)) { VALUE r, theta; -- cgit v1.2.3