From c080143ca8daee3d71ef098e6961eaf034c379d6 Mon Sep 17 00:00:00 2001 From: Artsiom Korzun <72259616+artsiomkorzun@users.noreply.github.com> Date: Tue, 16 Jan 2024 21:54:42 +0100 Subject: [PATCH] fix masking (#442) fix masking fix masking --- .../dev/morling/onebrc/CalculateAverage_artsiomkorzun.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java b/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java index 4ea9d58..c3c39ab 100644 --- a/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java +++ b/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java @@ -431,7 +431,8 @@ public class CalculateAverage_artsiomkorzun { } private static long mask(long word, long separator) { - return word & ((separator >>> 7) - 1) & 0x00FFFFFFFFFFFFFFL; + long mask = ((separator - 1) ^ separator) >>> 8; + return word & mask; } private static int length(long separator) {