Skip to content

Repository files navigation

Galois

Practical library for some common algorithms over $\mathbb{F}_{2^8}$.

Lin-Chung-Han variant of Reed-Solomon codes

The Lin-Chung-Han (LCH) transform is an additive FFT-like transform over fields $\mathbb{F}_{2^m}$. For an $RS(n, k)$ code, it enables practical encoding and erasure decoding in $\mathcal{O}(n\log\min(k, n-k))$ time. A canonical implementation is Leopard-RS. This library provides:

  • XDRS-derived low- and high-rate LCH decoders.
  • Arbitrary positive data/recovery dimensions whose normalized power-of-two mother code fits 256 symbols.
  • Fine-tuned AVX2 and GFNI kernels.

High-rate codewords use Leopard-compatible encoding.

Benchmarks

Performance comparison of $RS(256, k)$ implementations:

RS backend comparison

Open the benchmark report on GitHub Pages.

Build

cmake --preset release
cmake --build --preset release
ctest --preset release

About

Implementation of galois fields 2^8k

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages