From 6002abd6238e2b43967c8c58874cf5a9946ae710 Mon Sep 17 00:00:00 2001 From: Rostyslav Bohomaz Date: Tue, 22 Jul 2025 12:56:54 +0300 Subject: [PATCH 1/3] update `rand` dependencies --- Cargo.toml | 6 +++--- tests/lines.rs | 16 +++++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1f13adc..572a786 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,11 +13,11 @@ readme = "README.md" [dependencies] sample-consensus = "1.0.1" -rand_core = "0.6.3" +rand_core = "0.9" [dev-dependencies] -rand = "0.8.4" -rand_xoshiro = "0.6.0" +rand = "0.9" +rand_xoshiro = "0.7" [profile.dev] opt-level = 3 diff --git a/tests/lines.rs b/tests/lines.rs index 84edbca..70cf42e 100644 --- a/tests/lines.rs +++ b/tests/lines.rs @@ -1,6 +1,8 @@ use arrsac::Arrsac; -use rand::distributions::Uniform; -use rand::{distributions::Distribution, Rng, SeedableRng}; +use rand::{ + distr::{Distribution, Uniform}, + Rng, SeedableRng, +}; use rand_xoshiro::Xoshiro256PlusPlus; use sample_consensus::{Consensus, Estimator, Model}; @@ -89,18 +91,18 @@ fn lines() { for _ in 0..2000 { // Generate and normalize. - let norm = Vector2::new(rng.gen_range(-10.0..10.0), rng.gen_range(-10.0..10.0)).normalize(); + let norm = Vector2::new(rng.random_range(-10.0..10.0), rng.random_range(-10.0..10.0)).normalize(); // Get parallel ray. let ray = Vector2::new(norm.y, -norm.x); // Generate random c. - let c = rng.gen_range(-10.0..10.0); + let c = rng.random_range(-10.0..10.0); // Generate random number of points between 50 and 1000. - let num = rng.gen_range(50..1000); + let num = rng.random_range(50..1000); // The points should be no more than 5.0 away from the line and be evenly distributed away from the line. - let residuals = Uniform::new(-5.0, 5.0); + let residuals = Uniform::new(-5.0, 5.0).unwrap(); // The points must be generated along the line, but the distance should be bounded to make it more difficult. - let distances = Uniform::new(-50.0, 50.0); + let distances = Uniform::new(-50.0, 50.0).unwrap(); // Generate the points. let points: Vec> = (0..num) .map(|_| { From 3dbfaf70347abe026b3b4593183bac55558683db Mon Sep 17 00:00:00 2001 From: Rostyslav Bohomaz Date: Tue, 22 Jul 2025 12:57:53 +0300 Subject: [PATCH 2/3] fix clippy errors --- src/lib.rs | 2 +- tests/no_solutions.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2ba33cd..576c9c9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -378,7 +378,7 @@ where } } - (inliers >= minimum_samples).then(|| inliers) + (inliers >= minimum_samples).then_some(inliers) } /// Determines the number of inliers a model has. diff --git a/tests/no_solutions.rs b/tests/no_solutions.rs index 5fc93b6..32592c6 100644 --- a/tests/no_solutions.rs +++ b/tests/no_solutions.rs @@ -3,7 +3,7 @@ use rand::SeedableRng; use rand_xoshiro::Xoshiro256PlusPlus; use sample_consensus::{Consensus, Estimator, Model}; -pub struct Unsolvable(f64); +pub struct Unsolvable(#[allow(dead_code)] f64); impl Model for Unsolvable { fn residual(&self, _data: &i32) -> f64 { From c1d1e478122b875ed328794220e144516dbaf1ec Mon Sep 17 00:00:00 2001 From: Rostyslav Bohomaz Date: Tue, 22 Jul 2025 16:46:56 +0300 Subject: [PATCH 3/3] format --- tests/lines.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/lines.rs b/tests/lines.rs index 70cf42e..3f3ab64 100644 --- a/tests/lines.rs +++ b/tests/lines.rs @@ -91,7 +91,8 @@ fn lines() { for _ in 0..2000 { // Generate and normalize. - let norm = Vector2::new(rng.random_range(-10.0..10.0), rng.random_range(-10.0..10.0)).normalize(); + let norm = + Vector2::new(rng.random_range(-10.0..10.0), rng.random_range(-10.0..10.0)).normalize(); // Get parallel ray. let ray = Vector2::new(norm.y, -norm.x); // Generate random c.