Open trim21 opened 2 months ago
currently need to call Grow then ones, them remove items >= n
Grow
>= n
Can we add a new method OnesTo(n) set Ones with a upper boundary?
OnesTo(n)
Ones
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 }
currently need to call
Grow
then ones, them remove items>= n
Can we add a new method
OnesTo(n)
setOnes
with a upper boundary?A impl: