From 9e8b924f68c4cdb6c7ae88f274baa3560aaa305e Mon Sep 17 00:00:00 2001 From: Herbert Valerio Riedel <hvr@gnu.org> Date: Fri, 3 Jan 2014 12:04:27 +0100 Subject: [PATCH] Use a more sensible `hashInteger` implementation This makes `hashInteger` behave the same way as `integer-gmp`s `hashInteger`. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org> --- GHC/Integer/Type.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/GHC/Integer/Type.hs b/GHC/Integer/Type.hs index 144a52c..5deecd2 100644 --- a/GHC/Integer/Type.hs +++ b/GHC/Integer/Type.hs @@ -503,10 +503,9 @@ signumInteger (Negative _) = negativeOneInteger signumInteger Naught = Naught signumInteger (Positive _) = oneInteger --- XXX This isn't a great hash function {-# NOINLINE hashInteger #-} hashInteger :: Integer -> Int# -hashInteger (!_) = 42# +hashInteger = integerToInt ------------------------------------------------------------------- -- The hard work is done on positive numbers -- GitLab