summaryrefslogtreecommitdiff
path: root/core/math/pcg.h
blob: 81f4c9770e8c8ae67ba1e9403db5bebfbfe1a325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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