File: random.c

package info (click to toggle)
egcs64 19980921-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 70,228 kB
  • ctags: 86,158
  • sloc: ansic: 673,828; cpp: 81,202; sh: 16,585; yacc: 14,880; asm: 10,981; lisp: 7,252; makefile: 6,221; exp: 3,236; fortran: 1,795; sed: 587; objc: 482; pascal: 133; ml: 57; perl: 18
file content (31 lines) | stat: -rw-r--r-- 485 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * 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;
}