SingletonContraction

Struct SingletonContraction 

Source
pub struct SingletonContraction<A> {
    method: SingletonMethod,
    op: Box<dyn SingletonContractor<A>>,
}
Expand description

Holds a Boxed SingletonContractor trait object.

Constructed at runtime based on the number of diagonalized, summed, and permuted axes in the input. Reimplements the SingletonContractor trait by delegating to the inner object.

For example, the contraction iij->i will be performed by assigning a Boxed DiagonalizationAndSummation to op. The contraction ijk->kij will be performed by assigning a Boxed Permutation to op.

Fields§

§method: SingletonMethod§op: Box<dyn SingletonContractor<A>>

Implementations§

Trait Implementations§

Source§

impl<A> Debug for SingletonContraction<A>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<A> SingletonContractor<A> for SingletonContraction<A>

Source§

fn contract_singleton<'a, 'b>(&self, tensor: &'b ArrayViewD<'a, A>) -> ArrayD<A>
where A: Clone + LinalgScalar, 'a: 'b,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.