jsrand
v0.2.5
Published
A random module for JavaScript, generate random numbers follow different random distributions, including Uniform, Gaussian, Poisson, Exponential, Gamma, Lognormal, Cauchy, Chisquared, Binomial, Weibull and so on
Downloads
19
Maintainers
Readme
JSrandom
Random module for JavaScript
JSrandom.randFloat([from,] to)
Arguments
from (Number): The lower bound of range, defaut is zero.
to (Number): The upper bound of range.
Returns
(Number): Returns a random number between [from,to).
Example
JSrandom.randFloat(5);// <=> JSrandom.randFloat(0,5)
//=>1.4567891701389055
JSrandom.randFloat(-2,3);
//=>-0.37792440940529315
JSrandom.randInt([from,] to)
Arguments
from (Number): The lower bound of range, defaut is zero.
to (Number): The upper bound of range.
Returns
(Integer): Returns a random integer between [from,to).
Example
JSrandom.randInt(5);// <=> JSrandom.randInt(0,5)
//=>2
JSrandom.randInt(-2,3);
//=>-1
JSrandom.select(array [, generator])
Arguments
array (ArrayLike): The array to select.
generator (function): A random number generator.defaut is the build-in uniform generator use MT19937
Returns
(any): Returns a random element in the array.
Example
JSrandom.select("abcdefg");
//=>"f"
JSrandom.select([0,2,3,5,2,9,1],Math.random);
//=>5
JSrandom.choice(array)
Equal to JSrandom.select(array), use the built-in random number generator.
JSrandom.sample(array [,number])
Arguments
array (ArrayLike): The array to select.
number (Number): The element number to pick, defaut value is a random number between [1,array.length).
Returns
(Array): A random subset of the array.
Example
JSrandom.sample("abcdefg");
//=>["b", "e", "c", "a", "d", "f", "g"]
JSrandom.sample([0,2,3,5,2,9,1],3);
//=>[5, 0, 2]
JSrandom.shuffle(array)
Arguments
array (ArrayLike): The array to shuffle.
Returns
(Array): A shuffled list, do not change the origin array.
Example
JSrandom.shuffle("abcdefg");
//=>"bacdegf"
JSrandom.shuffle([0,2,3,5,2,9,1]);
//=>[0, 3, 2, 9, 5, 2, 1]
Random Constructor
JSrandom.Uniform(lower,upper)
Constructor of the random number generator obey uniform distribution.
Arguments
lower (Number): The lower bound of range.
upper (Number): The upper bound of range.
Returns
(function): An instance of Uniform which generate uniform random numbers between lower and upper.
Example
var generator = JSrandom.Uniform(0,10);
generator();
//=>2.0685795052296387
JSrandom.Gaussian(mu,sigma)
Constructor of the random number generator obey gaussian distribution.
Arguments
mu (Number): The expectation of gaussian distribution.
sigma (Number): The variance of gaussian distribution.
Returns
(function): An instance of Gaussian which generate random number obey normal distribution.
Example
var generator = JSrandom.Gaussian(0,1);
generator();
//=>0.6532581496839591
JSrandom.Bernoulli(prob)
Constructor of the random number generator obey bernoulli distribution.
Arguments
prob (Number): The probability of true.
Returns
(function): An instance of Bernoulli which return true or false.
Example
var generator = JSrandom.Bernoulli(0.5);
generator();
//=>true
generator();
//=>false
JSrandom.Binomial(upper,prob)
Constructor of the random number generator obey binomial distribution.
Arguments
upper (Integer): The upper bound of range.
prob (Number): The probability of success.
Returns
(function): An instance of Binomial which return integer [ 0, upper ] , the probability obey the binomial distribution.
Example
var generator = JSrandom.Binomial(10,0.5);
generator();
//=>8
generator();
//=>3
JSrandom.Cauchy(location,scale)
Constructor of the random number generator obey cauchy distribution.
Arguments
location (Number): The location of cauchy distribution.
scale (Number): The scale of cauchy distribution.
Returns
(function): An instance of Cauchy which return random number obey the cauchy distribution.
Example
var generator = JSrandom.Cauchy(3,1);
generator();
//=>5.677625315054479
generator();
//=>-10.669827067906697
JSrandom.Exponential(lamda)
Constructor of the random number generator obey exponential distribution.
Arguments
lamda (Number): The index coefficient of Exponential distribution.
Returns
(function): An instance of Exponential which return random number obey the exponential distribution.
Example
var generator = JSrandom.Exponential(3);
generator();
//=>0.21951388774858185
generator();
//=>0.15475914346331018
Other Random Distributions
Lognormal(mu,sigma)
negativeBinomial(times,prob)
Gumbel(location,scale)
Logistic(location,scale)
Geometric(prob)
Gamma(shape,scale)
Chisquared(degree)
Poisson(mean)
Weibull(shape,scale)
Rayleigh(scale)
##Random generator
JSrandom.uniform()
Returns
(Number): random number between between [0, 1) and obey uniform distribution.
Example
JSrandom.uniform();
//=>0.22049420430347985
JSrandom.gaussian(mu,sigma)
Arguments
mu (Number): The expectation of gaussian distribution, defaut value is 0.
sigma (Number): The variance of gaussian distribution, defaut value is 1.
Returns
(Number): random number obey normal distribution.
Example
JSrandom.gaussian();
//=>1.7041861226289101
JSrandom.bernoulli(prob)
Arguments
prob (Number): The probability of true, defaut value is 0.5.
Returns
(Bool): true or false.
Example
JSrandom.bernoulli(0.8);
//=>true
JSrandom.exponential(lamda)
Arguments
lamda (Number): The index coefficient of Exponential distribution.
Returns
(Number): random number obey the exponential distribution.
Example
JSrandom.exponential(3);
//=>0.29350827394207385
###Other generator