diff options
Diffstat (limited to 'graph-checker/src/compute.rs')
| -rw-r--r-- | graph-checker/src/compute.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/graph-checker/src/compute.rs b/graph-checker/src/compute.rs index 0beaad9..c3ee046 100644 --- a/graph-checker/src/compute.rs +++ b/graph-checker/src/compute.rs @@ -60,14 +60,12 @@ pub async fn dominating_numbers( if geodesic_sets.len() == 1 { fg = Some(0) } else { - for i in 0..geodesic_sets.len() { - let check = &geodesic_sets[i]; + for (i, check) in geodesic_sets.iter().enumerate() { let mut verts = check.clone(); - for j in 0..geodesic_sets.len() { + for (j, set) in geodesic_sets.iter().enumerate() { if i == j { continue; } - let set = &geodesic_sets[j]; for v in 0..g.size { if check[v] == set[v] { verts[v] = 0; @@ -75,11 +73,10 @@ pub async fn dominating_numbers( } } let new_fg = verts.iter().sum::<u32>(); - if new_fg > 0 { - if new_fg < fg.unwrap_or(g.size as u32) { - fg = Some(new_fg); - } + if new_fg > 0 && new_fg < fg.unwrap_or(g.size as u32) { + fg = Some(new_fg); } + if let Some(fg) = fg { if fg == 1 { break; |