Skip to content
  • STEVAN Antoine's avatar
    replace `reed-solomon-erasure` dependency by `linalg` module (!2) · f3d915a4
    STEVAN Antoine authored
    # 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`](https://github.com/jdetchart/reed-solomon-erasure) completely
    f3d915a4