1个不稳定版本
0.1.0 | 2024年4月15日 |
---|
#540 in 编码
16,732 每月下载量
在 5 个crate中使用 (通过 celestia-types)
345KB
846 行
Leopard codec
这是Go语言中Reed-Solomon码的O(nlogn)实现的Rust重写版本,从klauspost/reedsolomon迁移而来,该实现是C++库catid/leopard的迁移版本。
原始实现基于以下论文:
S.-J. Lin,T. Y. Al-Naffouri,Y. S. Han和W.-H. Chung
"具有快速傅里叶变换的新型多项式基及其在Reed-Solomon纠删码中的应用"
IEEE信息理论杂志,第6284-6299页,2016年11月。
功能支持
leopard算法使用8位或16位Cantor基的Galois域。当总分片数达到256个时,应使用8位实现,当需要更多分片时,应使用16位。
- 使用8位leopard算法编码奇偶分片
- 使用8位leopard算法重建分片
- 使用16位leopard算法编码奇偶分片
- 使用16位leopard算法重建分片
依赖项
~0.4–1MB
~20K SLoC