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(crate) use bitpacking::BITPACKING_V1;
19pub use bitpacking::BitPackingScheme;
20pub use delta::DeltaScheme;
21pub(crate) use for_::FOR_V1;
22pub use for_::FoRScheme;
23#[cfg(feature = "pco")]
24pub use pco::PcoScheme;
25pub use rle::IntRLEScheme;
26pub(crate) use rle::rle_compress;
27pub use runend::RunEndScheme;
28pub use sequence::SequenceScheme;
29pub use sparse::SparseScheme;
30// Re-export builtin schemes from vortex-compressor.
31pub use vortex_compressor::builtins::IntDictScheme;
32pub use vortex_compressor::stats::IntegerStats;
33pub use zigzag::ZigZagScheme;
34
35/// Threshold for the average run length in an array before we consider run-length encoding.
36pub(crate) const RUN_LENGTH_THRESHOLD: u32 = 4;