We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 6e82023 commit f8149abCopy full SHA for f8149ab
src/distributions/binomial.rs
@@ -10,7 +10,7 @@
10
//! The binomial distribution.
11
12
use Rng;
13
-use distributions::Distribution;
+use distributions::{Distribution, Uniform};
14
15
/// The binomial distribution `Binomial(n, p)`.
16
///
@@ -139,11 +139,14 @@ impl Distribution<u64> for Binomial {
139
// return value
140
let mut y: i64;
141
142
+ let gen_u = Uniform::new(0., p4);
143
+ let gen_v = Uniform::new(0., 1.);
144
+
145
loop {
146
// Step 1: Generate `u` for selecting the region. If region 1 is
147
// selected, generate a triangularly distributed variate.
- let u = rng.gen_range(0., p4);
- let mut v = rng.gen_range(0., 1.);
148
+ let u = gen_u.sample(rng);
149
+ let mut v = gen_v.sample(rng);
150
if !(u > p1) {
151
y = f64_to_i64(x_m - p1 * v + u);
152
break;
0 commit comments