diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2017-01-16 20:06:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-16 20:06:54 +0100 |
commit | bf05dab74f5c0fc19663dce05b462be2aba581a5 (patch) | |
tree | 837c11d04a76437e69d43744487cedf1bb5ec1f0 /core/math/pcg.h | |
parent | 0a9aee6b1d20f29e0e7a3bc8990f807144b62f74 (diff) | |
parent | 4c9004671af455a03acb4e2750b12d62b2b3c917 (diff) |
Merge pull request #7532 from tagcup/pcg_prng
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
Diffstat (limited to 'core/math/pcg.h')
-rw-r--r-- | core/math/pcg.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/math/pcg.h b/core/math/pcg.h new file mode 100644 index 0000000000..81f4c9770e --- /dev/null +++ b/core/math/pcg.h @@ -0,0 +1,14 @@ +// *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org +// Licensed under Apache License 2.0 (NO WARRANTY, etc. see website) + +#ifndef RANDOM_H +#define RANDOM_H + +#include "typedefs.h" + +#define PCG_DEFAULT_INC_64 1442695040888963407ULL + +typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; +uint32_t pcg32_random_r(pcg32_random_t* rng); + +#endif // RANDOM_H |