Re: [HACKERS] random() function produces wrong range
Thomas Swan <tswan@olemiss.edu>
From: Thomas Swan <tswan@olemiss.edu>
To: Tom Lane <tgl@sss.pgh.pa.us>, Malcolm Beattie <mbeattie@sable.ox.ac.uk>
Cc: Thomas Lockhart <lockhart@alumni.caltech.edu>, pgsql-hackers@postgresql.org, pgsql-general@postgresql.org
Date: 2000-08-03T03:23:07Z
Lists: pgsql-hackers
> >> none of the man pages I've looked at so far mention it). But all the > >> machines say that the output of random() is 31 bits, so INT_MAX should > >> work. > > > SuSv2 says explicitly 2^31-1 so you should use that, otherwise you'll > > be non-portable to platforms with 64-bit ints, for example. > >Maybe. You don't think that a 64-bit-int platform would choose to >supply a random() function with a range of 2^63-1? The HPUX and SunOS >man pages clearly specify that random()'s result is "long", so I think >a case could also be made for LONG_MAX. > >I suspect we have a good chance at getting burned no matter what we use >:-(. But RAND_MAX is definitely the wrong thing. Is it possible to test (during configure phase) and then go from there... or does it need to be the same for all platforms? - - Thomas Swan - Graduate Student - Computer Science - The University of Mississippi - - "People can be categorized into two fundamental - groups, those that divide people into two groups - and those that don't."