Trait rlsf::int::BinInteger[][src]

pub trait BinInteger: Clone + Copy + PartialEq + Eq + Ord + PartialOrd + Unpin + Add<Output = Self> + Sub<Output = Self> + Mul<Output = Self> + Div<Output = Self> + Rem<Output = Self> + Sized + AddAssign + SubAssign + MulAssign + DivAssign + RemAssign + Debug + Send + Sync + 'static + Sealed {
    const ZERO: Self;
    const BITS: u32;

    fn ones(range: Range<u32>) -> Self;
fn ones_truncated(range: Range<u32>) -> Self;
fn trailing_zeros(&self) -> u32;
fn leading_zeros(&self) -> u32;
fn count_ones(&self) -> u32;
fn bit_scan_forward(&self, start: u32) -> u32;
fn extract_u32(&self, range: Range<u32>) -> u32;
fn get_bit(&self, i: u32) -> bool;
fn set_bit(&mut self, i: u32);
fn clear_bit(&mut self, i: u32);
fn checked_ceil_fix(self, fp: u32) -> Option<Self>; }
Expand description

Integral types with efficient binary operations.

Associated Constants

const ZERO: Self[src]

const BITS: u32[src]

Required methods

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

Return the number of trailing zeros in its binary representation.

fn leading_zeros(&self) -> u32[src]

Return the number of leading zeros in its binary representation.

fn count_ones(&self) -> u32[src]

Return the number of ones in its binary representation.

fn bit_scan_forward(&self, start: u32) -> u32[src]

Return the position of the least significant set bit since the position start.

Retruns Self::BITS if none was found.

fn extract_u32(&self, range: Range<u32>) -> u32[src]

Slice a part of its binary representation as u32.

fn get_bit(&self, i: u32) -> bool[src]

Retrieve whether the specified bit is set or not.

fn set_bit(&mut self, i: u32)[src]

Set a single bit.

fn clear_bit(&mut self, i: u32)[src]

Clear a single bit.

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

Perform ceil treating the value as a fixed point number with fp fractional part digits.

Implementations on Foreign Types

impl BinInteger for i8[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for i16[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for i32[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for i64[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for i128[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for isize[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for u8[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for u16[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for u32[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for u64[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for u128[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

impl BinInteger for usize[src]

const ZERO: Self[src]

const BITS: u32[src]

fn ones(range: Range<u32>) -> Self[src]

fn ones_truncated(range: Range<u32>) -> Self[src]

fn trailing_zeros(&self) -> u32[src]

fn leading_zeros(&self) -> u32[src]

fn count_ones(&self) -> u32[src]

fn bit_scan_forward(&self, start: u32) -> u32[src]

fn extract_u32(&self, range: Range<u32>) -> u32[src]

fn get_bit(&self, i: u32) -> bool[src]

fn set_bit(&mut self, i: u32)[src]

fn clear_bit(&mut self, i: u32)[src]

fn checked_ceil_fix(self, fp: u32) -> Option<Self>[src]

Implementors