mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-17 20:52:37 +01:00
Cleanup.
This commit is contained in:
@@ -105,22 +105,22 @@ namespace bx
|
||||
return -floor(-_a);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float lerp(float _a, float _b, float _t)
|
||||
inline BX_CONSTEXPR_FUNC float lerp(float _a, float _b, float _t)
|
||||
{
|
||||
return _a + (_b - _a) * _t;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float sign(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float sign(float _a)
|
||||
{
|
||||
return _a < 0.0f ? -1.0f : 1.0f;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float abs(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float abs(float _a)
|
||||
{
|
||||
return _a < 0.0f ? -_a : _a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float square(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float square(float _a)
|
||||
{
|
||||
return _a * _a;
|
||||
}
|
||||
@@ -238,17 +238,17 @@ namespace bx
|
||||
#endif // BX_CONFIG_SUPPORTS_SIMD
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float trunc(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float trunc(float _a)
|
||||
{
|
||||
return float(int(_a) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float fract(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float fract(float _a)
|
||||
{
|
||||
return _a - trunc(_a);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float mad(float _a, float _b, float _c)
|
||||
inline BX_CONSTEXPR_FUNC float mad(float _a, float _b, float _c)
|
||||
{
|
||||
return _a * _b + _c;
|
||||
}
|
||||
@@ -258,7 +258,7 @@ namespace bx
|
||||
return _a - _b * floor(_a / _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC bool equal(float _a, float _b, float _epsilon)
|
||||
inline BX_CONSTEXPR_FUNC bool equal(float _a, float _b, float _epsilon)
|
||||
{
|
||||
// Reference(s):
|
||||
// - https://web.archive.org/web/20181103180318/http://realtimecollisiondetection.net/blog/?p=89
|
||||
@@ -285,27 +285,27 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float step(float _edge, float _a)
|
||||
inline BX_CONSTEXPR_FUNC float step(float _edge, float _a)
|
||||
{
|
||||
return _a < _edge ? 0.0f : 1.0f;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float pulse(float _a, float _start, float _end)
|
||||
inline BX_CONSTEXPR_FUNC float pulse(float _a, float _start, float _end)
|
||||
{
|
||||
return step(_a, _start) - step(_a, _end);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float smoothStep(float _a)
|
||||
inline BX_CONSTEXPR_FUNC float smoothStep(float _a)
|
||||
{
|
||||
return square(_a)*(3.0f - 2.0f*_a);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float bias(float _time, float _bias)
|
||||
inline BX_CONSTEXPR_FUNC float bias(float _time, float _bias)
|
||||
{
|
||||
return _time / ( ( (1.0f/_bias - 2.0f)*(1.0f - _time) ) + 1.0f);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float gain(float _time, float _gain)
|
||||
inline BX_CONSTEXPR_FUNC float gain(float _time, float _gain)
|
||||
{
|
||||
// Reference(s):
|
||||
// - Bias And Gain Are Your Friend
|
||||
@@ -350,7 +350,7 @@ namespace bx
|
||||
ptr[2] = _a.z;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 abs(const Vec3& _a)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 abs(const Vec3& _a)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -360,7 +360,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 neg(const Vec3& _a)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 neg(const Vec3& _a)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -370,7 +370,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 add(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 add(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -380,7 +380,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 add(const Vec3& _a, float _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 add(const Vec3& _a, float _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -390,7 +390,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 sub(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 sub(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -400,7 +400,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 sub(const Vec3& _a, float _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 sub(const Vec3& _a, float _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -410,7 +410,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 mul(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 mul(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -420,7 +420,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 mul(const Vec3& _a, float _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 mul(const Vec3& _a, float _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -430,17 +430,17 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 mad(const Vec3& _a, const Vec3& _b, const Vec3& _c)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 mad(const Vec3& _a, const Vec3& _b, const Vec3& _c)
|
||||
{
|
||||
return add(mul(_a, _b), _c);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC float dot(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC float dot(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return _a.x*_b.x + _a.y*_b.y + _a.z*_b.z;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 cross(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 cross(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -455,7 +455,7 @@ namespace bx
|
||||
return sqrt(dot(_a, _a) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, float _t)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, float _t)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -465,7 +465,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, const Vec3& _t)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, const Vec3& _t)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -482,7 +482,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 min(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 min(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -492,7 +492,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 max(const Vec3& _a, const Vec3& _b)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 max(const Vec3& _a, const Vec3& _b)
|
||||
{
|
||||
return
|
||||
{
|
||||
@@ -502,7 +502,7 @@ namespace bx
|
||||
};
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC Vec3 rcp(const Vec3& _a)
|
||||
inline BX_CONSTEXPR_FUNC Vec3 rcp(const Vec3& _a)
|
||||
{
|
||||
return
|
||||
{
|
||||
|
||||
@@ -29,162 +29,162 @@
|
||||
|
||||
namespace bx
|
||||
{
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_li(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_li(uint32_t _a)
|
||||
{
|
||||
return _a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_dec(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_dec(uint32_t _a)
|
||||
{
|
||||
return _a - 1;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_inc(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_inc(uint32_t _a)
|
||||
{
|
||||
return _a + 1;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_not(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_not(uint32_t _a)
|
||||
{
|
||||
return ~_a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_neg(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_neg(uint32_t _a)
|
||||
{
|
||||
return -(int32_t)_a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_ext(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_ext(uint32_t _a)
|
||||
{
|
||||
return ( (int32_t)_a)>>31;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_and(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_and(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a & _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_andc(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_andc(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a & ~_b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_xor(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_xor(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a ^ _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_xorl(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_xorl(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return !_a != !_b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_or(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_or(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a | _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_orc(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_orc(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a | ~_b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_sll(uint32_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_sll(uint32_t _a, int32_t _sa)
|
||||
{
|
||||
return _a << _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_srl(uint32_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_srl(uint32_t _a, int32_t _sa)
|
||||
{
|
||||
return _a >> _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_sra(uint32_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_sra(uint32_t _a, int32_t _sa)
|
||||
{
|
||||
return ( (int32_t)_a) >> _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_rol(uint32_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_rol(uint32_t _a, int32_t _sa)
|
||||
{
|
||||
return ( _a << _sa) | (_a >> (32-_sa) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_ror(uint32_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_ror(uint32_t _a, int32_t _sa)
|
||||
{
|
||||
return ( _a >> _sa) | (_a << (32-_sa) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_add(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_add(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a + _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_iadd(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_iadd(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return int32_t(_a) + int32_t(_b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_sub(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_sub(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a - _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_isub(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_isub(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return int32_t(_a) - int32_t(_b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_mul(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_mul(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a * _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_div(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_div(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a / _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_mod(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_mod(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a % _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a == _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a != _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmplt(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmplt(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a < _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmple(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmple(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a <= _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a > _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cmpge(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cmpge(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return -(_a >= _b);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_setnz(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_setnz(uint32_t _a)
|
||||
{
|
||||
return -!!_a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_satadd(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_satadd(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t add = uint32_add(_a, _b);
|
||||
const uint32_t lt = uint32_cmplt(add, _a);
|
||||
@@ -193,7 +193,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_satsub(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_satsub(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t sub = uint32_sub(_a, _b);
|
||||
const uint32_t le = uint32_cmple(sub, _a);
|
||||
@@ -202,7 +202,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_satmul(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_satmul(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint64_t mul = (uint64_t)_a * (uint64_t)_b;
|
||||
const uint32_t hi = mul >> 32;
|
||||
@@ -212,7 +212,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t mask = uint32_ext(test);
|
||||
const uint32_t sel_a = uint32_and(_a, mask);
|
||||
@@ -222,7 +222,7 @@ namespace bx
|
||||
return (result);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t sel_a = uint32_and(_a, _mask);
|
||||
const uint32_t sel_b = uint32_andc(_b, _mask);
|
||||
@@ -231,7 +231,7 @@ namespace bx
|
||||
return (result);
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_imin(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_imin(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t a_sub_b = uint32_sub(_a, _b);
|
||||
const uint32_t result = uint32_sels(a_sub_b, _a, _b);
|
||||
@@ -239,7 +239,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_imax(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_imax(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
const uint32_t b_sub_a = uint32_sub(_b, _a);
|
||||
const uint32_t result = uint32_sels(b_sub_a, _a, _b);
|
||||
@@ -247,27 +247,27 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a > _b ? _b : _a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c)
|
||||
{
|
||||
return uint32_min(_a, uint32_min(_b, _c) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a > _b ? _a : _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c)
|
||||
{
|
||||
return uint32_max(_a, uint32_max(_b, _c) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max)
|
||||
{
|
||||
const uint32_t tmp = uint32_max(_a, _min);
|
||||
const uint32_t result = uint32_min(tmp, _max);
|
||||
@@ -275,7 +275,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max)
|
||||
{
|
||||
const uint32_t tmp = uint32_imax(_a, _min);
|
||||
const uint32_t result = uint32_imin(tmp, _max);
|
||||
@@ -283,7 +283,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max)
|
||||
{
|
||||
const uint32_t inc = uint32_inc(_val);
|
||||
const uint32_t max_diff = uint32_sub(_max, _val);
|
||||
@@ -295,7 +295,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max)
|
||||
{
|
||||
const uint32_t dec = uint32_dec(_val);
|
||||
const uint32_t min_diff = uint32_sub(_min, _val);
|
||||
@@ -307,7 +307,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cntbits(uint32_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cntbits(uint32_t _val)
|
||||
{
|
||||
const uint32_t tmp0 = uint32_srl(_val, 1);
|
||||
const uint32_t tmp1 = uint32_and(tmp0, 0x55555555);
|
||||
@@ -330,7 +330,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cntlz(uint32_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cntlz(uint32_t _val)
|
||||
{
|
||||
const uint32_t tmp0 = uint32_srl(_val, 1);
|
||||
const uint32_t tmp1 = uint32_or(tmp0, _val);
|
||||
@@ -348,7 +348,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_cnttz(uint32_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_cnttz(uint32_t _val)
|
||||
{
|
||||
const uint32_t tmp0 = uint32_not(_val);
|
||||
const uint32_t tmp1 = uint32_dec(_val);
|
||||
@@ -358,7 +358,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_part1by1(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_part1by1(uint32_t _a)
|
||||
{
|
||||
// shuffle:
|
||||
// ---- ---- ---- ---- fedc ba98 7654 3210
|
||||
@@ -386,7 +386,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_part1by2(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_part1by2(uint32_t _a)
|
||||
{
|
||||
// shuffle:
|
||||
// ---- ---- ---- ---- ---- --98 7654 3210
|
||||
@@ -414,7 +414,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_testpow2(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_testpow2(uint32_t _a)
|
||||
{
|
||||
const uint32_t tmp0 = uint32_dec(_a);
|
||||
const uint32_t tmp1 = uint32_xor(_a, tmp0);
|
||||
@@ -424,7 +424,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_nextpow2(uint32_t _a)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_nextpow2(uint32_t _a)
|
||||
{
|
||||
const uint32_t tmp0 = uint32_dec(_a);
|
||||
const uint32_t tmp1 = uint32_srl(tmp0, 1);
|
||||
@@ -442,7 +442,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint64_cntbits(uint64_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint64_cntbits(uint64_t _val)
|
||||
{
|
||||
const uint32_t lo = uint32_t(_val&UINT32_MAX);
|
||||
const uint32_t hi = uint32_t(_val>>32);
|
||||
@@ -452,7 +452,7 @@ namespace bx
|
||||
return total;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint64_cntlz(uint64_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint64_cntlz(uint64_t _val)
|
||||
{
|
||||
return _val & UINT64_C(0xffffffff00000000)
|
||||
? uint32_cntlz(uint32_t(_val>>32) )
|
||||
@@ -460,7 +460,7 @@ namespace bx
|
||||
;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint64_cnttz(uint64_t _val)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint64_cnttz(uint64_t _val)
|
||||
{
|
||||
return _val & UINT64_C(0xffffffff)
|
||||
? uint32_cnttz(uint32_t(_val) )
|
||||
@@ -468,47 +468,47 @@ namespace bx
|
||||
;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_sll(uint64_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_sll(uint64_t _a, int32_t _sa)
|
||||
{
|
||||
return _a << _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_srl(uint64_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_srl(uint64_t _a, int32_t _sa)
|
||||
{
|
||||
return _a >> _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_sra(uint64_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_sra(uint64_t _a, int32_t _sa)
|
||||
{
|
||||
return ( (int64_t)_a) >> _sa;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_rol(uint64_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_rol(uint64_t _a, int32_t _sa)
|
||||
{
|
||||
return ( _a << _sa) | (_a >> (64-_sa) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_ror(uint64_t _a, int32_t _sa)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_ror(uint64_t _a, int32_t _sa)
|
||||
{
|
||||
return ( _a >> _sa) | (_a << (64-_sa) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_add(uint64_t _a, uint64_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_add(uint64_t _a, uint64_t _b)
|
||||
{
|
||||
return _a + _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_sub(uint64_t _a, uint64_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_sub(uint64_t _a, uint64_t _b)
|
||||
{
|
||||
return _a - _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint64_t uint64_mul(uint64_t _a, uint64_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint64_t uint64_mul(uint64_t _a, uint64_t _b)
|
||||
{
|
||||
return _a * _b;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_gcd(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_gcd(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
do
|
||||
{
|
||||
@@ -521,12 +521,12 @@ namespace bx
|
||||
return _a;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t uint32_lcm(uint32_t _a, uint32_t _b)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t uint32_lcm(uint32_t _a, uint32_t _b)
|
||||
{
|
||||
return _a * (_b / uint32_gcd(_a, _b) );
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t strideAlign(uint32_t _offset, uint32_t _stride)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t strideAlign(uint32_t _offset, uint32_t _stride)
|
||||
{
|
||||
const uint32_t mod = uint32_mod(_offset, _stride);
|
||||
const uint32_t add = uint32_sub(_stride, mod);
|
||||
@@ -537,7 +537,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t strideAlign16(uint32_t _offset, uint32_t _stride)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t strideAlign16(uint32_t _offset, uint32_t _stride)
|
||||
{
|
||||
const uint32_t align = uint32_lcm(16, _stride);
|
||||
const uint32_t mod = uint32_mod(_offset, align);
|
||||
@@ -549,7 +549,7 @@ namespace bx
|
||||
return result;
|
||||
}
|
||||
|
||||
inline constexpr BX_CONST_FUNC uint32_t strideAlign256(uint32_t _offset, uint32_t _stride)
|
||||
inline BX_CONSTEXPR_FUNC uint32_t strideAlign256(uint32_t _offset, uint32_t _stride)
|
||||
{
|
||||
const uint32_t align = uint32_lcm(256, _stride);
|
||||
const uint32_t mod = uint32_mod(_offset, align);
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
#define BX_ALIGN_256(_value) BX_ALIGN_MASK(_value, 0xff)
|
||||
#define BX_ALIGN_4096(_value) BX_ALIGN_MASK(_value, 0xfff)
|
||||
|
||||
///
|
||||
#define BX_ALIGNOF(_type) __alignof(_type)
|
||||
|
||||
#if defined(__has_feature)
|
||||
@@ -112,6 +113,11 @@
|
||||
# error "Unknown BX_COMPILER_?"
|
||||
#endif
|
||||
|
||||
/// The return value of the function is solely a function of the arguments.
|
||||
///
|
||||
#define BX_CONSTEXPR_FUNC constexpr BX_CONST_FUNC
|
||||
|
||||
///
|
||||
#define BX_STATIC_ASSERT(_condition, ...) static_assert(_condition, "" __VA_ARGS__)
|
||||
|
||||
///
|
||||
@@ -199,19 +205,19 @@
|
||||
|
||||
///
|
||||
#define BX_CLASS_NO_DEFAULT_CTOR(_class) \
|
||||
private: _class()
|
||||
private: _class()
|
||||
|
||||
#define BX_CLASS_NO_COPY(_class) \
|
||||
private: _class(const _class& _rhs)
|
||||
private: _class(const _class& _rhs)
|
||||
|
||||
#define BX_CLASS_NO_ASSIGNMENT(_class) \
|
||||
private: _class& operator=(const _class& _rhs)
|
||||
private: _class& operator=(const _class& _rhs)
|
||||
|
||||
#define BX_CLASS_ALLOCATOR(_class) \
|
||||
public: void* operator new(size_t _size); \
|
||||
public: void operator delete(void* _ptr); \
|
||||
public: void* operator new[](size_t _size); \
|
||||
public: void operator delete[](void* _ptr)
|
||||
#define BX_CLASS_ALLOCATOR(_class) \
|
||||
public: void* operator new(size_t _size); \
|
||||
public: void operator delete(void* _ptr); \
|
||||
public: void* operator new[](size_t _size); \
|
||||
public: void operator delete[](void* _ptr)
|
||||
|
||||
#define BX_CLASS_1(_class, _a1) BX_CONCATENATE(BX_CLASS_, _a1)(_class)
|
||||
#define BX_CLASS_2(_class, _a1, _a2) BX_CLASS_1(_class, _a1); BX_CLASS_1(_class, _a2)
|
||||
|
||||
@@ -124,19 +124,19 @@ namespace bx
|
||||
|
||||
/// Returns linear interpolation between two values _a and _b.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float lerp(float _a, float _b, float _t);
|
||||
BX_CONSTEXPR_FUNC float lerp(float _a, float _b, float _t);
|
||||
|
||||
/// Returns the sign of _a.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float sign(float _a);
|
||||
BX_CONSTEXPR_FUNC float sign(float _a);
|
||||
|
||||
/// Returns the absolute of _a.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float abs(float _a);
|
||||
BX_CONSTEXPR_FUNC float abs(float _a);
|
||||
|
||||
/// Returns the square of _a.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float square(float _a);
|
||||
BX_CONSTEXPR_FUNC float square(float _a);
|
||||
|
||||
/// Returns the cosine of the argument _a.
|
||||
///
|
||||
@@ -217,23 +217,23 @@ namespace bx
|
||||
|
||||
/// Returns the nearest integer not greater in magnitude than _a.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float trunc(float _a);
|
||||
BX_CONSTEXPR_FUNC float trunc(float _a);
|
||||
|
||||
/// Returns the fractional (or decimal) part of _a, which is greater than or equal to 0
|
||||
/// and less than 1.
|
||||
///
|
||||
constexpr BX_CONST_FUNC float fract(float _a);
|
||||
BX_CONSTEXPR_FUNC float fract(float _a);
|
||||
|
||||
/// Returns result of multipla and add (_a * _b + _c).
|
||||
///
|
||||
constexpr BX_CONST_FUNC float mad(float _a, float _b, float _c);
|
||||
BX_CONSTEXPR_FUNC float mad(float _a, float _b, float _c);
|
||||
|
||||
/// Returns the floating-point remainder of the division operation _a/_b.
|
||||
///
|
||||
BX_CONST_FUNC float mod(float _a, float _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC bool equal(float _a, float _b, float _epsilon);
|
||||
BX_CONSTEXPR_FUNC bool equal(float _a, float _b, float _epsilon);
|
||||
|
||||
///
|
||||
BX_CONST_FUNC bool equal(const float* _a, const float* _b, uint32_t _num, float _epsilon);
|
||||
@@ -242,19 +242,19 @@ namespace bx
|
||||
BX_CONST_FUNC float wrap(float _a, float _wrap);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float step(float _edge, float _a);
|
||||
BX_CONSTEXPR_FUNC float step(float _edge, float _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float pulse(float _a, float _start, float _end);
|
||||
BX_CONSTEXPR_FUNC float pulse(float _a, float _start, float _end);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float smoothStep(float _a);
|
||||
BX_CONSTEXPR_FUNC float smoothStep(float _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float bias(float _time, float _bias);
|
||||
BX_CONSTEXPR_FUNC float bias(float _time, float _bias);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float gain(float _time, float _gain);
|
||||
BX_CONSTEXPR_FUNC float gain(float _time, float _gain);
|
||||
|
||||
///
|
||||
BX_CONST_FUNC float angleDiff(float _a, float _b);
|
||||
@@ -270,58 +270,58 @@ namespace bx
|
||||
void store(void* _ptr, const Vec3& _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 abs(const Vec3& _a);
|
||||
BX_CONSTEXPR_FUNC Vec3 abs(const Vec3& _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 neg(const Vec3& _a);
|
||||
BX_CONSTEXPR_FUNC Vec3 neg(const Vec3& _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 add(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 add(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 add(const Vec3& _a, float _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 add(const Vec3& _a, float _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 sub(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 sub(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 sub(const Vec3& _a, float _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 sub(const Vec3& _a, float _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 mul(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 mul(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 mul(const Vec3& _a, float _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 mul(const Vec3& _a, float _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 mad(const Vec3& _a, const Vec3& _b, const Vec3& _c);
|
||||
BX_CONSTEXPR_FUNC Vec3 mad(const Vec3& _a, const Vec3& _b, const Vec3& _c);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC float dot(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC float dot(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 cross(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 cross(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
BX_CONST_FUNC float length(const Vec3& _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, float _t);
|
||||
BX_CONSTEXPR_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, float _t);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, const Vec3& _t);
|
||||
BX_CONSTEXPR_FUNC Vec3 lerp(const Vec3& _a, const Vec3& _b, const Vec3& _t);
|
||||
|
||||
///
|
||||
BX_CONST_FUNC Vec3 normalize(const Vec3& _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 min(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 min(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 max(const Vec3& _a, const Vec3& _b);
|
||||
BX_CONSTEXPR_FUNC Vec3 max(const Vec3& _a, const Vec3& _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC Vec3 rcp(const Vec3& _a);
|
||||
BX_CONSTEXPR_FUNC Vec3 rcp(const Vec3& _a);
|
||||
|
||||
///
|
||||
void calcTangentFrame(Vec3& _outT, Vec3& _outB, const Vec3& _n);
|
||||
|
||||
@@ -16,214 +16,214 @@ namespace bx
|
||||
constexpr uint16_t kHalfFloatTwo = UINT16_C(0x4000);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_li(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_li(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_dec(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_dec(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_inc(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_inc(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_not(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_not(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_neg(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_neg(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_ext(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_ext(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_and(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_and(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_andc(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_andc(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_xor(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_xor(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_xorl(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_xorl(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_or(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_or(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_orc(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_orc(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_sll(uint32_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_sll(uint32_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_srl(uint32_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_srl(uint32_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_sra(uint32_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_sra(uint32_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_rol(uint32_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_rol(uint32_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_ror(uint32_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_ror(uint32_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_add(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_add(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_sub(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_sub(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_mul(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_mul(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_div(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_div(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_mod(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_mod(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmplt(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmplt(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmple(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmple(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cmpge(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cmpge(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_setnz(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_setnz(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_satadd(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_satadd(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_satsub(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_satsub(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_satmul(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_satmul(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_imin(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_imin(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_imax(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_imax(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max);
|
||||
|
||||
/// Count number of bits set.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cntbits(uint32_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cntbits(uint32_t _val);
|
||||
|
||||
/// Count number of leading zeros.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cntlz(uint32_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cntlz(uint32_t _val);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_cnttz(uint32_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_cnttz(uint32_t _val);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_part1by1(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_part1by1(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_part1by2(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_part1by2(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_testpow2(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_testpow2(uint32_t _a);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_nextpow2(uint32_t _a);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_nextpow2(uint32_t _a);
|
||||
|
||||
/// Count number of bits set.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint64_cntbits(uint64_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint64_cntbits(uint64_t _val);
|
||||
|
||||
/// Count number of leading zeros.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint64_cntlz(uint64_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint64_cntlz(uint64_t _val);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint64_cnttz(uint64_t _val);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint64_cnttz(uint64_t _val);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_sll(uint64_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_sll(uint64_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_srl(uint64_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_srl(uint64_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_sra(uint64_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_sra(uint64_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_rol(uint64_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_rol(uint64_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_ror(uint64_t _a, int32_t _sa);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_ror(uint64_t _a, int32_t _sa);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_add(uint64_t _a, uint64_t _b);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_add(uint64_t _a, uint64_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_sub(uint64_t _a, uint64_t _b);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_sub(uint64_t _a, uint64_t _b);
|
||||
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint64_t uint64_mul(uint64_t _a, uint64_t _b);
|
||||
BX_CONSTEXPR_FUNC uint64_t uint64_mul(uint64_t _a, uint64_t _b);
|
||||
|
||||
/// Greatest common divisor.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_gcd(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_gcd(uint32_t _a, uint32_t _b);
|
||||
|
||||
/// Least common multiple.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t uint32_lcm(uint32_t _a, uint32_t _b);
|
||||
BX_CONSTEXPR_FUNC uint32_t uint32_lcm(uint32_t _a, uint32_t _b);
|
||||
|
||||
/// Align to arbitrary stride.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t strideAlign(uint32_t _offset, uint32_t _stride);
|
||||
BX_CONSTEXPR_FUNC uint32_t strideAlign(uint32_t _offset, uint32_t _stride);
|
||||
|
||||
/// Align to arbitrary stride and 16-bytes.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t strideAlign16(uint32_t _offset, uint32_t _stride);
|
||||
BX_CONSTEXPR_FUNC uint32_t strideAlign16(uint32_t _offset, uint32_t _stride);
|
||||
|
||||
/// Align to arbitrary stride and 256-bytes.
|
||||
///
|
||||
constexpr BX_CONST_FUNC uint32_t strideAlign256(uint32_t _offset, uint32_t _stride);
|
||||
BX_CONSTEXPR_FUNC uint32_t strideAlign256(uint32_t _offset, uint32_t _stride);
|
||||
|
||||
/// Convert float to half-float.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user