xref: /original-bsd/usr.bin/pascal/libpc/RANDOM.c (revision 7717c4d4)
1 /*-
2  * Copyright (c) 1979 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  */
7 
8 #ifndef lint
9 static char sccsid[] = "@(#)RANDOM.c	1.5 (Berkeley) 04/09/90";
10 #endif /* not lint */
11 
12 #include "h00vars.h"
13 
14 extern long RAND();
15 
16 double
17 RANDOM()
18 {
19 	double d;
20 	long l;
21 
22 	/*
23 	 * calculate (1103515245 * seed) mod 2^31-1
24 	 */
25 	d = 1103515245.0 * _seed / 2147483647.0;
26 	l = d;
27 	d = d - l;
28 	_seed = d * 2147483647.0;
29 	/*
30 	 * want a value in the range 0..1
31 	 */
32 	return(d);
33 }
34