Class: RandomDraws
Constructors
new RandomDraws()
new RandomDraws():
RandomDraws
Returns
Properties
samplingCheckInterval
staticsamplingCheckInterval:number=4096
Number of loop iterations between checks. Tuneable for tests.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:10
samplingTimeoutMs
staticsamplingTimeoutMs:number=5000
Number of milliseconds before sampling times out. Tuneable for tests or legitimate edge use cases.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:8
samplingWarnMs
staticsamplingWarnMs:number=1000
Number of milliseconds before a warning is logged if sampling takes too long. Tuneable for tests.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:6
Methods
fromGridWithoutReplacement()
staticfromGridWithoutReplacement(n,rows,columns,predicate?):object[]
Draw random grid cell locations, without replacement, from a uniform distribution of all grid cells. Grid cell locations are zero-based, i.e., upper-left is (0,0).
Parameters
• n: number
Number of draws
• rows: number
Number of rows in grid; must be at least 1
• columns: number
Number of columns in grid; must be at least 1
• predicate?
Optional lambda function that takes a grid row number and grid column number pair and returns a boolean to indicate if the pair should be allowed. For example, if one wanted to constrain the random grid location to be along the diagonal, the predicate would be: (row, column) => row === column
Returns
object[]
Array of grid cells. Each cell is object in form of: { row: number, column: number }. Grid cell locations are zero-based
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:192
FromGridWithoutReplacement()
staticFromGridWithoutReplacement(n,rows,columns,predicate?):object[]
Parameters
• n: number
• rows: number
• columns: number
• predicate?
Returns
object[]
Deprecated
Use fromGridWithoutReplacement() instead.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:249
fromRangeWithoutReplacement()
staticfromRangeWithoutReplacement(n,minimumInclusive,maximumInclusive):number[]
Draws random integers, without replacement, from a uniform distribution of integers in the specified range.
Parameters
• n: number
Number of draws
• minimumInclusive: number
Lower bound of range
• maximumInclusive: number
Upper bound of range
Returns
number[]
An array of integers
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:120
FromRangeWithoutReplacement()
staticFromRangeWithoutReplacement(n,minimumInclusive,maximumInclusive):number[]
Parameters
• n: number
• minimumInclusive: number
• maximumInclusive: number
Returns
number[]
Deprecated
Use fromRangeWithoutReplacement() instead.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:164
random()
staticrandom():number
Generates a random number in the range [0, 1) using the current random function.
Returns
number
A random number in the range [0, 1) using the current random function.
Remarks
This method will return a number from Math.random() in the
runtime environment, unless setSeed() has been called to initialize
a seeded PRNG.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:65
setSeed()
staticsetSeed(seed):void
Sets the seed for the pseudo-random number generator (PRNG) and
instructs methods within RandomDraws to use a seeded PRNG
instead of the default Math.random().
Parameters
• seed: string
The seed string to initialize the PRNG.
Returns
void
Remarks
The implementation of the seeded PRNG is based on David Bau's
seedrandom library at https://github.com/davidbau/seedrandom
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:25
singleFromRange()
staticsingleFromRange(minimumInclusive,maximumInclusive):number
Draws a single random integer from a uniform distribution of integers in the specified range.
Parameters
• minimumInclusive: number
Lower bound of range
• maximumInclusive: number
Upper bound of range
Returns
number
A sampled integer
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:77
SingleFromRange()
staticSingleFromRange(minimumInclusive,maximumInclusive):number
Parameters
• minimumInclusive: number
• maximumInclusive: number
Returns
number
Deprecated
Use singleFromRange() instead.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:104
useDefaultRandom()
staticuseDefaultRandom():void
Instructs methods within RandomDraws to use the default
Math.random() from the runtime environment as the random number
function instead of a seeded PRNG.
Returns
void
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:35
useSeededRandom()
staticuseSeededRandom():void
Instructs methods within RandomDraws to use the seeded
pseudo-random number generator (PRNG).
Returns
void
Remarks
This method will throw an error if setSeed() has not
been called first to initialize the seeded PRNG.
Defined in
m2c2kit/packages/core/src/RandomDraws.ts:46