Trait ComputationFn

Source
pub trait ComputationFn: Computation {
    type Filled;

    // Required methods
    fn fill(self, named_args: NamedArgs) -> Self::Filled;
    fn arg_names(&self) -> Names;
}
Expand description

A type representing a function-like computation.

Most computations should implement this, even if they represent a function with zero arguments.

Required Associated Types§

Required Methods§

Source

fn fill(self, named_args: NamedArgs) -> Self::Filled

Fill arguments will values, replacing Args with Vals.

Source

fn arg_names(&self) -> Names

Implementations on Foreign Types§

Source§

impl<T> ComputationFn for Cow<'_, T>

Source§

type Filled = <<T as ToOwned>::Owned as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Source§

impl<T> ComputationFn for &T

Source§

type Filled = <<T as ToOwned>::Owned as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Source§

impl<T> ComputationFn for &mut T

Source§

type Filled = <<T as ToOwned>::Owned as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Source§

impl<T> ComputationFn for Box<T>
where T: ComputationFn + ?Sized,

Source§

type Filled = <T as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Source§

impl<T> ComputationFn for Rc<T>

Source§

type Filled = <<T as ToOwned>::Owned as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Source§

impl<T> ComputationFn for Arc<T>

Source§

type Filled = <<T as ToOwned>::Owned as ComputationFn>::Filled

Source§

fn fill(self, named_args: NamedArgs) -> Self::Filled

Source§

fn arg_names(&self) -> Names

Implementors§

Source§

impl<A> ComputationFn for Max<A>

Source§

impl<A> ComputationFn for Not<A>

Source§

impl<A> ComputationFn for Len<A>

Source§

impl<A> ComputationFn for Abs<A>

Source§

impl<A> ComputationFn for Acos<A>

Source§

impl<A> ComputationFn for Asin<A>

Source§

impl<A> ComputationFn for Atan<A>

Source§

impl<A> ComputationFn for Cos<A>

Source§

impl<A> ComputationFn for Neg<A>

Source§

impl<A> ComputationFn for Sin<A>

Source§

impl<A> ComputationFn for Tan<A>

Source§

impl<A> ComputationFn for Sum<A>

Source§

impl<A> ComputationFn for Fst<A>

Source§

impl<A> ComputationFn for Snd<A>

Source§

impl<A, ArgNames, F> ComputationFn for Then<A, ArgNames, F>
where Self: Computation, A: ComputationFn, Then<A::Filled, ArgNames, F>: Computation,

Source§

type Filled = Then<<A as ComputationFn>::Filled, ArgNames, F>

Source§

impl<A, ArgNames, F, P> ComputationFn for LoopWhile<A, ArgNames, F, P>
where Self: Computation, A: ComputationFn, LoopWhile<A::Filled, ArgNames, F, P>: Computation,

Source§

type Filled = LoopWhile<<A as ComputationFn>::Filled, ArgNames, F, P>

Source§

impl<A, ArgNames, P, FTrue, FFalse> ComputationFn for If<A, ArgNames, P, FTrue, FFalse>
where Self: Computation, A: ComputationFn, If<A::Filled, ArgNames, P, FTrue, FFalse>: Computation,

Source§

type Filled = If<<A as ComputationFn>::Filled, ArgNames, P, FTrue, FFalse>

Source§

impl<A, B> ComputationFn for Eq<A, B>

Source§

impl<A, B> ComputationFn for Ge<A, B>

Source§

impl<A, B> ComputationFn for Gt<A, B>

Source§

impl<A, B> ComputationFn for Le<A, B>

Source§

impl<A, B> ComputationFn for Lt<A, B>

Source§

impl<A, B> ComputationFn for Ne<A, B>

Source§

impl<A, B> ComputationFn for MatMul<A, B>

Source§

impl<A, B> ComputationFn for MulCol<A, B>

Source§

impl<A, B> ComputationFn for MulOut<A, B>

Source§

impl<A, B> ComputationFn for Add<A, B>

Source§

impl<A, B> ComputationFn for Div<A, B>

Source§

impl<A, B> ComputationFn for Mul<A, B>

Source§

impl<A, B> ComputationFn for Pow<A, B>

Source§

impl<A, B> ComputationFn for Sub<A, B>

Source§

impl<A, B> ComputationFn for Zip<A, B>

Source§

impl<A, F> ComputationFn for Enumerate<A, F>

Source§

impl<A, F, FDim, FItem> ComputationFn for BlackBox<A, F, FDim, FItem>
where Self: Computation, A: ComputationFn, BlackBox<A::Filled, F, FDim, FItem>: Computation,

Source§

type Filled = BlackBox<<A as ComputationFn>::Filled, F, FDim, FItem>

Source§

impl<D, T> ComputationFn for Val<D, T>
where Val<D, T>: Computation,

Source§

type Filled = Val<D, T>

Source§

impl<Dist, T> ComputationFn for Rand<Dist, T>
where Self: Computation, Dist: ComputationFn, Rand<Dist::Filled, T>: Computation,

Source§

type Filled = Rand<<Dist as ComputationFn>::Filled, T>

Source§

impl<Dist, T, R> ComputationFn for SeededRand<Dist, T, R>

Source§

impl<Len, Elem> ComputationFn for FromDiagElem<Len, Elem>

Source§

impl<Len, T> ComputationFn for IdentityMatrix<Len, T>

Source§

impl<T0, T1, T2> ComputationFn for Zip3<T0, T1, T2>

Source§

impl<T0, T1, T2, T3> ComputationFn for Zip4<T0, T1, T2, T3>

Source§

impl<T0, T1, T2, T3, T4> ComputationFn for Zip5<T0, T1, T2, T3, T4>

Source§

impl<T0, T1, T2, T3, T4, T5> ComputationFn for Zip6<T0, T1, T2, T3, T4, T5>

Source§

impl<T0, T1, T2, T3, T4, T5, T6> ComputationFn for Zip7<T0, T1, T2, T3, T4, T5, T6>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> ComputationFn for Zip8<T0, T1, T2, T3, T4, T5, T6, T7>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> ComputationFn for Zip9<T0, T1, T2, T3, T4, T5, T6, T7, T8>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> ComputationFn for Zip10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ComputationFn for Zip11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ComputationFn for Zip12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ComputationFn for Zip13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ComputationFn for Zip14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ComputationFn for Zip15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ComputationFn for Zip16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
where Self: Computation, T0: ComputationFn, T1: ComputationFn, T2: ComputationFn, T3: ComputationFn, T4: ComputationFn, T5: ComputationFn, T6: ComputationFn, T7: ComputationFn, T8: ComputationFn, T9: ComputationFn, T10: ComputationFn, T11: ComputationFn, T12: ComputationFn, T13: ComputationFn, T14: ComputationFn, T15: ComputationFn, Zip16<T0::Filled, T1::Filled, T2::Filled, T3::Filled, T4::Filled, T5::Filled, T6::Filled, T7::Filled, T8::Filled, T9::Filled, T10::Filled, T11::Filled, T12::Filled, T13::Filled, T14::Filled, T15::Filled>: Computation,

Source§

impl<T> ComputationFn for Arg<Zero, T>
where Self: Computation, T: 'static + AnyArg,

Source§

impl<T> ComputationFn for Arg<One, T>
where Self: Computation, T: 'static + Clone + AnyArg,

Source§

impl<T> ComputationFn for Arg<Two, T>
where Self: Computation, T: 'static + Clone + AnyArg,