From 4181bf780192cbf4be257fb7b658cfb390684a12 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 21 Sep 2021 00:43:38 +0800 Subject: improve bit --- xmake/core/base/compat/bit.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/xmake/core/base/compat/bit.lua b/xmake/core/base/compat/bit.lua index 78d5be389..c4a018382 100644 --- a/xmake/core/base/compat/bit.lua +++ b/xmake/core/base/compat/bit.lua @@ -41,5 +41,33 @@ function bit.bnot(a) return ~a end +-- bit/lshift operation +function bit.lshift(a, b) + return a << b +end + +-- bit/rshift operation +function bit.rshift(a, b) + return a >> b +end + +-- tobit operation +function bit.tobit(x) + return x & 0xffffffff +end + +-- tohex operation +function bit.tohex(x, n) + n = n or 8 + local up + if n <= 0 then + if n == 0 then return '' end + up = true + n = - n + end + x = x & (16 ^ n - 1) + return ('%0'..n..(up and 'X' or 'x')):format(x) +end + -- return module: bit return bit -- cgit v1.3.1