aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lobject.c16
-rw-r--r--lobject.h3
2 files changed, 17 insertions, 2 deletions
diff --git a/lobject.c b/lobject.c
index f02b2ce0..88fb0e9e 100644
--- a/lobject.c
+++ b/lobject.c
@@ -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
91lua_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
91int luaO_str2d (const char *s, lua_Number *result) { 105int 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);
diff --git a/lobject.h b/lobject.h
index 3172cda6..cd019899 100644
--- a/lobject.h
+++ b/lobject.h
@@ -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_;
361LUAI_FUNC int luaO_int2fb (unsigned int x); 361LUAI_FUNC int luaO_int2fb (unsigned int x);
362LUAI_FUNC int luaO_fb2int (int x); 362LUAI_FUNC int luaO_fb2int (int x);
363LUAI_FUNC int luaO_ceillog2 (lu_int32 x); 363LUAI_FUNC int luaO_ceillog2 (lu_int32 x);
364LUAI_FUNC lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2);
364LUAI_FUNC int luaO_rawequalObj (const TValue *t1, const TValue *t2); 365LUAI_FUNC int luaO_rawequalObj (const TValue *t1, const TValue *t2);
365LUAI_FUNC int luaO_str2d (const char *s, lua_Number *result); 366LUAI_FUNC int luaO_str2d (const char *s, lua_Number *result);
366LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt, 367LUAI_FUNC const char *luaO_pushvfstring (lua_State *L, const char *fmt,