|
template<typename T > |
static constexpr auto | eagine::math::is_positive_power_of_2 (T value) noexcept -> std::enable_if_t< std::is_integral_v< T >, bool > |
| Indicates if value is a positive integral power of two.
|
|
template<typename T > |
static constexpr auto | eagine::math::greatest_common_divisor (T l, T r) noexcept -> std::enable_if_t< std::is_integral_v< T >, T > |
| Returns the greates common divisor of arguments l and r .
|
|
template<typename T > |
static constexpr auto | eagine::math::signum (T x) noexcept |
| Returns 1 if x is non-negative, returns -1 otherwise.
|
|
template<typename T > |
static constexpr auto | eagine::math::minimum (T a, T b) noexcept |
| Returns the minimum value of a and b .
|
|
template<typename T , typename... P> |
static constexpr auto | eagine::math::minimum (T a, T b, T c, P... d) noexcept |
| Returns the minimum value from multiple arguments.
|
|
template<typename T > |
static constexpr auto | eagine::math::maximum (T a, T b) noexcept |
| Returns the maximum value of a and b .
|
|
template<typename T , typename... P> |
static constexpr auto | eagine::math::maximum (T a, T b, T c, P... d) noexcept |
| Returns the maximum value from multiple arguments.
|
|
template<typename T > |
static constexpr auto | eagine::math::ratio (T a, T b) noexcept -> optionally_valid< T > |
| Returns a divided by b if b is not zero.
|
|
template<typename T > |
static constexpr auto | eagine::math::reciprocal (T x) noexcept -> optionally_valid< T > |
| Returns the reciprocal of x if x is not zero.
|
|
template<typename T , typename Min , typename Max > |
static constexpr auto | eagine::math::clamp (T x, Min min, Max max) noexcept |
| Clamps x to be between min and max .
|
|
template<typename T , typename S , typename E > |
static constexpr auto | eagine::math::ramp (T x, S start, E end) noexcept |
| Normalizes x to (0, 1), where start = 0 and end = 1.
|
|
template<typename T , typename A > |
static constexpr auto | eagine::math::blend (T v1, T v2, A alpha) noexcept |
| Blends v1 and v2 , using alpha as the blending factor.
|
|
template<typename T > |
static constexpr auto | eagine::math::inverse_logistic (T x) noexcept |
| Calculates the inverse logistic (log(x) - log(1 - x)) of x .
|
|
template<typename T > |
static constexpr auto | eagine::math::logistic (T x) noexcept |
| Calculates the logistic (1 / (1 + exp(-x))) of x .
|
|
template<typename T , typename C > |
static constexpr auto | eagine::math::sigmoid01 (T x, C c) noexcept |
| Calculates the sigmoid of x . The value c controls steepness. More...
|
|
template<typename T > |
static constexpr auto | eagine::math::sigmoid01 (T x) noexcept |
| Calculates the default sigmoid of x . More...
|
|
template<typename T > |
static auto | eagine::math::sine_sigmoid01 (T x) |
| Calculates goniometric sigmoid (cos in interval (0, 1)) of x . More...
|
|
template<typename T > |
static constexpr auto | eagine::math::sine_wave01 (T x) noexcept |
| Calculates sine of x , mapped to interval (0, 1). More...
|
|
template<typename T > |
static constexpr auto | eagine::math::cosine_wave01 (T x) noexcept |
| Calculates cosine of x , mapped to interval (0, 1). More...
|
|
template<typename T , typename U = T> |
static constexpr auto | eagine::math::saw (T x, U u=T(1)) noexcept |
| Calculates floating-point modulo of x in intervals of u .
|
|
template<typename T > |
static constexpr auto | eagine::math::factorial (T n) noexcept -> std::enable_if_t< std::is_integral_v< T >, T > |
| Calculates factorial of n .
|
|
template<typename T > |
static constexpr auto | eagine::math::binomial (T n, T k) noexcept -> std::enable_if_t< std::is_integral_v< T >, T > |
| Calculates binomial coefficient of n over k .
|
|
Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt