#galois-field #fec #satellite #reed-solomon #proc-macro #space-protocols #erminaz

macro ssdv-fec-gf-tables

SSDV systematic erasure FEC (Galois field table generator proc-macros)

1 unstable release

0.1.0 Nov 3, 2023

#13 in #space-protocols


Used in ssdv-fec

MIT/Apache

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

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