[][src]Trait tract_linalg::frame::matmul::MatMul

pub trait MatMul<T: Copy + Add + Mul + Zero + Debug>: Send + Sync + Debug + Clone {
    fn packed_a_len(&self) -> usize;
fn packed_a_alignment(&self) -> usize;
fn pack_a(&self, pa: *mut T, a: *const T, rsa: isize, csa: isize);
fn packed_b_len(&self) -> usize;
fn packed_b_alignment(&self) -> usize;
fn pack_b(&self, pb: *mut T, b: *const T, rsb: isize, csb: isize);
fn write_b_packed_by_rows<'p>(&self, pb: &'p mut [T]) -> PackedWriter<'p, T>;
fn mat_mul_prepacked(
        &self,
        pa: *const T,
        pb: *const T,
        c: *mut T,
        rsc: isize,
        csc: isize
    ); }

Required methods

fn packed_a_len(&self) -> usize

fn packed_a_alignment(&self) -> usize

fn pack_a(&self, pa: *mut T, a: *const T, rsa: isize, csa: isize)

fn packed_b_len(&self) -> usize

fn packed_b_alignment(&self) -> usize

fn pack_b(&self, pb: *mut T, b: *const T, rsb: isize, csb: isize)

fn write_b_packed_by_rows<'p>(&self, pb: &'p mut [T]) -> PackedWriter<'p, T>

fn mat_mul_prepacked(
    &self,
    pa: *const T,
    pb: *const T,
    c: *mut T,
    rsc: isize,
    csc: isize
)

Loading content...

Implementors

impl<K, T> MatMul<T> for PackedMatMul<K, T> where
    K: PackedMatMulKer<T>,
    T: Copy + Add + Mul + Zero + Debug + Send + Sync + PartialEq
[src]

Loading content...