pub struct Packed4Slice<'a, T>where
T: Packable4,{ /* private fields */ }Expand description
A read-only view over a packed slice of 4-bit values, stored 2 per byte.
Implementations§
Source§impl<'a, T> Packed4Slice<'a, T>where
T: Packable4,
impl<'a, T> Packed4Slice<'a, T>where
T: Packable4,
Sourcepub fn new(data: &'a [u8], len: usize) -> Option<Packed4Slice<'a, T>>
pub fn new(data: &'a [u8], len: usize) -> Option<Packed4Slice<'a, T>>
Create a new Packed4Slice from packed bytes and logical length.
Returns None if the backing buffer is too small for the requested length.
Sourcepub fn as_packed_slice(&self) -> &'a [u8] ⓘ
pub fn as_packed_slice(&self) -> &'a [u8] ⓘ
Returns the underlying packed byte slice.
Sourcepub fn sub_slice(self, range: Range<usize>) -> Option<Packed4Slice<'a, T>>
pub fn sub_slice(self, range: Range<usize>) -> Option<Packed4Slice<'a, T>>
Attempts to create a zero-copy sub-slice of the packed slice.
This is only possible without allocation if the range starts at an even logical index
(aligned to byte boundaries). If the range starts at an odd index, returns None.
Source§impl<'a, T> Packed4Slice<'a, T>where
T: Packable4,
impl<'a, T> Packed4Slice<'a, T>where
T: Packable4,
Source§impl<'a> Packed4Slice<'a, Bf4>
impl<'a> Packed4Slice<'a, Bf4>
Sourcepub fn unpack_to_bf16(&self, dest: &mut [Bf16])
pub fn unpack_to_bf16(&self, dest: &mut [Bf16])
Unpack all elements into a destination slice of Bf16.
Source§impl<'a> Packed4Slice<'a, F4>
impl<'a> Packed4Slice<'a, F4>
Sourcepub fn unpack_to_f32(&self, dest: &mut [F32])
pub fn unpack_to_f32(&self, dest: &mut [F32])
Unpack all elements into a destination slice of F32.
Trait Implementations§
Source§impl<'a, T> Clone for Packed4Slice<'a, T>
impl<'a, T> Clone for Packed4Slice<'a, T>
Source§fn clone(&self) -> Packed4Slice<'a, T>
fn clone(&self) -> Packed4Slice<'a, T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a, T> Copy for Packed4Slice<'a, T>
Source§impl<'a, T> Debug for Packed4Slice<'a, T>
impl<'a, T> Debug for Packed4Slice<'a, T>
impl<'a, T> Eq for Packed4Slice<'a, T>
Source§impl<'a, T> IntoIterator for Packed4Slice<'a, T>where
T: Packable4,
impl<'a, T> IntoIterator for Packed4Slice<'a, T>where
T: Packable4,
Source§type IntoIter = Packed4Iter<'a, T>
type IntoIter = Packed4Iter<'a, T>
Which kind of iterator are we turning this into?
Source§fn into_iter(self) -> <Packed4Slice<'a, T> as IntoIterator>::IntoIter
fn into_iter(self) -> <Packed4Slice<'a, T> as IntoIterator>::IntoIter
Creates an iterator from a value. Read more
Source§impl<'a, T> PartialEq for Packed4Slice<'a, T>
impl<'a, T> PartialEq for Packed4Slice<'a, T>
impl<'a, T> StructuralPartialEq for Packed4Slice<'a, T>
Auto Trait Implementations§
impl<'a, T> Freeze for Packed4Slice<'a, T>
impl<'a, T> RefUnwindSafe for Packed4Slice<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for Packed4Slice<'a, T>where
T: Send,
impl<'a, T> Sync for Packed4Slice<'a, T>where
T: Sync,
impl<'a, T> Unpin for Packed4Slice<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for Packed4Slice<'a, T>
impl<'a, T> UnwindSafe for Packed4Slice<'a, T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more