diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-11 14:39:07 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-11 14:39:07 +0000 |
commit | dae15fa0d4943a636b3678935cad95e5a0fb8637 (patch) | |
tree | 3d11d90d32da42e87456080ff7283dff886703b8 /rational.c | |
parent | 70f5ad7c41ba777fee820bbd5852e5a357a7ff75 (diff) | |
download | ruby-dae15fa0d4943a636b3678935cad95e5a0fb8637.tar.gz |
rational.c: optimize rational + integer.
* rational.c (rb_rational_plus): optimize rational + integer.
Author: Tadashi Saito <tad.a.digger@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'rational.c')
-rw-r--r-- | rational.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/rational.c b/rational.c index 3917541c13..0e06eedfd0 100644 --- a/rational.c +++ b/rational.c @@ -735,9 +735,9 @@ rb_rational_plus(VALUE self, VALUE other) { get_dat1(self); - return f_addsub(self, - dat->num, dat->den, - other, ONE, '+'); + return f_rational_new_no_reduce2(CLASS_OF(self), + rb_int_plus(dat->num, rb_int_mul(other, dat->den)), + dat->den); } } else if (RB_TYPE_P(other, T_FLOAT)) { |