leopard-codec

Crates.ioleopard-codec
lib.rsleopard-codec
version0.1.0
sourcesrc
created_at2024-04-15 13:38:21.930425
updated_at2024-04-15 13:38:21.930425
descriptionImplementation of Reed-Solomon codes using leopard algorithm
homepagehttps://www.eiger.co
repositoryhttps://github.com/eigerco/leopard-codec
max_upload_size
id1209252
size357,525
Eiger (eiger-releases)

documentation

README

Leopard codec

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.

Features support

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.

  • Encoding parity shards using 8-bit leopard algorithm
  • Reconstructing shards using 8-bit leopard algorithm
  • Encoding parity shards using 16-bit leopard algorithm
  • Reconstructing shards using 16-bit leopard algorithm
Commit count: 15

cargo fmt