Crates.io | simple-sds-sbwt |
lib.rs | simple-sds-sbwt |
version | 0.3.2 |
source | src |
created_at | 2024-04-26 13:54:34.054502 |
updated_at | 2024-11-15 14:21:50.646311 |
description | A fork of simple-sds used in the sbwt crate. |
homepage | |
repository | https://github.com/jnalanko/simple-sds-sbwt/ |
max_upload_size | |
id | 1221442 |
size | 459,740 |
This is a fork of simple-sds used in the sbwt crate.
These structures are comparable to those in SDSL in performance and scalability. As the focus is on (relative) simplicity, ugly low-level optimizations are generally avoided.
RawVector
: A bit array that supports reading, writing, and appending 1-64 bits at a time. Implemented on top of Vec<u64>
.
RawVectorWriter
: An append-only version of RawVector
that writes the structure directly to a file.RawVectorMapper
: An immutable memory-mapped RawVector
.IntVector
: A bit-packed vector of fixed-width integers implemented on top of RawVector
. Like sdsl::int_vector
but also supports stack functionality.
IntVectorWriter
: An append-only version of IntVector
that writes the structure directly to a file. Like a subset of sdsl::int_vector_buffer
.IntVectorMapper
: An immutable memory-mapped IntVector
.WaveletMatrix
: An immutable vector of fixed-width integers. Similar to sdsl::wm_int
.
rank()
, inverse_select()
, select()
, predecessor()
, and successor()
with each item value.BitVector
for each level.BitVector
: A plain immutable bitvector.
rank()
, rank_zero()
, select()
, select_zero()
, predecessor()
, and successor()
queries using optional support structures.RawVector
.RLVector
: A run-length encoded bitvector.
rank()
, rank_zero()
, select()
, select_zero()
, predecessor()
, and successor()
queries.RLBuilder
.SparseVector
: An Elias-Fano encoded bitvector.
rank()
, rank_zero()
, select()
, select_zero()
, predecessor()
, and successor()
queries .SparseBuilder
.predecessor()
and successor()
that return values instead of iterators?.cargo/config.toml
sets the target CPU to native
.mmap()
.usize
is not 64-bit.