3 bitlib = require('bit')
4 elseif _VERSION == "Lua 5.2" then
7 bitlib = error("no bit library for Lua 5.3+")
12 for k, v in pairs(bitlib) do
17 ret.bnot = function(x)
19 local mt = getmetatable(x)
28 ret.band = function(x, y)
30 local mt_x = getmetatable(x)
33 return mt_x.__band(x, y)
38 local mt_y = getmetatable(x)
41 return mt_y.__band(x, y)
45 return bitlib.band(x, y)
47 ret.bor = function(x, y)
49 local mt_x = getmetatable(x)
52 return mt_x.__bor(x, y)
57 local mt_y = getmetatable(x)
60 return mt_y.__bor(x, y)
64 return bitlib.bor(x, y)
66 ret.bxor = function(x, y)
68 local mt_x = getmetatable(x)
71 return mt_x.__bxor(x, y)
76 local mt_y = getmetatable(x)
79 return mt_y.__bxor(x, y)
83 return bitlib.bxor(x, y)
85 ret.lshift = function(x, y)
87 local mt_x = getmetatable(x)
90 return mt_x.__shl(x, y)
95 local mt_y = getmetatable(x)
98 return mt_y.__shl(x, y)
102 return bitlib.lshift(x, y)
104 ret.rshift = function(x, y)
106 local mt_x = getmetatable(x)
109 return mt_x.__shr(x, y)
114 local mt_y = getmetatable(x)
117 return mt_y.__shr(x, y)
121 return bitlib.rshift(x, y)