bindings/luajit/eolian: get rid of using bitops

This commit is contained in:
Daniel Kolesa 2020-05-29 17:00:28 +02:00
parent 5197200ac1
commit b0203b3160
1 changed files with 11 additions and 13 deletions

View File

@ -2,7 +2,6 @@
-- For use with Elua -- For use with Elua
local ffi = require("ffi") local ffi = require("ffi")
local bit = require("bit")
ffi.cdef [[ ffi.cdef [[
void eina_stringshare_del(const char *str); void eina_stringshare_del(const char *str);
@ -1564,22 +1563,21 @@ M.expression_type = {
local etype = M.expression_type local etype = M.expression_type
M.expression_mask = { M.expression_mask = {
SINT = bit.lshift(1, 0), SINT = 2 ^ 0,
UINT = bit.lshift(1, 1), UINT = 2 ^ 1,
FLOAT = bit.lshift(1, 2), FLOAT = 2 ^ 2,
BOOL = bit.lshift(1, 3), BOOL = 2 ^ 3,
STRING = bit.lshift(1, 4), STRING = 2 ^ 4,
CHAR = bit.lshift(1, 5), CHAR = 2 ^ 5,
NULL = bit.lshift(1, 6) NULL = 2 ^ 6
} }
local emask = M.expression_mask local emask = M.expression_mask
emask.INT = bit.bor(emask.SINT , emask.UINT ) emask.INT = emask.SINT + emask.UINT
emask.SIGNED = bit.bor(emask.SINT , emask.FLOAT) emask.SIGNED = emask.SINT + emask.FLOAT
emask.NUMBER = bit.bor(emask.INT , emask.FLOAT) emask.NUMBER = emask.INT + emask.FLOAT
emask.ALL = bit.bor(emask.NUMBER, emask.BOOL, emask.ALL = emask.NUMBER + emask.BOOL + emask.STRING + emask.CHAR + emask.NULL
emask.STRING, emask.CHAR, emask.NULL)
local value_con = { local value_con = {
[etype.INT ] = function(v) return tonumber(v.value.i ) end, [etype.INT ] = function(v) return tonumber(v.value.i ) end,