From 935891c852eb8d940ac1d464131a6d08e1c68846 Mon Sep 17 00:00:00 2001 From: Daniel Seiller Date: Sat, 28 Sep 2019 19:26:49 +0200 Subject: [PATCH] chore: rust code cleanup --- rust/src/route.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/rust/src/route.rs b/rust/src/route.rs index f3fd95e..03cf82a 100644 --- a/rust/src/route.rs +++ b/rust/src/route.rs @@ -489,7 +489,7 @@ impl Router { &start_sys, )); seen.insert(start_sys.id); - while !(queue.is_empty() || found) { + while !found { while let Some((depth, _, sys)) = queue.pop() { if t_last.elapsed().as_millis() > 100 { t_last = Instant::now(); @@ -534,6 +534,9 @@ impl Router { }); // queue.reverse(); } + if queue.is_empty() { + break; + } } println!(); @@ -590,7 +593,7 @@ impl Router { let mut queue: Vec<(f32, usize, &System)> = Vec::new(); queue.push((start_sys.distp(goal_sys), 0, &start_sys)); seen.insert(start_sys.id); - while !(queue.is_empty() || found) { + while !found { while let Some((_, depth, sys)) = queue.pop() { if t_last.elapsed().as_millis() > 100 { t_last = Instant::now(); @@ -629,6 +632,9 @@ impl Router { queue.sort_by(|a, b| fcmp(a.0, b.0).then(a.1.cmp(&b.1))); queue.reverse(); } + if queue.is_empty() { + break; + } } if !found { return Err(format!("No route from {} to {} found!", src_name, dst_name)); @@ -820,7 +826,7 @@ impl Router { let mut queue_next: VecDeque<(usize, &System)> = VecDeque::new(); queue.push_front((0, &start_sys)); seen.insert(start_sys.id); - while !(queue.is_empty() || found) { + while !found { while let Some((d, sys)) = queue.pop_front() { if sys.id == goal_sys.id { found = true; @@ -877,6 +883,9 @@ impl Router { ); } std::mem::swap(&mut queue, &mut queue_next); + if queue.is_empty() { + break; + } depth += 1; } println!();