Update the rand crate to 0.9.x
- `thread_rng` becomes just `rng`. - `gen` is renamed to `random`, `gen_range` to `random_range`. - Avoid using the `rand` feature of the not yet updated crate `lowdim`.
This commit is contained in:
@@ -11,9 +11,9 @@ license = "MIT OR Apache-2.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
rand = "0.8.4"
|
||||
chrono = "0.4.6"
|
||||
lowdim = { version = "0.6.0", features = ["random"] }
|
||||
lowdim = { version = "0.6.0" }
|
||||
primal = "0.3.3"
|
||||
rand = "0.9.2"
|
||||
serde = { version = "1.0.215", features = ["derive"] }
|
||||
serde_json = "1.0.132"
|
||||
|
||||
@@ -7,7 +7,7 @@ use std::iter::repeat;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use pixelfoo_apps::color::Color;
|
||||
@@ -53,7 +53,7 @@ fn main() -> std::io::Result<()> {
|
||||
let t_frame = 0.040; // s
|
||||
let delay = Duration::new(0, (1_000_000_000.0 * t_frame) as u32);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let colors = vec![
|
||||
Color::black(),
|
||||
@@ -70,24 +70,24 @@ fn main() -> std::io::Result<()> {
|
||||
.collect::<Vec<_>>();
|
||||
for x in 0..(x_size / 8) {
|
||||
for y in 0..(y_size / 8) {
|
||||
let fg = colors[rng.gen_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.gen::<f64>());
|
||||
let bg = colors[rng.gen_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.gen::<f64>());
|
||||
let start_index = rng.gen_range(0..buffer.len() / 8) * 8;
|
||||
let fg = colors[rng.random_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.random::<f64>());
|
||||
let bg = colors[rng.random_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.random::<f64>());
|
||||
let start_index = rng.random_range(0..buffer.len() / 8) * 8;
|
||||
let bitmap = &buffer[start_index..(start_index + 8)];
|
||||
paint_char(&mut frame, x, y, bitmap, fg, bg);
|
||||
}
|
||||
}
|
||||
loop {
|
||||
if rng.gen::<f64>() < 0.02 {
|
||||
let x = rng.gen_range(0..x_size / 8);
|
||||
let y = rng.gen_range(0..y_size / 8);
|
||||
let fg = colors[rng.gen_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.gen::<f64>());
|
||||
let bg = colors[rng.gen_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.gen::<f64>());
|
||||
let start_index = rng.gen_range(0..buffer.len() / 8) * 8;
|
||||
if rng.random::<f64>() < 0.02 {
|
||||
let x = rng.random_range(0..x_size / 8);
|
||||
let y = rng.random_range(0..y_size / 8);
|
||||
let fg = colors[rng.random_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.random::<f64>());
|
||||
let bg = colors[rng.random_range(0..colors.len())]
|
||||
.interpolate(Color::black(), 0.8 * rng.random::<f64>());
|
||||
let start_index = rng.random_range(0..buffer.len() / 8) * 8;
|
||||
let bitmap = &buffer[start_index..(start_index + 8)];
|
||||
paint_char(&mut frame, x, y, bitmap, fg, bg);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::iter::repeat_with;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use pixelfoo_apps::color::Color;
|
||||
@@ -28,12 +28,12 @@ impl Palette {
|
||||
where
|
||||
R: Rng,
|
||||
{
|
||||
let r = rng.gen::<f64>();
|
||||
let r = rng.random::<f64>();
|
||||
let mut p_sum = 0.0;
|
||||
for &(p, c0, c1) in &self.0 {
|
||||
p_sum += p;
|
||||
if r < p_sum {
|
||||
return c0.interpolate(c1, rng.gen::<f64>().powf(2.0));
|
||||
return c0.interpolate(c1, rng.random::<f64>().powf(2.0));
|
||||
}
|
||||
}
|
||||
Color::black()
|
||||
@@ -58,7 +58,7 @@ fn main() -> std::io::Result<()> {
|
||||
let t_frame = 0.040; // s
|
||||
let delay = Duration::new(0, (1_000_000_000.0 * t_frame) as u32);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let palette_29 = Palette(vec![
|
||||
(0.04, Color::new(86, 197, 208), Color::new(86, 197, 208)),
|
||||
@@ -164,8 +164,8 @@ fn main() -> std::io::Result<()> {
|
||||
.take(y_size)
|
||||
.collect::<Vec<_>>();
|
||||
loop {
|
||||
let x = rng.gen_range(0..x_size);
|
||||
let y = rng.gen_range(0..y_size);
|
||||
let x = rng.random_range(0..x_size);
|
||||
let y = rng.random_range(0..y_size);
|
||||
let c = palette.pick(&mut rng);
|
||||
frame[y][x] = c;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::io::Write;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -137,7 +137,7 @@ const E12: &[[Ring; 2]; 12] = &[
|
||||
];
|
||||
|
||||
fn random_element<'a, T, R: Rng>(elements: &'a [T], rng: &mut R) -> &'a T {
|
||||
let i = rng.gen_range(0..elements.len());
|
||||
let i = rng.random_range(0..elements.len());
|
||||
&elements[i]
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ fn main() -> Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let frame_size = x_size * y_size * COLORS;
|
||||
|
||||
@@ -226,11 +226,11 @@ fn main() -> Result<()> {
|
||||
loop {
|
||||
if t == 0 {
|
||||
// Pick a new resistor.
|
||||
if rng.gen::<f64>() < p_pruefungsfragen {
|
||||
if rng.random::<f64>() < p_pruefungsfragen {
|
||||
r = random_element(&pruefungsfragen, &mut rng).clone();
|
||||
body_color = carbon_body_color;
|
||||
} else {
|
||||
let is_five_ring = rng.gen::<f64>() < 0.5;
|
||||
let is_five_ring = rng.random::<f64>() < 0.5;
|
||||
|
||||
body_color = if is_five_ring {
|
||||
// A turquise blue metal film resistor.
|
||||
|
||||
@@ -9,7 +9,7 @@ use std::time::Duration;
|
||||
use chrono::Local;
|
||||
use chrono::Timelike;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -235,7 +235,7 @@ where
|
||||
open.push(Move {
|
||||
from,
|
||||
dir,
|
||||
prio: prio * 100 + rng.gen_range(0..1000),
|
||||
prio: prio * 100 + rng.random_range(0..1000),
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -255,7 +255,7 @@ fn main() -> std::io::Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let t_frame = 0.040; // s
|
||||
let delay = Duration::new(0, (1_000_000_000.0 * t_frame) as u32);
|
||||
|
||||
@@ -4,7 +4,7 @@ use std::io::Write;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -75,7 +75,7 @@ fn main() -> std::io::Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
let bbox = bb2d(0..x_size as i64, 0..y_size as i64);
|
||||
|
||||
let p_alive_init = 0.125;
|
||||
@@ -83,7 +83,7 @@ fn main() -> std::io::Result<()> {
|
||||
|
||||
let mut board = Board::with(bbox, |_p| {
|
||||
// Initialize board randomly.
|
||||
let r = rng.gen::<f64>();
|
||||
let r = rng.random::<f64>();
|
||||
if r < p_alive_init {
|
||||
Square::Alive
|
||||
} else {
|
||||
@@ -110,7 +110,7 @@ fn main() -> std::io::Result<()> {
|
||||
} else {
|
||||
if p.y() < bbox.y_min() || p.y() > bbox.y_max() {
|
||||
// The invisible long edge is filled randomly.
|
||||
let r = rng.gen::<f64>();
|
||||
let r = rng.random::<f64>();
|
||||
if r < p_alive_edge {
|
||||
Square::Alive
|
||||
} else {
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::iter::repeat;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use pixelfoo_apps::color::Color;
|
||||
@@ -35,7 +35,7 @@ fn main() -> std::io::Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let t_frame = 0.040; // s
|
||||
let delay = Duration::new(0, (1_000_000_000.0 * t_frame) as u32);
|
||||
@@ -65,7 +65,7 @@ fn main() -> std::io::Result<()> {
|
||||
let b = 27.0;
|
||||
let c = 8.0 / 3.0;
|
||||
|
||||
let mut x = rng.gen::<f64>() - 0.5;
|
||||
let mut x = rng.random::<f64>() - 0.5;
|
||||
let mut y = 0.0;
|
||||
let mut z = zc;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
use std::time::Instant;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -75,11 +75,11 @@ impl RunningState {
|
||||
self.t += 1;
|
||||
let y = usize::try_from(self.head_y()).unwrap();
|
||||
if y >= self.brightnesses.len() {
|
||||
self.brightnesses.push(0.5 + 0.5 * rng.gen::<f64>());
|
||||
self.brightnesses.push(0.5 + 0.5 * rng.random::<f64>());
|
||||
}
|
||||
if rng.gen::<f64>() < 0.2 {
|
||||
let y = rng.gen_range(0..self.brightnesses.len());
|
||||
self.brightnesses[y] = 0.5 + 0.5 * rng.gen::<f64>();
|
||||
if rng.random::<f64>() < 0.2 {
|
||||
let y = rng.random_range(0..self.brightnesses.len());
|
||||
self.brightnesses[y] = 0.5 + 0.5 * rng.random::<f64>();
|
||||
}
|
||||
}
|
||||
fn head_y(&self) -> i64 {
|
||||
@@ -198,7 +198,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
let bbox = bb2d(0..x_size as i64, 0..y_size as i64);
|
||||
|
||||
let frame_duration = Duration::from_millis(50);
|
||||
@@ -226,16 +226,16 @@ fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
// Update the animation
|
||||
for animation in &mut animations {
|
||||
if animation.is_idle() {
|
||||
if rng.gen::<f64>() < p_new_animation {
|
||||
if rng.random::<f64>() < p_new_animation {
|
||||
let frames_per_step = {
|
||||
if rng.gen::<f64>() < p_slow_animation {
|
||||
if rng.random::<f64>() < p_slow_animation {
|
||||
frames_per_step_slow
|
||||
} else {
|
||||
frames_per_step_normal
|
||||
}
|
||||
};
|
||||
if frame_count % frames_per_step == 0 {
|
||||
let size = rng.gen_range(15..=30);
|
||||
let size = rng.random_range(15..=30);
|
||||
animation.start(frames_per_step, size, 15, i64::try_from(y_size)?);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ use std::time::Duration;
|
||||
use chrono::Local;
|
||||
use chrono::Timelike;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -234,7 +234,7 @@ where
|
||||
open.push(Move {
|
||||
from,
|
||||
dir,
|
||||
prio: prio * 100 + rng.gen_range(0..1000),
|
||||
prio: prio * 100 + rng.random_range(0..1000),
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -254,7 +254,7 @@ fn main() -> std::io::Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
|
||||
let t_frame = 0.040; // s
|
||||
let delay = Duration::new(0, (1_000_000_000.0 * t_frame) as u32);
|
||||
|
||||
@@ -4,7 +4,7 @@ use std::io::Write;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use rand::thread_rng;
|
||||
use rand::rng;
|
||||
use rand::Rng;
|
||||
|
||||
use lowdim::bb2d;
|
||||
@@ -83,14 +83,14 @@ fn main() -> std::io::Result<()> {
|
||||
};
|
||||
eprintln!("screen size {}x{}, arg {}", x_size, y_size, arg);
|
||||
|
||||
let mut rng = thread_rng();
|
||||
let mut rng = rng();
|
||||
let bbox = bb2d(0..x_size, 0..y_size);
|
||||
|
||||
let p_empty = 0.25;
|
||||
let p_grass = 0.25;
|
||||
let p_rabbit = 0.25;
|
||||
let mut board = Board::new(bbox, || {
|
||||
let p = rng.gen::<f64>();
|
||||
let p = rng.random::<f64>();
|
||||
if p < p_empty {
|
||||
Square::Empty
|
||||
} else if p < p_empty + p_grass {
|
||||
@@ -114,7 +114,9 @@ fn main() -> std::io::Result<()> {
|
||||
|
||||
loop {
|
||||
for _ in 0..arg {
|
||||
let pos = bbox.random_point(&mut rng);
|
||||
let x = rng.random_range(bbox.x_range());
|
||||
let y = rng.random_range(bbox.y_range());
|
||||
let pos = p2d(x, y);
|
||||
let sq = board.get(pos);
|
||||
let dx = (pos.x() as f64 - x_mid as f64) / r as f64;
|
||||
let dy = (pos.y() as f64 - y_mid as f64) / r as f64;
|
||||
@@ -125,7 +127,7 @@ fn main() -> std::io::Result<()> {
|
||||
Square::Rabbit => p0,
|
||||
Square::Fox => 0.8 * p0,
|
||||
};
|
||||
let new_sq = if rng.gen::<f64>() < p_survive {
|
||||
let new_sq = if rng.random::<f64>() < p_survive {
|
||||
sq
|
||||
} else {
|
||||
Square::Empty
|
||||
|
||||
Reference in New Issue
Block a user