pub struct CpuDotGeneralRequest<'request, 'input, 'output> { /* private fields */ }Expand description
Validated borrowed semantic binary dot_general request.
§Examples
use tenferro_cpu::provider::CpuDotGeneralRequest;
let _ = request.accumulation();Implementations§
Source§impl<'request, 'input, 'output> CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> CpuDotGeneralRequest<'request, 'input, 'output>
Sourcepub fn lhs(&self) -> &TensorRead<'input>
pub fn lhs(&self) -> &TensorRead<'input>
Return the borrowed left input.
Sourcepub fn rhs(&self) -> &TensorRead<'input>
pub fn rhs(&self) -> &TensorRead<'input>
Return the borrowed right input.
Sourcepub fn output(&mut self) -> &mut TensorWrite<'output>
pub fn output(&mut self) -> &mut TensorWrite<'output>
Reborrow the writable output.
Sourcepub fn axes(&self) -> &CpuContractionAxes<'request>
pub fn axes(&self) -> &CpuContractionAxes<'request>
Return the validated ordered axis groups.
Sourcepub fn accumulation(&self) -> DotGeneralAccumulation
pub fn accumulation(&self) -> DotGeneralAccumulation
Return conjugation and alpha/beta update semantics.
Sourcepub fn into_parts(
self,
) -> (&'request TensorRead<'input>, &'request TensorRead<'input>, &'request mut TensorWrite<'output>, CpuContractionAxes<'request>, DotGeneralAccumulation)
pub fn into_parts( self, ) -> (&'request TensorRead<'input>, &'request TensorRead<'input>, &'request mut TensorWrite<'output>, CpuContractionAxes<'request>, DotGeneralAccumulation)
Consume the request and return the validated operand borrows.
External general-contraction providers use this when they need simultaneous immutable access to both inputs and mutable access to the output.
§Examples
use tenferro_cpu::provider::CpuDotGeneralRequest;
fn consume_request(request: CpuDotGeneralRequest<'_, '_, '_>) {
let (_lhs, _rhs, _output, _axes, _accumulation) = request.into_parts();
}Trait Implementations§
Auto Trait Implementations§
impl<'request, 'input, 'output> Freeze for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> !RefUnwindSafe for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> Send for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> Sync for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> Unpin for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> UnsafeUnpin for CpuDotGeneralRequest<'request, 'input, 'output>
impl<'request, 'input, 'output> !UnwindSafe for CpuDotGeneralRequest<'request, 'input, 'output>
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> 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