32 lines
485 B
C
32 lines
485 B
C
|
/*
|
||
|
* random-number generator for testing
|
||
|
*/
|
||
|
static unsigned long next = 1;
|
||
|
|
||
|
/*
|
||
|
- range - generate a random number within an inclusive range
|
||
|
*
|
||
|
* Algorithm from ANSI C standard. Limitation: max-min <= 32767.
|
||
|
*/
|
||
|
int
|
||
|
range(min, max)
|
||
|
int min;
|
||
|
int max;
|
||
|
{
|
||
|
register int temp;
|
||
|
|
||
|
next = next * 1103515245 + 12345;
|
||
|
temp = (int)((next/65536)%32768);
|
||
|
return(temp%(max - min + 1) + min);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
- seed - seed random number generator
|
||
|
*/
|
||
|
void
|
||
|
seed(n)
|
||
|
long n;
|
||
|
{
|
||
|
next = (unsigned long)n;
|
||
|
}
|