LuaSTG-x Core API
lstg::Random Class Reference

Public Member Functions

function below (local n)
 
function beta (local alpha, local beta)
 
function choice (local array)
 lstg.Random More...
 
function create (local seed)
 
function expo (local lambda)
 
function Float (local a, local b)
 
function gamma (local alpha, local beta)
 
function gauss (local mu, local sigma)
 
function getSeed ()
 
function Int (local a, local b)
 lstg.Random More...
 
function log_normal (local mu, local sigma)
 
function normal (local mu, local sigma)
 
function pareto (local alpha)
 
function randFloat (local a, local b)
 
function randInt (local a, local b)
 
function randSign ()
 
function range (local start, local stop, local step)
 Choose a random item from range(start, stop[, step]).
More...
 
function sample (local array, local k)
 
function sample_range (local start, local stop, local step, local k)
 
function sample_weighted (local array, local weight, local k)
 
function Seed (local n)
 
function setSeed (local seed)
 
function shuffle (local array)
 
function Sign ()
 
function triangular (local low, local high, local mode)
 
function uniform (local a, local b)
 
function vonMises (local mu, local kappa)
 
function weibull (local alpha, local beta)
 

Member Function Documentation

◆ below()

function below ( local  n)

Return a random int in the range [0, n).

Return 0 if n is 0.

Parameters
nnumber
Returns
number

◆ beta()

function beta ( local  alpha,
local  beta 
)

Beta distribution.

Conditions on the parameters are alpha > 0 and beta > 0.

Returned values range between 0 and 1.

Parameters
alphanumber
betanumber
Returns
number

◆ choice()

function choice ( local  array)

lstg.Random

Choose a random element from a non-empty array.

Parameters
arraytable

◆ create()

function create ( local  seed)
Parameters
seednumber
Returns
lstg.Random
重载
fun(self:lstg.Random):lstg.Random

◆ expo()

function expo ( local  lambda)

Exponential distribution.

lambda is 1.0 divided by the desired mean. It should be

nonzero. Returned values range from 0 to

positive infinity if lambda is positive, and from negative

infinity to 0 if lambda is negative.

Parameters
lambdanumber
Returns
number

◆ Float()

function Float ( local  a,
local  b 
)

生成[a,b]范围的随机浮点数

Parameters
anumber
bnumber
Returns
number

◆ gamma()

function gamma ( local  alpha,
local  beta 
)

Gamma distribution. (Not the gamma function)

Conditions on the parameters are alpha > 0 and beta > 0.

Parameters
alphanumber
betanumber
Returns
number

◆ gauss()

function gauss ( local  mu,
local  sigma 
)

Gaussian distribution.

mu is the mean, and sigma is the standard deviation. This is

slightly faster than the normal() function.

Parameters
munumber
sigmanumber
Returns
number

◆ getSeed()

function getSeed ( )
Returns
number

◆ Int()

function Int ( local  a,
local  b 
)

lstg.Random

生成[a,b]范围的随机整数

Parameters
anumber
bnumber
Returns
number

◆ log_normal()

function log_normal ( local  mu,
local  sigma 
)

Log normal distribution.

If you take the natural logarithm of this distribution, you'll get a

normal distribution with mean mu and standard deviation sigma.

mu can have any value, and sigma must be greater than zero.

Parameters
munumber
sigmanumber
Returns
number

◆ normal()

function normal ( local  mu,
local  sigma 
)

Normal distribution.

mu is the mean, and sigma is the standard deviation.

Parameters
munumber
sigmanumber
Returns
number

◆ pareto()

function pareto ( local  alpha)

Pareto distribution.

alpha is the shape parameter.

Parameters
alphanumber
Returns
number

◆ randFloat()

function randFloat ( local  a,
local  b 
)

get random float in range [a, b]

Parameters
anumber
bnumber
Returns
number

◆ randInt()

function randInt ( local  a,
local  b 
)

get random int32 in range [a, b]

Parameters
anumber
bnumber
Returns
number

◆ randSign()

function randSign ( )

get random 1 or -1

Returns
number

◆ range()

function range ( local  start,
local  stop,
local  step 
)

Choose a random item from range(start, stop[, step]).

Parameters
startnumber
stopnumber
stepnumber
Returns
number
重载
fun(self:lstg.Random, start:number):number

◆ sample()

function sample ( local  array,
local  k 
)

Chooses k unique random elements from an array.

Returns a new array.

Parameters
arraytable
knumber
Returns
table

◆ sample_range()

function sample_range ( local  start,
local  stop,
local  step,
local  k 
)

Chooses k unique random numbers from a range.

Returns an array.

Parameters
startnumber
stopnumber
stepnumber
knumber
Returns
table

◆ sample_weighted()

function sample_weighted ( local  array,
local  weight,
local  k 
)

Chooses k unique random elements from an array by given weight.

Reference: https://www.sciencedirect.com/science/article/abs/pii/S002001900500298X

Returns an array.

Parameters
arraytable
weighttable
knumber
Returns
table

◆ Seed()

function Seed ( local  n)

设置随机数种子

Parameters
nnumber

◆ setSeed()

function setSeed ( local  seed)
Parameters
seednumber
Returns
lstg.Random

◆ shuffle()

function shuffle ( local  array)

Shuffle array in place.

Parameters
arraytable

◆ Sign()

function Sign ( )

随机生成1或-1

Returns
number

◆ triangular()

function triangular ( local  low,
local  high,
local  mode 
)
Parameters
lownumber
highnumber
modenumber
Returns
number
重载
fun(self:lstg.Random, low:number, high:number):number
重载
fun(self:lstg.Random):number

◆ uniform()

function uniform ( local  a,
local  b 
)

Uniform distribution.

Get a random number in the range [a, b].

Parameters
anumber
bnumber
Returns
number

◆ vonMises()

function vonMises ( local  mu,
local  kappa 
)

von Mises distribution (Circular data distribution).

mu is the mean angle, expressed in radians between 0 and 2*pi, and

kappa is the concentration parameter, which must be greater than or

equal to zero. If kappa is equal to zero, this distribution reduces

to a uniform random angle over the range 0 to 2*pi.

Parameters
munumber
kappanumber
Returns
number

◆ weibull()

function weibull ( local  alpha,
local  beta 
)

Weibull distribution.

alpha is the scale parameter and beta is the shape parameter.

Parameters
alphanumber
betanumber
Returns
number

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