pub struct NeonBits(/* private fields */);
Expand description
Use u64 representation the bitmask of Neon vector. (low) Vector: 00-ff-ff-ff-ff-00-00-00 Mask : 0000-1111-1111-1111-1111-0000-0000-0000
first_offset() = 1 clear_high_bits(4) = Mask(0000-1111-1111-1111-[0000]-0000-0000-0000)
reference: https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon
Implementations§
Trait Implementations§
Source§impl BitMask for NeonBits
impl BitMask for NeonBits
Source§fn first_offset(&self) -> usize
fn first_offset(&self) -> usize
get the offset of the first
1
bit.Source§fn as_little_endian(&self) -> Self
fn as_little_endian(&self) -> Self
convert bitmask as little endian
Source§fn clear_high_bits(&self, n: usize) -> Self
fn clear_high_bits(&self, n: usize) -> Self
clear high n bits.
Auto Trait Implementations§
impl Freeze for NeonBits
impl RefUnwindSafe for NeonBits
impl Send for NeonBits
impl Sync for NeonBits
impl Unpin for NeonBits
impl UnwindSafe for NeonBits
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