Skip to content

Commit

Permalink
bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
neena committed Apr 8, 2024
1 parent d3bf873 commit 1c6a47d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
2 changes: 1 addition & 1 deletion bitmapcontainer.go
Original file line number Diff line number Diff line change
Expand Up @@ -904,7 +904,7 @@ func (bc *bitmapContainer) iandNotRun16(rc *runContainer16) container {
cardinalityChange := popcntSlice(bc.bitmap[wordRangeStart : wordRangeEnd+1]) // before cardinality - after cardinality (for word range)

for _, iv := range rc.iv {
resetBitmapRange(bc.bitmap, int(iv.start), int(iv.last()+1))
resetBitmapRange(bc.bitmap, int(iv.start), int(iv.last())+1)
}

cardinalityChange -= popcntSlice(bc.bitmap[wordRangeStart : wordRangeEnd+1])
Expand Down
3 changes: 3 additions & 0 deletions bitmapcontainer_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package roaring

import (
"math"
"math/rand"
"testing"

Expand Down Expand Up @@ -313,12 +314,14 @@ func TestBitmapContainerIAndNot(t *testing.T) {
for i := 0; i < arrayDefaultMaxSize; i++ {
bc.iadd(uint16(i * 3))
}
bc.iadd(math.MaxUint16)

var rc container
rc = newRunContainer16Range(0, 1)
for i := 0; i < arrayDefaultMaxSize-3; i++ {
rc = rc.iaddRange(i*3, i*3+1)
}
rc.iaddRange(math.MaxUint16-3, math.MaxUint16)

bc = bc.iandNot(rc)

Expand Down

0 comments on commit 1c6a47d

Please sign in to comment.