Skip to main content

vortex_btrblocks/schemes/integer/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! Integer compression schemes.
5
6mod bitpacking;
7mod delta;
8mod for_;
9mod rle;
10mod runend;
11mod sequence;
12mod sparse;
13mod zigzag;
14
15#[cfg(feature = "pco")]
16mod pco;
17
18pub use bitpacking::BitPackingScheme;
19pub use delta::DeltaScheme;
20pub(crate) use for_::FOR_V1;
21pub use for_::FoRScheme;
22#[cfg(feature = "pco")]
23pub use pco::PcoScheme;
24pub use rle::IntRLEScheme;
25pub(crate) use rle::rle_compress;
26pub use runend::RunEndScheme;
27pub use sequence::SequenceScheme;
28pub use sparse::SparseScheme;
29// Re-export builtin schemes from vortex-compressor.
30pub use vortex_compressor::builtins::IntDictScheme;
31pub use vortex_compressor::stats::IntegerStats;
32pub use zigzag::ZigZagScheme;
33
34/// Threshold for the average run length in an array before we consider run-length encoding.
35pub(crate) const RUN_LENGTH_THRESHOLD: u32 = 4;