aboutsummaryrefslogtreecommitdiff
path: root/lobject.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2011-05-31 15:24:36 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2011-05-31 15:24:36 -0300
commit9b7dddad7d3f4546f838834d9674eaf0f2fca3dd (patch)
treecf0f283b5177d481023d0724d1c08a95d7482005 /lobject.c
parent3f04a9f2c07bc06dddbc473178b314f1fd686701 (diff)
downloadlua-9b7dddad7d3f4546f838834d9674eaf0f2fca3dd.tar.gz
lua-9b7dddad7d3f4546f838834d9674eaf0f2fca3dd.tar.bz2
lua-9b7dddad7d3f4546f838834d9674eaf0f2fca3dd.zip
no need for two different implementations for equality (one raw and
one with metamethods)
Diffstat (limited to 'lobject.c')
-rw-r--r--lobject.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/lobject.c b/lobject.c
index bd541a1e..7b7110cb 100644
--- a/lobject.c
+++ b/lobject.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lobject.c,v 2.47 2011/04/05 18:32:06 roberto Exp roberto $ 2** $Id: lobject.c,v 2.48 2011/05/03 16:01:57 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*/
@@ -70,28 +70,6 @@ int luaO_ceillog2 (unsigned int x) {
70} 70}
71 71
72 72
73int luaO_rawequalObj (const TValue *t1, const TValue *t2) {
74 if (!ttisequal(t1, t2)) return 0;
75 else switch (ttype(t1)) {
76 case LUA_TNIL:
77 return 1;
78 case LUA_TNUMBER:
79 return luai_numeq(nvalue(t1), nvalue(t2));
80 case LUA_TBOOLEAN:
81 return bvalue(t1) == bvalue(t2); /* boolean true must be 1 !! */
82 case LUA_TLIGHTUSERDATA:
83 return pvalue(t1) == pvalue(t2);
84 case LUA_TSTRING:
85 return rawtsvalue(t1) == rawtsvalue(t2);
86 case LUA_TLCF:
87 return fvalue(t1) == fvalue(t2);
88 default:
89 lua_assert(iscollectable(t1));
90 return gcvalue(t1) == gcvalue(t2);
91 }
92}
93
94
95lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2) { 73lua_Number luaO_arith (int op, lua_Number v1, lua_Number v2) {
96 switch (op) { 74 switch (op) {
97 case LUA_OPADD: return luai_numadd(NULL, v1, v2); 75 case LUA_OPADD: return luai_numadd(NULL, v1, v2);