pub enum SemiringFastPathDescriptor {
Contract {
modes_a: Vec<u32>,
modes_b: Vec<u32>,
modes_c: Vec<u32>,
},
ElementwiseBinary {
op: SemiringBinaryOp,
},
}Expand description
Descriptor for optional semiring fast paths.
§Examples
use tenferro_prims::{SemiringBinaryOp, SemiringFastPathDescriptor};
let desc = SemiringFastPathDescriptor::ElementwiseBinary {
op: SemiringBinaryOp::Mul,
};
assert!(matches!(desc, SemiringFastPathDescriptor::ElementwiseBinary { .. }));Variants§
Contract
Optional contraction fast path.
Fields
ElementwiseBinary
Optional elementwise semiring binary fast path.
Fields
§
op: SemiringBinaryOpThe semiring binary operation.
Trait Implementations§
Source§impl Clone for SemiringFastPathDescriptor
impl Clone for SemiringFastPathDescriptor
Source§fn clone(&self) -> SemiringFastPathDescriptor
fn clone(&self) -> SemiringFastPathDescriptor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SemiringFastPathDescriptor
impl Debug for SemiringFastPathDescriptor
Source§impl Hash for SemiringFastPathDescriptor
impl Hash for SemiringFastPathDescriptor
impl Eq for SemiringFastPathDescriptor
impl StructuralPartialEq for SemiringFastPathDescriptor
Auto Trait Implementations§
impl Freeze for SemiringFastPathDescriptor
impl RefUnwindSafe for SemiringFastPathDescriptor
impl Send for SemiringFastPathDescriptor
impl Sync for SemiringFastPathDescriptor
impl Unpin for SemiringFastPathDescriptor
impl UnwindSafe for SemiringFastPathDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more