boggle/lib/StanfordCPPLib/random.h
2024-09-11 17:33:32 +02:00

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>&nbsp;..&nbsp;<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