[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
Re: Why am I not getting the results I expect...
Sharat Chandra proclaimed:
> > > So if you have random () returning long on your machine, this should
> > > suffice
> > >
> > > ((int) (random ()) % 24) + 1
> > Thanks Venkatest. I figured this out by accident yesterday. Now I know
> > the reason why it worked.
> A small piece of information:
>
> The lower order bits of a random number generated by the "remainder" method
> are supposed to be less random than the higher order bits. Saw this in a
> book "Numerical Recipies in C".
That is what rand()'s man page said too. That was why I was doing the
whole int -> float -> int casting. random() seems to a different beast
than rand().
One more thing I did not mention was that I was using that snippet of code
in a module for xscreensaver. random() behaves different when used inside
a xscreensaver module. It is porbably because of some of the utility
functions I am linking against.
Thaths
--
Marge: Okay, but you've accomplished a lot! You've made me very happy.
Homer: Oh, yeah, they'll put me on a stamp for that!
Sudhakar C13n http://www.aunet.org/thaths/ Lead Indentured Slave