43 lines
754 B
JavaScript
43 lines
754 B
JavaScript
//http://lua-users.org/wiki/BitwiseOperators
|
|
//https://basicer.com/lua2js/
|
|
|
|
class bit {
|
|
static lshift(x, n)
|
|
{
|
|
return x << n;
|
|
}
|
|
|
|
static rshift(x, n)
|
|
{
|
|
return x >> n;
|
|
}
|
|
|
|
//bit.bor(x1[,x2...]) -- bitwise or of x1, x2, ...
|
|
static bor(...args)
|
|
{
|
|
let v = args[0];
|
|
if(args.length === 1) return v;
|
|
|
|
for (var i = 1; i < args.length; i++) {
|
|
v = v | args[i];
|
|
}
|
|
|
|
return v;
|
|
}
|
|
|
|
//bit.band(x1[,x2...]) -- bitwise and of x1, x2, ...
|
|
static band(...args)
|
|
{
|
|
|
|
let v = args[0];
|
|
if(args.length === 1) return v;
|
|
|
|
for (var i = 1; i < args.length; i++) {
|
|
v = v & args[i];
|
|
}
|
|
|
|
return v;
|
|
}
|
|
}
|
|
|
|
module.exports = bit
|