Skip to main content

Module boolean

Module boolean 

Source
Expand description

The bitmap backed representation of a RowSelection and the primitives operating on it: conversion to and from the run length (RowSelector) form, and the transforms backing split_off, trim, offset and limit.

The bitwise set algebra lives in the algebra module.

Re-exportsΒ§

use super::RowSelector; πŸ”’
use arrow_buffer::bit_iterator::BitSliceIterator; πŸ”’
use arrow_buffer::BooleanBuffer; πŸ”’
use arrow_buffer::BooleanBufferBuilder; πŸ”’
use arrow_buffer::Buffer; πŸ”’
use std::sync::OnceLock; πŸ”’

StructsΒ§

MaskRunIter
Streaming RLE view of a [BooleanBuffer], yielding owned RowSelectors without allocation.
MaskSelection πŸ”’
Mask-backed RowSelection storage.

FunctionsΒ§

boolean_mask_from_selectors πŸ”’
Build a bitmap from a selector sequence by filling bytes directly.
last_set_bit_position πŸ”’
Position of the highest set bit in mask, scanning words from the end.
limit_mask πŸ”’
Keeps only the first limit selected rows of a mask-backed selection.
mask_has_at_least_runs πŸ”’
Returns whether mask contains at least min_runs alternating set/unset runs.
mask_to_selectors πŸ”’
Materialize a [BooleanBuffer] into its RLE form.
offset_mask πŸ”’
Skips the first offset selected rows of a mask-backed selection. popcount is the caller’s (possibly cached) set-bit count of mask.
set_bit_run πŸ”’
Set bits [start, start + len) in a zero-initialized little-endian bitmap.
split_off_mask πŸ”’
Split a mask into (head, tail) at row_count, preserving an empty mask tail when the split point is past the end.
trim_mask πŸ”’
Trims trailing unset bits from a mask-backed selection.