From ce3b0f84fd652bdc1b10bc2ff68f780c57c81a7f Mon Sep 17 00:00:00 2001 From: ozwaldorf Date: Sun, 30 Jul 2023 22:50:11 -0400 Subject: [PATCH] fix: rbf interpolation functions should expect squared distance --- src/interpolation/rbf/gaussian.rs | 2 +- src/interpolation/rbf/shepard.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/interpolation/rbf/gaussian.rs b/src/interpolation/rbf/gaussian.rs index 5431ff4..095dd66 100644 --- a/src/interpolation/rbf/gaussian.rs +++ b/src/interpolation/rbf/gaussian.rs @@ -6,7 +6,7 @@ pub struct GaussianFn { } impl RadialBasisFn for GaussianFn { fn radial_basis(&self, distance: f64) -> f64 { - (-self.shape * distance.powf(2.0)).exp() + (-self.shape * distance).exp() } } diff --git a/src/interpolation/rbf/shepard.rs b/src/interpolation/rbf/shepard.rs index 5997019..13bdd22 100644 --- a/src/interpolation/rbf/shepard.rs +++ b/src/interpolation/rbf/shepard.rs @@ -6,7 +6,7 @@ pub struct InverseDistanceFn { } impl RadialBasisFn for InverseDistanceFn { fn radial_basis(&self, distance: f64) -> f64 { - 1.0 / distance.powf(self.power) + 1.0 / distance.sqrt().powf(self.power) } }