mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
Add lua_isvector, luaL_checkvector and luaL_optvector
This commit is contained in:
parent
35e497b533
commit
69bacee4d4
4 changed files with 23 additions and 0 deletions
|
@ -129,6 +129,7 @@ LUA_API int lua_isstring(lua_State* L, int idx);
|
||||||
LUA_API int lua_iscfunction(lua_State* L, int idx);
|
LUA_API int lua_iscfunction(lua_State* L, int idx);
|
||||||
LUA_API int lua_isLfunction(lua_State* L, int idx);
|
LUA_API int lua_isLfunction(lua_State* L, int idx);
|
||||||
LUA_API int lua_isuserdata(lua_State* L, int idx);
|
LUA_API int lua_isuserdata(lua_State* L, int idx);
|
||||||
|
LUA_API int lua_isvector(lua_State* L, int idx);
|
||||||
LUA_API int lua_type(lua_State* L, int idx);
|
LUA_API int lua_type(lua_State* L, int idx);
|
||||||
LUA_API const char* lua_typename(lua_State* L, int tp);
|
LUA_API const char* lua_typename(lua_State* L, int tp);
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,9 @@ LUALIB_API int luaL_optinteger(lua_State* L, int nArg, int def);
|
||||||
LUALIB_API unsigned luaL_checkunsigned(lua_State* L, int numArg);
|
LUALIB_API unsigned luaL_checkunsigned(lua_State* L, int numArg);
|
||||||
LUALIB_API unsigned luaL_optunsigned(lua_State* L, int numArg, unsigned def);
|
LUALIB_API unsigned luaL_optunsigned(lua_State* L, int numArg, unsigned def);
|
||||||
|
|
||||||
|
LUALIB_API const float* luaL_checkvector(lua_State* L, int narg);
|
||||||
|
LUALIB_API const float* luaL_optvector(lua_State* L, int narg, const float* def);
|
||||||
|
|
||||||
LUALIB_API void luaL_checkstack(lua_State* L, int sz, const char* msg);
|
LUALIB_API void luaL_checkstack(lua_State* L, int sz, const char* msg);
|
||||||
LUALIB_API void luaL_checktype(lua_State* L, int narg, int t);
|
LUALIB_API void luaL_checktype(lua_State* L, int narg, int t);
|
||||||
LUALIB_API void luaL_checkany(lua_State* L, int narg);
|
LUALIB_API void luaL_checkany(lua_State* L, int narg);
|
||||||
|
|
|
@ -294,6 +294,12 @@ int lua_isuserdata(lua_State* L, int idx)
|
||||||
return (ttisuserdata(o) || ttislightuserdata(o));
|
return (ttisuserdata(o) || ttislightuserdata(o));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int lua_isvector(lua_State* L, int idx)
|
||||||
|
{
|
||||||
|
const TValue* o = index2adr(L, idx);
|
||||||
|
return ttisvector(o);
|
||||||
|
}
|
||||||
|
|
||||||
int lua_rawequal(lua_State* L, int index1, int index2)
|
int lua_rawequal(lua_State* L, int index1, int index2)
|
||||||
{
|
{
|
||||||
StkId o1 = index2adr(L, index1);
|
StkId o1 = index2adr(L, index1);
|
||||||
|
|
|
@ -227,6 +227,19 @@ unsigned luaL_optunsigned(lua_State* L, int narg, unsigned def)
|
||||||
return luaL_opt(L, luaL_checkunsigned, narg, def);
|
return luaL_opt(L, luaL_checkunsigned, narg, def);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const float* luaL_checkvector(lua_State* L, int narg)
|
||||||
|
{
|
||||||
|
const float* v = lua_tovector(L, narg);
|
||||||
|
if (!v)
|
||||||
|
tag_error(L, narg, LUA_TVECTOR);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
const float* luaL_optvector(lua_State* L, int narg, const float* def)
|
||||||
|
{
|
||||||
|
return luaL_opt(L, luaL_checkvector, narg, def);
|
||||||
|
}
|
||||||
|
|
||||||
int luaL_getmetafield(lua_State* L, int obj, const char* event)
|
int luaL_getmetafield(lua_State* L, int obj, const char* event)
|
||||||
{
|
{
|
||||||
if (!lua_getmetatable(L, obj)) /* no metatable? */
|
if (!lua_getmetatable(L, obj)) /* no metatable? */
|
||||||
|
|
Loading…
Add table
Reference in a new issue