Trait number_traits::Integer [] [src]

pub trait Integer: Num + Not<Output = Self> + BitAnd<Output = Self> + BitOr<Output = Self> + BitXor<Output = Self> + Shl<usize, Output = Self> + Shr<usize, Output = Self> {
    fn count_ones(&self) -> u32;
fn count_zeros(&self) -> u32;
fn leading_zeros(&self) -> u32;
fn trailing_zeros(&self) -> u32;
fn rotate_left(&self, n: u32) -> Self;
fn rotate_right(&self, n: u32) -> Self;
fn signed_shl(&self, n: u32) -> Self;
fn signed_shr(&self, n: u32) -> Self;
fn integer_shl(&self, n: u32) -> Self;
fn integer_shr(&self, n: u32) -> Self;
fn swap_bytes(&self) -> Self;
fn from_be(x: &Self) -> Self;
fn from_le(x: &Self) -> Self;
fn to_be(&self) -> Self;
fn to_le(&self) -> Self;
fn pow(&self, exp: u32) -> Self;
fn gcd(&self, other: &Self) -> Self;
fn lcm(&self, other: &Self) -> Self;
fn is_multiple_of(&self, other: &Self) -> bool;
fn is_even(&self) -> bool;
fn is_odd(&self) -> bool; }

Required Methods

Examples

use number_traits::Integer;

assert_eq!(Integer::gcd(&6, &8), 2);
assert_eq!(Integer::gcd(&7, &3), 1);

Examples

use number_traits::Integer;

assert_eq!(Integer::lcm(&7, &3), 21);
assert_eq!(Integer::lcm(&2, &4), 4);

Examples

use number_traits::Integer;

assert_eq!(Integer::is_multiple_of(&9, &3), true);
assert_eq!(Integer::is_multiple_of(&3, &9), false);

Examples

use number_traits::Integer;

assert_eq!(Integer::is_even(&3), false);
assert_eq!(Integer::is_even(&4), true);

Examples

use number_traits::Integer;

assert_eq!(Integer::is_odd(&3), true);
assert_eq!(Integer::is_odd(&4), false);

Implementations on Foreign Types

impl<T> Integer for Wrapping<T> where
    T: Integer,
    Self: Num + Not<Output = Self> + BitAnd<Output = Self> + BitOr<Output = Self> + BitXor<Output = Self> + Shl<usize, Output = Self> + Shr<usize, Output = Self>, 
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

Implementors