rendarray-0.2.0-alpha.8 has been yanked.
The `ndarray` crate provides an N-dimensional container similar to numpy’s
ndarray.
- [`ArrayBase`](struct.ArrayBase.html):
The N-dimensional array type itself.
- [`Array`](type.Array.html):
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`](type.OwnedArray.html):
An array where the data is owned uniquely.
- [`ArrayView`](type.ArrayView.html), [`ArrayViewMut`](type.ArrayViewMut.html):
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 an easy to use 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 very efficient on contiguous c-order arrays
(the default layout, without any transposition or discontiguous subslicing),
and on arrays where the lowest dimension is contiguous.
- Array views can be used to slice and mutate any `[T]` data.
## Status and Lookout
- Still iterating on the API
- Performance status:
+ Arithmetic involving contiguous c-order arrays and contiguous lowest
dimension arrays optimizes very well.
+ `.fold()` and `.zip_mut_with()` are the most efficient ways to
perform single traversal and lock step traversal respectively.
+ Transposed arrays where the lowest dimension is not c-contiguous
is still a pain point.
- 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