pub trait BigInteger: ToBits + FromBits + ToBytes + FromBytes + Copy + Clone + Debug + Default + Display + Eq + Ord + Send + Sized + Sync + 'static + UniformRand + AsMut<[u64]> + AsRef<[u64]> + From<u64> {
    const NUM_LIMBS: usize;
Show 13 methods fn add_nocarry(&mut self, other: &Self) -> bool;
fn sub_noborrow(&mut self, other: &Self) -> bool;
fn mul2(&mut self);
fn muln(&mut self, amt: u32);
fn div2(&mut self);
fn divn(&mut self, amt: u32);
fn is_odd(&self) -> bool;
fn is_even(&self) -> bool;
fn is_zero(&self) -> bool;
fn num_bits(&self) -> u32;
fn get_bit(&self, i: usize) -> bool;
fn to_biguint(&self) -> BigUint;
fn find_wnaf(&self) -> Vec<i64>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
;
}
Expand description

TODO (howardwu): Update to use ToBits. This defines a BigInteger, a smart wrapper around a sequence of u64 limbs, least-significant digit first.

Associated Constants

The number of limbs used in this BigInteger.

Required methods

Add another representation to this one, returning the carry bit.

Subtract another representation from this one, returning the borrow bit.

Performs a leftwise bitshift of this number, effectively multiplying it by 2. Overflow is ignored.

Performs a leftwise bitshift of this number by some amount.

Performs a rightwise bitshift of this number, effectively dividing it by 2.

Performs a rightwise bitshift of this number by some amount.

Returns true iff this number is odd.

Returns true iff this number is even.

Returns true iff this number is zero.

Compute the number of bits needed to encode this number. Always a multiple of 64.

Compute the i-th bit of self.

Returns the BigUint representation.

Returns a vector for wnaf.

Implementors