pub trait NDArrayTransform: NDArray + Debug {
    type Broadcast: NDArray<DType = Self::DType> + NDArrayRead + NDArrayTransform;
    type Expand: NDArray<DType = Self::DType> + NDArrayRead + NDArrayTransform;
    type Reshape: NDArray<DType = Self::DType> + NDArrayRead + NDArrayTransform;
    type Slice: NDArray<DType = Self::DType> + NDArrayRead + NDArrayTransform;
    type Transpose: NDArray<DType = Self::DType> + NDArrayRead + NDArrayTransform;

    // Required methods
    fn broadcast(self, shape: Shape) -> Result<Self::Broadcast, Error>;
    fn expand_dims(self, axes: Vec<usize>) -> Result<Self::Expand, Error>;
    fn reshape(self, shape: Shape) -> Result<Self::Reshape, Error>;
    fn slice(self, bounds: Vec<AxisBound>) -> Result<Self::Slice, Error>;
    fn transpose(
        self,
        axes: Option<Vec<usize>>
    ) -> Result<Self::Transpose, Error>;
}

Required Associated Types§

Required Methods§

source

fn broadcast(self, shape: Shape) -> Result<Self::Broadcast, Error>

source

fn expand_dims(self, axes: Vec<usize>) -> Result<Self::Expand, Error>

source

fn reshape(self, shape: Shape) -> Result<Self::Reshape, Error>

source

fn slice(self, bounds: Vec<AxisBound>) -> Result<Self::Slice, Error>

source

fn transpose(self, axes: Option<Vec<usize>>) -> Result<Self::Transpose, Error>

Implementors§