Introduce IntervalSet
This is a compact, fast storage for variable-sized sets, typically consisting of larger ranges. It is less efficient than a bitset if ranges are both small and the domain size is small, but will still perform acceptably. With enormous domain sizes and large ranges, the interval set performs much better, as it can be much more densely packed in memory than the uncompressed bit set alternative.
This commit is contained in:
parent
a09f775e5a
commit
00c55a1bb8
5 changed files with 471 additions and 0 deletions
|
@ -7,6 +7,7 @@
|
|||
#![feature(let_else)]
|
||||
|
||||
pub mod bit_set;
|
||||
pub mod interval;
|
||||
pub mod vec;
|
||||
|
||||
// FIXME(#56935): Work around ICEs during cross-compilation.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue