[−][src]Type Definition ndarray::IxDyn
type IxDyn = Dim<IxDynImpl>;
dynamic-dimensional
You can use the IxDyn function to create a dimension for an array with
dynamic number of dimensions. (Vec<usize> and &[usize] also implement
IntoDimension to produce IxDyn).
use ndarray::ArrayD; use ndarray::IxDyn; // Create a 5 × 6 × 3 × 4 array using the dynamic dimension type let mut a = ArrayD::<f64>::zeros(IxDyn(&[5, 6, 3, 4])); // Create a 1 × 3 × 4 array using the dynamic dimension type let mut b = ArrayD::<f64>::zeros(IxDyn(&[1, 3, 4])); // We can use broadcasting to add arrays of compatible shapes together: a += &b; // We can index into a, b using fixed size arrays: a[[0, 0, 0, 0]] = 0.; b[[0, 2, 3]] = a[[0, 0, 2, 3]]; // Note: indexing will panic at runtime if the number of indices given does // not match the array. // We can keep them in the same vector because both the arrays have // the same type `Array<f64, IxDyn>` a.k.a `ArrayD<f64>`: let arrays = vec![a, b];
Methods
impl IxDyn[src]
impl IxDynTrait Implementations
impl Dimension for IxDyn[src]
impl Dimension for IxDynIxDyn is a "dynamic" index, pretty hard to use when indexing, and memory wasteful, but it allows an arbitrary and dynamic number of axes.
const NDIM: Option<usize>[src]
For fixed-size dimension representations (e.g. Ix2), this should be Some(ndim), and for variable-size dimension representations (e.g. IxDyn), this should be None. Read more
type SliceArg = [SliceOrIndex]
SliceArg is the type which is used to specify slicing for this dimension. Read more
type Pattern = Self
Pattern matching friendly form of the dimension value. Read more
type Smaller = Self
Next smaller dimension (if applicable)
type Larger = Self
Next larger dimension
fn ndim(&self) -> usize[src]
fn ndim(&self) -> usizefn slice(&self) -> &[Ix][src]
fn slice(&self) -> &[Ix]fn slice_mut(&mut self) -> &mut [Ix][src]
fn slice_mut(&mut self) -> &mut [Ix]fn into_pattern(self) -> Self::Pattern[src]
fn into_pattern(self) -> Self::PatternConvert the dimension into a pattern matching friendly value.
fn zero_index(&self) -> Self[src]
fn zero_index(&self) -> Selffn zero_index_with_ndim(ndim: usize) -> Self[src]
fn zero_index_with_ndim(ndim: usize) -> Selffn insert_axis(&self, axis: Axis) -> Self::Larger[src]
fn insert_axis(&self, axis: Axis) -> Self::Largerfn try_remove_axis(&self, axis: Axis) -> Self::Smaller[src]
fn try_remove_axis(&self, axis: Axis) -> Self::Smallerfn from_dimension<D2: Dimension>(d: &D2) -> Option<Self>[src]
fn from_dimension<D2: Dimension>(d: &D2) -> Option<Self>fn size(&self) -> usize[src]
fn size(&self) -> usizeCompute the size of the dimension (number of elements)
fn size_checked(&self) -> Option<usize>[src]
fn size_checked(&self) -> Option<usize>Compute the size while checking for overflow.
fn as_array_view(&self) -> ArrayView1<Ix>[src]
fn as_array_view(&self) -> ArrayView1<Ix>Borrow as a read-only array view.
fn as_array_view_mut(&mut self) -> ArrayViewMut1<Ix>[src]
fn as_array_view_mut(&mut self) -> ArrayViewMut1<Ix>Borrow as a read-write array view.
fn into_dyn(self) -> IxDyn[src]
fn into_dyn(self) -> IxDynConvert the dimensional into a dynamic dimensional (IxDyn).
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarkerThis trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl NdIndex<IxDyn> for Ix[src]
impl NdIndex<IxDyn> for Ixfn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 0]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 0]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 0][src]
impl NdIndex<IxDyn> for [Ix; 0]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 1]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 1]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 1][src]
impl NdIndex<IxDyn> for [Ix; 1]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 2]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 2]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 2][src]
impl NdIndex<IxDyn> for [Ix; 2]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 3]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 3]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 3][src]
impl NdIndex<IxDyn> for [Ix; 3]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 4]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 4]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 4][src]
impl NdIndex<IxDyn> for [Ix; 4]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 5]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 5]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 5][src]
impl NdIndex<IxDyn> for [Ix; 5]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for Dim<[Ix; 6]>[src]
impl NdIndex<IxDyn> for Dim<[Ix; 6]>fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl NdIndex<IxDyn> for [Ix; 6][src]
impl NdIndex<IxDyn> for [Ix; 6]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl<'a> NdIndex<IxDyn> for &'a IxDyn[src]
impl<'a> NdIndex<IxDyn> for &'a IxDynfn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isizeimpl<'a> NdIndex<IxDyn> for &'a [Ix][src]
impl<'a> NdIndex<IxDyn> for &'a [Ix]fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>[src]
fn index_checked(&self, dim: &IxDyn, strides: &IxDyn) -> Option<isize>fn index_unchecked(&self, strides: &IxDyn) -> isize[src]
fn index_unchecked(&self, strides: &IxDyn) -> isize