Expand description

General utilities for bitmaps representing items where LSB is the first item.

Structs

This struct is used to efficiently iterate over bit masks by loading bytes on the stack with alignments of uX. This allows efficient iteration over bitmaps.

An iterator over a slice of bytes in BitChunks.

An iterator over mutable slices of bytes of exact size.

An iterator over bits according to the LSB, i.e. the bytes [4u8, 128u8] correspond to [false, false, true, false, ..., true].

Iterator over a bitmap that returns slices of set regions This is the most efficient method to extract slices of values from arrays with a validity bitmap. For example, the bitmap 00101111 returns [(0,4), (6,1)]

An iterator adapter that converts an iterator over T and a validity into an iterator over Option<T> based on the validity.

Traits

A chunk of bits. This is used to create masks of a given length whose width is 1 bit. In portable_simd notation, this corresponds to m1xY.

Trait representing an exact iterator over bytes in BitChunk.

Functions

Returns the number of bytes required to hold bits bits.

Returns the number of zero bits in the slice offsetted by offset and a length of length.

Formats bytes taking into account an offset and length of the form

Returns whether bit at position i in data is set

Returns whether bit at position i in data is set or not.

Returns whether bit at position i in byte is set or not

Sets bit at position i in byte

Sets bit at position i in data

Sets bit at position i in data without doing bound checks

Returns an iterator adapter that returns Option according to an optional validity.