/*- * Copyright (c) 1980 The Regents of the University of California. * All rights reserved. * * This module is believed to contain source code proprietary to AT&T. * Use and redistribution is subject to the Berkeley Software License * Agreement and your Software Agreement with AT&T (Western Electric). */ #ifndef lint static char sccsid[] = "@(#)rand_.c.other 5.2 (Berkeley) 4/12/91"; #endif /* not lint */ /* Uniform random number generator. Code courtesy of Bob Morris. Linear congruential generator, suitable for 32 bit machines; multiplication is mod 2**31 */ static long randx = 1; srand_(x) /* subroutine to set seed */ long *x; { randx = *x; } double rand_() { double ldexp(); return(ldexp((double)(((randx = randx*1103515245 + 12345)>>7) & 077777777), -24)); }