Skip to content

Commit 8549df7

Browse files
committed
make shared prefix optional, since it takes a while
1 parent 95d72b6 commit 8549df7

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/display_information/mod.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ pub struct ListAttributes {
2929
pub is_above_shannon_line: bool,
3030
pub shortest_edit_distance: Option<usize>,
3131
pub mean_edit_distance: Option<f64>,
32-
pub longest_shared_prefix: usize,
33-
pub unique_character_prefix: usize,
32+
pub longest_shared_prefix: Option<usize>,
33+
pub unique_character_prefix: Option<usize>,
3434
pub mcmillan: bool,
3535
}
3636

@@ -64,8 +64,8 @@ fn make_attributes(list: &[String], level: u8) -> ListAttributes {
6464
is_uniquely_decodable: None,
6565
shortest_edit_distance: None,
6666
mean_edit_distance: None,
67-
longest_shared_prefix: find_longest_shared_prefix(list),
68-
unique_character_prefix: find_longest_shared_prefix(list) + 1,
67+
longest_shared_prefix: None,
68+
unique_character_prefix: None,
6969
mcmillan: satisfies_mcmillan(list),
7070
}
7171
} else if level == 2 {
@@ -86,8 +86,8 @@ fn make_attributes(list: &[String], level: u8) -> ListAttributes {
8686
is_uniquely_decodable: Some(is_uniquely_decodable(list)),
8787
shortest_edit_distance: None,
8888
mean_edit_distance: None,
89-
longest_shared_prefix: find_longest_shared_prefix(list),
90-
unique_character_prefix: find_longest_shared_prefix(list) + 1,
89+
longest_shared_prefix: None,
90+
unique_character_prefix: None,
9191
mcmillan: satisfies_mcmillan(list),
9292
}
9393
} else {
@@ -108,8 +108,8 @@ fn make_attributes(list: &[String], level: u8) -> ListAttributes {
108108
is_uniquely_decodable: Some(is_uniquely_decodable(list)),
109109
shortest_edit_distance: Some(find_shortest_edit_distance(list)),
110110
mean_edit_distance: Some(find_mean_edit_distance(list)),
111-
longest_shared_prefix: find_longest_shared_prefix(list),
112-
unique_character_prefix: find_longest_shared_prefix(list) + 1,
111+
longest_shared_prefix: Some(find_longest_shared_prefix(list)),
112+
unique_character_prefix: Some(find_longest_shared_prefix(list) + 1),
113113
mcmillan: satisfies_mcmillan(list),
114114
}
115115
}
@@ -218,20 +218,20 @@ pub fn display_list_information(
218218

219219
if let Some(shortest_edit_distance) = list_attributes.shortest_edit_distance {
220220
eprintln!("Shortest edit distance : {}", shortest_edit_distance)
221-
};
221+
}
222222
if let Some(mean_edit_distance) = list_attributes.mean_edit_distance {
223223
eprintln!("Mean edit distance : {:.3}", mean_edit_distance)
224224
}
225-
eprintln!(
226-
"Longest shared prefix : {}",
227-
list_attributes.longest_shared_prefix
228-
);
225+
226+
if let Some(longest_shared_prefix) = list_attributes.longest_shared_prefix {
227+
eprintln!("Longest shared prefix : {}", longest_shared_prefix)
228+
}
229229
// Numbers of characters required to definitely get to a unique
230230
// prefix
231-
eprintln!(
232-
"Unique character prefix : {}",
233-
list_attributes.unique_character_prefix
234-
);
231+
if let Some(unique_character_prefix) = list_attributes.unique_character_prefix {
232+
eprintln!("Unique character prefix : {}", unique_character_prefix)
233+
}
234+
235235
if level >= 4 {
236236
let mcmillan = if list_attributes.mcmillan {
237237
"satisfied"

0 commit comments

Comments
 (0)