Date: Wed, 18 Jan 1995 12:06:23 -0500 From: Thomas David Rivers <ponds!rivers@dg-rtp.dg.com> To: freebsd-bugs@freefall.cdrom.com, freebsd-hackers@freefall.cdrom.com Subject: Serious problems in drand48(). Message-ID: <199501181706.MAA15855@ponds.UUCP>
next in thread | raw e-mail | index | archive | help
I have run the following program on a Pentium and a 386sx-16 with
no floating point co-processor.
Both times it reported that drand48() incorrectly returned a value
greater than 1.0.
Of course, you're thinking - I haven't declared drand48() to return
a double - but there it is... 
drand48() should never return a value >= 1.0.
	- Dave Rivers -
----------- cut here (test case) ----------
double d;
#define COUNT 3072
double drand48();
main()
{
  int i;
  for(i=0;i<(COUNT*2); i++) {
        d = drand48();
        if( d > 1.0 ) {
                printf("d (%lf) is greater than 1.0\n", d);
        }
  }
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501181706.MAA15855>
