Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
random.cpp
Go to the documentation of this file.
2
3#include <limits>
4
5namespace storm {
6namespace utility {
8 std::random_device rd;
9 engine = std::mt19937(rd());
10}
11
12RandomProbabilityGenerator<double>::RandomProbabilityGenerator(uint64_t seed) : distribution(0.0, 1.0), engine(seed) {}
13
15 return distribution(engine);
16}
17
19 return std::uniform_int_distribution<uint64_t>(min, max)(engine);
20}
21
22RandomProbabilityGenerator<RationalNumber>::RandomProbabilityGenerator() : distribution(0, std::numeric_limits<uint64_t>::max()) {
23 std::random_device rd;
24 engine = std::mt19937(rd());
25}
26
27RandomProbabilityGenerator<RationalNumber>::RandomProbabilityGenerator(uint64_t seed) : distribution(0, std::numeric_limits<uint64_t>::max()), engine(seed) {}
28
30 return carl::rationalize<RationalNumber>(distribution(engine)) / carl::rationalize<RationalNumber>(std::numeric_limits<uint64_t>::max());
31}
32
34 return std::uniform_int_distribution<uint64_t>(min, max)(engine);
35}
36
38
39bool BernoulliDistributionGenerator::random(boost::mt19937& engine) {
40 return distribution(engine);
41}
42
44
45double ExponentialDistributionGenerator::random(boost::mt19937& engine) {
46 return distribution(engine);
47}
48} // namespace utility
49} // namespace storm
bool random(boost::mt19937 &engine)
Definition random.cpp:39
double random(boost::mt19937 &engine)
Definition random.cpp:45
uint64_t random_uint(uint64_t min, uint64_t max)
Definition random.cpp:33
ValueType max(ValueType const &first, ValueType const &second)
ValueType min(ValueType const &first, ValueType const &second)
LabParser.cpp.
Definition cli.cpp:18