pub struct MultiArray<T, A>where
A: LayoutHelper,{ /* private fields */ }
Expand description
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;
Implementations§
Source§impl<T, A> MultiArray<T, A>where
T: Clone,
A: LayoutHelper,
impl<T, A> MultiArray<T, A>where
T: Clone,
A: LayoutHelper,
Source§impl<T, A> MultiArray<T, A>where
A: LayoutHelper,
impl<T, A> MultiArray<T, A>where
A: LayoutHelper,
Sourcepub fn borrow(&self) -> MultiArrayRef<'_, T, A>
pub fn borrow(&self) -> MultiArrayRef<'_, T, A>
create a shared view that allows further manipulations of the view
Sourcepub fn borrow_mut(&mut self) -> MultiArrayRefMut<'_, T, A>
pub fn borrow_mut(&mut self) -> MultiArrayRefMut<'_, T, A>
create a mutable view that allows further manipulations of the view
Sourcepub fn reversed_dim(&self, dim: usize) -> MultiArrayRef<'_, T, A>
pub fn reversed_dim(&self, dim: usize) -> MultiArrayRef<'_, T, A>
Create a shared view where one given dimension is reversed
Sourcepub fn reversed_dim_mut(&mut self, dim: usize) -> MultiArrayRefMut<'_, T, A>
pub fn reversed_dim_mut(&mut self, dim: usize) -> MultiArrayRefMut<'_, T, A>
Create a mutable view where one given dimension is reversed
Sourcepub fn subsampled_dim(
&self,
dim: usize,
factor: usize,
) -> MultiArrayRef<'_, T, A>
pub 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
Sourcepub fn subsampled_dim_mut(
&mut self,
dim: usize,
factor: usize,
) -> MultiArrayRefMut<'_, T, A>
pub 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
Sourcepub fn sliced_dim<R>(&self, dim: usize, range: R) -> MultiArrayRef<'_, T, A>
pub fn sliced_dim<R>(&self, dim: usize, range: R) -> MultiArrayRef<'_, T, A>
Create a shared view where one given dimension is sliced
Sourcepub fn sliced_dim_mut<R>(
&mut self,
dim: usize,
range: R,
) -> MultiArrayRefMut<'_, T, A>
pub fn sliced_dim_mut<R>( &mut self, dim: usize, range: R, ) -> MultiArrayRefMut<'_, T, A>
Create a mutable view where one given dimension is sliced
Sourcepub fn swapped_dims(&self, d1: usize, d2: usize) -> MultiArrayRef<'_, T, A>
pub fn swapped_dims(&self, d1: usize, d2: usize) -> MultiArrayRef<'_, T, A>
Create a shared view where the order of two dimensions are swapped
Sourcepub fn swapped_dims_mut(
&mut self,
d1: usize,
d2: usize,
) -> MultiArrayRefMut<'_, T, A>
pub 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
Source§impl<T, A> MultiArray<T, A>where
A: LayoutHelperExt,
impl<T, A> MultiArray<T, A>where
A: LayoutHelperExt,
Sourcepub fn eliminated_dim(
&self,
dim: usize,
coord: usize,
) -> MultiArrayRef<'_, T, A::OneLess>
pub 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.
Sourcepub fn eliminated_dim_mut(
&mut self,
dim: usize,
coord: usize,
) -> MultiArrayRefMut<'_, T, A::OneLess>
pub 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.