pub trait RandBigInt {
// Required methods
fn gen_biguint(&mut self, bit_size: u64) -> BigUint;
fn gen_bigint(&mut self, bit_size: u64) -> BigInt;
fn gen_biguint_below(&mut self, bound: &BigUint) -> BigUint;
fn gen_biguint_range(
&mut self,
lbound: &BigUint,
ubound: &BigUint,
) -> BigUint;
fn gen_bigint_range(&mut self, lbound: &BigInt, ubound: &BigInt) -> BigInt;
}
Expand description
A trait for sampling random big integers.
The rand
feature must be enabled to use this. See crate-level documentation for details.
Required Methods§
Sourcefn gen_biguint(&mut self, bit_size: u64) -> BigUint
fn gen_biguint(&mut self, bit_size: u64) -> BigUint
Generate a random BigUint
of the given bit size.
Sourcefn gen_bigint(&mut self, bit_size: u64) -> BigInt
fn gen_bigint(&mut self, bit_size: u64) -> BigInt
Generate a random BigInt of the given bit size.
Sourcefn gen_biguint_below(&mut self, bound: &BigUint) -> BigUint
fn gen_biguint_below(&mut self, bound: &BigUint) -> BigUint
Generate a random BigUint
less than the given bound. Fails
when the bound is zero.
Sourcefn gen_biguint_range(&mut self, lbound: &BigUint, ubound: &BigUint) -> BigUint
fn gen_biguint_range(&mut self, lbound: &BigUint, ubound: &BigUint) -> BigUint
Generate a random BigUint
within the given range. The lower
bound is inclusive; the upper bound is exclusive. Fails when
the upper bound is not greater than the lower bound.
Sourcefn gen_bigint_range(&mut self, lbound: &BigInt, ubound: &BigInt) -> BigInt
fn gen_bigint_range(&mut self, lbound: &BigInt, ubound: &BigInt) -> BigInt
Generate a random BigInt
within the given range. The lower
bound is inclusive; the upper bound is exclusive. Fails when
the upper bound is not greater than the lower bound.