Struct AxesMapping

Source
pub struct AxesMapping { /* private fields */ }

Implementations§

Source§

impl AxesMapping

Source

pub fn new( input_count: usize, output_count: usize, it: impl AsRef<[Axis]>, ) -> TractResult<AxesMapping>

Source

pub fn for_numpy_matmul( rank: usize, transposing_a: bool, transposing_b: bool, transposing_c: bool, ) -> TractResult<AxesMapping>

Source

pub fn disconnected( inputs: &[&TypedFact], outputs: &[&TypedFact], ) -> TractResult<AxesMapping>

Source

pub fn disconnected_for_ranks( inputs: &[usize], outputs: &[usize], ) -> TractResult<AxesMapping>

Source

pub fn natural( inputs: &[&TypedFact], outputs: &[&TypedFact], ) -> TractResult<AxesMapping>

Source

pub fn natural_for_rank( inputs: usize, outputs: usize, rank: usize, ) -> TractResult<AxesMapping>

Source

pub fn iter_all_axes(&self) -> impl Iterator<Item = &Axis>

Source

pub fn iter_all_axes_mut(&mut self) -> impl Iterator<Item = &mut Axis>

Source

pub fn input_count(&self) -> usize

Source

pub fn output_count(&self) -> usize

Source

pub fn axis_positions( &self, io: InOut, p: impl AxisPattern, ) -> TractResult<&[usize]>

Source

pub fn rank(&self, io: InOut) -> usize

Source

pub fn axis(&self, p: impl AxisPattern) -> TractResult<&Axis>

Source

pub fn axes(&self, io: InOut) -> impl Iterator<Item = &Axis>

Source

pub fn track_axis( &self, from: impl AxisPattern, to: InOut, ) -> TractResult<Option<usize>>

Source

pub fn renaming( self, axis: impl AxisPattern, name: char, ) -> TractResult<AxesMapping>

Source

pub fn linking( self, target: impl AxisPattern, axis: impl AxisPattern, ) -> TractResult<AxesMapping>

Source

pub fn check(self) -> TractResult<AxesMapping>

Source

pub fn available_label(&self) -> char

Source

pub fn available_labels(&self) -> impl Iterator<Item = char> + '_

Source

pub fn is_element_wise_unary(&self) -> bool

Source

pub fn extract_sub_mapping( &self, inputs: &[usize], outputs: &[usize], ) -> TractResult<AxesMapping>

Source

pub fn relabel(self) -> TractResult<AxesMapping>

Source

pub fn remove_axis(&self, repr: char) -> TractResult<AxesMapping>

Source

pub fn remove_axis_occurency( &self, slot: InOut, position: usize, ) -> TractResult<AxesMapping>

Source

pub fn remove_slot(&self, slot: InOut) -> TractResult<AxesMapping>

Source

pub fn with_extra_input(self, slot: usize) -> TractResult<AxesMapping>

Source

pub fn with_extra_axis( self, repr: char, io: InOut, position: usize, ) -> TractResult<AxesMapping>

Source

pub fn with_extra_axis_occurency( self, axis: impl AxisPattern, io: InOut, position: usize, ) -> TractResult<AxesMapping>

Source

pub fn translate_to_axis_ops(&self) -> TractResult<Vec<AxisOp>>

Source

pub fn from_strs( inputs: &[impl AsRef<str>], outputs: &[impl AsRef<str>], ) -> TractResult<AxesMapping>

Source

pub fn to_strs(&self) -> (TVec<String>, TVec<String>)

Source

pub fn change_axis_sink( &self, io: InOut, change: &AxisOp, ) -> TractResult<Option<AxesMapping>>

Source

pub fn direct(&self, a: InOut, b: InOut) -> bool

Source

pub fn same_layout<D: DimLike>( &self, a: InOut, b: InOut, shape_a: impl AsRef<[D]>, shape_b: impl AsRef<[D]>, ) -> bool

Source

pub fn axis_ops_to_canonical(&self, io: InOut) -> TractResult<Vec<AxisOp>>

Source

pub fn view_to_canonical<D>( &self, io: InOut, view: &mut ArrayViewD<'_, D>, ) -> TractResult<()>

Source

pub fn view_to_canonical_mut<D>( &self, io: InOut, view: &mut ArrayViewMutD<'_, D>, ) -> TractResult<()>

Source

pub fn compose(&self, other: &AxesMapping) -> TractResult<AxesMapping>

Trait Implementations§

Source§

impl Clone for AxesMapping

Source§

fn clone(&self) -> AxesMapping

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AxesMapping

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for AxesMapping

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromStr for AxesMapping

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for AxesMapping

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for AxesMapping

Source§

fn eq(&self, other: &AxesMapping) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for AxesMapping

Source§

impl StructuralPartialEq for AxesMapping

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> DynHash for T
where T: Hash + ?Sized,

Source§

fn dyn_hash(&self, state: &mut dyn Hasher)

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> CloneAny for T
where T: Any + Clone,