Trait tract_linalg::frame::reduce::MapReduceKer

source ·
pub trait MapReduceKer<T, Params = ()>: Send + Sync + Debug + DynClone + Clone + 'static
where Params: Copy + Send + Sync + Debug + 'static + Default, T: LADatum,
{ // Required methods fn name() -> &'static str; fn alignment_items() -> usize; fn nr() -> usize; fn map_neutral() -> T; fn reduce_neutral() -> T; fn reduce_two(a: T, b: T) -> T; fn run(vec: &mut [T], params: Params) -> T; // Provided methods fn alignment_bytes() -> usize { ... } fn red() -> Box<dyn MapReduce<T, Params>> { ... } }

Required Methods§

source

fn name() -> &'static str

source

fn alignment_items() -> usize

source

fn nr() -> usize

source

fn map_neutral() -> T

source

fn reduce_neutral() -> T

source

fn reduce_two(a: T, b: T) -> T

source

fn run(vec: &mut [T], params: Params) -> T

Provided Methods§

source

fn alignment_bytes() -> usize

source

fn red() -> Box<dyn MapReduce<T, Params>>

Object Safety§

This trait is not object safe.

Implementors§