From 10596e784f52b5a0737c948ef3d58578d8abb5a6 Mon Sep 17 00:00:00 2001 From: Dirreke Date: Fri, 6 Jun 2025 23:13:05 +0800 Subject: [PATCH] bump rand from 0.8 to 0.9 --- Cargo.toml | 2 +- src/crand.rs | 33 ++++++++++++++------------------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 987784c..b705e8c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ default-features = false [dependencies.rand] optional = true -version = "0.8" +version = "0.9" default-features = false [features] diff --git a/src/crand.rs b/src/crand.rs index 12d55e0..e5a40e8 100644 --- a/src/crand.rs +++ b/src/crand.rs @@ -2,13 +2,13 @@ use crate::Complex; use num_traits::Num; -use rand::distributions::Standard; +use rand::distr::StandardUniform; use rand::prelude::*; -impl Distribution> for Standard +impl Distribution> for StandardUniform where T: Num + Clone, - Standard: Distribution, + StandardUniform: Distribution, { fn sample(&self, rng: &mut R) -> Complex { Complex::new(self.sample(rng), self.sample(rng)) @@ -68,11 +68,6 @@ fn test_rng() -> impl RngCore { chunk.copy_from_slice(slice) } } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), rand::Error> { - self.fill_bytes(dest); - Ok(()) - } } XorShiftStar { @@ -84,7 +79,7 @@ fn test_rng() -> impl RngCore { fn standard_f64() { let mut rng = test_rng(); for _ in 0..100 { - let c: Complex = rng.gen(); + let c: Complex = rng.random(); assert!(c.re >= 0.0 && c.re < 1.0); assert!(c.im >= 0.0 && c.im < 1.0); } @@ -93,7 +88,7 @@ fn standard_f64() { #[test] fn generic_standard_f64() { let mut rng = test_rng(); - let dist = ComplexDistribution::new(Standard, Standard); + let dist = ComplexDistribution::new(StandardUniform, StandardUniform); for _ in 0..100 { let c: Complex = rng.sample(dist); assert!(c.re >= 0.0 && c.re < 1.0); @@ -103,11 +98,11 @@ fn generic_standard_f64() { #[test] fn generic_uniform_f64() { - use rand::distributions::Uniform; + use rand::distr::Uniform; let mut rng = test_rng(); - let re = Uniform::new(-100.0, 0.0); - let im = Uniform::new(0.0, 100.0); + let re = Uniform::new(-100.0, 0.0).unwrap(); + let im = Uniform::new(0.0, 100.0).unwrap(); let dist = ComplexDistribution::new(re, im); for _ in 0..100 { // no type annotation required, since `Uniform` only produces one type. @@ -119,11 +114,11 @@ fn generic_uniform_f64() { #[test] fn generic_mixed_f64() { - use rand::distributions::Uniform; + use rand::distr::Uniform; let mut rng = test_rng(); - let re = Uniform::new(-100.0, 0.0); - let dist = ComplexDistribution::new(re, Standard); + let re = Uniform::new(-100.0, 0.0).unwrap(); + let dist = ComplexDistribution::new(re, StandardUniform); for _ in 0..100 { // no type annotation required, since `Uniform` only produces one type. let c = rng.sample(dist); @@ -134,11 +129,11 @@ fn generic_mixed_f64() { #[test] fn generic_uniform_i32() { - use rand::distributions::Uniform; + use rand::distr::Uniform; let mut rng = test_rng(); - let re = Uniform::new(-100, 0); - let im = Uniform::new(0, 100); + let re = Uniform::new(-100, 0).unwrap(); + let im = Uniform::new(0, 100).unwrap(); let dist = ComplexDistribution::new(re, im); for _ in 0..100 { // no type annotation required, since `Uniform` only produces one type.