From 274fa77e3f3620cbd496952f622e930ea6951f02 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 2 Sep 2009 04:47:39 +0000 Subject: * math.c (domain_check): simplified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ math.c | 15 ++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index f7c5334e80..4eef45eb8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Sep 2 13:47:30 2009 Nobuyoshi Nakada + + * math.c (domain_check): simplified. + Wed Sep 2 11:32:24 2009 Koichi Sasada * gc.c (obj_free): fix to free method table (fix memory leak). diff --git a/math.c b/math.c index 2734280b32..5ce16e805e 100644 --- a/math.c +++ b/math.c @@ -25,21 +25,18 @@ extern VALUE rb_to_float(VALUE val); static void domain_check(double x, double y, const char *msg) { - while(1) { - if (errno) { - rb_sys_fail(msg); - } - if (isnan(y)) { - if (isnan(x)) break; + if (!isnan(y)) return; + else if (isnan(x)) return; + else { + if (!errno) { #if defined(EDOM) errno = EDOM; -#elif defined(ERANGE) +#else errno = ERANGE; #endif - continue; } - break; } + rb_sys_fail(msg); } static void -- cgit v1.2.3