mirror of https://github.com/davisking/dlib.git
Gave rand a constructor that takes a seed value.
This commit is contained in:
parent
1b1cf7548c
commit
7f5a22c424
|
@ -36,18 +36,15 @@ namespace dlib
|
||||||
rand(
|
rand(
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// prime the generator a bit
|
init();
|
||||||
for (int i = 0; i < 10000; ++i)
|
}
|
||||||
mt();
|
|
||||||
|
|
||||||
max_val = 0xFFFFFF;
|
rand (
|
||||||
max_val *= 0x1000000;
|
const std::string& seed_value
|
||||||
max_val += 0xFFFFFF;
|
)
|
||||||
max_val += 0.01;
|
{
|
||||||
|
init();
|
||||||
|
set_seed(seed_value);
|
||||||
has_gaussian = false;
|
|
||||||
next_gaussian = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~rand(
|
virtual ~rand(
|
||||||
|
@ -234,6 +231,23 @@ namespace dlib
|
||||||
);
|
);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
void init()
|
||||||
|
{
|
||||||
|
// prime the generator a bit
|
||||||
|
for (int i = 0; i < 10000; ++i)
|
||||||
|
mt();
|
||||||
|
|
||||||
|
max_val = 0xFFFFFF;
|
||||||
|
max_val *= 0x1000000;
|
||||||
|
max_val += 0xFFFFFF;
|
||||||
|
max_val += 0.01;
|
||||||
|
|
||||||
|
|
||||||
|
has_gaussian = false;
|
||||||
|
next_gaussian = 0;
|
||||||
|
}
|
||||||
|
|
||||||
mt19937 mt;
|
mt19937 mt;
|
||||||
|
|
||||||
std::string seed;
|
std::string seed;
|
||||||
|
|
|
@ -34,6 +34,19 @@ namespace dlib
|
||||||
- std::bad_alloc
|
- std::bad_alloc
|
||||||
!*/
|
!*/
|
||||||
|
|
||||||
|
rand (
|
||||||
|
const std::string& seed_value
|
||||||
|
);
|
||||||
|
/*!
|
||||||
|
ensures
|
||||||
|
- #*this is properly initialized
|
||||||
|
- #get_seed() == seed_value
|
||||||
|
- This version of the constructor is equivalent to using
|
||||||
|
the default constructor and then calling set_seed(seed_value)
|
||||||
|
throws
|
||||||
|
- std::bad_alloc
|
||||||
|
!*/
|
||||||
|
|
||||||
virtual ~rand(
|
virtual ~rand(
|
||||||
);
|
);
|
||||||
/*!
|
/*!
|
||||||
|
|
Loading…
Reference in New Issue