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) {