diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-09-27 11:14:59 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-09-27 11:32:09 -0700 |
| commit | 7e7411e6209b10d99bc37c084c8ac45fbb706431 (patch) | |
| tree | fc5b85d6581704ff0f20f4dfb064bf368099e73c /src | |
| parent | 52ad2750ea8c5f43bdb1bce009590df7fdc34461 (diff) | |
| download | rust-7e7411e6209b10d99bc37c084c8ac45fbb706431.tar.gz rust-7e7411e6209b10d99bc37c084c8ac45fbb706431.zip | |
Demode rand
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/rand.rs | 20 | ||||
| -rw-r--r-- | src/test/bench/core-map.rs | 4 |
2 files changed, 14 insertions, 10 deletions
diff --git a/src/libcore/rand.rs b/src/libcore/rand.rs index d68bd97ae5d..c04c46d02e5 100644 --- a/src/libcore/rand.rs +++ b/src/libcore/rand.rs @@ -1,5 +1,9 @@ //! Random number generation +// NB: transitional, de-mode-ing. +#[warn(deprecated_mode)]; +#[forbid(deprecated_pattern)]; + #[allow(non_camel_case_types)] // runtime type enum rctx {} @@ -120,7 +124,7 @@ impl Rng { /** * Return a char randomly chosen from chars, failing if chars is empty */ - fn gen_char_from(chars: ~str) -> char { + fn gen_char_from(chars: &str) -> char { assert !chars.is_empty(); self.choose(str::chars(chars)) } @@ -272,8 +276,8 @@ pub fn Rng() -> Rng { * all other generators constructed with the same seed. The seed may be any * length. */ -pub fn seeded_rng(seed: ~[u8]) -> Rng { - @RandRes(rustrt::rand_new_seeded(seed)) as Rng +pub fn seeded_rng(seed: &~[u8]) -> Rng { + @RandRes(rustrt::rand_new_seeded(*seed)) as Rng } type XorShiftState = { @@ -310,8 +314,8 @@ pub mod tests { #[test] pub fn rng_seeded() { let seed = rand::seed(); - let ra = rand::seeded_rng(seed); - let rb = rand::seeded_rng(seed); + let ra = rand::seeded_rng(&seed); + let rb = rand::seeded_rng(&seed); assert ra.gen_str(100u) == rb.gen_str(100u); } @@ -319,15 +323,15 @@ pub mod tests { pub fn rng_seeded_custom_seed() { // much shorter than generated seeds which are 1024 bytes let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8]; - let ra = rand::seeded_rng(seed); - let rb = rand::seeded_rng(seed); + let ra = rand::seeded_rng(&seed); + let rb = rand::seeded_rng(&seed); assert ra.gen_str(100u) == rb.gen_str(100u); } #[test] pub fn rng_seeded_custom_seed2() { let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8]; - let ra = rand::seeded_rng(seed); + let ra = rand::seeded_rng(&seed); // Regression test that isaac is actually using the above vector let r = ra.next(); error!("%?", r); diff --git a/src/test/bench/core-map.rs b/src/test/bench/core-map.rs index 279905fe3f1..afd9b2ccc9c 100644 --- a/src/test/bench/core-map.rs +++ b/src/test/bench/core-map.rs @@ -154,7 +154,7 @@ fn main(++args: ~[~str]) { let seed = ~[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; { - let rng = rand::seeded_rng(copy seed); + let rng = rand::seeded_rng(&seed); let mut results = empty_results(); int_benchmarks::<map::HashMap<uint, uint>>( map::HashMap, rng, num_keys, &mut results); @@ -164,7 +164,7 @@ fn main(++args: ~[~str]) { } { - let rng = rand::seeded_rng(copy seed); + let rng = rand::seeded_rng(&seed); let mut results = empty_results(); int_benchmarks::<@Mut<LinearMap<uint, uint>>>( || @Mut(LinearMap()), |
