Trait tract_pulse::internal::tract_core::ops::element_wise::ElementWiseMiniOp[]

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

Required methods

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

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

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

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

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

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

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, Global>
) -> Result<Box<__T, Global>, Box<dyn ElementWiseMiniOp + 'static, Global>> 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.

Implementors

impl ElementWiseMiniOp for Cast

pub fn name(&self) -> String

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

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

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

impl ElementWiseMiniOp for Not

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Abs

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Acos

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Acosh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Asin

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Asinh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Atan

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Atanh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Ceil

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Cos

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Cosh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Exp

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Floor

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Ln

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Neg

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Recip

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

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

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

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Round

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for RoundHalfToEven

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Rsqrt

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Sign

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Sin

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Sinh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Sqrt

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Square

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

pub fn validation(&self) -> Validation

impl ElementWiseMiniOp for Tan

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

impl ElementWiseMiniOp for Tanh

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

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

impl ElementWiseMiniOp for Sigmoid

pub fn name(&self) -> String

pub fn eval_in_place(&self, t: &mut Tensor) -> Result<(), Error>

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

impl ElementWiseMiniOp for LookupTable

pub fn name(&self) -> String

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

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

impl ElementWiseMiniOp for QuantizeLinearI8

pub fn name(&self) -> String

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

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

pub fn info(&self) -> Result<Vec<String, Global>, Error>

impl ElementWiseMiniOp for QuantizeLinearU8

pub fn name(&self) -> String

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

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

pub fn info(&self) -> Result<Vec<String, Global>, Error>