Skip to main content

ErasedRawStridedMut

Struct ErasedRawStridedMut 

Source
pub struct ErasedRawStridedMut<'a> { /* private fields */ }
Expand description

Borrowed dtype-erased raw strided output layout.

dims, strides, and offset are expressed in dtype elements, not bytes.

Implementations§

Source§

impl<'a> ErasedRawStridedMut<'a>

Source

pub fn from_slice_mut<T: KernelStorageElement>( data: &'a mut [T], dims: &'a [usize], strides: &'a [isize], offset: isize, ) -> Result<Self>

Create an erased output descriptor from typed, initialized storage.

Source

pub unsafe fn from_raw_parts( dtype: KernelDType, data: NonNull<u8>, byte_len: usize, dims: &'a [usize], strides: &'a [isize], offset: isize, ) -> Result<Self>

Construct from erased storage.

§Safety

data..data + byte_len must be an aligned, writable allocation valid for 'a, with valid initialized values for dtype throughout the complete byte extent; its provenance, extent, lifetime, and exclusive aliasing must be upheld by the caller. The alignment requirement is on the allocation, not merely the observed address. The caller must retain exclusive access: no mutable alias or concurrent mutation may exist while this descriptor is used.

Source

pub fn data_as<T: KernelStorageElement>(&self) -> Result<&[T]>

Borrow initialized storage as its concrete scalar type.

Source

pub fn data_as_mut<T: KernelStorageElement>(&mut self) -> Result<&mut [T]>

Borrow initialized storage mutably as its concrete scalar type.

Source

pub fn dtype(&self) -> KernelDType

Source

pub fn dims(&self) -> &'a [usize]

Source

pub fn strides(&self) -> &'a [isize]

Source

pub fn offset(&self) -> isize

Trait Implementations§

Source§

impl<'a> Debug for ErasedRawStridedMut<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.