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§
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<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".