rendarray 0.2.0-alpha.8

An N-dimensional array. NOTE: CRATE NAME CHANGED TO `ndarray`. Having package name non equal to crate name ran into many quirks of various tools. Changing the package name is easier for everyone involved! New name is `ndarray`.
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