Skip to content

Commit 3a2cd84

Browse files
committed
C++11 random number generator
1 parent 54919a2 commit 3a2cd84

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/greasepad.pro

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ SOURCES += \
4343
qstroke.cpp \
4444
quantiles.cpp \
4545
state.cpp \
46-
statistics.cpp \
4746
uncertain.cpp \
4847
upoint.cpp \
4948
usegment.cpp \

src/statistics/uniform.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#include <cassert>
55
#include <cstdlib>
6+
#include <random>
67

78
#include "statistics/prob.h"
89

@@ -65,7 +66,11 @@ inline double ContinuousUniform::pdf( const double x) const
6566
//! uniformly distributed random number in [a,b], b>a
6667
inline double ContinuousUniform::rnd() const
6768
{
68-
const double u = static_cast<double>(rand()) / static_cast<double>(RAND_MAX);
69+
// const double u = static_cast<double>(rand()) / static_cast<double>(RAND_MAX);
70+
static thread_local std::mt19937 engine{ std::random_device{} () };
71+
static thread_local std::uniform_real_distribution<double> dist(0.0, 1.0);
72+
const double u = dist(engine);
73+
6974
return a +u*(b -a);
7075
}
7176

0 commit comments

Comments
 (0)