diff options
-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);\ |