From 02298dd5b704e9a87b907e1e7df27decccfd0620 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 12 Aug 2018 21:52:15 +0800 Subject: *update --- src/3rdparty/luax/luax.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/3rdparty/luax/luax.h') 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. */ -- cgit v1.1-26-g67d0