|
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::cos (const AngleUnit angle) noexcept |
| | Compute cosine.
|
| |
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::sin (const AngleUnit angle) noexcept |
| | Compute sine.
|
| |
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::tan (const AngleUnit angle) noexcept |
| | Compute tangent.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::acos (const ScalarUnit x) noexcept |
| | Compute arc cosine.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::asin (const ScalarUnit x) noexcept |
| | Compute arc sine.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::atan (const ScalarUnit x) noexcept |
| | Compute arc tangent.
|
| |
| template<class Y , class X > |
| constexpr angle::radian_t | units::math::atan2 (const Y y, const X x) noexcept |
| | Compute arc tangent with two parameters.
|
| |
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::cosh (const AngleUnit angle) noexcept |
| | Compute hyperbolic cosine.
|
| |
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::sinh (const AngleUnit angle) noexcept |
| | Compute hyperbolic sine.
|
| |
| template<class AngleUnit > |
| constexpr dimensionless::scalar_t | units::math::tanh (const AngleUnit angle) noexcept |
| | Compute hyperbolic tangent.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::acosh (const ScalarUnit x) noexcept |
| | Compute arc hyperbolic cosine.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::asinh (const ScalarUnit x) noexcept |
| | Compute arc hyperbolic sine.
|
| |
| template<class ScalarUnit > |
| constexpr angle::radian_t | units::math::atanh (const ScalarUnit x) noexcept |
| | Compute arc hyperbolic tangent.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::exp (const ScalarUnit x) noexcept |
| | Compute exponential function.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::log (const ScalarUnit x) noexcept |
| | Compute natural logarithm.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::log10 (const ScalarUnit x) noexcept |
| | Compute common logarithm.
|
| |
| template<class ScalarUnit > |
| dimensionless::scalar_t | units::math::modf (const ScalarUnit x, ScalarUnit *intpart) noexcept |
| | Break into fractional and integral parts.
|
| |
| template<class ScalarUnit > |
| dimensionless::scalar_t | units::math::exp2 (const ScalarUnit x) noexcept |
| | Compute binary exponential function.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::expm1 (const ScalarUnit x) noexcept |
| | Compute exponential minus one.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::log1p (const ScalarUnit x) noexcept |
| | Compute logarithm plus one.
|
| |
| template<class ScalarUnit > |
| constexpr dimensionless::scalar_t | units::math::log2 (const ScalarUnit x) noexcept |
| | Compute binary logarithm.
|
| |
| template<class UnitType , std::enable_if_t< units::traits::has_linear_scale< UnitType >::value, int > = 0> |
| constexpr auto | units::math::sqrt (const UnitType &value) noexcept -> unit_t< square_root< typename units::traits::unit_t_traits< UnitType >::unit_type >, typename units::traits::unit_t_traits< UnitType >::underlying_type, linear_scale > |
| | computes the square root of value
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , std::enable_if_t< units::traits::has_linear_scale< UnitTypeLhs, UnitTypeRhs >::value, int > = 0> |
| constexpr UnitTypeLhs | units::math::hypot (const UnitTypeLhs &x, const UnitTypeRhs &y) |
| | Computes the square root of the sum-of-squares of x and y.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::ceil (const UnitType x) noexcept |
| | Round up value.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::floor (const UnitType x) noexcept |
| | Round down value.
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitTypeRhs>::value>> |
| constexpr UnitTypeLhs | units::math::fmod (const UnitTypeLhs numer, const UnitTypeRhs denom) noexcept |
| | Compute remainder of division.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::trunc (const UnitType x) noexcept |
| | Truncate value.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::round (const UnitType x) noexcept |
| | Round to nearest.
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitTypeRhs>::value>> |
| constexpr UnitTypeLhs | units::math::copysign (const UnitTypeLhs x, const UnitTypeRhs y) noexcept |
| | Copy sign.
|
| |
| template<class UnitTypeLhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value>> |
| constexpr UnitTypeLhs | units::math::copysign (const UnitTypeLhs x, const UNIT_LIB_DEFAULT_TYPE y) noexcept |
| | Overload to copy the sign from a raw double.
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitTypeRhs>::value>> |
| UnitTypeLhs | units::math::fdim (const UnitTypeLhs x, const UnitTypeRhs y) noexcept |
| | Positive difference.
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitTypeRhs>::value>> |
| constexpr UnitTypeLhs | units::math::fmax (const UnitTypeLhs x, const UnitTypeRhs y) noexcept |
| | Maximum value.
|
| |
| template<class UnitTypeLhs , class UnitTypeRhs , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitTypeRhs>::value>> |
| constexpr UnitTypeLhs | units::math::fmin (const UnitTypeLhs x, const UnitTypeRhs y) noexcept |
| | Minimum value.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::fabs (const UnitType x) noexcept |
| | Compute absolute value.
|
| |
| template<class UnitType , class = std::enable_if_t<traits::is_unit_t<UnitType>::value>> |
| constexpr UnitType | units::math::abs (const UnitType x) noexcept |
| | Compute absolute value.
|
| |
| template<class UnitTypeLhs , class UnitMultiply , class UnitAdd , class = std::enable_if_t<traits::is_unit_t<UnitTypeLhs>::value && traits::is_unit_t<UnitMultiply>::value && traits::is_unit_t<UnitAdd>::value>> |
| auto | units::math::fma (const UnitTypeLhs x, const UnitMultiply y, const UnitAdd z) noexcept -> decltype(x *y) |
| | Multiply-add.
|
| |