diff options
| author | Huon Wilson <dbau.pp+github@gmail.com> | 2013-11-21 19:46:29 +1100 |
|---|---|---|
| committer | Huon Wilson <dbau.pp+github@gmail.com> | 2013-11-22 16:47:01 +1100 |
| commit | 020126ef75e318267415758cf771f25c3ac83bdd (patch) | |
| tree | 4a193a3f48a2aef237a7978cabb8189156d63e57 /src/libstd/rand/distributions | |
| parent | 6a25ba374b2bfe32d4411cab3547d76d47769d6c (diff) | |
| download | rust-020126ef75e318267415758cf771f25c3ac83bdd.tar.gz rust-020126ef75e318267415758cf771f25c3ac83bdd.zip | |
std::rand: move TaskRng off @mut.
Replace with some unsafe code by storing a pointer into TLS-owned heap data.
Diffstat (limited to 'src/libstd/rand/distributions')
| -rw-r--r-- | src/libstd/rand/distributions/mod.rs | 16 | ||||
| -rw-r--r-- | src/libstd/rand/distributions/range.rs | 12 |
2 files changed, 14 insertions, 14 deletions
diff --git a/src/libstd/rand/distributions/mod.rs b/src/libstd/rand/distributions/mod.rs index 9697fc22ccd..dfdb08b7550 100644 --- a/src/libstd/rand/distributions/mod.rs +++ b/src/libstd/rand/distributions/mod.rs @@ -444,17 +444,17 @@ mod tests { fn test_rand_sample() { let mut rand_sample = RandSample::<ConstRand>; - assert_eq!(*rand_sample.sample(task_rng()), 0); - assert_eq!(*rand_sample.ind_sample(task_rng()), 0); + assert_eq!(*rand_sample.sample(&mut task_rng()), 0); + assert_eq!(*rand_sample.ind_sample(&mut task_rng()), 0); } #[test] fn test_normal() { let mut norm = Normal::new(10.0, 10.0); - let rng = task_rng(); + let mut rng = task_rng(); for _ in range(0, 1000) { - norm.sample(rng); - norm.ind_sample(rng); + norm.sample(&mut rng); + norm.ind_sample(&mut rng); } } #[test] @@ -466,10 +466,10 @@ mod tests { #[test] fn test_exp() { let mut exp = Exp::new(10.0); - let rng = task_rng(); + let mut rng = task_rng(); for _ in range(0, 1000) { - assert!(exp.sample(rng) >= 0.0); - assert!(exp.ind_sample(rng) >= 0.0); + assert!(exp.sample(&mut rng) >= 0.0); + assert!(exp.ind_sample(&mut rng) >= 0.0); } } #[test] diff --git a/src/libstd/rand/distributions/range.rs b/src/libstd/rand/distributions/range.rs index 1b805a0b8f7..db9cefa4d79 100644 --- a/src/libstd/rand/distributions/range.rs +++ b/src/libstd/rand/distributions/range.rs @@ -183,7 +183,7 @@ mod tests { #[test] fn test_integers() { - let rng = task_rng(); + let mut rng = task_rng(); macro_rules! t ( ($($ty:ty),*) => {{ $( @@ -193,9 +193,9 @@ mod tests { for &(low, high) in v.iter() { let mut sampler: Range<$ty> = Range::new(low, high); for _ in range(0, 1000) { - let v = sampler.sample(rng); + let v = sampler.sample(&mut rng); assert!(low <= v && v < high); - let v = sampler.ind_sample(rng); + let v = sampler.ind_sample(&mut rng); assert!(low <= v && v < high); } } @@ -208,7 +208,7 @@ mod tests { #[test] fn test_floats() { - let rng = task_rng(); + let mut rng = task_rng(); macro_rules! t ( ($($ty:ty),*) => {{ $( @@ -219,9 +219,9 @@ mod tests { for &(low, high) in v.iter() { let mut sampler: Range<$ty> = Range::new(low, high); for _ in range(0, 1000) { - let v = sampler.sample(rng); + let v = sampler.sample(&mut rng); assert!(low <= v && v < high); - let v = sampler.ind_sample(rng); + let v = sampler.ind_sample(&mut rng); assert!(low <= v && v < high); } } |
