From ea76b6988ccafaa6a4d4ed90f2489d0e49e1f180 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Sat, 5 Sep 2015 09:32:30 -0400 Subject: Imported Upstream version 0.40.24 --- g_src/random.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 g_src/random.h (limited to 'g_src/random.h') diff --git a/g_src/random.h b/g_src/random.h new file mode 100755 index 0000000..a160db9 --- /dev/null +++ b/g_src/random.h @@ -0,0 +1,40 @@ +#ifndef RANDOM_H +#define RANDOM_H + +#ifndef WIN32 +#include +#endif //WIN32 + +#define MT_BUFFER_NUM 10 +#define MT_LEN 624 + + +void mt_init(); +uint32_t mt_trandom(); +static int32_t trandom(uint32_t max=2147483647LU) + { + if(max<=1)return 0; + uint32_t seed=mt_trandom(); + seed=seed%2147483647LU; + seed=seed/((2147483647LU/max)+1); + + return((int32_t)seed); + } +static int32_t loadtrandom(uint32_t max=2147483647LU) + { + uint32_t seed=mt_trandom(); + seed=seed%max; + + return((int32_t)seed); + } +void push_trandom_uniform_seed(uint32_t newseed); +void push_trandom_double_seed(uint32_t newseed1,uint32_t newseed2); +void push_trandom_triple_seed(uint32_t newseed1,uint32_t newseed2,uint32_t newseed3); +void pop_trandom_uniform_seed(); +void trandom_twist(); + +void r_num(); +int32_t basic_random(int32_t max=2147483647); + + +#endif -- cgit v1.2.3