Fix the exactness criterion algorithm

This commit is contained in:
Clément Renault 2019-10-26 13:43:23 +02:00
parent 751b060320
commit 9a57cab3ee
No known key found for this signature in database
GPG Key ID: 0151CDAB43460DAE

View File

@ -21,16 +21,15 @@ fn number_exact_matches(
let len = group.len(); let len = group.len();
let mut found_exact = false; let mut found_exact = false;
for (pos, _) in is_exact[index..index + len] for (pos, is_exact) in is_exact[index..index + len].iter().enumerate() {
.iter() if *is_exact {
.filter(|x| **x) found_exact = true;
.enumerate() let attr = &attribute[index + pos];
{ if let Ok(pos) = fields_counts.binary_search_by_key(attr, |(a, _)| a.0) {
found_exact = true; let (_, count) = fields_counts[pos];
if let Ok(pos) = fields_counts.binary_search_by_key(&attribute[pos], |(a, _)| a.0) { if count == 1 {
let (_, count) = fields_counts[pos]; return usize::max_value();
if count == 1 { }
return usize::max_value();
} }
} }
} }