11677Smckusick /* Copyright (c) 1979 Regents of the University of California */ 21677Smckusick 3*10228Smckusick static char sccsid[] = "@(#)RANDOM.c 1.4 01/10/83"; 41677Smckusick 52181Smckusic #include "h00vars.h" 62181Smckusic 73017Smckusic extern long RAND(); 83017Smckusic 91677Smckusick double 101677Smckusick RANDOM() 111677Smckusick { 12*10228Smckusick double d; 13*10228Smckusick long l; 14*10228Smckusick 151677Smckusick /* 16*10228Smckusick * calculate (1103515245 * seed) mod 2^31-1 171677Smckusick */ 18*10228Smckusick d = 1103515245.0 * _seed / 2147483647.0; 19*10228Smckusick l = d; 20*10228Smckusick d = d - l; 21*10228Smckusick _seed = d * 2147483647.0; 22*10228Smckusick /* 23*10228Smckusick * want a value in the range 0..1 24*10228Smckusick */ 25*10228Smckusick return(d); 261677Smckusick } 27