pub struct Ops {Show 16 fields
pub leaky_relu_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16, f16>> + Send + Sync>,
pub leaky_relu_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32, f32>> + Send + Sync>,
pub mul_by_scalar_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32, f32>> + Send + Sync>,
pub mul_by_scalar_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16, f16>> + Send + Sync>,
pub sigmoid_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16>> + Send + Sync>,
pub sigmoid_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>,
pub tanh_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16>> + Send + Sync>,
pub tanh_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>,
pub erf_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>,
pub lut_u8: Box<dyn Fn(&[u8]) -> Box<dyn Lut> + Send + Sync>,
pub max_f16: Box<dyn Fn() -> Box<dyn Reduce<f16>> + Send + Sync>,
pub max_f32: Box<dyn Fn() -> Box<dyn Reduce<f32>> + Send + Sync>,
pub sum_f16: Box<dyn Fn() -> Box<dyn Reduce<f16>> + Send + Sync>,
pub sum_f32: Box<dyn Fn() -> Box<dyn Reduce<f32>> + Send + Sync>,
pub softmax2_fastcompact_f16: Box<dyn Fn() -> Box<dyn MapReduce<f16, f16>> + Send + Sync>,
pub softmax2_fastcompact_f32: Box<dyn Fn() -> Box<dyn MapReduce<f32, f32>> + Send + Sync>,
/* private fields */
}Fields§
§leaky_relu_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16, f16>> + Send + Sync>§leaky_relu_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32, f32>> + Send + Sync>§mul_by_scalar_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32, f32>> + Send + Sync>§mul_by_scalar_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16, f16>> + Send + Sync>§sigmoid_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16>> + Send + Sync>§sigmoid_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>§tanh_f16: Box<dyn Fn() -> Box<dyn ElementWise<f16>> + Send + Sync>§tanh_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>§erf_f32: Box<dyn Fn() -> Box<dyn ElementWise<f32>> + Send + Sync>§lut_u8: Box<dyn Fn(&[u8]) -> Box<dyn Lut> + Send + Sync>§max_f16: Box<dyn Fn() -> Box<dyn Reduce<f16>> + Send + Sync>§max_f32: Box<dyn Fn() -> Box<dyn Reduce<f32>> + Send + Sync>§sum_f16: Box<dyn Fn() -> Box<dyn Reduce<f16>> + Send + Sync>§sum_f32: Box<dyn Fn() -> Box<dyn Reduce<f32>> + Send + Sync>§softmax2_fastcompact_f16: Box<dyn Fn() -> Box<dyn MapReduce<f16, f16>> + Send + Sync>§softmax2_fastcompact_f32: Box<dyn Fn() -> Box<dyn MapReduce<f32, f32>> + Send + Sync>Implementations§
Source§impl Ops
impl Ops
pub fn mmm_impls(&self) -> &[Box<dyn MatMatMul>]
pub fn all_possible_packing( &self, weight_type: impl Into<WeightType>, ) -> impl Iterator<Item = &(dyn MMMInputFormat + 'static)>
pub fn filter_impls<'o>( &'o self, weight: &'o (dyn MMMInputFormat + 'static), acc: &[DatumType], act: DatumType, store: DatumType, ) -> impl Iterator<Item = (&'o (dyn MatMatMul + 'static), usize, &'o (dyn MMMInputFormat + 'static), Option<&'o PanelExtractor>, &'o (dyn MMMInputFormat + 'static))>
pub fn panel_extractors(&self) -> &[PanelExtractor]
pub fn mmm( &self, accumulator: DatumType, m: Option<usize>, k: Option<usize>, n: Option<usize>, ) -> Option<Box<dyn MatMatMul>>
Auto Trait Implementations§
impl Freeze for Ops
impl !RefUnwindSafe for Ops
impl Send for Ops
impl Sync for Ops
impl Unpin for Ops
impl !UnwindSafe for Ops
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more