[][src]Trait tract_hir::internal::ElementWiseMiniOp

pub trait ElementWiseMiniOp: 'static + Send + Sync + Debug + Downcast + DynHash + DynClone {
    fn name(&self) -> String;

    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) -> Result<(), TractError> { ... }
fn eval_out_of_place(&self, t: &Tensor) -> Result<Tensor, TractError> { ... }
fn cost_per_element(&self, dt: DatumType) -> SmallVec<[(Cost, usize); 4]> { ... }
fn declutter(
        &self,
        model: &Graph<TypedFact, Box<dyn TypedOp + 'static>>,
        node: &BaseNode<TypedFact, Box<dyn TypedOp + 'static>>
    ) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static>>>, TractError> { ... }
fn quantize(
        &self,
        dt: DatumType,
        scale: f32,
        zero_point: i32
    ) -> Result<Option<Box<dyn ElementWiseMiniOp + 'static>>, TractError> { ... }
fn info(&self) -> Result<Vec<String>, TractError> { ... } }

Required methods

fn name(&self) -> String

Loading content...

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) -> Result<(), TractError>

fn eval_out_of_place(&self, t: &Tensor) -> Result<Tensor, TractError>

fn cost_per_element(&self, dt: DatumType) -> SmallVec<[(Cost, usize); 4]>

fn declutter(
    &self,
    model: &Graph<TypedFact, Box<dyn TypedOp + 'static>>,
    node: &BaseNode<TypedFact, Box<dyn TypedOp + 'static>>
) -> Result<Option<ModelPatch<TypedFact, Box<dyn TypedOp + 'static>>>, TractError>

fn quantize(
    &self,
    dt: DatumType,
    scale: f32,
    zero_point: i32
) -> Result<Option<Box<dyn ElementWiseMiniOp + 'static>>, TractError>

fn info(&self) -> Result<Vec<String>, TractError>

Loading content...

Implementations

impl dyn ElementWiseMiniOp + 'static

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

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

pub fn downcast<__T>(
    self: Box<dyn ElementWiseMiniOp + 'static>
) -> Result<Box<__T>, Box<dyn ElementWiseMiniOp + 'static>> where
    __T: ElementWiseMiniOp

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.

pub fn downcast_rc<__T>(
    self: Rc<dyn ElementWiseMiniOp + 'static>
) -> Result<Rc<__T>, Rc<dyn ElementWiseMiniOp + 'static>> where
    __T: ElementWiseMiniOp

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.

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

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

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

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

Implementations on Foreign Types

impl ElementWiseMiniOp for Cast[src]

impl ElementWiseMiniOp for Sigmoid[src]

Loading content...

Implementors

impl ElementWiseMiniOp for Not[src]

impl ElementWiseMiniOp for Abs[src]

impl ElementWiseMiniOp for Acos[src]

impl ElementWiseMiniOp for Acosh[src]

impl ElementWiseMiniOp for Asin[src]

impl ElementWiseMiniOp for Asinh[src]

impl ElementWiseMiniOp for Atan[src]

impl ElementWiseMiniOp for Atanh[src]

impl ElementWiseMiniOp for Ceil[src]

impl ElementWiseMiniOp for Cos[src]

impl ElementWiseMiniOp for Cosh[src]

impl ElementWiseMiniOp for Exp[src]

impl ElementWiseMiniOp for Floor[src]

impl ElementWiseMiniOp for Ln[src]

impl ElementWiseMiniOp for Neg[src]

impl ElementWiseMiniOp for Recip[src]

impl ElementWiseMiniOp for Round[src]

impl ElementWiseMiniOp for RoundHalfToEven[src]

impl ElementWiseMiniOp for Rsqrt[src]

impl ElementWiseMiniOp for Sign[src]

impl ElementWiseMiniOp for Sin[src]

impl ElementWiseMiniOp for Sinh[src]

impl ElementWiseMiniOp for Sqrt[src]

impl ElementWiseMiniOp for Square[src]

impl ElementWiseMiniOp for Tan[src]

impl ElementWiseMiniOp for Tanh[src]

impl ElementWiseMiniOp for LookupTable[src]

impl ElementWiseMiniOp for QuantizeLinearI8[src]

impl ElementWiseMiniOp for QuantizeLinearU8[src]

Loading content...