Trait Contract

Source
pub trait Contract<Ul: Unsigned, Uh: Unsigned>: Variance {
    type Output: Variance;
}
Expand description

An operator trait representing tensor contraction

Used in tensor inner product

Required Associated Types§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Ul, Uh, V> Contract<Ul, Uh> for V
where Ul: Unsigned, Uh: Unsigned + Sub<B1> + Cmp<Ul>, Sub1<Uh>: Unsigned, <Uh as Cmp<Ul>>::Output: Same<Greater>, V: Index<Ul> + Index<Uh> + RemoveIndex<Ul>, <V as Index<Ul>>::Output: OtherIndex, <V as Index<Uh>>::Output: Same<<<V as Index<Ul>>::Output as OtherIndex>::Output>, <V as RemoveIndex<Ul>>::Output: RemoveIndex<Sub1<Uh>>, <<V as RemoveIndex<Ul>>::Output as RemoveIndex<Sub1<Uh>>>::Output: Variance,

Source§

type Output = <<V as RemoveIndex<Ul>>::Output as RemoveIndex<<Uh as Sub<B1>>::Output>>::Output