diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-23 15:51:31 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-23 15:51:31 +0000 |
commit | 0b58675868978bbde67c25eec1223b8de05aba34 (patch) | |
tree | 705c0f51b0940e2b3277a8c60b98f5e7bd21d472 | |
parent | e69f2129339e9b13dbce30c0bcfd139b696bf2fe (diff) | |
download | ruby-0b58675868978bbde67c25eec1223b8de05aba34.tar.gz |
* math.c (Need_Float): call rb_to_float() only when it is really
needed. small performance improvement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | math.c | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -3,6 +3,9 @@ Tue Feb 24 00:24:13 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * range.c (range_each): check #succ only when it is really needed. small performance improvement. + * math.c (Need_Float): call rb_to_float() only when it is really + needed. small performance improvement. + Tue Feb 24 00:19:33 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * lib/pathname.rb (Pathname#foreachline): removed wrongly @@ -16,7 +16,7 @@ VALUE rb_mMath; extern VALUE rb_to_float(VALUE val); -#define Need_Float(x) (x) = rb_to_float(x) +#define Need_Float(x) do {if (TYPE(x) != T_FLOAT) {(x) = rb_to_float(x);}} while(0) #define Need_Float2(x,y) do {\ Need_Float(x);\ Need_Float(y);\ |