4.4BSD/usr/src/usr.bin/f77/libF77/rand_.c.other
/*-
* 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));
}