diff options
Diffstat (limited to 'lobject.c')
-rw-r--r-- | lobject.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.c,v 2.29 2009/02/19 17:18:25 roberto Exp $ | 2 | ** $Id: lobject.c,v 2.30 2009/05/27 17:11:27 roberto Exp roberto $ |
3 | ** Some generic functions over Lua objects | 3 | ** Some generic functions over Lua objects |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -88,6 +88,20 @@ int luaO_rawequalObj (const TValue *t1, const TValue *t2) { | |||
88 | } | 88 | } |
89 | 89 | ||
90 | 90 | ||
91 | lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2) { | ||
92 | switch (op) { | ||
93 | case LUA_OPADD: return luai_numadd(NULL, v1, v2); | ||
94 | case LUA_OPSUB: return luai_numsub(NULL, v1, v2); | ||
95 | case LUA_OPMUL: return luai_nummul(NULL, v1, v2); | ||
96 | case LUA_OPDIV: return luai_numdiv(NULL, v1, v2); | ||
97 | case LUA_OPMOD: return luai_nummod(NULL, v1, v2); | ||
98 | case LUA_OPPOW: return luai_numpow(NULL, v1, v2); | ||
99 | case LUA_OPUNM: return luai_numunm(N, v1); | ||
100 | default: lua_assert(0); return 0; | ||
101 | } | ||
102 | } | ||
103 | |||
104 | |||
91 | int luaO_str2d (const char *s, lua_Number *result) { | 105 | int luaO_str2d (const char *s, lua_Number *result) { |
92 | char *endptr; | 106 | char *endptr; |
93 | *result = lua_str2number(s, &endptr); | 107 | *result = lua_str2number(s, &endptr); |