repl.txt (3593B)
1 2 {{alias}}() 3 Returns a pseudorandom integer on the interval `[1, 4294967295]`. 4 5 This pseudorandom number generator (PRNG) is a 32-bit Mersenne Twister 6 pseudorandom number generator. 7 8 The PRNG is *not* a cryptographically secure PRNG. 9 10 The PRNG has a period of 2^19937 - 1. 11 12 Returns 13 ------- 14 r: integer 15 Pseudorandom number. 16 17 Examples 18 -------- 19 > var r = {{alias}}(); 20 21 22 {{alias}}.normalized() 23 Returns a pseudorandom number on the interval `[0,1)` with 53-bit precision. 24 25 Returns 26 ------- 27 r: number 28 Pseudorandom number. 29 30 Examples 31 -------- 32 > var r = {{alias}}.normalized(); 33 34 35 {{alias}}.factory( [options] ) 36 Returns a 32-bit Mersenne Twister pseudorandom number generator. 37 38 Parameters 39 ---------- 40 options: Object (optional) 41 Options. 42 43 options.seed: integer|ArrayLikeObject<integer> (optional) 44 Pseudorandom number generator seed. The seed may be either a positive 45 unsigned 32-bit integer or, for arbitrary length seeds, an array-like 46 object containing unsigned 32-bit integers. 47 48 options.state: Uint32Array (optional) 49 Pseudorandom number generator state. If provided, the `seed` option is 50 ignored. 51 52 options.copy: boolean (optional) 53 Boolean indicating whether to copy a provided pseudorandom number 54 generator state. Setting this option to `false` allows sharing state 55 between two or more pseudorandom number generators. Setting this option 56 to `true` ensures that a returned generator has exclusive control over 57 its internal state. Default: true. 58 59 Returns 60 ------- 61 rand: Function 62 Pseudorandom number generator (PRNG). 63 64 Examples 65 -------- 66 // Basic usage: 67 > var rand = {{alias}}.factory(); 68 > r = rand(); 69 > r = rand(); 70 71 // Provide a seed: 72 > rand = {{alias}}.factory( { 'seed': 1234 } ); 73 > r = rand() 74 822569775 75 76 77 {{alias}}.NAME 78 Generator name. 79 80 Examples 81 -------- 82 > var str = {{alias}}.NAME 83 'mt19937' 84 85 86 {{alias}}.MIN 87 Minimum possible value. 88 89 Examples 90 -------- 91 > var v = {{alias}}.MIN 92 1 93 94 95 {{alias}}.MAX 96 Maximum possible value. 97 98 Examples 99 -------- 100 > var v = {{alias}}.MAX 101 4294967295 102 103 104 {{alias}}.seed 105 Pseudorandom number generator seed. 106 107 Examples 108 -------- 109 > var seed = {{alias}}.seed; 110 111 112 {{alias}}.seedLength 113 Length of generator seed. 114 115 Examples 116 -------- 117 > var len = {{alias}}.seedLength; 118 119 120 {{alias}}.state 121 Generator state. 122 123 Examples 124 -------- 125 > var r = {{alias}}() 126 <number> 127 > r = {{alias}}() 128 <number> 129 > r = {{alias}}() 130 <number> 131 132 // Get a copy of the current state: 133 > var state = {{alias}}.state 134 <Uint32Array> 135 136 > r = {{alias}}() 137 <number> 138 > r = {{alias}}() 139 <number> 140 141 // Set the state: 142 > {{alias}}.state = state; 143 144 // Replay the last two pseudorandom numbers: 145 > r = {{alias}}() 146 <number> 147 > r = {{alias}}() 148 <number> 149 150 151 {{alias}}.stateLength 152 Length of generator state. 153 154 Examples 155 -------- 156 > var len = {{alias}}.stateLength; 157 158 159 {{alias}}.byteLength 160 Size (in bytes) of generator state. 161 162 Examples 163 -------- 164 > var sz = {{alias}}.byteLength; 165 166 167 {{alias}}.toJSON() 168 Serializes the pseudorandom number generator as a JSON object. 169 170 Returns 171 ------- 172 out: Object 173 JSON representation. 174 175 Examples 176 -------- 177 > var o = {{alias}}.toJSON() 178 { 'type': 'PRNG', 'name': '...', 'state': {...}, 'params': [] } 179 180 See Also 181 -------- 182