#[repr(C)]pub struct ConstTensorContractor {
pub tensor_a: Tensor3x3x3,
pub tensor_b: Tensor3x3x3,
pub result: Tensor3x3x3,
pub contraction_indices: [(usize, usize); 3],
pub config: SolverConfig,
pub solver_state: SolverState,
}Expand description
Constant tensor contraction solver
Fields§
§tensor_a: Tensor3x3x3Input tensor A
tensor_b: Tensor3x3x3Input tensor B
result: Tensor3x3x3Result tensor
contraction_indices: [(usize, usize); 3]Contraction indices
config: SolverConfigSolver configuration
solver_state: SolverStateSolver state
Implementations§
Source§impl ConstTensorContractor
impl ConstTensorContractor
Sourcepub fn new(config: SolverConfig) -> Self
pub fn new(config: SolverConfig) -> Self
Create new tensor contractor
Sourcepub fn contract(
&mut self,
tensor_a: &Tensor3x3x3,
tensor_b: &Tensor3x3x3,
indices: &[(usize, usize); 3],
) -> SolverResult<Tensor3x3x3>
pub fn contract( &mut self, tensor_a: &Tensor3x3x3, tensor_b: &Tensor3x3x3, indices: &[(usize, usize); 3], ) -> SolverResult<Tensor3x3x3>
Contract two tensors
Sourcepub fn get_result(&self) -> Tensor3x3x3
pub fn get_result(&self) -> Tensor3x3x3
Get result tensor
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ConstTensorContractor
impl RefUnwindSafe for ConstTensorContractor
impl Send for ConstTensorContractor
impl Sync for ConstTensorContractor
impl Unpin for ConstTensorContractor
impl UnsafeUnpin for ConstTensorContractor
impl UnwindSafe for ConstTensorContractor
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.