Skip to main content

SimdBitMask

Trait SimdBitMask 

Source
pub trait SimdBitMask: Copy {
    const WORDS: usize;

    // Required method
    fn word(self, index: usize) -> u32;

    // Provided methods
    fn to_u32_lossy(self) -> u32 { ... }
    fn to_u64_lossy(self) -> u64 { ... }
    fn to_u128_lossy(self) -> u128 { ... }
    fn write_to_u32_slice(self, dst: &mut [u32]) -> usize { ... }
    fn valid_bits(index: usize, bit_len: usize) -> u32 { ... }
    fn any_in_mask(self, bit_len: usize) -> bool { ... }
    fn all_in_mask(self, bit_len: usize) -> bool { ... }
    fn first_set_in_mask(self, bit_len: usize) -> Option<usize> { ... }
    fn first_unset_in_mask(self, bit_len: usize) -> Option<usize> { ... }
    fn last_set_in_mask(self, bit_len: usize) -> Option<usize> { ... }
    fn last_unset_in_mask(self, bit_len: usize) -> Option<usize> { ... }
}

Required Associated Constants§

Required Methods§

Source

fn word(self, index: usize) -> u32

Provided Methods§

Source

fn to_u32_lossy(self) -> u32

Source

fn to_u64_lossy(self) -> u64

Source

fn to_u128_lossy(self) -> u128

Source

fn write_to_u32_slice(self, dst: &mut [u32]) -> usize

Source

fn valid_bits(index: usize, bit_len: usize) -> u32

Source

fn any_in_mask(self, bit_len: usize) -> bool

Source

fn all_in_mask(self, bit_len: usize) -> bool

Source

fn first_set_in_mask(self, bit_len: usize) -> Option<usize>

Source

fn first_unset_in_mask(self, bit_len: usize) -> Option<usize>

Source

fn last_set_in_mask(self, bit_len: usize) -> Option<usize>

Source

fn last_unset_in_mask(self, bit_len: usize) -> Option<usize>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SimdBitMask for u32

Source§

const WORDS: usize = 1

Source§

fn word(self, index: usize) -> u32

Source§

impl<const N: usize> SimdBitMask for [u32; N]

Source§

const WORDS: usize = N

Source§

fn word(self, index: usize) -> u32

Implementors§