Trait container_broadcast::broadcast::TensorSize[][src]

pub trait TensorSize<const DIM: usize>: TensorDimension {
    const VALIDDIMS: bool;

    fn size(&self) -> [usize; DIM];

    fn inbounds(&self, index: [usize; DIM]) -> bool { ... }
fn eachindex(&self) -> EachIndex<DIM> { ... } }

Expresses tensor-like objects with a size. Due to current compiler constraints, takes the dimension as an argument in addition to it being an associated type, to avoid internal compiler errors in use.

Associated Constants

const VALIDDIMS: bool[src]

If this is false, you have an invalid implementation.

Loading content...

Required methods

fn size(&self) -> [usize; DIM][src]

Loading content...

Provided methods

fn inbounds(&self, index: [usize; DIM]) -> bool[src]

fn eachindex(&self) -> EachIndex<DIM>[src]

Returns an iterator over all valid indices.

Loading content...

Implementations on Foreign Types

impl<'a, T> TensorSize<1_usize> for &'a [T][src]

impl<'a, T> TensorSize<1_usize> for &'a mut [T][src]

impl<'a, T, const N: usize> TensorSize<1_usize> for &'a [T; N][src]

impl<T, const N: usize> TensorSize<1_usize> for [T; N][src]

impl<T> TensorSize<1_usize> for Vec<T>[src]

impl<'a, T> TensorSize<1_usize> for &'a Vec<T>[src]

impl<'a, T> TensorSize<1_usize> for &'a mut Vec<T>[src]

Loading content...

Implementors

impl<'a, R, T: Broadcastable<DIM>, F: Fn(T::Element) -> R, const DIM: usize> TensorSize<DIM> for BMap<'a, R, T, F, DIM>[src]

impl<'a, T: Broadcastable<N>, F: Fn([usize; M], [usize; M]) -> [usize; N], const N: usize, const M: usize> TensorSize<M> for MapIndex<'a, T, F, N, M>[src]

impl<'a, T: Broadcastable<N>, const N: usize> TensorSize<N> for BCloned<T, N>[src]

impl<'a, T: Broadcastable<N>, const N: usize> TensorSize<N> for OffsetBroadcast<'a, T, N>[src]

impl<'a, T: Broadcastable<OLDDIM>, const OLDDIM: usize, const DIM: usize> TensorSize<DIM> for LazyUpdim<'a, T, OLDDIM, DIM>[src]

impl<A: Broadcastable<N>, B: Broadcastable<N>, const N: usize> TensorSize<N> for Broadcast2<A, B, N>[src]

impl<A: Broadcastable<N>, const N: usize, const K: usize> TensorSize<N> for BroadcastK<A, N, K>[src]

impl<T, F: Fn([usize; N]) -> T, const N: usize> TensorSize<N> for BroadcastClosure<T, F, N>[src]

impl<T: Broadcastable<M>, const N: usize, const M: usize> TensorSize<N> for ReShaped<T, N, M>[src]

Loading content...