From c7a33d90151a884d28e25eb156301a23dc5f3154 Mon Sep 17 00:00:00 2001 From: yucheng Date: Sun, 30 Jan 2022 10:17:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=BD=8D=E8=BF=90=E7=AE=97?= =?UTF-8?q?=E5=BF=AB=E9=80=9F=E6=B1=82=E8=A7=A3=E5=8F=96=E4=BD=99=E8=BF=90?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/bloomfilter/bitMap/IntMap.java | 8 ++++---- .../main/java/cn/hutool/bloomfilter/bitMap/LongMap.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java b/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java index f941d0696..4bda77f63 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java +++ b/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java @@ -32,22 +32,22 @@ public class IntMap implements BitMap, Serializable { @Override public void add(long i) { int r = (int) (i / BitMap.MACHINE32); - int c = (int) (i % BitMap.MACHINE32); + int c = (int) (i & (BitMap.MACHINE32 - 1)); ints[r] = ints[r] | (1 << c); } @Override public boolean contains(long i) { int r = (int) (i / BitMap.MACHINE32); - int c = (int) (i % BitMap.MACHINE32); + int c = (int) (i & (BitMap.MACHINE32 - 1)); return ((ints[r] >>> c) & 1) == 1; } @Override public void remove(long i) { int r = (int) (i / BitMap.MACHINE32); - int c = (int) (i % BitMap.MACHINE32); + int c = (int) (i & (BitMap.MACHINE32 - 1)); ints[r] &= ~(1 << c); } -} \ No newline at end of file +} diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java b/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java index 93f0d6d99..7c44325af 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java +++ b/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java @@ -32,22 +32,22 @@ public class LongMap implements BitMap, Serializable { @Override public void add(long i) { int r = (int) (i / BitMap.MACHINE64); - long c = i % BitMap.MACHINE64; + long c = i & (BitMap.MACHINE64 - 1); longs[r] = longs[r] | (1L << c); } @Override public boolean contains(long i) { int r = (int) (i / BitMap.MACHINE64); - long c = i % BitMap.MACHINE64; + long c = i & (BitMap.MACHINE64 - 1); return ((longs[r] >>> c) & 1) == 1; } @Override public void remove(long i) { int r = (int) (i / BitMap.MACHINE64); - long c = i % BitMap.MACHINE64; + long c = i & (BitMap.MACHINE64 - 1); longs[r] &= ~(1L << c); } -} \ No newline at end of file +}