diff options
Diffstat (limited to 'src/lua/modules/bit/je_lua_bit.cpp')
-rw-r--r-- | src/lua/modules/bit/je_lua_bit.cpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/lua/modules/bit/je_lua_bit.cpp b/src/lua/modules/bit/je_lua_bit.cpp deleted file mode 100644 index 9484743..0000000 --- a/src/lua/modules/bit/je_lua_bit.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "common/je_lua_common.h" -#include "common/je_lua.h" -#include "libjin/jin.h" - -#include <cstdlib> - -namespace JinEngine -{ - namespace Lua - { - - LUA_IMPLEMENT int l_and(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushinteger(L, a & b); - return 1; - } - - LUA_IMPLEMENT int l_or(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushinteger(L, a | b); - return 1; - } - - LUA_IMPLEMENT int l_xor(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushinteger(L, a ^ b); - return 1; - } - - LUA_IMPLEMENT int l_not(lua_State* L) - { - int n = luax_checkinteger(L, 1); - luax_pushinteger(L, ~n); - return 1; - } - - LUA_IMPLEMENT int l_lshift(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushinteger(L, a << b); - return 1; - } - - LUA_IMPLEMENT int l_rshift(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushinteger(L, a >> b); - return 1; - } - - LUA_IMPLEMENT int l_include(lua_State* L) - { - int a = luax_checkinteger(L, 1); - int b = luax_checkinteger(L, 2); - luax_pushboolean(L, (a & b) == b); - return 1; - } - - LUA_EXPORT int luaopen_bit(lua_State* L) - { - luaL_Reg methods[] = { - { "bAnd", l_and }, - { "bOr" , l_or }, - { "bXor", l_xor }, - { "bNot", l_not }, - { "bLs", l_lshift }, - { "bRs", l_rshift }, - { "bInc", l_include }, - { 0, 0 } - }; - - luax_newlib(L, methods); - - return 1; - } - - } // namespace Lua -} // namespace JinEngine
\ No newline at end of file |