Crates.io | leopard-codec |
lib.rs | leopard-codec |
version | 0.1.0 |
source | src |
created_at | 2024-04-15 13:38:21.930425 |
updated_at | 2024-04-15 13:38:21.930425 |
description | Implementation of Reed-Solomon codes using leopard algorithm |
homepage | https://www.eiger.co |
repository | https://github.com/eigerco/leopard-codec |
max_upload_size | |
id | 1209252 |
size | 357,525 |
This is a Rust rewrite of a Go O(n*log n)
implementation of Reed-Solomon codes,
ported from the klauspost/reedsolomon,
which is a port of the C++ library catid/leopard.
The original implementation is based on the paper:
S.-J. Lin, T. Y. Al-Naffouri, Y. S. Han, and W.-H. Chung,
"Novel Polynomial Basis with Fast Fourier Transform and Its Application to Reed-Solomon Erasure Codes"
IEEE Trans. on Information Theory, pp. 6284-6299, November, 2016.
The leopard algorithm uses either 8-bit or 16-bit Galois fields with Cantor basis. The 8-bit implementation should be used with up to 256 total shards and 16-bit when more shards are needed.