From 69c7312cb3337baa4a91817bdf73f2c9316d11c0 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 26 Oct 2007 08:14:14 +0000 Subject: * numeric.c (fix_pow): returns 1.0 for 0**0.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 +++- numeric.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index cde4796f21..a8bf838a7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ -Fri Oct 26 17:01:34 2007 Nobuyoshi Nakada +Fri Oct 26 17:14:14 2007 Nobuyoshi Nakada + + * numeric.c (fix_pow): returns 1.0 for 0**0.0. * numeric.c (fix_pow): returns infinity for 0**-1. [ruby-dev:32084] diff --git a/numeric.c b/numeric.c index 3c0cfdaaa6..4e30d4e23b 100644 --- a/numeric.c +++ b/numeric.c @@ -2361,6 +2361,7 @@ fix_pow(VALUE x, VALUE y) x = rb_int2big(FIX2LONG(x)); return rb_big_pow(x, y); case T_FLOAT: + if (RFLOAT(y)->value == 0.0) return rb_float_new(1.0); if (a == 0) { return rb_float_new(RFLOAT(y)->value < 0 ? (1.0 / zero) : 0.0); } -- cgit v1.2.3