diff options
| -rw-r--r-- | lobject.c | 16 | ||||
| -rw-r--r-- | lobject.h | 3 |
2 files changed, 17 insertions, 2 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); |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lobject.h,v 2.24 2008/08/05 19:26:23 roberto Exp roberto $ | 2 | ** $Id: lobject.h,v 2.25 2009/03/26 12:56:38 roberto Exp roberto $ |
| 3 | ** Type definitions for Lua objects | 3 | ** Type definitions for Lua objects |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -361,6 +361,7 @@ LUAI_DATA const TValue luaO_nilobject_; | |||
| 361 | LUAI_FUNC int luaO_int2fb (unsigned int x); | 361 | LUAI_FUNC int luaO_int2fb (unsigned int x); |
| 362 | LUAI_FUNC int luaO_fb2int (int x); | 362 | LUAI_FUNC int luaO_fb2int (int x); |
| 363 | LUAI_FUNC int luaO_ceillog2 (lu_int32 x); | 363 | LUAI_FUNC int luaO_ceillog2 (lu_int32 x); |
| 364 | LUAI_FUNC lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2); | ||
| 364 | LUAI_FUNC int luaO_rawequalObj (const TValue *t1, const TValue *t2); | 365 | LUAI_FUNC int luaO_rawequalObj (const TValue *t1, const TValue *t2); |
| 365 | LUAI_FUNC int luaO_str2d (const char *s, lua_Number *result); | 366 | LUAI_FUNC int luaO_str2d (const char *s, lua_Number *result); |
| 366 | LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt, | 367 | LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt, |
