pub trait Integer: 'static + AsRef<[Limb]> + BitAnd<Output = Self> + BitOr<Output = Self> + BitXor<Output = Self> + for<'a> CheckedAdd<&'a Self, Output = Self> + for<'a> CheckedSub<&'a Self, Output = Self> + for<'a> CheckedMul<&'a Self, Output = Self> + Copy + ConditionallySelectable + ConstantTimeEq + ConstantTimeGreater + ConstantTimeLess + Debug + Default + Div<NonZero<Self>, Output = Self> + Eq + From<u64> + Not + Ord + Rem<NonZero<Self>, Output = Self> + Send + Sized + Shl<usize, Output = Self> + Shr<usize, Output = Self> + Sync + Zero {
    const ONE: Self;
    const MAX: Self;
    const BITS: usize;
    const BYTES: usize;
    const LIMBS: usize;

    // Required method
    fn is_odd(&self) -> Choice;

    // Provided method
    fn is_even(&self) -> Choice { ... }
}
Expand description

Integer type.

Required Associated Constants§

source

const ONE: Self

The value 1.

source

const MAX: Self

Maximum value this integer can express.

source

const BITS: usize

Total size of the represented integer in bits.

source

const BYTES: usize

Total size of the represented integer in bytes.

source

const LIMBS: usize

The number of limbs used on this platform.

Required Methods§

source

fn is_odd(&self) -> Choice

Is this integer value an odd number?

Returns

If odd, returns Choice(1). Otherwise, returns Choice(0).

Provided Methods§

source

fn is_even(&self) -> Choice

Is this integer value an even number?

Returns

If even, returns Choice(1). Otherwise, returns Choice(0).

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<const LIMBS: usize> Integer for Uint<LIMBS>

source§

const ONE: Self = Self::ONE

source§

const MAX: Self = Self::MAX

source§

const BITS: usize = Self::BITS

source§

const BYTES: usize = Self::BYTES

source§

const LIMBS: usize = Self::LIMBS