diff --git a/src/anagram_analyzer.rs b/src/anagram_analyzer.rs index 2d3c7d6..57e0512 100644 --- a/src/anagram_analyzer.rs +++ b/src/anagram_analyzer.rs @@ -53,7 +53,7 @@ pub fn analyze_anagrams(anagram_vector: Vec, dictionary: &Dictionary, per process_anagram_chunk(&chunk, phrase_length, hashes_to_find, &mut result); } - //println!("{} {}", anagram_logger::get_anagram_vector_view(&anagram_vector, dictionary), total); + //println!("{} {}", crate::solution::get_anagram_vector_view(&anagram_vector, dictionary), total); result } \ No newline at end of file diff --git a/src/dictionary_builder.rs b/src/dictionary_builder.rs index 017c4b3..959094c 100644 --- a/src/dictionary_builder.rs +++ b/src/dictionary_builder.rs @@ -75,7 +75,7 @@ impl Dictionary { } let mut words_by_vectors: Vec<_> = words_by_vectors.into_values().collect(); - words_by_vectors.sort_by_key(|(vector, _)| vector.norm); + words_by_vectors.sort_by_cached_key(|(vector, _)| (vector.norm, vector.get_key())); words_by_vectors.reverse(); let mut vectors = vec![]; diff --git a/src/vector_alphabet.rs b/src/vector_alphabet.rs index cb41294..ca7c6bc 100644 --- a/src/vector_alphabet.rs +++ b/src/vector_alphabet.rs @@ -1,4 +1,5 @@ use std::collections::HashMap; +use std::fmt; use packed_simd; #[derive(Debug)] @@ -36,6 +37,10 @@ impl Vector { return None; } } + + pub fn get_key(&self) -> String { + format!("{:?}", self.simd_vector) + } } pub struct Alphabet {