Crate ndarray [] [src]

The ndarray crate provides an N-dimensional container similar to numpy’s ndarray.

  • ArrayBase: The N-dimensional array type itself.
  • Array: An array where the data is shared and copy on write, it can act as both an owner of the data as well as a lightweight view.
  • OwnedArray: An array where the data is owned uniquely.
  • ArrayView, ArrayViewMut: Lightweight array views.

Highlights

  • Generic N-dimensional array
  • Slicing, also with arbitrary step size, and negative indices to mean elements from the end of the axis.
  • There is both a copy on write array (Array), or a regular uniquely owned array (OwnedArray), and both can use read-only and read-write array views.
  • Iteration and most operations are efficient on arrays with contiguous innermost dimension.
  • Array views can be used to slice and mutate any [T] data.

Crate Status

  • Still iterating on the API
  • Performance status:
    • Arithmetic involving arrays of contiguous inner dimension optimizes very well.
    • .fold() and .zip_mut_with() are the most efficient ways to perform single traversal and lock step traversal respectively.
    • .iter() and .iter_mut() are efficient for contiguous arrays.
  • There is experimental bridging to the linear algebra package rblas.

Crate Feature Flags

  • assign_ops
    • Optional, requires nightly
    • Enables the compound assignment operators
  • rustc-serialize
    • Optional, stable
    • Enables serialization support
  • rblas
    • Optional, stable
    • Enables rblas integration

Modules

linalg [Deprecated]

Deprecated: linalg is not in good shape.

Macros

s!

Slice argument constructor.

Structs

ArrayBase

An N-dimensional array.

Elements

An iterator over the elements of an array.

ElementsMut

An iterator over the elements of an array (mutable).

Indexed

An iterator over the indexes and elements of an array.

IndexedMut

An iterator over the indexes and elements of an array (mutable).

Indexes

An iterator over the indexes of an array shape.

InnerIter

An iterator that traverses over all dimensions but the innermost, and yields each inner row.

InnerIterMut

An iterator that traverses over all dimensions but the innermost, and yields each inner row (mutable).

OuterIter

An iterator that traverses over the outermost dimension and yields each subview.

OuterIterMut

An iterator that traverses over the outermost dimension and yields each subview (mutable).

Si

A slice, a description of a range of an array axis.

ViewRepr

Array view’s representation.

Enums

ShapeError

An error that can be produced by .into_shape()

Constants

S

Slice value for the full range of an axis.

Traits

Data

Array’s inner representation.

DataClone

Clone an Array’s storage.

DataMut

Array’s writable inner representation.

DataOwned

Array representation that is a unique or shared owner of its data.

DataShared

Array representation that is a lightweight view.

Dimension

Trait for the shape and index types of arrays.

FixedInitializer

Fixed-size array used for array initialization

Initializer

Slice or fixed-size array used for array initialization

NdIndex

A tuple or fixed size array that can be used to index an array.

RemoveAxis

Helper trait to define a larger-than relation for array shapes: removing one axis from Self gives smaller dimension Smaller.

Scalar

Elements that can be used as direct operands in arithmetic with arrays.

Functions

arr0

Return a zero-dimensional array with the element x.

arr1

Return a one-dimensional array with elements from xs.

arr2

Return a two-dimensional array with elements from xs.

arr3

Return a three-dimensional array with elements from xs.

aview0

Return a zero-dimensional array view borrowing x.

aview1

Return a one-dimensional array view with elements borrowing xs.

aview2

Return a two-dimensional array view with elements borrowing xs.

aview_mut1

Return a one-dimensional read-write array view with elements borrowing xs.

zeros

Return an array filled with zeros

Type Definitions

Array

Array where the data is reference counted and copy on write, it can act as both an owner as the data as well as a lightweight view.

ArrayView

A lightweight array view.

ArrayViewMut

A lightweight read-write array view.

Ix

Array index type

Ixs

Array index type (signed)

OwnedArray

Array where the data is owned uniquely.