From e907de8eb85b8f0e06ee05c60b3a75f01080e628 Mon Sep 17 00:00:00 2001 From: "Ross A. Baker" Date: Fri, 21 Feb 2025 16:46:49 -0500 Subject: [PATCH] Backport hash improvements from Scala 2.13.16's MurmurHash3 --- .../src/main/scala-2.13+/cats/kernel/compat/HashCompat.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/src/main/scala-2.13+/cats/kernel/compat/HashCompat.scala b/kernel/src/main/scala-2.13+/cats/kernel/compat/HashCompat.scala index 471d16958a..a0838682db 100644 --- a/kernel/src/main/scala-2.13+/cats/kernel/compat/HashCompat.scala +++ b/kernel/src/main/scala-2.13+/cats/kernel/compat/HashCompat.scala @@ -89,7 +89,7 @@ private[kernel] class HashCompat { rangeDiff = hash - prev rangeState = 2 case 2 => - if (rangeDiff != hash - prev) rangeState = 3 + if (rangeDiff != hash - prev || rangeDiff == 0) rangeState = 3 case _ => } prev = hash @@ -120,7 +120,7 @@ private[kernel] class HashCompat { while (it.hasNext) { h = mix(h, prev) val hash = A.hash(it.next()) - if (rangeDiff != hash - prev) { + if (rangeDiff != hash - prev || rangeDiff == 0) { h = mix(h, hash) i += 1 while (it.hasNext) {