mlx_rs

Trait ArrayElement

Source
pub trait ArrayElement: Sized + Sealed {
    const DTYPE: Dtype;

    // Required methods
    fn array_item(array: &Array) -> Result<Self>;
    fn array_data(array: &Array) -> *const Self;
}
Expand description

A marker trait for array elements.

Required Associated Constants§

Source

const DTYPE: Dtype

The data type of the element.

Required Methods§

Source

fn array_item(array: &Array) -> Result<Self>

Access the value of a scalar array. Returns Err if the array is not scalar.

Source

fn array_data(array: &Array) -> *const Self

Access the raw data of an array.

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 ArrayElement for bool

Source§

const DTYPE: Dtype = Dtype::Bool

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for f32

Source§

const DTYPE: Dtype = Dtype::Float32

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for i8

Source§

const DTYPE: Dtype = Dtype::Int8

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for i16

Source§

const DTYPE: Dtype = Dtype::Int16

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for i32

Source§

const DTYPE: Dtype = Dtype::Int32

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for i64

Source§

const DTYPE: Dtype = Dtype::Int64

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for u8

Source§

const DTYPE: Dtype = Dtype::Uint8

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for u16

Source§

const DTYPE: Dtype = Dtype::Uint16

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for u32

Source§

const DTYPE: Dtype = Dtype::Uint32

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for u64

Source§

const DTYPE: Dtype = Dtype::Uint64

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for bf16

Source§

const DTYPE: Dtype = Dtype::Bfloat16

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Source§

impl ArrayElement for f16

Source§

const DTYPE: Dtype = Dtype::Float16

Source§

fn array_item(array: &Array) -> Result<Self>

Source§

fn array_data(array: &Array) -> *const Self

Implementors§

Source§

impl ArrayElement for complex64

Source§

const DTYPE: Dtype = Dtype::Complex64