pub trait HyperbolicOps {
fn sinh(self) -> Self;
fn cosh(self) -> Self;
fn tanh(self) -> Self;
fn asinh(self) -> Self;
fn acosh(self) -> Self;
fn atanh(self) -> Self;
}
macro_rules! impl_hyperbolic {
($($t:ty),*) => {
$(impl HyperbolicOps for $t {
#[inline] fn sinh(self) -> Self { self.sinh() }
#[inline] fn cosh(self) -> Self { self.cosh() }
#[inline] fn tanh(self) -> Self { self.tanh() }
#[inline] fn asinh(self) -> Self { self.asinh() }
#[inline] fn acosh(self) -> Self { self.acosh() }
#[inline] fn atanh(self) -> Self { self.atanh() }
})*
};
}
impl_hyperbolic!(f32, f64);