59 lines
1.6 KiB
C
Executable File
59 lines
1.6 KiB
C
Executable File
/*
|
|
* 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 <code>low</code> to
|
|
* <code>high</code>, 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
|
|
* [<code>low</code> .. <code>high</code>). A half-open
|
|
* interval includes the first endpoint but not the second, which
|
|
* means that the result is always greater than or equal to
|
|
* <code>low</code> but strictly less than <code>high</code>.
|
|
*/
|
|
|
|
double randomReal(double low, double high);
|
|
|
|
/*
|
|
* Function: randomChance
|
|
* Usage: if (randomChance(p)) ...
|
|
* -------------------------------
|
|
* Returns <code>true</code> with the probability indicated by <code>p</code>.
|
|
* The argument <code>p</code> must be a floating-point number between
|
|
* 0 (never) and 1 (always). For example, calling
|
|
* <code>randomChance(.30)</code> returns <code>true</code> 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
|