Software /
code /
prosody
File
util/bit53.lua @ 12365:af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 04 Mar 2022 19:37:59 +0000 |
parent | 12358:d77d8fba44ad |
line wrap: on
line source
-- 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; rshift = function (a, n) return a >> n end; lshift = function (a, n) return a << n end; };