pub type ViewPair<'a, T> = VerticalPair<RowMajorMatrixView<'a, T>, RowMajorMatrixView<'a, T>>;
Aliased Type§
struct ViewPair<'a, T> {
pub first: DenseMatrix<T, &'a [T]>,
pub second: DenseMatrix<T, &'a [T]>,
}
Fields§
§first: DenseMatrix<T, &'a [T]>
§second: DenseMatrix<T, &'a [T]>
Implementations
Source§impl<First, Second> VerticalPair<First, Second>
impl<First, Second> VerticalPair<First, Second>
Trait Implementations
Source§impl<First, Second> Clone for VerticalPair<First, Second>
impl<First, Second> Clone for VerticalPair<First, Second>
Source§fn clone(&self) -> VerticalPair<First, Second>
fn clone(&self) -> VerticalPair<First, Second>
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<First, Second> Debug for VerticalPair<First, Second>
impl<First, Second> Debug for VerticalPair<First, Second>
Source§impl<T, First, Second> Matrix<T> for VerticalPair<First, Second>
impl<T, First, Second> Matrix<T> for VerticalPair<First, Second>
type Row<'a> = EitherRow<<First as Matrix<T>>::Row<'a>, <Second as Matrix<T>>::Row<'a>> where VerticalPair<First, Second>: 'a
fn width(&self) -> usize
fn height(&self) -> usize
fn get(&self, r: usize, c: usize) -> T
fn row(&self, r: usize) -> <VerticalPair<First, Second> as Matrix<T>>::Row<'_>
fn row_slice(&self, r: usize) -> impl Deref<Target = [T]>
fn dimensions(&self) -> Dimensions
fn rows(&self) -> impl Iterator<Item = Self::Row<'_>>
fn par_rows(&self) -> impl IndexedParallelIterator
fn first_row(&self) -> Self::Row<'_>
fn last_row(&self) -> Self::Row<'_>
fn to_row_major_matrix(self) -> DenseMatrix<T>
fn horizontally_packed_row<'a, P>(
&'a self,
r: usize,
) -> (impl Iterator<Item = P> + Send + Sync, impl Iterator<Item = T> + Send + Sync)where
P: PackedValue<Value = T>,
T: Clone + 'a,
Source§fn padded_horizontally_packed_row<'a, P>(
&'a self,
r: usize,
) -> impl Iterator<Item = P> + Send + Sync
fn padded_horizontally_packed_row<'a, P>( &'a self, r: usize, ) -> impl Iterator<Item = P> + Send + Sync
Zero padded.
fn par_horizontally_packed_rows<'a, P>(&'a self) -> impl IndexedParallelIteratorwhere
P: PackedValue<Value = T>,
T: Clone + 'a,
fn par_padded_horizontally_packed_rows<'a, P>( &'a self, ) -> impl IndexedParallelIterator
Source§fn vertically_packed_row<P>(&self, r: usize) -> impl Iterator<Item = P>where
T: Copy,
P: PackedValue<Value = T>,
fn vertically_packed_row<P>(&self, r: usize) -> impl Iterator<Item = P>where
T: Copy,
P: PackedValue<Value = T>,
Pack together a collection of adjacent rows from the matrix. Read more
Source§fn vertically_packed_row_pair<P>(&self, r: usize, step: usize) -> Vec<P>where
T: Copy,
P: PackedValue<Value = T>,
fn vertically_packed_row_pair<P>(&self, r: usize, step: usize) -> Vec<P>where
T: Copy,
P: PackedValue<Value = T>,
Pack together a collection of rows and “next” rows from the matrix. Read more
fn vertically_strided(
self,
stride: usize,
offset: usize,
) -> RowIndexMappedView<VerticallyStridedRowIndexMap, Self>where
Self: Sized,
Source§fn columnwise_dot_product<EF>(&self, v: &[EF]) -> Vec<EF>where
T: Field,
EF: ExtensionField<T>,
fn columnwise_dot_product<EF>(&self, v: &[EF]) -> Vec<EF>where
T: Field,
EF: ExtensionField<T>,
Compute Mᵀv, aka premultiply this matrix by the given vector,
aka scale each row by the corresponding entry in
v
and take the sum across rows.
v
can be a vector of extension elements.Source§fn dot_ext_powers<EF>(&self, base: EF) -> impl IndexedParallelIteratorwhere
T: Field,
EF: ExtensionField<T>,
fn dot_ext_powers<EF>(&self, base: EF) -> impl IndexedParallelIteratorwhere
T: Field,
EF: ExtensionField<T>,
Multiply this matrix by the vector of powers of
base
, which is an extension element.