1 unstable release
0.1.0 | Nov 3, 2023 |
---|
#13 in #space-protocols
Used in ssdv-fec
7KB
81 lines
SSDV systematic erasure FEC: Galois field table generator procedural macros.
This field contains procedural macros that are used to generate the tables for the Galois field arithmetic in the ssdv-fec crate.
API documentation
The documentation for the ssdv-fec-gf-tables crate is hosted in docs.rs.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
lib.rs
:
SSDV systematic erasure FEC: Galois field table generator procedural macros.
This field contains procedural macros that are used to generate the tables
for the Galois field arithmetic in the ssdv-fec
crate.
The Galois field GF(2⁸) is realized as the quotient GF(2)[x] / (x⁸ + x⁴ + x³ + x² + 1). Its arithmetic is implemented using a table of the exponential and a table of the logarithm, which are generated by this crate.
An element a₇x⁷ + ⋯ + a₀ in GF(2⁸) is encoded as an element of u8
, where
the leading coefficient a₇ is placed in the most-significant bit and the
independent term a₀ is placed in the least-significant bit.
Dependencies
~300–760KB
~18K SLoC