pub trait EvalOp {
    // Required method
    fn is_stateless(&self) -> bool;

    // Provided methods
    fn eval(
        &self,
        inputs: SmallVec<[TValue; 4]>
    ) -> Result<SmallVec<[TValue; 4]>, Error> { ... }
    fn state(
        &self,
        session: &mut SessionState,
        node_id: usize
    ) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error> { ... }
}

Required Methods§

fn is_stateless(&self) -> bool

Provided Methods§

fn eval( &self, inputs: SmallVec<[TValue; 4]> ) -> Result<SmallVec<[TValue; 4]>, Error>

fn state( &self, session: &mut SessionState, node_id: usize ) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

Implementations on Foreign Types§

source§

impl EvalOp for PulsePad

source§

fn is_stateless(&self) -> bool

source§

fn state( &self, _session: &mut SessionState, _node_id: usize ) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

source§

impl EvalOp for DeconvDelay

source§

fn is_stateless(&self) -> bool

source§

fn eval( &self, _inputs: SmallVec<[TValue; 4]> ) -> Result<SmallVec<[TValue; 4]>, Error>

source§

fn state( &self, _session: &mut SessionState, _node_id: usize ) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

source§

impl EvalOp for Delay

source§

fn is_stateless(&self) -> bool

source§

fn state( &self, _session: &mut SessionState, _node_id: usize ) -> Result<Option<Box<dyn OpState + 'static, Global>>, Error>

source§

impl EvalOp for PulsedAxisSlice

source§

fn is_stateless(&self) -> bool

source§

fn eval( &self, inputs: SmallVec<[TValue; 4]> ) -> Result<SmallVec<[TValue; 4]>, Error>

Implementors§