[][src]Struct tract_onnx::prelude::tract_ndarray::Dim

pub struct Dim<I> where
    I: ?Sized
{ /* fields omitted */ }

Dimension description.

Dim describes the number of axes and the length of each axis in an array. It is also used as an index type.

See also the Dimension trait for its methods and operations.

Examples

To create an array with a particular dimension, you'd just pass a tuple (in this example (3, 2) is used), which is converted to Dim by the array constructor.

use ndarray::Array2;
use ndarray::Dim;

let mut array = Array2::zeros((3, 2));
array[[0, 0]] = 1.;
assert_eq!(array.raw_dim(), Dim([3, 2]));

Implementations

impl Dim<IxDynImpl>[src]

pub fn zeros(n: usize) -> Dim<IxDynImpl>[src]

Create a new dimension value with n axes, all zeros

Trait Implementations

impl<I> Add<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

type Output = Dim<I>

The resulting type after applying the + operator.

impl Add<usize> for Dim<[usize; 1]>[src]

type Output = Dim<[usize; 1]>

The resulting type after applying the + operator.

impl<'a, I> AddAssign<&'a Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl<I> AddAssign<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl AddAssign<usize> for Dim<[usize; 1]>[src]

impl<I> Clone for Dim<I> where
    I: Clone + ?Sized
[src]

impl<I> Copy for Dim<I> where
    I: Copy + ?Sized
[src]

impl<I> Debug for Dim<I> where
    I: Debug
[src]

impl<I> Default for Dim<I> where
    I: Default + ?Sized
[src]

impl Dimension for Dim<[usize; 2]>[src]

type SliceArg = [SliceOrIndex; 2]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = (usize, usize)

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 1]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 3]>

Next larger dimension

fn stride_offset(index: &Dim<[usize; 2]>, strides: &Dim<[usize; 2]>) -> isize[src]

fn stride_offset_checked(
    &self,
    strides: &Dim<[usize; 2]>,
    index: &Dim<[usize; 2]>
) -> Option<isize>
[src]

impl Dimension for Dim<[usize; 1]>[src]

type SliceArg = [SliceOrIndex; 1]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = usize

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 0]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 2]>

Next larger dimension

fn stride_offset(index: &Dim<[usize; 1]>, stride: &Dim<[usize; 1]>) -> isize[src]

fn stride_offset_checked(
    &self,
    stride: &Dim<[usize; 1]>,
    index: &Dim<[usize; 1]>
) -> Option<isize>
[src]

impl Dimension for Dim<[usize; 3]>[src]

type SliceArg = [SliceOrIndex; 3]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = (usize, usize, usize)

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 2]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 4]>

Next larger dimension

fn stride_offset(index: &Dim<[usize; 3]>, strides: &Dim<[usize; 3]>) -> isize[src]

fn stride_offset_checked(
    &self,
    strides: &Dim<[usize; 3]>,
    index: &Dim<[usize; 3]>
) -> Option<isize>
[src]

impl Dimension for Dim<[usize; 0]>[src]

type SliceArg = [SliceOrIndex; 0]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = ()

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 0]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 1]>

Next larger dimension

impl Dimension for Dim<[usize; 6]>[src]

type SliceArg = [SliceOrIndex; 6]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = (usize, usize, usize, usize, usize, usize)

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 5]>

Next smaller dimension (if applicable)

type Larger = Dim<IxDynImpl>

Next larger dimension

impl Dimension for Dim<[usize; 5]>[src]

type SliceArg = [SliceOrIndex; 5]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = (usize, usize, usize, usize, usize)

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 4]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 6]>

Next larger dimension

impl Dimension for Dim<IxDynImpl>[src]

IxDyn is a "dynamic" index, pretty hard to use when indexing, and memory wasteful, but it allows an arbitrary and dynamic number of axes.

type SliceArg = [SliceOrIndex]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = Dim<IxDynImpl>

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<IxDynImpl>

Next smaller dimension (if applicable)

type Larger = Dim<IxDynImpl>

Next larger dimension

impl Dimension for Dim<[usize; 4]>[src]

type SliceArg = [SliceOrIndex; 4]

SliceArg is the type which is used to specify slicing for this dimension. Read more

type Pattern = (usize, usize, usize, usize)

Pattern matching friendly form of the dimension value. Read more

type Smaller = Dim<[usize; 3]>

Next smaller dimension (if applicable)

type Larger = Dim<[usize; 5]>

Next larger dimension

impl<I> Eq for Dim<I> where
    I: Eq + ?Sized
[src]

impl<I> Hash for Dim<I> where
    I: Hash + ?Sized
[src]

impl Index<usize> for Dim<[usize; 1]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<[usize; 4]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<[usize; 0]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<[usize; 6]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<[usize; 3]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<[usize; 5]>[src]

type Output = usize

The returned type after indexing.

impl Index<usize> for Dim<IxDynImpl>[src]

type Output = <IxDynImpl as Index<usize>>::Output

The returned type after indexing.

impl Index<usize> for Dim<[usize; 2]>[src]

