(results: &mut Vec<NnResult>, item: NnResult, k: usize)
| 160 | } |
| 161 | |
| 162 | fn insert_sorted(results: &mut Vec<NnResult>, item: NnResult, k: usize) { |
| 163 | let pos = results |
| 164 | .binary_search_by(|r| { |
| 165 | r.distance |
| 166 | .partial_cmp(&item.distance) |
| 167 | .unwrap_or(std::cmp::Ordering::Equal) |
| 168 | }) |
| 169 | .unwrap_or_else(|pos| pos); |
| 170 | results.insert(pos, item); |
| 171 | if results.len() > k { |
| 172 | results.truncate(k); |
| 173 | } |
| 174 | } |
no test coverage detected