pub trait TensorEinsumIntoExt {
// Required methods
fn einsum_into(
&self,
subscripts: &str,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>;
fn einsum_into_notation(
&self,
notation: &EinsumNotation,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>;
fn einsum_into_subscripts(
&self,
subscripts: &EinsumSubscripts,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>;
}Expand description
Backend-explicit preallocated-output einsum methods for dtype-erased tensors.
Required Methods§
Sourcefn einsum_into(
&self,
subscripts: &str,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>
fn einsum_into( &self, subscripts: &str, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>
Execute an einsum from string notation into caller-provided output.
§Errors
Returns Error::InvalidSubscripts for malformed notation,
Error::Validation with a shape, rank, or dtype payload when inputs or
output do not match, or Error::Tensor for a typed backend failure.
Sourcefn einsum_into_notation(
&self,
notation: &EinsumNotation,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>
fn einsum_into_notation( &self, notation: &EinsumNotation, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>
Execute an einsum from rank-unresolved notation into caller-provided output.
§Examples
use tenferro_einsum::{EinsumAxis, EinsumNotation};
let notation = EinsumNotation::new(&[&[EinsumAxis::Ellipsis]], &[]);
assert_eq!(notation.input_count(), 1);§Errors
Returns a typed validation or backend error when notation, shapes, or output are invalid.
Sourcefn einsum_into_subscripts(
&self,
subscripts: &EinsumSubscripts,
session: &mut dyn BackendSession,
out: TensorWrite<'_>,
) -> Result<()>
fn einsum_into_subscripts( &self, subscripts: &EinsumSubscripts, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>
Execute an einsum from parsed integer-label subscripts into caller-provided output.
§Errors
Returns Error::Validation with a shape, rank, or dtype payload when
inputs or output do not match, or Error::Tensor for a typed backend
failure.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".