123456789101112131415161718192021222324252627282930313233 |
- #ifndef CORE_RANDOM_HPP
- #define CORE_RANDOM_HPP
- #include "core/data/Array.hpp"
- #include "core/utils/Types.hpp"
- namespace Core {
- struct Random final {
- using Seed = u32;
- private:
- Array<Seed, 25> data;
- size_t index;
- public:
- Random(Seed seed);
- Seed next();
- Seed next(Seed min, Seed inclusiveMax);
- i32 nextI32();
- i32 nextI32(i32 min, i32 inclusiveMax);
- size_t nextSize();
- size_t nextSize(size_t min, size_t inclusiveMax);
- bool nextBool();
- float nextFloat();
- float nextFloat(float min, float exclusiveMax);
- private:
- void update();
- };
- }
- #endif
|