Skip to content

Commit c95454e

Browse files
authored
Merge pull request #132 from JeroenGar/rand-0.10
rand 0.10 and optimized imports
2 parents 3d2a586 + f8cad9c commit c95454e

26 files changed

Lines changed: 90 additions & 89 deletions

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ name = "bench"
1414
path = "src/bench.rs"
1515

1616
[dependencies]
17-
jagua-rs = { features = ["spp"], git = "https://github.com/JeroenGar/jagua-rs.git", rev = "76aab0fa70688ee50d1809f5376f71c758ea0b7c"}
17+
jagua-rs = { features = ["spp"], git = "https://github.com/JeroenGar/jagua-rs.git", rev = "ba38bcae9ed3ab41a9e93a1894e2b01ea87c6619"}
1818
#jagua-rs = { features = ["spp"], path = "../jagua-rs/jagua-rs" }
19-
rand = "0.9"
20-
rand_distr = "0.5"
19+
rand = "0.10"
20+
rand_distr = "0.6"
21+
rand_xoshiro = "0.8"
2122
svg = "0.18"
2223
itertools = "0.14"
2324
log = { version = "0.4", features = ["release_max_level_info"] }
@@ -36,9 +37,8 @@ test-case = "3.3"
3637
clap = { version = "4.5", features = ["derive"] }
3738
anyhow = "1.0"
3839
ndarray = "0.17"
39-
rand_xoshiro = "0.7"
4040

41-
getrandom = { version = "0.3", features = ["wasm_js"] }
41+
getrandom = { version = "0.4", features = ["wasm_js"] }
4242

4343
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
4444
ctrlc = "3.4"

src/bench.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
extern crate core;
22
use sparrow::util::terminator::Terminator;
33

4+
use jagua_rs::Instant;
45
use ordered_float::OrderedFloat;
5-
use rand::{Rng, RngCore, SeedableRng};
6+
use rand::{Rng, RngExt, SeedableRng};
67
use sparrow::config::*;
78
use sparrow::optimizer::lbf::LBFBuilder;
89
use sparrow::optimizer::separator::Separator;
@@ -11,7 +12,6 @@ use std::env::args;
1112
use std::fs;
1213
use std::path::Path;
1314
use std::time::Duration;
14-
use jagua_rs::Instant;
1515

1616
use anyhow::Result;
1717
use jagua_rs::io::import::Importer;

src/consts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use jagua_rs::io::svg::{SvgDrawOptions, SvgLayoutTheme};
21
use crate::sample::search::SampleConfig;
2+
use jagua_rs::io::svg::{SvgDrawOptions, SvgLayoutTheme};
33

44
pub const GLS_WEIGHT_MAX_INC_RATIO: f32 = 2.0;
55
pub const GLS_WEIGHT_MIN_INC_RATIO: f32 = 1.2;

src/eval/lbf_evaluator.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use jagua_rs::collision_detection::hazards::filter::NoFilter;
21
use crate::eval::sample_eval::{SampleEval, SampleEvaluator};
2+
use jagua_rs::collision_detection::hazards::filter::NoFilter;
33
use jagua_rs::entities::Item;
44
use jagua_rs::entities::Layout;
5-
use jagua_rs::geometry::DTransformation;
65
use jagua_rs::geometry::geo_traits::TransformableFrom;
76
use jagua_rs::geometry::primitives::SPolygon;
7+
use jagua_rs::geometry::DTransformation;
88

99
pub const X_MULTIPLIER: f32 = 10.0;
1010
pub const Y_MULTIPLIER: f32 = 1.0;

src/eval/sep_evaluator.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
use jagua_rs::collision_detection::hazards::collector::HazardCollector;
21
use crate::eval::sample_eval::{SampleEval, SampleEvaluator};
32
use crate::eval::specialized_jaguars_pipeline::{collect_poly_collisions_in_detector_custom, SpecializedHazardCollector};
43
use crate::quantify::tracker::CollisionTracker;
4+
use jagua_rs::collision_detection::hazards::collector::HazardCollector;
55
use jagua_rs::entities::Item;
66
use jagua_rs::entities::Layout;
77
use jagua_rs::entities::PItemKey;
8-
use jagua_rs::geometry::DTransformation;
98
use jagua_rs::geometry::primitives::SPolygon;
9+
use jagua_rs::geometry::DTransformation;
1010

1111
pub struct SeparationEvaluator<'a> {
1212
layout: &'a Layout,

