#include <stdexcept>
+#include <stdio.h>
#include <time.h>
+#include <cassert>
#include "random_generator.hpp"
-#include "scripting/squirrel_util.hpp"
RandomGenerator systemRandom; // global random number generator
}
int RandomGenerator::rand() {
- int rv; // a posative int
+ int rv; // a positive int
while ((rv = RandomGenerator::random()) <= 0) // neg or zero causes probs
;
if (debug > 0)
double RandomGenerator::randf(double v) {
float rv;
do {
- rv = ((double)RandomGenerator::random())/RandomGenerator::rand_max * v;
- } while (rv >= v); // rounding might cause rv==v
+ rv = ((double)RandomGenerator::random())/RandomGenerator::rand_max * v;
+ } while (rv >= v); // rounding might cause rv==v
if (debug > 0)
printf("==== rand(): %f =====\n", rv);
// then initialized to contain information for random number generation with
// that much state information. Good sizes for the amount of state
// information are 32, 64, 128, and 256 bytes. The state can be switched by
-// calling the setstate() routine with the same array as was initiallized
+// calling the setstate() routine with the same array as was initialized
// with initstate(). By default, the package runs with 128 bytes of state
// information and generates far better random numbers than a linear
// congruential generator. If the amount of state information is less than
//
// Compute x = (7^5 * x) mod (2^31 - 1)
-// wihout overflowing 31 bits:
+// without overflowing 31 bits:
// (2^31 - 1) = 127773 * (7^5) + 2836
// From "Random number generators: good ones are hard to find",
// Park and Miller, Communications of the ACM, vol. 31, no. 10,