Struct multiarray::MultiArray
[−]
[src]
pub struct MultiArray<T, A> where A: LayoutHelper {
// some fields omitted
}
Type for multi-dimensional arrays that are organized linearly in memory much like a C array but with dynamically determined sizes.
Example
use multiarray::*; let mut matrix = Array2D::new([3, 2], 0); matrix[[0,0]] = 1; matrix[[0,1]] = 2; matrix[[1,0]] = 3; matrix[[1,1]] = 4; matrix[[2,0]] = 5; matrix[[2,1]] = 6;
Methods
impl<T, A> MultiArray<T, A> where T: Clone, A: LayoutHelper
[src]
fn new<X>(extents: X, fill: T) -> Self where X: Into<A::U>
Create new multi-dimensiopnal array with the given extents (one per dimension)
impl<T, A> MultiArray<T, A> where A: LayoutHelper
[src]
fn extents(&self) -> &[usize]
get the array's extents (one item per dimension)
fn borrow(&self) -> MultiArrayRef<T, A>
create a shared view that allows further manipulations of the view
fn borrow_mut(&mut self) -> MultiArrayRefMut<T, A>
create a mutable view that allows further manipulations of the view
fn reversed_dim(&self, dim: usize) -> MultiArrayRef<T, A>
Create a shared view where one given dimension is reversed
fn reversed_dim_mut(&mut self, dim: usize) -> MultiArrayRefMut<T, A>
Create a mutable view where one given dimension is reversed
fn subsampled_dim(&self, dim: usize, factor: usize) -> MultiArrayRef<T, A>
Create a shared view where one given dimension is subsampled by a given factor
fn subsampled_dim_mut(&mut self, dim: usize, factor: usize) -> MultiArrayRefMut<T, A>
Create a shared view where one given dimension is subsampled by a given factor
fn sliced_dim<R>(&self, dim: usize, range: R) -> MultiArrayRef<T, A> where R: AnyRange<usize>
Create a shared view where one given dimension is sliced
fn sliced_dim_mut<R>(&mut self, dim: usize, range: R) -> MultiArrayRefMut<T, A> where R: AnyRange<usize>
Create a mutable view where one given dimension is sliced
fn swapped_dims(&self, d1: usize, d2: usize) -> MultiArrayRef<T, A>
Create a shared view where the order of two dimensions are swapped
fn swapped_dims_mut(&mut self, d1: usize, d2: usize) -> MultiArrayRefMut<T, A>
Create a mutable view where the order of two dimensions are swapped
impl<T, A> MultiArray<T, A> where A: LayoutHelperExt
[src]
fn eliminated_dim(&self, dim: usize, coord: usize) -> MultiArrayRef<T, A::OneLess>
Create a lower-dimensional shared view where one dimension is fixed at the given coordinate.
fn eliminated_dim_mut(&mut self, dim: usize, coord: usize) -> MultiArrayRefMut<T, A::OneLess>
Create a lower-dimensional mutable view where one dimension is fixed at the given coordinate.
Trait Implementations
impl<T, A, I> Index<I> for MultiArray<T, A> where A: LayoutHelper, I: Into<A::U>
[src]
type Output = T
The returned type after indexing
fn index(&self, index: I) -> &T
The method for the indexing (Foo[Bar]
) operation
impl<T, A, I> IndexMut<I> for MultiArray<T, A> where A: LayoutHelper, I: Into<A::U>
[src]
fn index_mut(&mut self, index: I) -> &mut T
The method for the indexing (Foo[Bar]
) operation