diff options
author | chai <chaifix@163.com> | 2018-08-08 21:31:35 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-08-08 21:31:35 +0800 |
commit | 3a7b295e0fe166d6e4a44cfe17ad8c4f441e6084 (patch) | |
tree | c67c820e51b9ccd19893a590c7aaffcce384d547 /src/lua/math/luaopen_math.cpp | |
parent | aa7549126a4e821cecf75fbc32a433a7f8122d2b (diff) |
*update
Diffstat (limited to 'src/lua/math/luaopen_math.cpp')
-rw-r--r-- | src/lua/math/luaopen_math.cpp | 82 |
1 files changed, 11 insertions, 71 deletions
diff --git a/src/lua/math/luaopen_math.cpp b/src/lua/math/luaopen_math.cpp index 98abeab..e4f68df 100644 --- a/src/lua/math/luaopen_math.cpp +++ b/src/lua/math/luaopen_math.cpp @@ -3,78 +3,18 @@ namespace jin { - namespace lua - { - static 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; - } - - static 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; - } - - static 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; - } - - static int l_not(lua_State* L) - { - int n = luax_checkinteger(L, 1); - luax_pushinteger(L, ~n); - return 1; - } - - static 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; - } - - static 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; - } - - static 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; - } +namespace lua +{ - static const luaL_Reg f[] = { - { "AND", l_and }, - { "OR" , l_or }, - { "XOR", l_xor }, - { "NOT", l_not }, - { "LSHIFT", l_lshift }, - { "RSHIFT", l_rshift }, - { "INC", l_include}, - { 0, 0 } - }; + static const luaL_Reg f[] = { + { 0, 0 } + }; - int luaopen_math(lua_State* L) - { - luax_newlib(L, f); - return 1; - } + int luaopen_math(lua_State* L) + { + luax_newlib(L, f); + return 1; } + +} }
\ No newline at end of file |