Luanti 5.16.0-dev
Loading...
Searching...
No Matches
LuaPcgRandom Class Reference

#include <l_noise.h>

Inheritance diagram for LuaPcgRandom:
Collaboration diagram for LuaPcgRandom:

Public Member Functions

 LuaPcgRandom (u64 seed)
 LuaPcgRandom (u64 seed, u64 seq)

Static Public Member Functions

static int create_object (lua_State *L)
static void Register (lua_State *L)
Static Public Member Functions inherited from ModApiBase
static ScriptApiBasegetScriptApiBase (lua_State *L)
static ServergetServer (lua_State *L)
static ServerInventoryManagergetServerInventoryMgr (lua_State *L)
static EmergeThreadgetEmergeThread (lua_State *L)
static IGameDefgetGameDef (lua_State *L)
static EnvironmentgetEnv (lua_State *L)
static std::string getCurrentModPath (lua_State *L)
template<typename T>
static T * getScriptApi (lua_State *L)
static bool registerFunction (lua_State *L, const char *name, lua_CFunction func, int top)
template<typename T>
static void registerClass (lua_State *L, const luaL_Reg *methods, const luaL_Reg *metamethods)
template<typename T>
static T * checkObject (lua_State *L, int narg)
static int l_deprecated_function (lua_State *L, const char *good, const char *bad, lua_CFunction func)
 A wrapper for deprecated functions.

Static Public Attributes

static const char className [] = "PcgRandom"

Static Private Member Functions

static int gc_object (lua_State *L)
static int l_next (lua_State *L)
static int l_rand_normal_dist (lua_State *L)
static int l_get_state (lua_State *L)
static int l_set_state (lua_State *L)

Private Attributes

PcgRandom m_rnd

Static Private Attributes

static const luaL_Reg methods []

Additional Inherited Members

Protected Member Functions inherited from LuaHelper
template<>
bool readParam (lua_State *L, int index)
template<>
s16 readParam (lua_State *L, int index)
template<>
int readParam (lua_State *L, int index)
template<>
float readParam (lua_State *L, int index)
template<>
v2s16 readParam (lua_State *L, int index)
template<>
v2f readParam (lua_State *L, int index)
template<>
v3f readParam (lua_State *L, int index)
template<>
std::string_view readParam (lua_State *L, int index)
template<>
std::string readParam (lua_State *L, int index)
template<>
std::string_view readParam (lua_State *L, int index)
 Read a string from Lua state L at index without copying it.
Static Protected Member Functions inherited from LuaHelper
template<typename T>
static T readParam (lua_State *L, int index)
 Read a value using a template type T from Lua state L at index.
template<typename T>
static T readParam (lua_State *L, int index, const T &default_value)
 Read a value using a template type T from Lua state L at index.

Constructor & Destructor Documentation

◆ LuaPcgRandom() [1/2]

LuaPcgRandom::LuaPcgRandom ( u64 seed)
inline

References m_rnd.

Referenced by create_object(), gc_object(), l_get_state(), l_next(), l_rand_normal_dist(), and l_set_state().

Here is the caller graph for this function:

◆ LuaPcgRandom() [2/2]

LuaPcgRandom::LuaPcgRandom ( u64 seed,
u64 seq )
inline

References m_rnd.

Member Function Documentation

◆ create_object()

int LuaPcgRandom::create_object ( lua_State * L)
static

References LuaPcgRandom(), className, and NO_MAP_LOCK_REQUIRED.

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gc_object()

int LuaPcgRandom::gc_object ( lua_State * L)
staticprivate

References LuaPcgRandom().

Referenced by Register().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ l_get_state()

int LuaPcgRandom::l_get_state ( lua_State * L)
staticprivate

References LuaPcgRandom(), ModApiBase::checkObject(), PcgRandom::getState(), m_rnd, and NO_MAP_LOCK_REQUIRED.

Here is the call graph for this function:

◆ l_next()

int LuaPcgRandom::l_next ( lua_State * L)
staticprivate

References LuaPcgRandom(), ModApiBase::checkObject(), m_rnd, NO_MAP_LOCK_REQUIRED, PcgRandom::RANDOM_MAX, PcgRandom::RANDOM_MIN, and PcgRandom::range().

Here is the call graph for this function:

◆ l_rand_normal_dist()

int LuaPcgRandom::l_rand_normal_dist ( lua_State * L)
staticprivate

References LuaPcgRandom(), ModApiBase::checkObject(), m_rnd, NO_MAP_LOCK_REQUIRED, PcgRandom::randNormalDist(), PcgRandom::RANDOM_MAX, and PcgRandom::RANDOM_MIN.

Here is the call graph for this function:

◆ l_set_state()

int LuaPcgRandom::l_set_state ( lua_State * L)
staticprivate

References LuaPcgRandom(), ModApiBase::checkObject(), m_rnd, NO_MAP_LOCK_REQUIRED, LuaHelper::readParam(), and PcgRandom::setState().

Here is the call graph for this function:

◆ Register()

void LuaPcgRandom::Register ( lua_State * L)
static

References className, create_object(), gc_object(), methods, and ModApiBase::registerClass().

Referenced by ServerScripting::InitializeAsync(), EmergeScripting::InitializeModApi(), and ServerScripting::InitializeModApi().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ className

const char LuaPcgRandom::className = "PcgRandom"
static

Referenced by create_object(), and Register().

◆ m_rnd

◆ methods

const luaL_Reg LuaPcgRandom::methods
staticprivate
Initial value:
= {
luamethod(LuaPcgRandom, rand_normal_dist),
luamethod(LuaPcgRandom, get_state),
luamethod(LuaPcgRandom, set_state),
{0,0}
}
LuaPcgRandom(u64 seed)
Definition l_noise.h:144
#define luamethod(class, name)
Definition l_internal.h:16

Referenced by Register().


The documentation for this class was generated from the following files: