Trait rai_core::Shape

source ·
pub trait Shape: Debug {
Show 18 methods // Required method fn shape(&self) -> &[usize]; // Provided methods fn size(&self) -> usize { ... } fn shape_at<I: Dim>(&self, i: I) -> usize { ... } fn shape_before<const N: usize>(&self) -> [usize; N] { ... } fn shape_of<D: Dims>(&self, d: D) -> Vec<usize> { ... } fn size_of<D: Dims>(&self, d: D) -> usize { ... } fn ndim(&self) -> usize { ... } fn dim<I: Dim>(&self, i: I) -> usize { ... } fn dims<D: Dims>(&self, d: D) -> Vec<usize> { ... } fn shape_transpose(&self, dim0: usize, dim1: usize) -> 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_expand_left<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize> { ... } 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> { ... } fn shape_conv<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize], stride: &[usize], dilation: &[usize], groups: usize ) -> Result<Vec<usize>> { ... }
}

Required Methods§

source

fn shape(&self) -> &[usize]

Provided Methods§

source

fn size(&self) -> usize

source

fn shape_at<I: Dim>(&self, i: I) -> usize

source

fn shape_before<const N: usize>(&self) -> [usize; N]

source

fn shape_of<D: Dims>(&self, d: D) -> Vec<usize>

source

fn size_of<D: Dims>(&self, d: D) -> usize

source

fn ndim(&self) -> usize

source

fn dim<I: Dim>(&self, i: I) -> usize

source

fn dims<D: Dims>(&self, d: D) -> Vec<usize>

source

fn shape_transpose(&self, dim0: usize, dim1: usize) -> Vec<usize>

source

fn shape_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_ndim_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_size_eq<S: Shape + ?Sized>(&self, rhs: &S) -> bool

source

fn shape_expand_left<T: Shape + ?Sized>(&self, rhs: &T) -> Vec<usize>

source

fn shape_broadcast<T: Shape + ?Sized>(&self, rhs: &T) -> Result<Vec<usize>>

source

fn shape_broadcast_matmul<S: Shape + ?Sized>( &self, rhs: &S ) -> Result<Vec<usize>>

source

fn shape_reduce<T: AsRef<[usize]>>(&self, dims: T, keep_dim: bool) -> Vec<usize>

source

fn shape_conv<S: Shape + ?Sized>( &self, kernel: &S, padding: &[usize], stride: &[usize], dilation: &[usize], groups: usize ) -> Result<Vec<usize>>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Shape for Vec<usize>

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

source§

impl Shape for [usize]

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

source§

impl<'a, T> Shape for &'a T
where T: Shape + ?Sized,

source§

fn shape(&self) -> &[usize]

source§

impl<const N: usize> Shape for [usize; N]

source§

fn shape(&self) -> &[usize]

source§

fn ndim(&self) -> usize

Implementors§