From 78be0172f74e2bf109f7a216e43257ba3eb8ecc4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 10 Aug 2017 08:36:09 +0900 Subject: Normalize float numbers before calculating a hash value. --- src/etc.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/etc.c') diff --git a/src/etc.c b/src/etc.c index e0810d589..9475ae304 100644 --- a/src/etc.c +++ b/src/etc.c @@ -93,6 +93,8 @@ mrb_float_id(mrb_float f) int len = sizeof(f); mrb_int id = 0; + /* normalize -0.0 to 0.0 */ + if (f == 0) f = 0.0; while (len--) { id = id*65599 + *p; p++; -- cgit v1.2.3