diff --git a/roaring/roaring.go b/roaring/roaring.go index 8fb906ef4..0087e6fdf 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -1911,13 +1911,14 @@ func intersectionCountBitmapRun(a, b *container) (n int) { } func intersectionCountArrayBitmap(a, b *container) (n int) { + ln := len(b.bitmap) for _, val := range a.array { - i := val >> 6 - if i >= uint16(len(b.bitmap)) { + i := int(val >> 6) + if i >= ln { break } off := val % 64 - n += int((b.bitmap[i] & (1 << off)) >> off) + n += int(b.bitmap[i]>>off) & 1 } return n }