diff options
author | Mitya Selivanov <automainint@guattari.tech> | 2024-07-14 21:12:37 +0200 |
---|---|---|
committer | Mitya Selivanov <automainint@guattari.tech> | 2024-07-14 21:12:37 +0200 |
commit | 30740ca4131d1f574718262451b4410207dc8d4e (patch) | |
tree | fc88b16a216079397ad85b9c6b1a1c1c5712a814 /kit/mersenne_twister_64.h | |
parent | 5e3c99bb1cf1d03ea006300121265571f5008fd2 (diff) | |
download | saw-30740ca4131d1f574718262451b4410207dc8d4e.zip |
Reworking the build system
Diffstat (limited to 'kit/mersenne_twister_64.h')
-rw-r--r-- | kit/mersenne_twister_64.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/kit/mersenne_twister_64.h b/kit/mersenne_twister_64.h new file mode 100644 index 0000000..2709dd7 --- /dev/null +++ b/kit/mersenne_twister_64.h @@ -0,0 +1,35 @@ +#ifndef KIT_MERSENNE_TWISTER_64_H +#define KIT_MERSENNE_TWISTER_64_H + +#include "types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +enum { + KIT_MT64_N = 312, +}; + +typedef struct { + u64 mt[KIT_MT64_N]; + u64 index; +} kit_mt64_state_t; + +void kit_mt64_init_array(kit_mt64_state_t *state, i64 size, + u64 *seed); +void kit_mt64_init(kit_mt64_state_t *state, u64 seed); +void kit_mt64_rotate(kit_mt64_state_t *state); +u64 kit_mt64_generate(kit_mt64_state_t *state); + +#ifdef __cplusplus +} +#endif + +#define mt64_state_t kit_mt64_state_t +#define mt64_init_array kit_mt64_init_array +#define mt64_init kit_mt64_init +#define mt64_rotate kit_mt64_rotate +#define mt64_generate kit_mt64_generate + +#endif |