Skip to main content

SparseSpMv

Trait SparseSpMv 

Source
pub trait SparseSpMv<T> {
    // Required method
    fn spmv(&self, x: &[T], y: &mut [T]);
}
Expand description

Unified trait for sparse matrix-vector multiplication.

Required Methods§

Source

fn spmv(&self, x: &[T], y: &mut [T])

Perform matrix-vector multiplication: y += A * x.

§Panics

Panics if the dimensions of x or y are incompatible with the matrix.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, T, Arch> SparseSpMv<T> for SparseView<'a, T, DenseWithMask, Arch>
where T: NumericElement, Arch: SimdArch + SimdKernel<T>,

Source§

impl<'a, T, Arch> SparseSpMv<T> for SparseView<'a, T, Validated<Csr>, Arch>
where T: NumericElement, Arch: SimdArch + SimdKernel<T>,

Source§

impl<'a, T, F, Arch> SparseSpMv<T> for SparseCow<'a, T, F, Arch>
where T: NumericElement, F: CowFormat, Arch: SimdArch, SparseView<'b, T, F, Arch>: for<'b> SparseSpMv<T>,

Source§

impl<'a, T, const BM: usize, const BN: usize, Arch> SparseSpMv<T> for SparseView<'a, T, Validated<BlockedCoo<BM, BN>>, Arch>
where T: NumericElement, Arch: SimdArch + SimdKernel<T>,

Source§

impl<'a, T, const C: usize, Arch> SparseSpMv<T> for SparseView<'a, T, Validated<SellP<C>>, Arch>
where T: NumericElement, Arch: SimdArch + SimdKernel<T>,