| 12345678910111213141516171819202122232425262728 |
- local ok, e
- ok = nil
- if not ok then
- ok, e = pcall(require, "bit") -- the LuaJIT one ?
- end
- if not ok then
- ok, e = pcall(require, "bit32") -- Lua 5.2
- end
- if not ok then
- ok, e = pcall(require, "bit.numberlua") -- for Lua 5.1, https://github.com/tst2005/lua-bit-numberlua/
- end
- if not ok then
- ok, e = pcall(require, "lockbox.util.bit53")
- end
- if not ok then
- error("no bitwise support found", 2)
- end
- assert(type(e) == "table", "invalid bit module")
- -- Workaround to support Lua 5.2 bit32 API with the LuaJIT bit one
- if e.rol and not e.lrotate then
- e.lrotate = e.rol
- end
- if e.ror and not e.rrotate then
- e.rrotate = e.ror
- end
- return e
|