ndarray
. Having package != crate ran
into many quirks of various tools. Changing the package name is easier for
everyone involved!The ndarray
crate provides an N-dimensional container similar to numpy’s
ndarray. Requires Rust 1.5.
Please read the API documentation here (0.2)
_ (master)
_
_ http://bluss.github.io/rust-ndarray/0.2/ _ http://bluss.github.io/rust-ndarray/
|buildstatus| |crates|_
.. |buildstatus| image:: https://travis-ci.org/bluss/rust-ndarray.svg?branch=master .. _buildstatus: https://travis-ci.org/bluss/rust-ndarray
.. |crates| image:: http://meritbadge.herokuapp.com/ndarray .. _crates: https://crates.io/crates/ndarray
Owned arrays and views
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.Slicing, also with arbitrary step size, and negative indices to mean elements from the end of the axis.
[T]
data.Performance status:
.fold()
and .zip_mut_with()
are the most efficient ways to
perform single traversal and lock step traversal respectively.There is experimental bridging to the linear algebra package rblas
.
assign_ops
rustc-serialize
rblas
rblas
integrationHow to use with cargo::
[dependencies]
ndarray = "0.2"
0.3.0-alpha.2
zip_mut_with
slightly
(affects all binary operations)..row(i), .column(i)
for 2D arrays..row_iter(), .col_iter()
..dot()
for computing the dot product between two 1D arrays.0.3.0-alpha.1
Ix
changed to usize
(#9). Gives better iterator codegen
and 64-bit size arrays..slice()
and .diag()
to return array views, add .into_diag()
.a[[i, j]]
for indexing..ndim()
0.2.0
s![]
0.2.0-alpha.9
rblas
bridge, and fix a bug with
non square matrices.linalg
.0.2.0-alpha.8
ndarray
. Having package != crate ran
into many quirks of various tools. Changing the package name is easier for
everyone involved!scalar_sum()
so that it will vectorize for the floating point
element case too.0.2.0-alpha.7
Optimized arithmetic operations!
For c-contiguous arrays or arrays with c-contiguous lowest dimension they optimize very well, and can vectorize!
Add .inner_iter()
, .inner_iter_mut()
.fold()
, .zip_mut_with()
.scalar_sum()
examples/life.rs
0.2.0-alpha.6
#[deprecated]
attributes (enabled with new enough nightly)ArrayBase::linspace
, deprecate constructor range
.0.2.0-alpha.5
s![...]
, a slice argument macro.aview_mut1()
, zeros()
.diag_mut()
and deprecate .diag_iter_mut()
, .sub_iter_mut()
.uget()
, .uget_mut()
for unchecked indexing and deprecate the
old names.ArrayBase::from_elem
SliceRange
, replaced by From
impls for Si
.0.2.0-alpha.4
.slice()
now take a fixed size array of Si
as the slice description. This allows more type checking to verify that the
number of axes is correct.rblas
integration.into_shape()
which allows reshaping any array or view kind.0.2.0-alpha.3
0.2.0-alpha.2
.indexed()
on iterators. Changed Indexed
and added
ÌndexedMut
..as_slice(), .as_mut_slice()
0.2.0-alpha
ArrayBase
, OwnedArray
, ArrayView
, ArrayViewMut
Array
continues to refer to the default reference counted copy on write
array.view()
, .view_mut()
, .to_owned()
, .into_shared()
.slice_mut()
, .subview_mut()
Some operations now return OwnedArray
:
.map()
.sum()
.mean()
Add get
, get_mut
to replace the now deprecated at
, at_mut
.
0.1.1
0.1.0
Dual-licensed to be compatible with the Rust project.
Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.