use interpolate::{self, Scalar};
use interpolation::Spatial;
pub trait Point: Clone {
type X: PartialEq + Clone;
type Y: PartialEq + Spatial;
fn x_to_scalar(x: Self::X) -> <Self::Y as Spatial>::Scalar;
fn x(&self) -> Self::X;
fn y(&self) -> Self::Y;
#[inline]
fn interpolate(x: Self::X, start: &Self, end: &Self) -> Self::Y
where <Self::Y as Spatial>::Scalar: Scalar,
{
interpolate::linear(x, start, end)
}
}