1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
-- Only the operators needed by net.websocket.frames are provided at this point
return {
band = function (a, b, ...)
local ret = a & b;
if ... then
for i = 1, select("#", ...) do
ret = ret & (select(i, ...));
end
end
return ret;
end;
bor = function (a, b, ...)
local ret = a | b;
if ... then
for i = 1, select("#", ...) do
ret = ret | (select(i, ...));
end
end
return ret;
end;
bxor = function (a, b, ...)
local ret = a ~ b;
if ... then
for i = 1, select("#", ...) do
ret = ret ~ (select(i, ...));
end
end
return ret;
end;
bnot = function (x)
return ~x;
end;
rshift = function (a, n) return a >> n end;
lshift = function (a, n) return a << n end;
};
|