Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/misc/pcg.h
9903 views
1
// *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org
2
// Licensed under Apache License 2.0 (NO WARRANTY, etc. see website)
3
4
#ifndef RANDOM_H
5
#define RANDOM_H
6
7
#include "core/typedefs.h"
8
9
#define PCG_DEFAULT_INC_64 1442695040888963407ULL
10
11
typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t;
12
uint32_t pcg32_random_r(pcg32_random_t* rng);
13
void pcg32_srandom_r(pcg32_random_t* rng, uint64_t initstate, uint64_t initseq);
14
uint32_t pcg32_boundedrand_r(pcg32_random_t* rng, uint32_t bound);
15
16
#endif // RANDOM_H
17
18