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 |
#61 in Algorithms
164,840 downloads per month
Used in 36 crates
(3 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
~34K SLoC