src/eval/specialized_jaguars_pipeline.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use std::f32::consts::PI;
21
use crate::quantify::quantify_collision_poly_container;
32
#[cfg(not(feature = "simd"))]
43
use crate::quantify::quantify_collision_poly_poly;
@@ -10,16 +9,17 @@ use crate::quantify::tracker::CollisionTracker;
109
use crate::util::assertions;
1110
use crate::util::bit_reversal_iterator::BitReversalIterator;
1211
use float_cmp::approx_eq;
13-
use jagua_rs::collision_detection::CDEngine;
1412
use jagua_rs::collision_detection::hazards::collector::HazardCollector;
1513
use jagua_rs::collision_detection::hazards::{HazKey, HazardEntity};
1614
use jagua_rs::collision_detection::quadtree::QTHazPresence;
15+
use jagua_rs::collision_detection::CDEngine;
1716
use jagua_rs::entities::Layout;
1817
use jagua_rs::entities::PItemKey;
19-
use jagua_rs::geometry::DTransformation;
20-
use jagua_rs::geometry::geo_traits::{TransformableFrom};
18+
use jagua_rs::geometry::geo_traits::TransformableFrom;
2119
use jagua_rs::geometry::primitives::SPolygon;
20+
use jagua_rs::geometry::DTransformation;
2221
use slotmap::SecondaryMap;
22+
use std::f32::consts::PI;
2323

2424
/// Functionally identical to [`CDEngine::collect_poly_collisions`], but with early return.
2525
/// Collision collection will stop as soon as the loss exceeds the `loss_bound` of the detector.

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
#![allow(const_item_mutation)]
33
#![allow(unused_imports)]
44

5-
use std::sync::LazyLock;
6-
use numfmt::{Formatter, Precision, Scales};
75
use jagua_rs::Instant;
6+
use numfmt::{Formatter, Precision, Scales};
7+
use std::sync::LazyLock;
88

99
pub mod optimizer;
1010
pub mod quantify;

src/main.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
extern crate core;
22

33
use clap::Parser as Clap;
4+
use jagua_rs::io::import::Importer;
45
use log::{info, warn, Level};
56
use rand::SeedableRng;
67
use sparrow::config::*;
78
use sparrow::optimizer::optimize;
89
use sparrow::util::io;
9-
use sparrow::util::io::{MainCli, ExtSPOutput};
10+
use sparrow::util::io::{ExtSPOutput, MainCli};
11+
use sparrow::EPOCH;
1012
use std::fs;
1113
use std::path::Path;
1214
use std::time::Duration;
13-
use jagua_rs::io::import::Importer;
14-
use sparrow::EPOCH;
1515

1616
use anyhow::{bail, Result};
1717
use rand_xoshiro::Xoshiro256PlusPlus;
1818
use sparrow::consts::{DEFAULT_COMPRESS_TIME_RATIO, DEFAULT_EXPLORE_TIME_RATIO, DEFAULT_FAIL_DECAY_RATIO_CMPR, DEFAULT_MAX_CONSEQ_FAILS_EXPL, LOG_LEVEL_FILTER_DEBUG, LOG_LEVEL_FILTER_RELEASE};
19-
use sparrow::util::svg_exporter::SvgExporter;
2019
use sparrow::util::ctrlc_terminator::CtrlCTerminator;
20+
use sparrow::util::svg_exporter::SvgExporter;
2121

2222
pub const OUTPUT_DIR: &str = "output";
2323

src/optimizer/compress.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
use jagua_rs::Instant;
2-
use jagua_rs::probs::spp::entities::{SPInstance, SPSolution};
3-
use log::info;
4-
use rand::Rng;
51
use crate::config::{CompressionConfig, ShrinkDecayStrategy};
62
use crate::optimizer::separator::Separator;
73
use crate::util::listener::{ReportType, SolutionListener};
84
use crate::util::terminator::Terminator;
5+
use jagua_rs::probs::spp::entities::{SPInstance, SPSolution};
6+
use jagua_rs::Instant;
7+
use log::info;
8+
use rand::{Rng, RngExt};
99

1010
/// Algorithm 13 from https://doi.org/10.48550/arXiv.2509.13329
1111
pub fn compression_phase(

src/optimizer/explore.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
use std::cmp::Reverse;
1+
use crate::config::ExplorationConfig;
2+
use crate::optimizer::separator::{Separator, SeparatorConfig};
3+
use crate::sample::uniform_sampler::convert_sample_to_closest_feasible;
4+
use crate::util::listener::{ReportType, SolutionListener};
5+
use crate::util::terminator::Terminator;
6+
use crate::FMT;
27
use float_cmp::approx_eq;
38
use itertools::Itertools;
49
use jagua_rs::collision_detection::hazards::HazardEntity;
@@ -10,12 +15,7 @@ use ordered_float::OrderedFloat;
1015
use rand::prelude::{Distribution, IteratorRandom};
1116
use rand_distr::Normal;
1217
use slotmap::SecondaryMap;
13-
use crate::config::ExplorationConfig;
14-
use crate::FMT;
15-
use crate::optimizer::separator::{Separator, SeparatorConfig};
16-
use crate::sample::uniform_sampler::convert_sample_to_closest_feasible;
17-
use crate::util::listener::{ReportType, SolutionListener};
18-
use crate::util::terminator::Terminator;
18+
use std::cmp::Reverse;
1919

2020
/// Algorithm 12 from https://doi.org/10.48550/arXiv.2509.13329
2121
pub fn exploration_phase(instance: &SPInstance, sep: &mut Separator, sol_listener: &mut impl SolutionListener, term: &impl Terminator, config: &ExplorationConfig) -> Vec<SPSolution> {

0 commit comments

Comments
 (0)