#![cfg(feature = "std")]
mod seal {
pub trait StdFloat { }
}
pub(crate) use seal::StdFloat as SealedStdFloat;
pub trait StdFloat: Sized + SealedStdFloat {
#[must_use]
fn mul_add(self, a: Self, b: Self) -> Self;
#[must_use]
fn sqrt(self) -> Self;
#[must_use]
fn cbrt(self) -> Self;
#[must_use]
fn sin(self) -> Self;
#[must_use]
fn cos(self) -> Self;
#[must_use]
fn tan(self) -> Self;
#[must_use]
fn asin(self) -> Self;
#[must_use]
fn acos(self) -> Self;
#[must_use]
fn atan(self) -> Self;
#[must_use]
fn atan2(self, a: Self, b: Self) -> Self;
#[must_use]
fn sinh(self) -> Self;
#[must_use]
fn cosh(self) -> Self;
#[must_use]
fn tanh(self) -> Self;
#[must_use]
fn asinh(self) -> Self;
#[must_use]
fn acosh(self) -> Self;
#[must_use]
fn atanh(self) -> Self;
#[must_use]
fn exp(self) -> Self;
#[must_use]
fn exp2(self) -> Self;
#[must_use]
fn log(self, base: Self) -> Self;
#[must_use]
fn ln(self) -> Self;
#[must_use]
fn log2(self) -> Self;
#[must_use]
fn log10(self) -> Self;
#[must_use]
fn round(self) -> Self;
#[must_use]
fn fract(self) -> Self;
#[must_use]
fn ceil(self) -> Self;
#[must_use]
fn floor(self) -> Self;
#[must_use]
fn trunc(self) -> Self;
}