pub trait BasicOps<B>: TensorKind<B>where
    B: Backend,{
    type Elem: 'static;
Show 14 methods
    // Required methods
    fn empty<const D: usize>(
        shape: Shape<D>,
        device: &<B as Backend>::Device
    ) -> Self::Primitive<D>;
    fn shape<const D: usize>(tensor: &Self::Primitive<D>) -> Shape<D>;
    fn reshape<const D1: usize, const D2: usize>(
        tensor: Self::Primitive<D1>,
        shape: Shape<D2>
    ) -> Self::Primitive<D2>;
    fn index<const D1: usize, const D2: usize>(
        tensor: Self::Primitive<D1>,
        indexes: [Range<usize>; D2]
    ) -> Self::Primitive<D1>;
    fn index_assign<const D1: usize, const D2: usize>(
        tensor: Self::Primitive<D1>,
        indexes: [Range<usize>; D2],
        value: Self::Primitive<D1>
    ) -> Self::Primitive<D1>;
    fn device<const D: usize>(
        tensor: &Self::Primitive<D>
    ) -> <B as Backend>::Device;
    fn to_device<const D: usize>(
        tensor: Self::Primitive<D>,
        device: &<B as Backend>::Device
    ) -> Self::Primitive<D>;
    fn into_data<const D: usize>(
        tensor: Self::Primitive<D>
    ) -> Data<Self::Elem, D>;
    fn from_data<const D: usize>(
        data: Data<Self::Elem, D>,
        device: &<B as Backend>::Device
    ) -> Self::Primitive<D>;
    fn repeat<const D: usize>(
        tensor: Self::Primitive<D>,
        dim: usize,
        times: usize
    ) -> Self::Primitive<D>;
    fn cat<const D: usize>(
        vectors: Vec<Self::Primitive<D>, Global>,
        dim: usize
    ) -> Self::Primitive<D>;
    fn equal<const D: usize>(
        lhs: Self::Primitive<D>,
        rhs: Self::Primitive<D>
    ) -> Tensor<B, D, Bool>;
    fn equal_elem<const D: usize>(
        lhs: Self::Primitive<D>,
        rhs: Self::Elem
    ) -> Tensor<B, D, Bool>;
    // Provided method
    fn elem_type_name() -> &'static str { ... }
}Expand description
Trait that list all operations that can be applied on all tensors.
Warnings
This is an internal trait, use the public API provided by tensor struct.