From dbb95273c073ab548a90bacd19fd82bc44936341 Mon Sep 17 00:00:00 2001 From: Michal Hruby Date: Sun, 29 Oct 2023 01:20:19 +0100 Subject: [PATCH] speed up NextClear --- bitset.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bitset.go b/bitset.go index 039045b..642cba6 100644 --- a/bitset.go +++ b/bitset.go @@ -441,7 +441,7 @@ func (b *BitSet) NextSet(i uint) (uint, bool) { if b.set[x] != 0 { return uint(x)*wordSize + trailingZeroes64(b.set[x]), true } - x = x + 1 + x++ } return 0, false @@ -530,9 +530,11 @@ func (b *BitSet) NextClear(i uint) (uint, bool) { return 0, false } for x < len(b.set) { - index = uint(x)*wordSize + trailingZeroes64(^b.set[x]) - if b.set[x] != allBits && index < b.length { - return index, true + if b.set[x] != allBits { + index = uint(x)*wordSize + trailingZeroes64(^b.set[x]) + if index < b.length { + return index, true + } } x++ }