type Output = usize

The returned type after indexing.

impl IndexMut<usize> for Dim<[usize; 6]>[src]

impl IndexMut<usize> for Dim<[usize; 1]>[src]

impl IndexMut<usize> for Dim<[usize; 4]>[src]

impl IndexMut<usize> for Dim<[usize; 3]>[src]

impl IndexMut<usize> for Dim<[usize; 0]>[src]

impl IndexMut<usize> for Dim<IxDynImpl>[src]

impl IndexMut<usize> for Dim<[usize; 5]>[src]

impl IndexMut<usize> for Dim<[usize; 2]>[src]

impl<I> Mul<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

type Output = Dim<I>

The resulting type after applying the * operator.

impl<I> Mul<usize> for Dim<I> where
    Dim<I>: Dimension
[src]

type Output = Dim<I>

The resulting type after applying the * operator.

impl<'a, I> MulAssign<&'a Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl<I> MulAssign<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl<I> MulAssign<usize> for Dim<I> where
    Dim<I>: Dimension
[src]

impl NdIndex<Dim<[usize; 0]>> for [usize; 0][src]

impl NdIndex<Dim<[usize; 0]>> for ()[src]

impl NdIndex<Dim<[usize; 1]>> for usize[src]

impl NdIndex<Dim<[usize; 1]>> for [usize; 1][src]

impl NdIndex<Dim<[usize; 2]>> for [usize; 2][src]

impl NdIndex<Dim<[usize; 2]>> for (usize, usize)[src]

impl NdIndex<Dim<[usize; 3]>> for [usize; 3][src]

impl NdIndex<Dim<[usize; 3]>> for (usize, usize, usize)[src]

impl NdIndex<Dim<[usize; 4]>> for [usize; 4][src]

impl NdIndex<Dim<[usize; 4]>> for (usize, usize, usize, usize)[src]

impl NdIndex<Dim<[usize; 5]>> for [usize; 5][src]

impl NdIndex<Dim<[usize; 5]>> for (usize, usize, usize, usize, usize)[src]

impl NdIndex<Dim<[usize; 6]>> for [usize; 6][src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 1][src]

impl<'a> NdIndex<Dim<IxDynImpl>> for &'a Dim<IxDynImpl>[src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 2][src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 6][src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 2]>[src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 3]>[src]

impl NdIndex<Dim<IxDynImpl>> for usize[src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 1]>[src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 5][src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 4]>[src]

impl<'a> NdIndex<Dim<IxDynImpl>> for &'a [usize][src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 0]>[src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 6]>[src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 0][src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 3][src]

impl NdIndex<Dim<IxDynImpl>> for Dim<[usize; 5]>[src]

impl NdIndex<Dim<IxDynImpl>> for [usize; 4][src]

impl<I> PartialEq<Dim<I>> for Dim<I> where
    I: PartialEq<I> + ?Sized
[src]

impl<I> PartialEq<I> for Dim<I> where
    I: PartialEq<I> + ?Sized
[src]

impl RemoveAxis for Dim<[usize; 1]>[src]

impl RemoveAxis for Dim<IxDynImpl>[src]

impl RemoveAxis for Dim<[usize; 4]>[src]

impl RemoveAxis for Dim<[usize; 6]>[src]

impl RemoveAxis for Dim<[usize; 3]>[src]

impl RemoveAxis for Dim<[usize; 5]>[src]

impl RemoveAxis for Dim<[usize; 2]>[src]

impl<I> Sub<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

type Output = Dim<I>

The resulting type after applying the - operator.

impl Sub<usize> for Dim<[usize; 1]>[src]

type Output = Dim<[usize; 1]>

The resulting type after applying the - operator.

impl<'a, I> SubAssign<&'a Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl<I> SubAssign<Dim<I>> for Dim<I> where
    Dim<I>: Dimension
[src]

impl SubAssign<usize> for Dim<[usize; 1]>[src]

impl Zero for Dim<[usize; 3]>[src]

impl Zero for Dim<[usize; 5]>[src]

impl Zero for Dim<[usize; 4]>[src]

impl Zero for Dim<[usize; 1]>[src]

impl Zero for Dim<[usize; 2]>[src]

impl Zero for Dim<[usize; 0]>[src]

impl Zero for Dim<[usize; 6]>[src]

Auto Trait Implementations

impl<I: ?Sized> RefUnwindSafe for Dim<I> where
    I: RefUnwindSafe

impl<I: ?Sized> Send for Dim<I> where
    I: Send

impl<I: ?Sized> Sync for Dim<I> where
    I: Sync

impl<I: ?Sized> Unpin for Dim<I> where
    I: Unpin

impl<I: ?Sized> UnwindSafe for Dim<I> where
    I: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any

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

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<D> IntoDimension for D where
    D: Dimension
[src]

type Dim = D

impl<D> NdIndex<D> for D where
    D: Dimension
[src]

impl<T> ShapeBuilder for T where
    T: IntoDimension
[src]

type Dim = <T as IntoDimension>::Dim

type Strides = T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.