pub trait BigInteger:
ToBits
+ FromBits
+ ToBytes
+ FromBytes
+ Copy
+ Clone
+ Debug
+ Default
+ Display
+ Eq
+ Ord
+ Send
+ Sized
+ Sync
+ 'static
+ Uniform
+ AsMut<[u64]>
+ AsRef<[u64]>
+ From<u64> {
const NUM_LIMBS: usize;
Show 13 methods
// Required 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>;
}
Expand description
This defines a BigInteger
, a smart wrapper around a
sequence of u64
limbs, least-significant digit first.
Required Associated Constants§
Required Methods§
Sourcefn add_nocarry(&mut self, other: &Self) -> bool
fn add_nocarry(&mut self, other: &Self) -> bool
Add another representation to this one, returning the carry bit.
Sourcefn sub_noborrow(&mut self, other: &Self) -> bool
fn sub_noborrow(&mut self, other: &Self) -> bool
Subtract another representation from this one, returning the borrow bit.
Sourcefn mul2(&mut self)
fn mul2(&mut self)
Performs a leftwise bitshift of this number, effectively multiplying it by 2. Overflow is ignored.
Sourcefn num_bits(&self) -> u32
fn num_bits(&self) -> u32
Compute the number of bits needed to encode this number. Always a multiple of 64.
Sourcefn to_biguint(&self) -> BigUint
fn to_biguint(&self) -> BigUint
Returns the BigUint representation.
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.