]> Sergey Matveev's repositories - btrtrc.git/blobdiff - roaring.go
Drop support for go 1.20
[btrtrc.git] / roaring.go
index 6e5409eca106073a85f9a392ebdc6e93db0db267..8e39416cd7446be4874ad0718f09ff96ee6b12df 100644 (file)
@@ -1,13 +1,13 @@
 package torrent
 
 import (
-       "github.com/RoaringBitmap/roaring"
+       "github.com/anacrolix/torrent/typed-roaring"
 )
 
 // Return the number of bits set in the range. To do this we need the rank of the item before the
 // first, and the rank of the last item. An off-by-one minefield. Hopefully I haven't missed
 // something in roaring's API that provides this.
-func roaringBitmapRangeCardinality(bm *roaring.Bitmap, start, end uint32) (card uint64) {
+func roaringBitmapRangeCardinality[T typedRoaring.BitConstraint](bm interface{ Rank(T) uint64 }, start, end T) (card uint64) {
        card = bm.Rank(end - 1)
        if start != 0 {
                card -= bm.Rank(start - 1)