succinct

Crates.iosuccinct
lib.rssuccinct
version0.5.2
sourcesrc
created_at2016-06-15 10:34:23.09802
updated_at2019-08-29 19:44:08.909713
descriptionSuccinct data structures for Rust
homepagehttps://github.com/tov/succinct-rs
repositoryhttps://github.com/tov/succinct-rs
max_upload_size
id5384
size184,501
Jesse A. Tov (tov)

documentation

https://docs.rs/succinct/

README

Succinct Data Structures for Rust

Build Status Crates.io License: MIT License: Apache 2.0

So far we have:

  • bit vectors and bit buffer;
  • integer vectors with arbitrary-sized (1- to 64-bit) elements;
  • a variety of universal codes;
  • constant-time rank queries; and
  • O(lg lg n)-time select queries based on binary search over ranks.

Usage

It’s on crates.io, so you can add

[dependencies]
succinct = "0.5.2"

to your Cargo.toml.

Credits

  • IntVec borrows some implementation techniques from nbitsvec. The main difference is that nbitsvec uses a typenum to put the element size (in bits) as a parameter to the vector type. Also, nbitsvec is likely to be faster.

  • Some of the API is inspired by SDSL, a C++ succinct data structures library. It’s much more complete than succinct, and probably more correct and faster too.

Commit count: 203

cargo fmt