aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorArtsiom Korzun <72259616+artsiomkorzun@users.noreply.github.com>2024-01-16 21:54:42 +0100
committerGitHub <noreply@github.com>2024-01-16 21:54:42 +0100
commitc080143ca8daee3d71ef098e6961eaf034c379d6 (patch)
treef1a830d571d949214174ed7d3a4ad4dffa9e3e4d /src/main/java
parentf8874c3886a16a2403cc20ea717f4972debea0ec (diff)
fix masking (#442)
fix masking fix masking
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java3
1 files changed, 2 insertions, 1 deletions
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) {