Type Alias ViewPair

Source
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>

Source

pub fn new<T>(first: First, second: Second) -> VerticalPair<First, Second>
where T: Send + Sync, First: Matrix<T>, Second: Matrix<T>,

Trait Implementations

Source§

impl<First, Second> Clone for VerticalPair<First, Second>
where First: Clone, Second: Clone,

Source§

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)

Performs copy-assignment from source. Read more
Source§

impl<First, Second> Debug for VerticalPair<First, Second>
where First: Debug, Second: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<T, First, Second> Matrix<T> for VerticalPair<First, Second>
where T: Send + Sync, First: Matrix<T>, Second: Matrix<T>,

Source§

type Row<'a> = EitherRow<<First as Matrix<T>>::Row<'a>, <Second as Matrix<T>>::Row<'a>> where VerticalPair<First, Second>: 'a

Source§

fn width(&self) -> usize

Source§

fn height(&self) -> usize

Source§

fn get(&self, r: usize, c: usize) -> T

Source§

fn row(&self, r: usize) -> <VerticalPair<First, Second> as Matrix<T>>::Row<'_>

Source§

fn row_slice(&self, r: usize) -> impl Deref<Target = [T]>

Source§

fn dimensions(&self) -> Dimensions

Source§

fn rows(&self) -> impl Iterator<Item = Self::Row<'_>>

Source§

fn par_rows(&self) -> impl IndexedParallelIterator

Source§

fn first_row(&self) -> Self::Row<'_>

Source§

fn last_row(&self) -> Self::Row<'_>

Source§

fn to_row_major_matrix(self) -> DenseMatrix<T>
where Self: Sized, T: Clone,

Source§

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
where P: PackedValue<Value = T>, T: Clone + Default + 'a,

Zero padded.
Source§

fn par_horizontally_packed_rows<'a, P>(&'a self) -> impl IndexedParallelIterator
where P: PackedValue<Value = T>, T: Clone + 'a,

Source§

fn par_padded_horizontally_packed_rows<'a, P>( &'a self, ) -> impl IndexedParallelIterator
where P: PackedValue<Value = T>, T: Clone + Default + 'a,

Source§

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>,

Pack together a collection of rows and “next” rows from the matrix. Read more
Source§

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>,

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 IndexedParallelIterator
where T: Field, EF: ExtensionField<T>,

Multiply this matrix by the vector of powers of base, which is an extension element.
Source§

impl<First, Second> Copy for VerticalPair<First, Second>
where First: Copy, Second: Copy,