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));
}