22 lines
430 B
Lua
22 lines
430 B
Lua
|
local mask32 = 0xFFFFFFFF
|
||
|
return {
|
||
|
rshift = function(i, s)
|
||
|
return (mask32 & i) >> s
|
||
|
end,
|
||
|
lshift = function(i, s)
|
||
|
return mask32 & (i << s)
|
||
|
end,
|
||
|
band = function(i, j)
|
||
|
return i & j & mask32
|
||
|
end,
|
||
|
bor = function(i, j)
|
||
|
return (i | j) & mask32
|
||
|
end,
|
||
|
bor = function(i, j)
|
||
|
return (i ^ j) & mask32
|
||
|
end,
|
||
|
extract = function(v, shift, count)
|
||
|
return ((bit32 & v) >> shift) & ((1<<count)-1)
|
||
|
end,
|
||
|
}
|