reed_solomon_novelpoly/novel_poly_basis/encode.rs
1use super::*;
2
3/// Encode the given payload into `n_min` shards.
4///
5/// The implementation can create more erasure chunks and drop some as needed due to the inherent impl. requirements on `n` and `k`.
6pub fn encode<S: Shard>(bytes: &[u8], n_min: usize) -> Result<Vec<S>> {
7 let params = CodeParams::derive_parameters(n_min, recoverablity_subset_size(n_min))?;
8
9 let rs = params.make_encoder();
10 rs.encode::<S>(bytes)
11}