#[cfg(any(feature = "std", feature = "libm"))]
pub trait Hypot<T> {
type Output;
fn hypot(self, rhs: T) -> Self::Output;
}
pub trait Min<T> {
type Output;
fn min(self, rhs: T) -> Self::Output;
}
pub trait Max<T> {
type Output;
fn max(self, rhs: T) -> Self::Output;
}
#[cfg(any(feature = "std", feature = "libm"))]
pub trait Copysign<T> {
type Output;
fn copysign(self, rhs: T) -> Self::Output;
}
#[cfg(any(feature = "std", feature = "libm"))]
pub trait DivEuclid<T> {
type Output;
fn div_euclid(self, rhs: T) -> Self::Output;
}
#[cfg(any(feature = "std", feature = "libm"))]
pub trait Atan2<T> {
type Output;
fn atan2(self, rhs: T) -> Self::Output;
}
#[cfg(any(feature = "std", feature = "libm"))]
pub trait Powf<T> {
type Output;
fn powf(self, rhs: T) -> Self::Output;
}
#[rustversion::since(1.85)]
pub trait Midpoint<T> {
type Output;
fn midpoint(self, rhs: T) -> Self::Output;
}