summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bx/include/bx/uint32_t.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bx/include/bx/uint32_t.h')
-rw-r--r--3rdparty/bx/include/bx/uint32_t.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/3rdparty/bx/include/bx/uint32_t.h b/3rdparty/bx/include/bx/uint32_t.h
index 50f8e097a22..2f78ac3f34a 100644
--- a/3rdparty/bx/include/bx/uint32_t.h
+++ b/3rdparty/bx/include/bx/uint32_t.h
@@ -263,11 +263,21 @@ namespace bx
return _a > _b ? _b : _a;
}
+ inline uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c)
+ {
+ return uint32_min(_a, uint32_min(_b, _c) );
+ }
+
inline uint32_t uint32_max(uint32_t _a, uint32_t _b)
{
return _a > _b ? _a : _b;
}
+ inline uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c)
+ {
+ return uint32_max(_a, uint32_max(_b, _c) );
+ }
+
inline uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max)
{
const uint32_t tmp = uint32_max(_a, _min);
@@ -692,6 +702,46 @@ namespace bx
#endif // BX_COMPILER_
}
+ inline uint64_t uint64_sll(uint64_t _a, int _sa)
+ {
+ return _a << _sa;
+ }
+
+ inline uint64_t uint64_srl(uint64_t _a, int _sa)
+ {
+ return _a >> _sa;
+ }
+
+ inline uint64_t uint64_sra(uint64_t _a, int _sa)
+ {
+ return ( (int64_t)_a) >> _sa;
+ }
+
+ inline uint64_t uint64_rol(uint64_t _a, int _sa)
+ {
+ return ( _a << _sa) | (_a >> (32-_sa) );
+ }
+
+ inline uint64_t uint64_ror(uint64_t _a, int _sa)
+ {
+ return ( _a >> _sa) | (_a << (32-_sa) );
+ }
+
+ inline uint64_t uint64_add(uint64_t _a, uint64_t _b)
+ {
+ return _a + _b;
+ }
+
+ inline uint64_t uint64_sub(uint64_t _a, uint64_t _b)
+ {
+ return _a - _b;
+ }
+
+ inline uint64_t uint64_mul(uint64_t _a, uint64_t _b)
+ {
+ return _a * _b;
+ }
+
/// Greatest common divisor.
inline uint32_t uint32_gcd(uint32_t _a, uint32_t _b)
{