1
Fork 0

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:
Mark Rousskov 2021-11-05 14:50:29 -04:00
parent a09f775e5a
commit 00c55a1bb8
5 changed files with 471 additions and 0 deletions

View file

@ -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.