Trait CubeElement

Source
pub trait CubeElement:
    Debug
    + Send
    + Sync
    + 'static
    + Clone
    + Pod {
    // Required methods
    fn type_name() -> &'static str;
    fn as_bytes(slice: &[Self]) -> &[u8] ;
    fn from_bytes(bytes: &[u8]) -> &[Self];
    fn cube_elem() -> Elem;
    fn maximum_value() -> Self;
    fn minimum_value() -> Self;
}
Expand description

The base element trait for the jit backend.

Required Methods§

Source

fn type_name() -> &'static str

Returns the name of the type.

Source

fn as_bytes(slice: &[Self]) -> &[u8]

Convert a slice of elements to a slice of bytes.

Source

fn from_bytes(bytes: &[u8]) -> &[Self]

Convert a slice of bytes to a slice of elements.

Source

fn cube_elem() -> Elem

Element representation for cubecl.

Source

fn maximum_value() -> Self

Highest possible value

Source

fn minimum_value() -> Self

Lowest possible value

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CubeElement for f32

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for f64

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for i8

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for i16

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for i32

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for i64

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for u8

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for u16

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for u32

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for u64

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for bf16

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Source§

impl CubeElement for f16

Source§

fn type_name() -> &'static str

Source§

fn as_bytes(slice: &[Self]) -> &[u8]

Source§

fn from_bytes(bytes: &[u8]) -> &[Self]

Source§

fn cube_elem() -> Elem

Source§

fn maximum_value() -> Self

Source§

fn minimum_value() -> Self

Implementors§