46extern const double PI;
59 static inline double val() {
return 1.0E-11; }
63 static inline float val() {
return 1.0E-7f; }
67 static inline long double val() {
return 1.0E-15; }
71 static inline int val() {
return 0; }
92 return -std::numeric_limits<T>::infinity();
101 return std::numeric_limits<T>::infinity();
120 return std::numeric_limits<T>::quiet_NaN();
147inline bool zero(
const int &value)
152template <
typename T1,
typename T2>
153inline bool zero(
const T1 &value1,
const T2 &value2)
158template <
typename T1,
typename T2,
typename T3>
188template <
typename T1,
typename T2>
189inline bool equal(
const T1 &value,
const T2 &reference)
195template <
typename T1,
typename T2,
typename T3>
201template <
typename T1,
typename T2>
202inline bool less(
const T1 &value,
const T2 &reference)
208template <
typename T1,
typename T2>
209inline bool lessEqual(
const T1 &value,
const T2 &reference)
215template <
typename T1,
typename T2>
216inline bool greater(
const T1 &value,
const T2 &reference)
222template <
typename T1,
typename T2>
238 return static_cast<int>(
ub_math::zero(value) ? 0 : ((value < 0.0) ? (value - 0.5) : (value + 0.5)));
261 return static_cast<T>(0.0);
263 return static_cast<T>(
PI);
294template <
typename T1,
typename T2,
typename T3,
typename T4>
301template <
typename T1,
typename T2,
typename T3,
typename T4>
308template <
typename T1,
typename T2,
typename T3>
318template <
typename T1,
typename T2,
typename T3>
328template <
typename T1,
typename T2,
typename T3>
411template <
typename T,
typename U>
414 return a +
t * (
b - a);
417template <
typename T,
typename U>
423template <
typename T,
typename U>
424constexpr T lerp3(
const T& a,
const T&
b,
const T&
c,
const T& d,
const T& e,
const T& f,
const T&
g,
const T&
h,
const U&
t,
425 const U&
u,
const U& v)
427 return lerp(
lerp2(a,
b,
c, d,
t,
u),
lerp2(e, f,
g,
h,
t,
u), v);
std::shared_ptr< T > SPtr
#define UB_STATIC_ASSERT(expr)
T getDegrees(const T &rad)
bool greaterEqual(const T1 &value, const T2 &reference)
bool isInfinity(const T &value)
const T & min(const T &a1, const T &a2)
int integerRounding(const T &value)
T log(const T &z, const T &base)
T round(const T &value, const int &decimalPlaces)
constexpr T lerp2(const T &a, const T &b, const T &c, const T &d, const U &t, const U &u)
T getRad(const T °rees)
bool lessEqual(const T1 &value, const T2 &reference)
T invSqrt(const T &fValue)
bool equal(const T1 &value, const T2 &reference)
bool positive(const T &value)
bool nonPositive(const T &value)
int calcGgt(int val1, int val2)
bool negative(const T &value)
bool greater2(const T1 &value1, const T2 &value2, T3 toBeGreaterAs1, T4 toBeGreaterAs2)
const T & max(const T &a1, const T &a2)
bool less2(const T1 &value1, const T2 &value2, T3 toBeLessAs1, T4 toBeLessAs2)
constexpr T lerp(const T &a, const T &b, const U &t)
bool greater(const T1 &value, const T2 &reference)
bool inClosedInterval(const T1 &value, const T2 &threshold1, const T3 &threshold2)
bool inOpenInterval(const T1 &value, const T2 &threshold1, const T3 &threshold2)
constexpr T lerp3(const T &a, const T &b, const T &c, const T &d, const T &e, const T &f, const T &g, const T &h, const U &t, const U &u, const U &v)
bool zero(const T &value)
double adaptToClosedInterval(const T1 &value, const T2 &threshold1, const T3 &threshold2)
bool nonNegative(const T &value)
bool less(const T1 &value, const T2 &reference)