Functions for working with RoaringBitmaps. These are integrated deeply into several tech.v3.datatype algorithms and have many potential applications in high performance computing applications as they are both extremely fast and storage-space efficient.
(->bitmap sidx eidx)
Create a roaring bitmap. If this object has a conversion to a roaring bitmap use that, else copy the data into a new roaring bitmap.
Bitmaps do not implement efficient random access although we do provide access of inefficient random access for them. This converts a bitmap into a flat buffer of data that does support efficient random access.
Perform a conversion to a bitmap. If this thing is already a bitmap, clone it.
If this is convertible to a long range, then return a range else return nil.
(bitmap-value->map bitmap val)
Given a bitmap and a value return a map of each bitmap index to that value.
(offset bm offset)
Offset a bitmap creating a new bitmap.
Reduce a sequence of bitmaps into a single bitmap via intersection
Reduce a sequence of bitmaps into a single bitmap via union