From d847f7f7b0f594d15f2a1d0dcba5fca2c592a555 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Sat, 19 Apr 2025 10:59:26 +1000 Subject: [PATCH] Am a complete and utter idiot --- .../voxy/common/util/HierarchicalBitSet.java | 63 ++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/cortex/voxy/common/util/HierarchicalBitSet.java b/src/main/java/me/cortex/voxy/common/util/HierarchicalBitSet.java index 1bd6d4ac..9757b842 100644 --- a/src/main/java/me/cortex/voxy/common/util/HierarchicalBitSet.java +++ b/src/main/java/me/cortex/voxy/common/util/HierarchicalBitSet.java @@ -1,5 +1,8 @@ package me.cortex.voxy.common.util; +import it.unimi.dsi.fastutil.ints.IntOpenHashSet; +import it.unimi.dsi.fastutil.ints.IntSet; + import java.util.Random; public class HierarchicalBitSet { @@ -40,6 +43,10 @@ public class HierarchicalBitSet { idx = Long.numberOfTrailingZeros(~dp) + 64*idx; int ret = idx; + //if (this.isSet(ret)) { + // throw new IllegalStateException(); + //} + dp |= 1L<<(idx&0x3f); this.D[idx>>6] = dp; if (dp==-1) { @@ -71,6 +78,7 @@ public class HierarchicalBitSet { idx >>= 6; long bp = this.B[idx>>6] |= 1L<<(idx&0x3f); if (bp==-1) { + idx >>= 6; this.A |= 1L<<(idx&0x3f); } } @@ -109,7 +117,7 @@ public class HierarchicalBitSet { if (this.A==-1) { return -1; } - if (this.cnt+count>this.limit) { + if (this.cnt+count>=this.limit) { return -2;//Limit reached } long chkMsk = ((1L<