54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * File: random.hpp
 | |
|  * --------------
 | |
|  * This interface 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 |