pub trait MatrixOperations {
// Required methods
fn new(elements: &[Fq]) -> Self;
fn elements(&self) -> &[Fq] ⓘ;
fn get_element(&self, i: usize, j: usize) -> Fq;
fn set_element(&mut self, i: usize, j: usize, val: Fq);
fn n_rows(&self) -> usize;
fn n_cols(&self) -> usize;
fn hadamard_product(
&self,
rhs: &Self,
) -> Result<Self, PoseidonParameterError>
where Self: Sized;
// Provided method
fn iter_rows(&self) -> Chunks<'_, Fq> { ... }
}
Required Methods§
Sourcefn get_element(&self, i: usize, j: usize) -> Fq
fn get_element(&self, i: usize, j: usize) -> Fq
Get element[i,j]
Sourcefn set_element(&mut self, i: usize, j: usize, val: Fq)
fn set_element(&mut self, i: usize, j: usize, val: Fq)
Set element[i,j]
Sourcefn hadamard_product(&self, rhs: &Self) -> Result<Self, PoseidonParameterError>where
Self: Sized,
fn hadamard_product(&self, rhs: &Self) -> Result<Self, PoseidonParameterError>where
Self: Sized,
Compute Hadamard (element-wise) product
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.