#include struct uint128 { uint32_t a; uint32_t b; uint32_t c; uint32_t d; }; namespace mrand { uint128 getState(uint64_t seed); float getFloat(uint128 *state); int getValue(int max, uint128 *state); unsigned int computeCRC32(void *data, int dataSize); }