/* * File: random.h * -------------- * This file exports functions for generating pseudorandom numbers. */ #ifndef _random_h #define _random_h /* * Function: randomInteger * Usage: int n = randomInteger(low, high); * ---------------------------------------- * Returns a random integer in the range low to * high, inclusive. */ int randomInteger(int low, int high); /* * Function: randomReal * Usage: double d = randomReal(low, high); * ---------------------------------------- * Returns a random real number in the half-open interval * [low .. high). A half-open * interval includes the first endpoint but not the second, which * means that the result is always greater than or equal to * low but strictly less than high. */ double randomReal(double low, double high); /* * Function: randomChance * Usage: if (randomChance(p)) ... * ------------------------------- * Returns true with the probability indicated by p. * The argument p must be a floating-point number between * 0 (never) and 1 (always). For example, calling * randomChance(.30) returns true 30 percent * of the time. */ bool randomChance(double p); /* * Function: setRandomSeed * Usage: setRandomSeed(seed); * --------------------------- * Sets the internal random number seed to the specified value. You * can use this function to set a specific starting point for the * pseudorandom sequence or to ensure that program behavior is * repeatable during the debugging phase. */ void setRandomSeed(int seed); #endif