jaulib v1.3.0
Jau Support Library (C++, Java, ..)
|
#include <cstdint>
#include <cmath>
#include <climits>
#include <jau/int_types.hpp>
#include <jau/int_math_ct.hpp>
Go to the source code of this file.
Namespaces | |
namespace | jau |
__pack(...): Produces MSVC, clang and gcc compatible lead-in and -out macros. | |
Functions | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T > &&!std::is_unsigned_v< T >, bool > = true> | |
constexpr T | jau::abs (const T x) noexcept |
Returns the absolute value of an arithmetic number (w/ branching) in O(1) More... | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T >, bool > = true> | |
constexpr T | jau::clamp (const T x, const T min_val, const T max_val) noexcept |
Returns constrained integral value to lie between given min- and maximum value (w/ branching) in O(1). More... | |
template<class T , std::enable_if_t< std::is_arithmetic_v< T >, bool > = true> | |
bool | jau::in_range (const T &a, const T &b, const T &range) |
base_math: arithmetic types, i.e. More... | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T > &&!std::is_unsigned_v< T >, bool > = true> | |
constexpr T | jau::invert_sign (const T x) noexcept |
Safely inverts the sign of an arithmetic number w/ branching in O(1) More... | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T >, bool > = true> | |
constexpr T | jau::max (const T x, const T y) noexcept |
Returns the maximum of two integrals (w/ branching) in O(1) More... | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T >, bool > = true> | |
constexpr T | jau::min (const T x, const T y) noexcept |
Returns the minimum of two integrals (w/ branching) in O(1) More... | |
template<typename T , std::enable_if_t< std::is_arithmetic_v< T > &&!std::is_unsigned_v< T >, bool > = true> | |
constexpr int | jau::sign (const T x) noexcept |
Returns the value of the sign function (w/o branching ?) in O(1). More... | |