15 RRNG(
int maxEntropy = 50,
17 const ULong64_t* seedAddress =
nullptr,
25 void setSize(
int maxEntropy);
26 void setFixedSeed(ULong64_t seed) { _seedAddress =
nullptr; _editSeed(seed); }
27 void setSeedAddress(
const ULong64_t* seedAddress) { _seedAddress = seedAddress; }
28 void setStreaming(
bool b =
true) { _streaming = b;
if (b) { setSize(0); } }
32 void generate(ULong64_t seed) { setFixedSeed(seed); generate(); }
35 double uniform(
int& idx = _default_idx);
36 void normal(
double& x1,
double& x2,
int& idx = _default_idx);
37 double normal(
int& idx = _default_idx);
38 double landau(
double mu,
double sigma,
int& idx = _default_idx);
39 double exp(
double alpha,
int& idx = _default_idx);
40 int poisson(
double mu,
int& idx = _default_idx);
43 static int _default_idx;
45 void _editSeed(ULong64_t seed) { _rng.SetSeed(seed); _currentSeed = seed; }
46 double _requestNumber(
int& idx);
47 int _nextAvailable(
int start);
51 const ULong64_t* _seedAddress{
nullptr};
52 ULong64_t _currentSeed{0};
53 std::vector<std::pair<double,bool>> _x;
Definition: generate.py:1