Trait lexical_util::num::Integer  
source · pub trait Integer:
    Number
    + Eq
    + Ord
    + BitAnd<Output = Self>
    + BitAndAssign
    + BitOr<Output = Self>
    + BitOrAssign
    + BitXor<Output = Self>
    + BitXorAssign
    + Not<Output = Self>
    + Shl<Self, Output = Self>
    + Shl<i32, Output = Self>
    + ShlAssign<i32>
    + Shr<i32, Output = Self>
    + ShrAssign<i32> {
    const ZERO: Self;
    const ONE: Self;
    const TWO: Self;
    const MAX: Self;
    const MIN: Self;
    const BITS: usize;
Show 25 methods
    // Required methods
    fn leading_zeros(self) -> u32;
    fn trailing_zeros(self) -> u32;
    fn pow(self, exp: u32) -> Self;
    fn checked_pow(self, exp: u32) -> Option<Self>;
    fn overflowing_pow(self, exp: u32) -> (Self, bool);
    fn checked_add(self, i: Self) -> Option<Self>;
    fn checked_sub(self, i: Self) -> Option<Self>;
    fn checked_mul(self, i: Self) -> Option<Self>;
    fn overflowing_add(self, i: Self) -> (Self, bool);
    fn overflowing_sub(self, i: Self) -> (Self, bool);
    fn overflowing_mul(self, i: Self) -> (Self, bool);
    fn wrapping_add(self, i: Self) -> Self;
    fn wrapping_sub(self, i: Self) -> Self;
    fn wrapping_mul(self, i: Self) -> Self;
    fn wrapping_neg(self) -> Self;
    fn saturating_add(self, i: Self) -> Self;
    fn saturating_sub(self, i: Self) -> Self;
    fn saturating_mul(self, i: Self) -> Self;
    // Provided methods
    fn ceil_divmod(self, y: Self) -> (Self, i32) { ... }
    fn ceil_div(self, y: Self) -> Self { ... }
    fn ceil_mod(self, y: Self) -> i32 { ... }
    fn bit_length(self) -> u32 { ... }
    fn is_odd(self) -> bool { ... }
    fn is_even(self) -> bool { ... }
    fn overflow_digits(radix: u32) -> usize { ... }
}Expand description
Defines a trait that supports integral operations.
Required Associated Constants§
const ZERO: Self
const ONE: Self
const TWO: Self
const MAX: Self
const MIN: Self
const BITS: usize
Required Methods§
fn leading_zeros(self) -> u32
fn trailing_zeros(self) -> u32
fn pow(self, exp: u32) -> Self
fn checked_pow(self, exp: u32) -> Option<Self>
fn overflowing_pow(self, exp: u32) -> (Self, bool)
fn checked_add(self, i: Self) -> Option<Self>
fn checked_sub(self, i: Self) -> Option<Self>
fn checked_mul(self, i: Self) -> Option<Self>
fn overflowing_add(self, i: Self) -> (Self, bool)
fn overflowing_sub(self, i: Self) -> (Self, bool)
fn overflowing_mul(self, i: Self) -> (Self, bool)
fn wrapping_add(self, i: Self) -> Self
fn wrapping_sub(self, i: Self) -> Self
fn wrapping_mul(self, i: Self) -> Self
fn wrapping_neg(self) -> Self
fn saturating_add(self, i: Self) -> Self
fn saturating_sub(self, i: Self) -> Self
fn saturating_mul(self, i: Self) -> Self
Provided Methods§
sourcefn ceil_divmod(self, y: Self) -> (Self, i32)
 
fn ceil_divmod(self, y: Self) -> (Self, i32)
Get the fast ceiling of the quotient from integer division. Not safe, since the remainder can easily overflow.
sourcefn ceil_div(self, y: Self) -> Self
 
fn ceil_div(self, y: Self) -> Self
Get the fast ceiling of the quotient from integer division. Not safe, since the remainder can easily overflow.
sourcefn ceil_mod(self, y: Self) -> i32
 
fn ceil_mod(self, y: Self) -> i32
Get the fast ceiling modulus from integer division. Not safe, since the remainder can easily overflow.
sourcefn bit_length(self) -> u32
 
fn bit_length(self) -> u32
Get the number of bits in a value.
sourcefn overflow_digits(radix: u32) -> usize
 
fn overflow_digits(radix: u32) -> usize
Get the maximum number of digits before the slice will overflow.
This is effectively the floor(log(2**BITS-1, radix)), but we can try to go a bit lower without worrying too much.
Object Safety§
This trait is not object safe.