pub struct Bmi2BitOps;Expand description
Advanced bit manipulation using BMI2 PEXT
Implementations§
Source§impl Bmi2BitOps
impl Bmi2BitOps
Sourcepub fn extract_bits(src: u64, mask: u64) -> u64
pub fn extract_bits(src: u64, mask: u64) -> u64
Extract bits at specified positions using PEXT
Sourcepub fn deposit_bits(src: u64, mask: u64) -> u64
pub fn deposit_bits(src: u64, mask: u64) -> u64
Deposit bits at specified positions using PDEP
Sourcepub fn reset_lowest_bit(x: u64) -> u64
pub fn reset_lowest_bit(x: u64) -> u64
Reset lowest set bit (BLSR equivalent)
Sourcepub fn isolate_lowest_bit(x: u64) -> u64
pub fn isolate_lowest_bit(x: u64) -> u64
Isolate lowest set bit (BLSI equivalent)
Sourcepub fn mask_up_to_lowest_bit(x: u64) -> u64
pub fn mask_up_to_lowest_bit(x: u64) -> u64
Get mask up to lowest set bit (BLSMSK equivalent)
Auto Trait Implementations§
impl Freeze for Bmi2BitOps
impl RefUnwindSafe for Bmi2BitOps
impl Send for Bmi2BitOps
impl Sync for Bmi2BitOps
impl Unpin for Bmi2BitOps
impl UnsafeUnpin for Bmi2BitOps
impl UnwindSafe for Bmi2BitOps
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
Source§impl<T> Factoryable for T
impl<T> Factoryable for T
Source§fn create(name: &str) -> Result<T, ZiporaError>
fn create(name: &str) -> Result<T, ZiporaError>
Create an instance by name using the global factory
Source§fn list_creators() -> Result<Vec<String>, ZiporaError>
fn list_creators() -> Result<Vec<String>, ZiporaError>
List all available creator names
Source§fn has_creator(name: &str) -> Result<bool, ZiporaError>
fn has_creator(name: &str) -> Result<bool, ZiporaError>
Check if a creator is available
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