23 std::random_device rd;
24 std::mt19937 gen(rd());
25 std::exponential_distribution<double> expDist(
m_lambda);
26 double value = expDist(gen);
28 std::bernoulli_distribution bernoulliDist(0.5);
29 bool sign = bernoulliDist(gen);
31 return sign ? value : -value;
37 std::random_device rd;
38 std::mt19937 gen(rd());
41 return normalDist(gen);
47 std::random_device rd;
48 std::mt19937 gen(rd());
49 std::uniform_real_distribution<double> uniformDist(
m_a,
m_b);
51 return uniformDist(gen);
56 std::random_device rd;
57 std::mt19937 gen(rd());
60 std::uniform_real_distribution<> uniformDist(0.0, 1.0);
61 double cdf_value = uniformDist(gen);
71 std::random_device rd;
72 std::mt19937 gen(rd());
75 std::uniform_real_distribution<> uniformDist(0.0, 1.0);
76 double cdf_value = uniformDist(gen);
79 double func = 0.0, funcDeriv = 0.0, x = 0.0;
87 bool convergedSoln =
false;
88 while (!convergedSoln) {
92 x = x - func / funcDeriv;
94 if (std::abs(func / funcDeriv) < 0.001)
Defines interface class IProfile1D, and children thereof.
double randomSample() const override
double randomSample() const override
double randomSample() const override
double randomSample() const override
double randomSample() const override
virtual ~IDistribution1DSampler()