diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-12 11:46:40 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-07-12 11:46:40 +0000 |
commit | 2014cde103124bc8ec14b8b3d2b75062ac2b3c9a (patch) | |
tree | 372546bcea5a90bcd1aba0d556742ee09f20add7 /complex.c | |
parent | 39ec6fb8b3d9ab83a9155efe56d087bbd3081377 (diff) | |
download | ruby-2014cde103124bc8ec14b8b3d2b75062ac2b3c9a.tar.gz ruby-2014cde103124bc8ec14b8b3d2b75062ac2b3c9a.tar.xz ruby-2014cde103124bc8ec14b8b3d2b75062ac2b3c9a.zip |
* numeric.c (fix_divide): added an entry to rational.
* rational.c (rb_rational_reciprocal): added.
* complex.c (f_reciprocal): added.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'complex.c')
-rw-r--r-- | complex.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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; |