// vim:fileencoding=utf-8:foldmethod=marker #ifndef XORSHIFT_H #define XORSHIFT_H #include "../../common/aliases/aliases.h" #include "../../common/platform/platform.h" #ifdef WP_PLATFORM_CPP BEGIN_C_LINKAGE #endif // !WP_PLATFORM_CPP typedef struct WpXor256State WpXor256State; struct WpXor256State { u64 x; u64 y; u64 z; u64 w; }; WpXor256State wpPrngXorshiftInit(void); u64 wpPrngXorshift256(WpXor256State *state); u64 wpPrngXorshift256ss(WpXor256State *state); u64 wpPrngXorshift256p(WpXor256State *state); #ifdef WP_PLATFORM_CPP END_C_LINKAGE #endif // !WP_PLATFORM_CPP #endif // !XORSHIFT_H