Skip to main content

NumericDTypeKind

Trait NumericDTypeKind 

Source
pub trait NumericDTypeKind<D: Device>: DTypeKind<D> + Sized {
    // Required methods
    fn binary_dispatch(
        lhs: &Self::Storage,
        lhs_l: &Layout,
        rhs: &Self::Storage,
        rhs_l: &Layout,
        op: BinaryOp,
    ) -> Result<Self::Storage>;
    fn binary_inplace_dispatch(
        dst: &mut Self::Storage,
        dst_l: &Layout,
        src: &Self::Storage,
        src_l: &Layout,
        op: BinaryOp,
    ) -> Result<()>;
    fn binary_scalar_dispatch(
        lhs: &Self::Storage,
        lhs_l: &Layout,
        rhs: Self::Scalar,
        op: BinaryOp,
    ) -> Result<Self::Storage>;
    fn binary_scalar_inplace_dispatch(
        dst: &mut Self::Storage,
        dst_l: &Layout,
        rhs: Self::Scalar,
        op: BinaryOp,
    ) -> Result<()>;
    fn binary_scalar_lhs_dispatch(
        scalar: Self::Scalar,
        rhs: &Self::Storage,
        rhs_l: &Layout,
        op: BinaryOp,
    ) -> Result<Self::Storage>;
    fn cmp_dispatch(
        lhs: &Self::Storage,
        lhs_l: &Layout,
        rhs: &Self::Storage,
        rhs_l: &Layout,
        op: CmpOp,
    ) -> Result<D::BoolStorage>;
    fn cmp_scalar_dispatch(
        lhs: &Self::Storage,
        lhs_l: &Layout,
        rhs: Self::Scalar,
        op: CmpOp,
    ) -> Result<D::BoolStorage>;
    fn unary_dispatch(
        x: &Self::Storage,
        l: &Layout,
        op: UnaryOp<Self::Scalar>,
    ) -> Result<Self::Storage>;
    fn unary_inplace_dispatch(
        dst: &mut Self::Storage,
        dst_l: &Layout,
        op: UnaryOp<Self::Scalar>,
    ) -> Result<()>;
}

Required Methods§

Source

fn binary_dispatch( lhs: &Self::Storage, lhs_l: &Layout, rhs: &Self::Storage, rhs_l: &Layout, op: BinaryOp, ) -> Result<Self::Storage>

Source

fn binary_inplace_dispatch( dst: &mut Self::Storage, dst_l: &Layout, src: &Self::Storage, src_l: &Layout, op: BinaryOp, ) -> Result<()>

Source

fn binary_scalar_dispatch( lhs: &Self::Storage, lhs_l: &Layout, rhs: Self::Scalar, op: BinaryOp, ) -> Result<Self::Storage>

Source

fn binary_scalar_inplace_dispatch( dst: &mut Self::Storage, dst_l: &Layout, rhs: Self::Scalar, op: BinaryOp, ) -> Result<()>

Source

fn binary_scalar_lhs_dispatch( scalar: Self::Scalar, rhs: &Self::Storage, rhs_l: &Layout, op: BinaryOp, ) -> Result<Self::Storage>

Source

fn cmp_dispatch( lhs: &Self::Storage, lhs_l: &Layout, rhs: &Self::Storage, rhs_l: &Layout, op: CmpOp, ) -> Result<D::BoolStorage>

Source

fn cmp_scalar_dispatch( lhs: &Self::Storage, lhs_l: &Layout, rhs: Self::Scalar, op: CmpOp, ) -> Result<D::BoolStorage>

Source

fn unary_dispatch( x: &Self::Storage, l: &Layout, op: UnaryOp<Self::Scalar>, ) -> Result<Self::Storage>

Source

fn unary_inplace_dispatch( dst: &mut Self::Storage, dst_l: &Layout, op: UnaryOp<Self::Scalar>, ) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§