Rev 289 | Rev 431 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 289 | Rev 349 | ||
---|---|---|---|
Line 52... | Line 52... | ||
52 | 52 | ||
53 | // cool random number generator (using the mersenne-twister) by http://www-personal.umich.edu/~wagnerr/MersenneTwister.html
|
53 | // cool random number generator (using the mersenne-twister) by http://www-personal.umich.edu/~wagnerr/MersenneTwister.html
|
54 | #include "../3rdparty/MersenneTwister.h"
|
54 | #include "../3rdparty/MersenneTwister.h"
|
55 | // access the Mersenne-Twister-Random-Numbers
|
55 | // access the Mersenne-Twister-Random-Numbers
|
56 | MTRand &mtRand(); // static object lives in globalsettings |
56 | MTRand &mtRand(); // static object lives in globalsettings |
57 | /// nrandom returns a random number from [p1, p2]
|
- | |
- | 57 | /// nrandom returns a random number from [p1, p2] -> p2 is a possible result!
|
|
58 | inline double nrandom(const double& p1, const double& p2) |
58 | inline double nrandom(const double& p1, const double& p2) |
59 | {
|
59 | {
|
60 | return p1 + mtRand().rand(p2-p1); |
60 | return p1 + mtRand().rand(p2-p1); |
61 | //return p1 + (p2-p1)*(rand()/double(RAND_MAX));
|
61 | //return p1 + (p2-p1)*(rand()/double(RAND_MAX));
|
62 | }
|
62 | }
|
63 | /// returns a random number in [0,1]
|
- | |
- | 63 | /// returns a random number in [0,1] (i.e.="1" is a possible result!)
|
|
64 | inline double drandom() |
64 | inline double drandom() |
65 | {
|
65 | {
|
66 | return mtRand().rand(); |
66 | return mtRand().rand(); |
67 | //return rand()/double(RAND_MAX);
|
67 | //return rand()/double(RAND_MAX);
|
68 | }
|
68 | }
|
- | 69 | /// return a random number from "from" to "to" (incl.), i.e. irandom(3,5) results in 3, 4 or 5.
|
|
69 | inline int irandom(int from, int to) |
70 | inline int irandom(int from, int to) |
70 | {
|
71 | {
|
71 | return from + mtRand().randInt(to-from); |
72 | return from + mtRand().randInt(to-from); |
72 | //return from + rand()%(to-from);
|
73 | //return from + rand()%(to-from);
|
73 | }
|
74 | }
|