Re: [mpm@selenic.com: Re: buggy ia64_fls() ? (was Re: /dev/random problem on 2.6.12-rc1)]

Matt Mackall
2005-04-08T23:17:02Z

On Fri, Apr 08, 2005 at 04:02:15PM -0700, Luck, Tony wrote:
> >So there's the off-by-one problem. And then there's the huge
> >discontinuity at 0. Trouble is the bias is 65535 rather than 65536 so
> >there's no masking trick that works. We could instead to do
> >exp((x*2)+1).
>
> That will fail for x=0x8000000000000000 ... returns '1' instead of '64'.

That's ok, the function we actually need to fix is fls(int), not
ia64_fls(unsigned long).

--
Mathematics is the supreme nostalgia of our time.