From 0b58675868978bbde67c25eec1223b8de05aba34 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 23 Feb 2009 15:51:31 +0000 Subject: [PATCH] * 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 --- ChangeLog | 3 +++ math.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e78c50ceb5..aebe79fe78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ Tue Feb 24 00:24:13 2009 Yukihiro Matsumoto * 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 * lib/pathname.rb (Pathname#foreachline): removed wrongly diff --git a/math.c b/math.c index 2043bebfe5..cc557c960c 100644 --- a/math.c +++ b/math.c @@ -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);\