1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#ifndef UNSYNCEDRNG_H_
#define UNSYNCEDRNG_H_
class UnsyncedRNG
{
public:
UnsyncedRNG();
void Seed(unsigned seed);
/** @brief returns a random unsigned integer in the range [0, (UINT_MAX & 0x7FFF)) */
unsigned operator()();
/** @brief returns a random integer in the range [0, (INT_MAX & 0x7FFF)) */
int RandInt();
float RandFloat();
/** @brief returns a random number in the range [0, n) */
int operator()(int n);
private:
unsigned randSeed;
};
#endif /*UNSYNCEDRNG_H_*/
|