Trait crypto_bigint::Integer

source ·
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