Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: win32 random number generator


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
  • Cc: pgsql-hackers-win32(at)postgresql(dot)org
  • Subject: Re: win32 random number generator
  • Date: Mon, 22 Aug 2005 17:32:39 -0400
  • Message-id: <21425(dot)1124746359(at)sss(dot)pgh(dot)pa(dot)us>

"Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> writes:
> Looks like this in lrand48(void):
> //return ((long) _rand48_seed[2] << 15) + ((long) _rand48_seed[1] > 1);

> is supposed to be this:
> return (long)((unsigned long) _rand48_seed[2] << 15) + ((unsigned long)
> _rand48_seed[1] >> 1);

Hmm, _rand48_seed is unsigned short, so casting to either long or
unsigned long should zero-extend, and then it doesn't matter whether
the shifts think it's signed or not.  In short, that shouldn't change
the behavior unless your compiler is broken.

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group