Skip to content

replace `reed-solomon-erasure` dependency by `linalg` module

STEVAN Antoine requested to merge implement-reconstruction-and-linalg into main

changelog

  • add a one_less argument to field::merge_elements_into_bytes to mirror the one_more from field::split_data_into_field_elements
  • add a linalg module which defines
    • a pub LinalgError enum
    • a pub(super) Matrix structure implement for any ark_ff::Field, e.g. <Bls12_381 as Pairing>::ScalarField
    • pub(super) Matrix::vandermonde
    • pub(super) Matrix::from_vec_vec
    • pub(super) Matrix::invert
    • pub(super) Matrix::mul
    • pub(super) Matrix::transpose
    • everything is tested extensively
  • modify fec.rs to use linalg::Matrix instead of reed-solomon-erasure => tests still pass
  • remove the dependency to reed-solomon-erasure completely
Edited by STEVAN Antoine

Merge request reports