23static inline void swap(T &a, T &b)
31template <
typename T,
typename Q>
32static inline T min(T a, Q b)
34 return (a < b) ? a : b;
38template <
typename T,
typename Q>
39static inline T max(T a, Q b)
41 return (a > b) ? a : b;
45template <
typename T,
typename Q,
typename P>
46static inline T sat(T x, Q a, P b)
60static inline float frac(
float x)
62 return x - (int32_t)x;
66static inline float fsat(
float x,
float min,
float max)
68 return fmin(fmax(min, x), max);
72static inline int32_t round_closest_signed(int32_t n, int32_t d)
74 return (((n < 0) ^ (d < 0)) ? ((n - d / 2) / d) : ((n + d / 2) / d)) * d;
78static inline uint32_t round_closest_unsigned(uint32_t n, uint32_t d)
80 return ((n + d / 2) / d) * d;