Type Definition ndarray::IxDyn[][src]

pub type IxDyn = Dim<IxDynImpl>;
Expand description

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];

Implementations

Create a new dimension value with n axes, all zeros

Trait Implementations

Requires crate feature "serde"

Deserialize this value from the given Serde deserializer. Read more

The sum of the two dimensions.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

The resulting dimension type after broadcasting.

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

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

Pattern matching friendly form of the dimension value. Read more

Next smaller dimension (if applicable)

Next larger dimension

Returns the number of dimensions (number of axes).

Convert the dimension into a pattern matching friendly value.

Creates a dimension of all zeros with the specified ndim. Read more

Convert the dimensional into a dynamic dimensional (IxDyn).

Compute the size of the dimension (number of elements)

Compute the size while checking for overflow.

Borrow as a read-only array view.

Borrow as a read-write array view.

This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more

Requires crate feature "serde"

Serialize this value into the given Serde serializer. Read more