reed-solomon-novelpoly 2.0.0

An implementation of a reed solomon code / encoder / decoder with complexity `O(n lg(n))`
Documentation
# 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.

```sh
cargo bench
```

## Fuzzing

Currently `honggfuzz` is used.

Install `cargo install cargo-hongg` and run with:

```sh
cargo-hongg fuzz --bin <binary_name>
```

[1]: https://www.citi.sinica.edu.tw/papers/whc/4454-F.pdf
[2]: https://arxiv.org/abs/1404.3458
[3]: https://www.citi.sinica.edu.tw/papers/whc/5524-F.pdf