aboutsummaryrefslogtreecommitdiff
path: root/src/lua/math/luaopen_math.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/math/luaopen_math.cpp')
-rw-r--r--src/lua/math/luaopen_math.cpp82
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