aboutsummaryrefslogtreecommitdiff
path: root/src/3rdparty/luax/luax.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-08-12 21:52:15 +0800
committerchai <chaifix@163.com>2018-08-12 21:52:15 +0800
commit02298dd5b704e9a87b907e1e7df27decccfd0620 (patch)
treec55b3b82940e044e3c748dd9107956b61b02d95d /src/3rdparty/luax/luax.h
parent7b34bd98bb00796febd5351b9d2e75fd2c247432 (diff)
*update
Diffstat (limited to 'src/3rdparty/luax/luax.h')
-rw-r--r--src/3rdparty/luax/luax.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/3rdparty/luax/luax.h b/src/3rdparty/luax/luax.h
index 6ec4dc9..56023b3 100644
--- a/src/3rdparty/luax/luax.h
+++ b/src/3rdparty/luax/luax.h
@@ -276,6 +276,25 @@ inline int luax_isfloat(lua_State* L, int i)
return 0;
return lua_tonumber(L, i) != lua_tointeger(L, i);
}
+
+#define luax_isnumberstrict(L, i) (lua_type(L, i) == LUA_TNUMBER)
+#define luax_isstringstrict(L, i) (lua_type(L, i) == LUA_TSTRING)
+#define luax_isbooleanstrict(L, i) (lua_type(L, i) == LUA_TBOOLEAN)
+#define luax_istablestrict(L, i) (lua_type(L, i) == LUA_TTABLE)
+#define luax_isnilstrict(L, i) (lua_type(L, i) == LUA_TNIL)
+inline int luax_isintegerstrict(lua_State* L, int i)
+{
+ if (!luax_isnumberstrict(L, i))
+ return 0;
+ return lua_tonumber(L, i) == lua_tointeger(L, i);
+}
+inline int luax_isfloatstrict(lua_State* L, int i)
+{
+ if (!luax_isnumberstrict(L, i))
+ return 0;
+ return lua_tonumber(L, i) != lua_tointeger(L, i);
+}
+
/**
* To userdata.
*/