PCG variant using 128-bit state with DXSM (Double Xorshift Multiply) output permutation to produce 64-bit values. This is NumPy’s default random number generator, using a cheap 64-bit multiplier for improved performance while maintaining excellent statistical properties.
| Property | Value |
|---|---|
| Category | Random Number Generators |
| Sub-category | Permuted Congruential Generator |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | Melissa E. O’Neill |
| Year | 2019 |
| Origin | 🇺🇸 United States |
| Source | algorithms/random/pcg64-dxsm.js |
| Parameter | Supported values |
|---|---|
| Seed sizes | 16 bytes (128 bits) |
| Flag | Value |
|---|---|
IsDeterministic |
Yes |
IsCryptographicallySecure |
No |
Status: 🎓 Educational Only
No vulnerabilities are recorded for this implementation.
1 vector ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — PCG64-DXSM state=0, inc=1: first 10 x 64-bit outputs (NumPy verified)
| Field | Value |
|---|---|
seed |
00000000000000010000000000000000 |
outputSize |
80 |
input |
null |
expected |
00000000000000000000000000000000 00000000000000005238ea76d1f0df4a 1a3c4747022e48a4340b0228e6afc056 81bb52f8baaa203a0fd17a4a4b0a1ce3 55fe9ec2c245a242a2f6d5a82a0704f9 |