reed-solomon-novelpoly

Crates.ioreed-solomon-novelpoly
lib.rsreed-solomon-novelpoly
version2.0.0
sourcesrc
created_at2021-03-11 13:11:17.675086
updated_at2024-01-25 15:29:59.219109
descriptionAn implementation of a reed solomon code / encoder / decoder with complexity `O(n lg(n))`
homepage
repositoryhttps://github.com/paritytech/reed-solomon-novelpoly
max_upload_size
id367284
size110,755
Core devs (github:paritytech:core-devs)

documentation

README

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>
Commit count: 152

cargo fmt