[][src]Trait tract_linalg::frame::mmm::MatMatMul

pub trait MatMatMul<T>: Send + Sync + Debug + Display + Clone where
    T: Copy + Add + Mul + Zero + Debug + Display + PartialEq + Send + Sync
{ fn a_pack(&self) -> PackA<T>;
fn b_pack(&self) -> PackB<T>;
fn a_storage(&self) -> &MatrixStoreSpec;
fn b_storage(&self) -> &MatrixStoreSpec;
fn c_storage(&self) -> &MatrixStoreSpec;
fn m(&self) -> usize;
fn k(&self) -> usize;
fn n(&self) -> usize;
unsafe fn b_from_data_and_offsets(
        &mut self,
        rows_offsets: &[isize],
        cols_offsets: &[isize]
    );
unsafe fn b_vec_from_data_and_stride(&mut self, stride: isize);
unsafe fn b_vec_from_data(&mut self);
unsafe fn c_from_data_and_strides(
        &mut self,
        row_stride: isize,
        col_stride: isize
    );
unsafe fn c_vec_from_data_and_stride(&mut self, stride: isize);
unsafe fn c_vec_from_data(&mut self);
unsafe fn run(
        &self,
        a: *const T,
        b: *const T,
        c: *mut T,
        non_linear: &[FusedSpec<T>]
    ); }

Required methods

fn a_pack(&self) -> PackA<T>

fn b_pack(&self) -> PackB<T>

fn a_storage(&self) -> &MatrixStoreSpec

fn b_storage(&self) -> &MatrixStoreSpec

fn c_storage(&self) -> &MatrixStoreSpec

fn m(&self) -> usize

fn k(&self) -> usize

fn n(&self) -> usize

unsafe fn b_from_data_and_offsets(
    &mut self,
    rows_offsets: &[isize],
    cols_offsets: &[isize]
)

unsafe fn b_vec_from_data_and_stride(&mut self, stride: isize)

unsafe fn b_vec_from_data(&mut self)

unsafe fn c_from_data_and_strides(
    &mut self,
    row_stride: isize,
    col_stride: isize
)

unsafe fn c_vec_from_data_and_stride(&mut self, stride: isize)

unsafe fn c_vec_from_data(&mut self)

unsafe fn run(
    &self,
    a: *const T,
    b: *const T,
    c: *mut T,
    non_linear: &[FusedSpec<T>]
)

Loading content...

Implementors

impl<K, T> MatMatMul<T> for MatMatMulImpl<K, T> where
    T: Copy + Add + Mul + Zero + Debug + PartialEq + Send + Sync + Default + Display,
    K: MatMatMulKer<T>, 
[src]

Loading content...