pub trait Shape: Debug {
Show 15 methods
// Required method
fn shape(&self) -> &[usize];
// Provided methods
fn ndim(&self) -> usize { ... }
fn size(&self) -> usize { ... }
fn shape_at<I: Dim>(&self, i: I) -> usize { ... }
fn shape_until<I: Dim>(&self, i: I) -> &[usize] { ... }
fn dim<I: Dim>(&self, i: I) -> usize { ... }
fn dims<D: Dims>(&self, d: D) -> Vec<usize> { ... }
fn size_of_dims<D: Dims>(&self, d: D) -> usize { ... }
fn shape_transpose(&self) -> Vec<usize> { ... }
fn shape_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... }
fn shape_ndim_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... }
fn shape_size_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool { ... }
fn shape_broadcast<T: Shape + ?Sized>(&self, rhs: &T) -> Result<Vec<usize>> { ... }
fn shape_broadcast_matmul<S: Shape + ?Sized>(
&self,
rhs: &S
) -> Result<Vec<usize>> { ... }
fn shape_reduce<T: AsRef<[usize]>>(
&self,
dims: T,
keep_dim: bool
) -> Vec<usize> { ... }
}
Required Methods§
Provided Methods§
fn ndim(&self) -> usize
fn size(&self) -> usize
fn shape_at<I: Dim>(&self, i: I) -> usize
fn shape_until<I: Dim>(&self, i: I) -> &[usize]
fn dim<I: Dim>(&self, i: I) -> usize
fn dims<D: Dims>(&self, d: D) -> Vec<usize>
fn size_of_dims<D: Dims>(&self, d: D) -> usize
fn shape_transpose(&self) -> Vec<usize>
fn shape_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool
fn shape_ndim_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool
fn shape_size_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool
fn shape_broadcast<T: Shape + ?Sized>(&self, rhs: &T) -> Result<Vec<usize>>
fn shape_broadcast_matmul<S: Shape + ?Sized>( &self, rhs: &S ) -> Result<Vec<usize>>
fn shape_reduce<T: AsRef<[usize]>>(&self, dims: T, keep_dim: bool) -> Vec<usize>
Object Safety§
This trait is not object safe.