Use a single hashmap lookup to determine if a color has been resolved, and to what, instead of two lookups.

This commit is contained in:
Chris Vest 2019-03-12 09:54:48 +01:00
parent b2a0fa18ff
commit 0dfa337ba4

View File

@ -153,12 +153,13 @@ impl Backend {
let mut pairs = self.pairs.borrow_mut();
// Find if we have this color in stock
let (front, back) = find_closest_pair(pair);
if pairs.contains_key(&(front, back)) {
let result = find_closest_pair(pair);
let lookup = pairs.get(&result);
if lookup.is_some() {
// We got it!
pairs[&(front, back)]
*lookup.unwrap()
} else {
self.insert_color(&mut *pairs, (front, back))
self.insert_color(&mut *pairs, result)
}
}