From c4c232529a1639d21685c08646f10860e4672fee Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 3 Aug 2009 05:15:54 +0000 Subject: * numeric.c (flo_hash): normalize -0.0 to 0.0. [ruby-core:24577] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ numeric.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 555deb38e..1392993f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,10 @@ Mon Aug 3 13:05:22 2009 Nobuyoshi Nakada * array.c (rb_ary_{permutation,combination,product}): must not use ary_discard on strings. +Mon Aug 3 06:43:25 2009 Yukihiro Matsumoto + + * numeric.c (flo_hash): normalize -0.0 to 0.0. [ruby-core:24577] + Mon Aug 3 00:32:00 2009 Nobuyoshi Nakada * random.c (rb_random_int): arguments have to be converted to diff --git a/numeric.c b/numeric.c index 3330e2693..57e420bb8 100644 --- a/numeric.c +++ b/numeric.c @@ -913,6 +913,8 @@ flo_hash(VALUE num) int hash; d = RFLOAT_VALUE(num); + /* normalize -0.0 to 0.0 */ + if (d == 0.0) d = 0.0; hash = rb_memhash(&d, sizeof(d)); return INT2FIX(hash); } -- cgit