Trait tract_core::ops::element_wise::ElementWiseMiniOp

source ·
pub trait ElementWiseMiniOp: Debug + DynClone + Send + Sync + 'static + Downcast {
    // Required method
    fn name(&self) -> String;

    // Provided methods
    fn prefix(&self) -> &'static str { ... }
    fn validation(&self) -> Validation { ... }
    fn output_type(&self, input_type: DatumType) -> Option<DatumType> { ... }
    fn eval_in_place(
        &self,
        t: &mut Tensor,
        out_dt: Option<DatumType>
    ) -> TractResult<()> { ... }
    fn eval_out_of_place(
        &self,
        t: &Tensor,
        out_dt: Option<DatumType>
    ) -> TractResult<Tensor> { ... }
    fn cost_per_element(&self, dt: DatumType) -> TVec<(Cost, usize)> { ... }
    fn operating_datum_type(&self, dt: DatumType) -> DatumType { ... }
    fn declutter(
        &self,
        model: &TypedModel,
        node: &TypedNode
    ) -> TractResult<Option<TypedModelPatch>> { ... }
    fn quantize(
        &self,
        dt: DatumType,
        scale: f32,
        zero_point: i32
    ) -> TractResult<Option<Box<dyn ElementWiseMiniOp>>> { ... }
    fn info(&self) -> TractResult<Vec<String>> { ... }
    fn same_as(&self, other: &dyn ElementWiseMiniOp) -> bool { ... }
}

Required Methods§

source

fn name(&self) -> String

Provided Methods§

source

fn prefix(&self) -> &'static str

source

fn validation(&self) -> Validation

source

fn output_type(&self, input_type: DatumType) -> Option<DatumType>

source

fn eval_in_place( &self, t: &mut Tensor, out_dt: Option<DatumType> ) -> TractResult<()>

source

fn eval_out_of_place( &self, t: &Tensor, out_dt: Option<DatumType> ) -> TractResult<Tensor>

source

fn cost_per_element(&self, dt: DatumType) -> TVec<(Cost, usize)>

source

fn operating_datum_type(&self, dt: DatumType) -> DatumType

source

fn declutter( &self, model: &TypedModel, node: &TypedNode ) -> TractResult<Option<TypedModelPatch>>

source

fn quantize( &self, dt: DatumType, scale: f32, zero_point: i32 ) -> TractResult<Option<Box<dyn ElementWiseMiniOp>>>

source

fn info(&self) -> TractResult<Vec<String>>

source

fn same_as(&self, other: &dyn ElementWiseMiniOp) -> bool

Implementations§

source§

impl dyn ElementWiseMiniOp

source

pub fn is<__T: ElementWiseMiniOp>(&self) -> bool

Returns true if the trait object wraps an object of type __T.

source

pub fn downcast<__T: ElementWiseMiniOp>( self: Box<Self> ) -> Result<Box<__T>, Box<Self>>

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn’t.

source

pub fn downcast_rc<__T: ElementWiseMiniOp>( self: Rc<Self> ) -> Result<Rc<__T>, Rc<Self>>

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn’t.

source

pub fn downcast_ref<__T: ElementWiseMiniOp>(&self) -> Option<&__T>

Returns a reference to the object within the trait object if it is of type __T, or None if it isn’t.

source

pub fn downcast_mut<__T: ElementWiseMiniOp>(&mut self) -> Option<&mut __T>

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn’t.

Implementors§

source§

impl ElementWiseMiniOp for BitNot

source§

impl ElementWiseMiniOp for GreaterEqualThanZero

source§

impl ElementWiseMiniOp for GreaterThanZero

source§

impl ElementWiseMiniOp for LessEqualThanZero

source§

impl ElementWiseMiniOp for LessThanZero

source§

impl ElementWiseMiniOp for Not

source§

impl ElementWiseMiniOp for Abs

source§

impl ElementWiseMiniOp for Acos

source§

impl ElementWiseMiniOp for Acosh

source§

impl ElementWiseMiniOp for Asin

source§

impl ElementWiseMiniOp for Asinh

source§

impl ElementWiseMiniOp for Atan

source§

impl ElementWiseMiniOp for Atanh

source§

impl ElementWiseMiniOp for Ceil

source§

impl ElementWiseMiniOp for Cos

source§

impl ElementWiseMiniOp for Cosh

source§

impl ElementWiseMiniOp for Erf

source§

impl ElementWiseMiniOp for Exp

source§

impl ElementWiseMiniOp for Floor

source§

impl ElementWiseMiniOp for Ln

source§

impl ElementWiseMiniOp for Neg

source§

impl ElementWiseMiniOp for QScale

source§

impl ElementWiseMiniOp for Recip

source§

impl ElementWiseMiniOp for Round

source§

impl ElementWiseMiniOp for RoundHalfToEven

source§

impl ElementWiseMiniOp for Rsqrt

source§

impl ElementWiseMiniOp for Sign

source§

impl ElementWiseMiniOp for Sin

source§

impl ElementWiseMiniOp for Sinh

source§

impl ElementWiseMiniOp for Sqrt

source§

impl ElementWiseMiniOp for Square

source§

impl ElementWiseMiniOp for Tan

source§

impl ElementWiseMiniOp for Tanh

source§

impl ElementWiseMiniOp for HardSwish

source§

impl ElementWiseMiniOp for LeakyRelu

source§

impl ElementWiseMiniOp for Sigmoid

source§

impl ElementWiseMiniOp for LookupTable

source§

impl ElementWiseMiniOp for OffsetI8asU8

source§

impl ElementWiseMiniOp for OffsetU8asI8

source§

impl ElementWiseMiniOp for QuantizeLinearI8

source§

impl ElementWiseMiniOp for QuantizeLinearU8