Struct flow_sdk::algorithms::secp256k1::rand::distributions::Bernoulli [−][src]
pub struct Bernoulli { /* fields omitted */ }
Expand description
The Bernoulli distribution.
This is a special case of the Binomial distribution where n = 1
.
Example
use rand::distributions::{Bernoulli, Distribution};
let d = Bernoulli::new(0.3);
let v = d.sample(&mut rand::thread_rng());
println!("{} is from a Bernoulli distribution", v);
Precision
This Bernoulli
distribution uses 64 bits from the RNG (a u64
),
so only probabilities that are multiples of 2-64 can be
represented.
Implementations
Construct a new Bernoulli
with the given probability of success p
.
Panics
If p < 0
or p > 1
.
Precision
For p = 1.0
, the resulting distribution will always generate true.
For p = 0.0
, the resulting distribution will always generate false.
This method is accurate for any input p
in the range [0, 1]
which is
a multiple of 2-64. (Note that not all multiples of
2-64 in [0, 1]
can be represented as a f64
.)
Construct a new Bernoulli
with the probability of success of
numerator
-in-denominator
. I.e. new_ratio(2, 3)
will return
a Bernoulli
with a 2-in-3 chance, or about 67%, of returning true
.
If numerator == denominator
then the returned Bernoulli
will always
return true
. If numerator == 0
it will always return false
.
Panics
If denominator == 0
or numerator > denominator
.
Trait Implementations
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Auto Trait Implementations
impl RefUnwindSafe for Bernoulli
impl UnwindSafe for Bernoulli
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T
in a tonic::Request
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more