19 lines
570 B
C
19 lines
570 B
C
// vim:fileencoding=utf-8:foldmethod=marker
|
|
|
|
#ifndef SPLITMIX64_H
|
|
#define SPLITMIX64_H
|
|
|
|
#include "../../common/aliases/aliases.h"
|
|
|
|
typedef struct WpSplitmix64State {
|
|
u64 seed;
|
|
} WpSplitmix64State;
|
|
|
|
WpSplitmix64State wpPrngSplitmix64Init(void);
|
|
WpSplitmix64State wpPrngSplitmix64InitWithSeed(u64 seed);
|
|
u64 wpPrngSplitmix64(WpSplitmix64State *state);
|
|
u64 wpPrngSplitmix64InRange(WpSplitmix64State *state, u64 start, u64 end);
|
|
u64 wpPrngSplitmix64Choice(WpSplitmix64State *state, u64 available_choices);
|
|
|
|
#endif // !SPLITMIX64_H
|