23 lines
405 B
C
23 lines
405 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
class Random
|
||
|
|
{
|
||
|
|
private:
|
||
|
|
__int64 seed;
|
||
|
|
bool haveNextNextGaussian;
|
||
|
|
double nextNextGaussian;
|
||
|
|
protected:
|
||
|
|
int next(int bits);
|
||
|
|
public:
|
||
|
|
Random();
|
||
|
|
Random(__int64 seed);
|
||
|
|
void setSeed(__int64 s);
|
||
|
|
void nextBytes(byte *bytes, unsigned int count);
|
||
|
|
double nextDouble();
|
||
|
|
double nextGaussian();
|
||
|
|
int nextInt();
|
||
|
|
int nextInt(int to);
|
||
|
|
float nextFloat();
|
||
|
|
__int64 nextLong();
|
||
|
|
bool nextBoolean();
|
||
|
|
};
|