use num_traits::Float;
pub trait Expand<T: Float> {
type Target;
fn expand(&self) -> Self::Target;
}
impl<T, U> Expand<T> for (U, U)
where
T: Float,
U: Expand<T>,
{
type Target = (<U as Expand<T>>::Target, <U as Expand<T>>::Target);
#[inline]
fn expand(&self) -> Self::Target {
(self.0.expand(), self.1.expand())
}
}