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>
impl<'a> ErasedRawStridedMut<'a>
Sourcepub fn from_slice_mut<T>(
data: &'a mut [T],
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedMut<'a>, StridedError>where
T: KernelStorageElement,
pub fn from_slice_mut<T>(
data: &'a mut [T],
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedMut<'a>, StridedError>where
T: KernelStorageElement,
Create an erased output descriptor from typed, initialized storage.
Sourcepub unsafe fn from_raw_parts(
dtype: KernelDType,
data: NonNull<u8>,
byte_len: usize,
dims: &'a [usize],
strides: &'a [isize],
offset: isize,
) -> Result<ErasedRawStridedMut<'a>, StridedError>
pub unsafe fn from_raw_parts( dtype: KernelDType, data: NonNull<u8>, byte_len: usize, dims: &'a [usize], strides: &'a [isize], offset: isize, ) -> Result<ErasedRawStridedMut<'a>, StridedError>
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.
Sourcepub fn data_as<T>(&self) -> Result<&[T], StridedError>where
T: KernelStorageElement,
pub fn data_as<T>(&self) -> Result<&[T], StridedError>where
T: KernelStorageElement,
Borrow initialized storage as its concrete scalar type.
Sourcepub fn data_as_mut<T>(&mut self) -> Result<&mut [T], StridedError>where
T: KernelStorageElement,
pub fn data_as_mut<T>(&mut self) -> Result<&mut [T], StridedError>where
T: KernelStorageElement,
Borrow initialized storage mutably as its concrete scalar type.