aboutsummaryrefslogtreecommitdiff
path: root/src/3rdparty/luax
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/luax')
-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.
*/