Struct bitcoin_random::FastRandomContext
source · pub struct FastRandomContext {
pub requires_seed: bool,
pub rng: ChaCha20,
pub bytebuf: [u8; 64],
pub bytebuf_size: i32,
pub bitbuf: u64,
pub bitbuf_size: i32,
}
Expand description
| Fast randomness source. This is seeded | once with secure random data, but is | completely deterministic and does | not gather more entropy after that. | | This class is not thread-safe. |
Fields§
§requires_seed: bool
§rng: ChaCha20
§bytebuf: [u8; 64]
§bytebuf_size: i32
§bitbuf: u64
§bitbuf_size: i32
Implementations§
Trait Implementations§
source§impl Default for FastRandomContext
impl Default for FastRandomContext
source§impl From<&mut FastRandomContext> for FastRandomContext
impl From<&mut FastRandomContext> for FastRandomContext
source§fn from(other: &mut FastRandomContext) -> Self
fn from(other: &mut FastRandomContext) -> Self
| Move a FastRandomContext. If the original | one is used again, it will be reseeded. |
source§impl From<&u256> for FastRandomContext
impl From<&u256> for FastRandomContext
source§impl RandRange for FastRandomContext
impl RandRange for FastRandomContext
source§impl RngCore for FastRandomContext
impl RngCore for FastRandomContext
source§fn fill_bytes(&mut self, dest: &mut [u8])
fn fill_bytes(&mut self, dest: &mut [u8])
Fill
dest
with random data. Read moreAuto Trait Implementations§
impl RefUnwindSafe for FastRandomContext
impl Send for FastRandomContext
impl Sync for FastRandomContext
impl Unpin for FastRandomContext
impl UnwindSafe for FastRandomContext
Blanket Implementations§
§impl<T, U> CastInto<U> for Twhere
U: CastFrom<T>,
impl<T, U> CastInto<U> for Twhere U: CastFrom<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R> Rng for Rwhere
R: RngCore + ?Sized,
impl<R> Rng for Rwhere R: RngCore + ?Sized,
source§fn gen<T>(&mut self) -> Twhere
Standard: Distribution<T>,
fn gen<T>(&mut self) -> Twhere Standard: Distribution<T>,
source§fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn gen_range<T, R>(&mut self, range: R) -> Twhere T: SampleUniform, R: SampleRange<T>,
Generate a random value in the given range. Read more
source§fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
fn sample<T, D>(&mut self, distr: D) -> Twhere D: Distribution<T>,
Sample a new value, using the given distribution. Read more
source§fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> DistIter<D, Self, T>where D: Distribution<T>, Self: Sized,
Create an iterator that generates values using the given distribution. Read more
source§fn gen_bool(&mut self, p: f64) -> bool
fn gen_bool(&mut self, p: f64) -> bool
Return a bool with a probability
p
of being true. Read moresource§fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool
Return a bool with a probability of
numerator/denominator
of being
true. I.e. gen_ratio(2, 3)
has chance of 2 in 3, or about 67%, of
returning true. If numerator == denominator
, then the returned value
is guaranteed to be true
. If numerator == 0
, then the returned
value is guaranteed to be false
. Read more§impl<T> StaticUpcast<T> for T
impl<T> StaticUpcast<T> for T
§unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>
unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>
Convert type of a const pointer. Read more