fix(input): O(n log n) instead of O(n^2)

This commit is contained in:
Nova
2022-12-02 11:09:23 -05:00
parent 6a3024657f
commit 03ccf9127d
4 changed files with 47 additions and 23 deletions

View File

@@ -11,7 +11,10 @@ pub struct Hand {
pub base: FlatHand,
}
impl InputSpecialization for Hand {
fn distance(&self, space: &Arc<Spatial>, field: &Field) -> f32 {
fn compare_distance(&self, space: &Arc<Spatial>, field: &Field) -> f32 {
self.true_distance(space, field).abs()
}
fn true_distance(&self, space: &Arc<Spatial>, field: &Field) -> f32 {
let mut min_distance = f32::MAX;
for tip in [