Skip to main content

TensorReadEinsumIntoExt

Trait TensorReadEinsumIntoExt 

Source
pub trait TensorReadEinsumIntoExt {
    // Required methods
    fn einsum_read_into(
        &self,
        subscripts: &str,
        session: &mut dyn BackendSession,
        out: TensorWrite<'_>,
    ) -> Result<()>;
    fn einsum_read_into_notation(
        &self,
        notation: &EinsumNotation,
        session: &mut dyn BackendSession,
        out: TensorWrite<'_>,
    ) -> Result<()>;
    fn einsum_read_into_subscripts(
        &self,
        subscripts: &EinsumSubscripts,
        session: &mut dyn BackendSession,
        out: TensorWrite<'_>,
    ) -> Result<()>;
}
Expand description

Backend-explicit preallocated-output einsum methods for TensorRead inputs.

Required Methods§

Source

fn einsum_read_into( &self, subscripts: &str, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Execute an einsum from string notation over read-only inputs 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.

Source

fn einsum_read_into_notation( &self, notation: &EinsumNotation, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Execute an einsum from rank-unresolved notation over read-only inputs into 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.

Source

fn einsum_read_into_subscripts( &self, subscripts: &EinsumSubscripts, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Execute an einsum from parsed integer-label subscripts over read-only inputs into 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".

Implementations on Foreign Types§

Source§

impl<'a, const N: usize> TensorReadEinsumIntoExt for [TensorRead<'a>; N]

Source§

fn einsum_read_into( &self, subscripts: &str, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Source§

fn einsum_read_into_notation( &self, notation: &EinsumNotation, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Source§

fn einsum_read_into_subscripts( &self, subscripts: &EinsumSubscripts, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Source§

impl<'a> TensorReadEinsumIntoExt for [TensorRead<'a>]

Source§

fn einsum_read_into( &self, subscripts: &str, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Source§

fn einsum_read_into_notation( &self, notation: &EinsumNotation, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Source§

fn einsum_read_into_subscripts( &self, subscripts: &EinsumSubscripts, session: &mut dyn BackendSession, out: TensorWrite<'_>, ) -> Result<()>

Implementors§