1: // prng -- A psuedo random number generator.
3: #include "prng.H"
5: prng::prng(int seed) {
6: double lo = 0.0;
7: double hi = 1.0;
9: // Instantiate an additive congruential generator.
10: acg = new ACG(seed, size);
12: // Instantiate a uniform random number generator over the interval (0,1).
13: urng = new Uniform(lo, hi, acg);
15: }
18: long prng::next(long low, long high) { // next random integer
19: double result = (*urng)();
20: return (long)(result*(double)(high - low)) + low;
21: }