roaring · API

roaring.bitmap64

Bitmap64 — a Roaring bitmap over UInt64 values, per the "extension for 64-bit implementations": a sorted map from a 32-bit high key to a full Bitmap32 over the low 32 bits. This is the shape Apache Iceberg uses for deletion vectors (row positions are UInt64).

Structs

Bitmap64

struct Bitmap64

Implements Copyable, Movable

Fields
maps: Dict[UInt32, Bitmap32]

__init__

def __init__(out self)

add

def add(mut self, v: UInt64)

add_range

def add_range(mut self, start: UInt64, stop: UInt64)

Add every value in [start, stop).

remove

def remove(mut self, v: UInt64)

run_optimize

def run_optimize(mut self)

contains

def contains(self, v: UInt64) -> Bool

cardinality

def cardinality(self) -> Int

is_empty

def is_empty(self) -> Bool

min

def min(self) -> UInt64

max

def max(self) -> UInt64

to_list

def to_list(self) -> List[UInt64]

or_

def or_(a, b: Self) -> Self

and_

def and_(a, b: Self) -> Self

and_not

def and_not(a, b: Self) -> Self

xor

def xor(a, b: Self) -> Self

serialize_portable

def serialize_portable(self) -> List[UInt8]

portable_size

def portable_size(self) -> Int

deserialize_portable

def deserialize_portable[origin: Origin[mut=origin.mut], //](data: Span[UInt8, origin]) -> Self