Skip to content

Commit 294c48e

Browse files
committed
fix XorBinaryFuse32
1 parent 6b64b54 commit 294c48e

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

fastfilter/src/main/java/org/fastfilter/xor/XorBinaryFuse32.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ public boolean mayContain(long key) {
238238
h1 ^= (int) ((hh >> 18) & segmentLengthMask);
239239
h2 ^= (int) ((hh) & segmentLengthMask);
240240
f ^= fingerprints[h0] ^ fingerprints[h1] ^ fingerprints[h2];
241-
return (f & 0xff) == 0;
241+
return (f & 0xffffffffL) == 0;
242242
}
243243

244244
@Override

fastfilter/src/test/java/org/fastfilter/TestAllFilters.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ public static void main(String... args) {
107107
System.out.println("size " + size);
108108
test(TestFilterType.XOR_BINARY_FUSE_8, size, 0, true);
109109
}
110+
for (int size = 1; size <= 100; size++) {
111+
System.out.println("size " + size);
112+
test(TestFilterType.XOR_BINARY_FUSE_32, size, 0, true);
113+
}
114+
for (int size = 100; size <= 100000; size *= 1.1) {
115+
System.out.println("size " + size);
116+
test(TestFilterType.XOR_BINARY_FUSE_32, size, 0, true);
117+
}
110118
for (int size = 1_000_000; size <= 8_000_000; size *= 2) {
111119
System.out.println("size " + size);
112120
testAll(size, true);

jmh/src/main/java/org/fastfilter/ConstructionState.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class ConstructionState {
2424
"XOR_8",
2525
"XOR_16",
2626
"XOR_BINARY_FUSE_8",
27+
"XOR_BINARY_FUSE_32",
2728
"XOR_PLUS_8",
2829
"CUCKOO_8",
2930
"CUCKOO_16",

0 commit comments

Comments
 (0)