From a1c4d60560e76e49a5825d35a40b8a6c32438afa Mon Sep 17 00:00:00 2001 From: takano32 Date: Wed, 18 Nov 2009 03:06:32 +0000 Subject: [PATCH] * math.c (math_gamma): fix incorrect comparison expression. see also [ruby-dev:39709] [Bug #2381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ math.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 623ba10a15..d3c34ffe9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Nov 18 11:57:32 2009 TAKANO Mitsuhiro (takano32) + + * math.c (math_gamma): fix incorrect comparison expression. + see also [ruby-dev:39709] [Bug #2381] + Wed Nov 18 11:37:05 2009 NARUSE, Yui * io.c (rb_scan_open_args): move path encoding conversion diff --git a/math.c b/math.c index 2b877ec64e..1a448b8713 100644 --- a/math.c +++ b/math.c @@ -666,14 +666,13 @@ math_gamma(VALUE obj, VALUE x) }; double d0, d; double intpart, fracpart; - int n; Need_Float(x); d0 = RFLOAT_VALUE(x); fracpart = modf(d0, &intpart); if (fracpart == 0.0 && - 0 < intpart && - (n = (int)intpart - 1) < numberof(fact_table)) { - return DBL2NUM(fact_table[n]); + 0 < intpart && + intpart - 1 < (double)numberof(fact_table)) { + return DBL2NUM(fact_table[(int)intpart - 1]); } errno = 0; d = tgamma(d0);