ad_ess/lib.rs
1//! This crate contains the arbitrary-distribution enumerative sphere shaping (AD-ESS) algorithm[^1].
2//! The algorithm is accessible via the `struct` [ad_ess::AdEss].
3//!
4//! A second algorithm named reverse trellis shaping [rts::RTS] is also located in this repository.
5//! Unlike AD-ESS it uses energy based ordering of the sequences and thus always has minimal rate loss.
6//! Its complexity is the same as Laroias 1st algorithm[^2].
7//!
8//! [^1]: https://arxiv.org/pdf/2512.16808.
9//!
10//! [^2]: R. Laroia, N. Farvardin and S. A. Tretter, "On optimal shaping of multidimensional constellations," in IEEE Transactions on Information Theory, vol. 40, no. 4, pp. 1044-1056, July 1994, doi: 10.1109/18.335969.
11
12/// Arbitrary-Distribution ESS
13pub mod ad_ess;
14/// Implementation of a trellis used in [ad_ess::AdEss] and [rts::RTS]
15pub mod trellis;
16pub mod trellis_utils;
17pub mod utils;
18
19/// Reverse Trellis Shaping
20pub mod rts;
21
22#[cfg(test)]
23mod tests;