6 releases (stable)
| 2.0.0 | Jan 25, 2024 |
|---|---|
| 1.0.2 | Sep 17, 2023 |
| 1.0.1 | Aug 30, 2023 |
| 1.0.0 | Mar 26, 2021 |
| 0.0.3 | Mar 19, 2021 |
#317 in Algorithms
97,560 downloads per month
Used in 82 crates
(4 directly)
110KB
2.5K
SLoC
reed-solomon-novelpoly
An implementation of Novel Polynomial Basis and its Application to Reed-Solomon Erasure Codes 1 2 3.
Runs encoding and reconstruction in O(n lg(n)). Note that for small number n there is a static offset due to a walsh transform over the full domain in reconstruction.
Goals
Be really fast for n > 100.
Benchmarking
For benchmarking the implementation against itself and the naive implementation, criterion is used.
cargo bench
Fuzzing
Currently honggfuzz is used.
Install cargo install cargo-hongg and run with:
cargo-hongg fuzz --bin <binary_name>
Dependencies
~0.8–1.8MB
~31K SLoC