Skip to main content

rusty_erasure_core/
lib.rs

1//! rusty_erasure-core — GF(2^8) arithmetic, coding matrices, and the scalar
2//! erasure-coding kernels that serve as the permanent correctness oracles.
3//!
4//! This crate is `no_std + alloc`, has **zero dependencies**, and forbids
5//! `unsafe`. Everything here must be usable by a developer who has never heard
6//! of MATA: bytes in, bytes out. SIMD twins live in `rusty_erasure-accel`; the
7//! typed public API and kernel dispatch live in the `rusty_erasure` facade.
8//!
9//! Conformance target: byte identity with Intel ISA-L's `erasure_code` module,
10//! proven against checked-in golden vectors generated from real ISA-L on the
11//! bench rig. Mission plan: `docs/plans/erasure_mission.md` (§7 for the gates).
12//!
13//! Milestone map for this crate: M1 lands `gf`, `matrix`, and `tables`; M2
14//! lands the scalar kernels and `encode`/`update`/`recover`.
15
16#![no_std]
17#![forbid(unsafe_code)]
18#![deny(missing_docs)]
19
20extern crate alloc;
21
22pub mod encode;
23pub mod error;
24pub mod gf;
25pub mod kernel;
26pub mod matrix;
27#[cfg(kani)]
28mod proofs;
29pub mod raid;
30pub mod tables;
31
32pub use encode::{Coder, DecodePlan};
33pub use error::{CodeError, MatrixError, RecoverError};
34pub use matrix::Matrix;