@aryth/rand
v0.7.8
Published
A math util library
Downloads
1,514
Readme
@aryth/rand
Math util library
Features
Install
$ npm install @aryth/rand
Usage
Norm Definition
R0 = 3.442619855899: This is the start of the tail region of the normal distribution. It's the x-coordinate beyond which the algorithm handles the "tail" of the distribution specially. This value is chosen so that the tail can be efficiently sampled.
R1 = 1.0 / R0: This is simply the reciprocal of R0, used in the tail sampling portion of the algorithm.
R0S = exp(-0.5 * R0 * R0): This represents the height of the normal probability density function at the point R0. It's the y-coordinate of the normal curve at the tail cutoff point.
VN = 9.91256303526217e-3: This constant represents the volume of the base rectangle in the norm structure. It's a carefully chosen value that makes the algorithm efficient.
M1 = 2147483648.0: This is 2^31, the maximum value that can be represented in a 32-bit signed integer. It's used as a scaling factor to convert between floating-point and integer representations.
N2P32 = -0x100000000: This is -2^32, used in the uniform random number generator (rand() method). It helps scale the output of the xorshift() function to produce numbers in the [0,1] range.