fountain_scheme 2.0.0

Configurable fountain code schemes built on fountain_engine
Documentation
# fountain_scheme

Configurable fountain code schemes built on `fountain_engine`.

## Included Schemes

- **LT Code**: Pure Luby Transform codes with ideal soliton and robust soliton degree distributions.
- **LDPC-LT Code**: LT codes with LDPC precode for improved decoding performance.
- **HDPC-LT Code**: LT codes with HDPC (High-Density Parity Check) precode.
- **Systematic Codes**: Systematic variants of LDPC-LT and HDPC codes, where source symbols appear unmodified in the output.

## Quick Start

Use the code scheme types (each implements `fountain_engine::traits::CodeScheme`). Pass any of them to `fountain_engine::Encoder` and `fountain_engine::Decoder`.

```rust
use fountain_scheme::validation::pseudo_rand::XorShift64;
use fountain_scheme::{BinaryHDPCLTCode, HDPCLTCode, LDPCLTCode, RandomLTCode};

let k = 100usize;
let rng = XorShift64::new(1);

let _lt = RandomLTCode::new_from_robust_soliton(k, rng.clone());
let _ldpc_lt = LDPCLTCode::new_with_ideal_soliton(k, rng.clone());
let _hdpc_lt = HDPCLTCode::new_with_ideal_soliton(k, rng.clone());
let mut sys = HDPCLTCode::new_with_ideal_soliton(k, rng.clone());
sys.as_systematic();
let _binary_hdpc = BinaryHDPCLTCode::new_with_ideal_soliton(k, rng);
```

## Dependency

Requires **`fountain_engine` 2.0** and **`fountain_utility` 2.0**:

```toml
[dependencies]
fountain_scheme = "2.0.0"
fountain_engine = "2.0.0"
fountain_utility = "2.0.0"
```

## License

MIT License. See [LICENSE-MIT](LICENSE-MIT).

Copyright (c) 2025 Shenghao Yang. All rights reserved.