#[repr(u8)]pub enum RoundedBitWidth {
Zero = 0,
Bits8 = 8,
Bits16 = 16,
Bits32 = 32,
}Expand description
Rounded bit width type for SIMD-friendly encoding
Variants§
Implementations§
Source§impl RoundedBitWidth
impl RoundedBitWidth
Sourcepub fn from_exact(bits: u8) -> Self
pub fn from_exact(bits: u8) -> Self
Round an exact bit width to the nearest SIMD-friendly width
Sourcepub fn try_from_u8(bits: u8) -> Option<Self>
pub fn try_from_u8(bits: u8) -> Option<Self>
Convert from a stored u8 value; None unless it is exactly 0, 8, 16,
or 32. Readers of persisted headers must use this and surface None
as corruption instead of guessing a width.
Sourcepub fn from_u8(bits: u8) -> Self
pub fn from_u8(bits: u8) -> Self
Convert from a stored u8 value that has already been validated to be
0, 8, 16, or 32 (see Self::try_from_u8). Any other value maps to
Bits32, which is only acceptable after the header has been checked.
Sourcepub fn bytes_per_value(self) -> usize
pub fn bytes_per_value(self) -> usize
Get the byte size per value
Trait Implementations§
Source§impl Clone for RoundedBitWidth
impl Clone for RoundedBitWidth
impl Copy for RoundedBitWidth
Source§impl Debug for RoundedBitWidth
impl Debug for RoundedBitWidth
impl Eq for RoundedBitWidth
Source§impl PartialEq for RoundedBitWidth
impl PartialEq for RoundedBitWidth
impl StructuralPartialEq for RoundedBitWidth
Auto Trait Implementations§
impl Freeze for RoundedBitWidth
impl RefUnwindSafe for RoundedBitWidth
impl Send for RoundedBitWidth
impl Sync for RoundedBitWidth
impl Unpin for RoundedBitWidth
impl UnsafeUnpin for RoundedBitWidth
impl UnwindSafe for RoundedBitWidth
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more