pub struct OptimizedMdsMatrices<F: PrimeField> {
pub M_hat: SquareMatrix<F>,
pub v: Matrix<F>,
pub w: Matrix<F>,
pub M_prime: SquareMatrix<F>,
pub M_doubleprime: SquareMatrix<F>,
pub M_inverse: SquareMatrix<F>,
pub M_hat_inverse: SquareMatrix<F>,
pub M_00: F,
pub M_i: Matrix<F>,
pub v_collection: Vec<Matrix<F>>,
pub w_hat_collection: Vec<Matrix<F>>,
}
Expand description
Represents an optimized MDS (maximum distance separable) matrix.
Fields§
§M_hat: SquareMatrix<F>
A (t - 1) x (t - 1) MDS submatrix derived from the MDS matrix.
v: Matrix<F>
A 1 x (t - 1) (row) vector derived from the MDS matrix.
w: Matrix<F>
A (t - 1) x 1 (column) vector derived from the MDS matrix.
M_prime: SquareMatrix<F>
A matrix formed from Mhat (an MDS submatrix of the MDS matrix).
M_doubleprime: SquareMatrix<F>
A sparse matrix formed from M,
M_inverse: SquareMatrix<F>
The inverse of the t x t MDS matrix (needed to compute round constants).
M_hat_inverse: SquareMatrix<F>
The inverse of the (t - 1) x (t - 1) Mhat matrix.
M_00: F
Element at M00
M_i: Matrix<F>
M_i
v_collection: Vec<Matrix<F>>
v_collection: one per round.
w_hat_collection: Vec<Matrix<F>>
w_hat_collection: one per round
Trait Implementations§
source§impl<F: Clone + PrimeField> Clone for OptimizedMdsMatrices<F>
impl<F: Clone + PrimeField> Clone for OptimizedMdsMatrices<F>
source§fn clone(&self) -> OptimizedMdsMatrices<F>
fn clone(&self) -> OptimizedMdsMatrices<F>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<F: Debug + PrimeField> Debug for OptimizedMdsMatrices<F>
impl<F: Debug + PrimeField> Debug for OptimizedMdsMatrices<F>
source§impl<F: PartialEq + PrimeField> PartialEq<OptimizedMdsMatrices<F>> for OptimizedMdsMatrices<F>
impl<F: PartialEq + PrimeField> PartialEq<OptimizedMdsMatrices<F>> for OptimizedMdsMatrices<F>
source§fn eq(&self, other: &OptimizedMdsMatrices<F>) -> bool
fn eq(&self, other: &OptimizedMdsMatrices<F>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<F: Eq + PrimeField> Eq for OptimizedMdsMatrices<F>
impl<F: PrimeField> StructuralEq for OptimizedMdsMatrices<F>
impl<F: PrimeField> StructuralPartialEq for OptimizedMdsMatrices<F>
Auto Trait Implementations§
impl<F> RefUnwindSafe for OptimizedMdsMatrices<F>where F: RefUnwindSafe,
impl<F> Send for OptimizedMdsMatrices<F>
impl<F> Sync for OptimizedMdsMatrices<F>
impl<F> Unpin for OptimizedMdsMatrices<F>where F: Unpin,
impl<F> UnwindSafe for OptimizedMdsMatrices<F>where F: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more