utils::number

Trait Integer

Source
pub trait Integer:
    Number
    + Not<Output = Self>
    + BitAnd<Output = Self>
    + BitAndAssign
    + BitOr<Output = Self>
    + BitOrAssign
    + BitXor<Output = Self>
    + BitXorAssign
    + Shl<Output = Self>
    + Shl<u32, Output = Self>
    + ShlAssign
    + ShlAssign<u32>
    + Shr<Output = Self>
    + Shr<u32, Output = Self>
    + ShrAssign
    + ShrAssign<u32>
    + TryInto<i128> {
    type Unsigned: UnsignedInteger;
    type Signed: SignedInteger;

    // Required methods
    fn abs_diff(self, rhs: Self) -> Self::Unsigned;
    fn checked_add(self, rhs: Self) -> Option<Self>;
    fn checked_sub(self, rhs: Self) -> Option<Self>;
    fn checked_mul(self, rhs: Self) -> Option<Self>;
    fn trailing_ones(self) -> u32;
    fn trailing_zeros(self) -> u32;
    fn unsigned_abs(self) -> Self::Unsigned;
}
Expand description

Trait implemented by the primitive integer types.

Required Associated Types§

Required Methods§

Source

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source

fn checked_add(self, rhs: Self) -> Option<Self>

Source

fn checked_sub(self, rhs: Self) -> Option<Self>

Source

fn checked_mul(self, rhs: Self) -> Option<Self>

Source

fn trailing_ones(self) -> u32

Source

fn trailing_zeros(self) -> u32

Source

fn unsigned_abs(self) -> Self::Unsigned

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 Integer for i8

Source§

type Unsigned = u8

Source§

type Signed = i8

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for i16

Source§

type Unsigned = u16

Source§

type Signed = i16

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for i32

Source§

type Unsigned = u32

Source§

type Signed = i32

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for i64

Source§

type Unsigned = u64

Source§

type Signed = i64

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for i128

Source§

type Unsigned = u128

Source§

type Signed = i128

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for isize

Source§

type Unsigned = usize

Source§

type Signed = isize

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for u8

Source§

type Unsigned = u8

Source§

type Signed = i8

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for u16

Source§

type Unsigned = u16

Source§

type Signed = i16

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for u32

Source§

type Unsigned = u32

Source§

type Signed = i32

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for u64

Source§

type Unsigned = u64

Source§

type Signed = i64

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for u128

Source§

type Unsigned = u128

Source§

type Signed = i128

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Source§

impl Integer for usize

Source§

type Unsigned = usize

Source§

type Signed = isize

Source§

fn abs_diff(self, rhs: Self) -> Self::Unsigned

Source§

fn checked_add(self, rhs: Self) -> Option<Self>

Source§

fn checked_sub(self, rhs: Self) -> Option<Self>

Source§

fn checked_mul(self, rhs: Self) -> Option<Self>

Source§

fn trailing_ones(self) -> u32

Source§

fn trailing_zeros(self) -> u32

Source§

fn unsigned_abs(self) -> Self::Unsigned

Implementors§