bitmap
bitmap copied to clipboard
feature request: new method `OnesTo(n)` like `CountTo(n)`, `Ones` with a upper boundary?
currently need to call Grow
then ones, them remove items >= n
Can we add a new method OnesTo(n)
set Ones
with a upper boundary?
A impl:
func (dst *Bitmap) OnesTo(n uint32) {
blkAt := n >> 6
b := make(Bitmap, blkAt+1)
for i := uint32(0); i < blkAt; i++ {
b[i] = math.MaxUint64 // saidly golang's compiler can't optimize this
}
b[blkAt] = uint64(math.MaxUint64) >> (64 - n%64)
*dst = b
}