| Crates.io | simple-sds-sbwt |
| lib.rs | simple-sds-sbwt |
| version | 0.3.2 |
| created_at | 2024-04-26 13:54:34.054502+00 |
| updated_at | 2024-11-15 14:21:50.646311+00 |
| 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.