From 12745b40bb7a55d0be202082acbdfc1e2712e194 Mon Sep 17 00:00:00 2001 From: Moritz Hoffmann Date: Tue, 30 Nov 2021 17:28:49 +0100 Subject: [PATCH] Update rand to 0.8 Signed-off-by: Moritz Hoffmann --- timely/Cargo.toml | 2 +- timely/examples/bfs.rs | 7 +++---- timely/examples/hashjoin.rs | 9 ++++----- timely/examples/pagerank.rs | 13 ++++++------- timely/examples/unionfind.rs | 7 +++---- 5 files changed, 17 insertions(+), 21 deletions(-) diff --git a/timely/Cargo.toml b/timely/Cargo.toml index 831239389..60269900a 100644 --- a/timely/Cargo.toml +++ b/timely/Cargo.toml @@ -34,4 +34,4 @@ futures-util = "0.3" [dev-dependencies] # timely_sort="0.1.6" -rand="0.4" +rand = { version = "0.8", features = ["small_rng"] } diff --git a/timely/examples/bfs.rs b/timely/examples/bfs.rs index 35cb52f8b..0dc2d6987 100644 --- a/timely/examples/bfs.rs +++ b/timely/examples/bfs.rs @@ -3,7 +3,7 @@ extern crate timely; use std::collections::HashMap; -use rand::{Rng, SeedableRng, StdRng}; +use rand::{Rng, SeedableRng, rngs::SmallRng}; use timely::dataflow::operators::{ToStream, Concat, Feedback, ConnectLoop}; use timely::dataflow::operators::generic::operator::Operator; @@ -21,8 +21,7 @@ fn main() { let index = worker.index(); let peers = worker.peers(); - let seed: &[_] = &[1, 2, 3, index]; - let mut rng: StdRng = SeedableRng::from_seed(seed); + let mut rng: SmallRng = SeedableRng::seed_from_u64(index as u64); // pending edges and node updates. let mut edge_list = Vec::new(); @@ -41,7 +40,7 @@ fn main() { // generate part of a random graph. let graph = (0..edges / peers) - .map(move |_| (rng.gen_range(0u32, nodes as u32), rng.gen_range(0u32, nodes as u32))) + .map(move |_| (rng.gen_range(0..nodes as u32), rng.gen_range(0..nodes as u32))) .to_stream(scope); // define a loop variable, for the (node, worker) pairs. diff --git a/timely/examples/hashjoin.rs b/timely/examples/hashjoin.rs index 27be5eece..ad8ef8809 100644 --- a/timely/examples/hashjoin.rs +++ b/timely/examples/hashjoin.rs @@ -3,7 +3,7 @@ extern crate timely; use std::collections::HashMap; -use rand::{Rng, SeedableRng, StdRng}; +use rand::{Rng, SeedableRng, rngs::SmallRng}; use timely::dataflow::*; use timely::dataflow::operators::{Input, Probe}; @@ -79,8 +79,7 @@ fn main() { .probe_with(&mut probe); }); - let seed: &[_] = &[1, 2, 3, index]; - let mut rng: StdRng = SeedableRng::from_seed(seed); + let mut rng: SmallRng = SeedableRng::seed_from_u64(index as u64); let timer = std::time::Instant::now(); @@ -90,8 +89,8 @@ fn main() { // Send some amount of data, no more than `batch`. let to_send = std::cmp::min(batch, vals/peers - sent); for _ in 0 .. to_send { - input1.send((rng.gen_range(0, keys), rng.gen_range(0, keys))); - input2.send((rng.gen_range(0, keys), rng.gen_range(0, keys))); + input1.send((rng.gen_range(0..keys), rng.gen_range(0..keys))); + input2.send((rng.gen_range(0..keys), rng.gen_range(0..keys))); } sent += to_send; diff --git a/timely/examples/pagerank.rs b/timely/examples/pagerank.rs index 136fb5a10..0a2da2351 100644 --- a/timely/examples/pagerank.rs +++ b/timely/examples/pagerank.rs @@ -2,7 +2,7 @@ extern crate rand; extern crate timely; use std::collections::HashMap; -use rand::{Rng, SeedableRng, StdRng}; +use rand::{Rng, SeedableRng, rngs::SmallRng}; use timely::dataflow::{InputHandle, ProbeHandle}; use timely::dataflow::operators::{Feedback, ConnectLoop, Probe}; @@ -161,12 +161,11 @@ fn main() { let nodes: usize = std::env::args().nth(1).unwrap().parse().unwrap(); let edges: usize = std::env::args().nth(2).unwrap().parse().unwrap(); - let seed: &[_] = &[1, 2, 3, worker.index()]; - let mut rng1: StdRng = SeedableRng::from_seed(seed); - let mut rng2: StdRng = SeedableRng::from_seed(seed); + let mut rng1: SmallRng = SeedableRng::seed_from_u64(worker.index() as u64); + let mut rng2: SmallRng = SeedableRng::seed_from_u64(worker.index() as u64); for _ in 0 .. edges / worker.peers() { - input.send(((rng1.gen_range(0, nodes), rng1.gen_range(0, nodes)), 1)); + input.send(((rng1.gen_range(0..nodes), rng1.gen_range(0..nodes)), 1)); } input.advance_to(1); @@ -176,8 +175,8 @@ fn main() { } for i in 1 .. 1000 { - input.send(((rng1.gen_range(0, nodes), rng1.gen_range(0, nodes)), 1)); - input.send(((rng2.gen_range(0, nodes), rng2.gen_range(0, nodes)), -1)); + input.send(((rng1.gen_range(0..nodes), rng1.gen_range(0..nodes)), 1)); + input.send(((rng2.gen_range(0..nodes), rng2.gen_range(0..nodes)), -1)); input.advance_to(i + 1); while probe.less_than(input.time()) { worker.step(); diff --git a/timely/examples/unionfind.rs b/timely/examples/unionfind.rs index e5af0f3fd..ab3cfa814 100644 --- a/timely/examples/unionfind.rs +++ b/timely/examples/unionfind.rs @@ -3,7 +3,7 @@ extern crate timely; use std::cmp::Ordering; -use rand::{Rng, SeedableRng, StdRng}; +use rand::{Rng, SeedableRng, rngs::SmallRng}; use timely::dataflow::*; use timely::dataflow::operators::{Input, Exchange, Probe}; @@ -34,11 +34,10 @@ fn main() { .probe_with(&mut probe); }); - let seed: &[_] = &[1, 2, 3, index]; - let mut rng: StdRng = SeedableRng::from_seed(seed); + let mut rng: SmallRng = SeedableRng::seed_from_u64(index as u64); for edge in 0..(edges / peers) { - input.send((rng.gen_range(0, nodes), rng.gen_range(0, nodes))); + input.send((rng.gen_range(0..nodes), rng.gen_range(0..nodes))); if edge % batch == (batch - 1) { let next = input.epoch() + 1; input.advance_to(next);