#ifndef RANDOM_H #define RANDOM_H #include "utils/Types.h" struct Random final { typedef uint32 Seed; private: constexpr static int N = 25; constexpr static int M = 7; Seed data[N]; int index; void update(); public: Random(Seed seed); int next(); int next(int min, int inclusiveMax); float nextFloat(); float nextFloat(float min, float exclusiveMax); }; #endif