Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #34919
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Will Math.random return 0.0? |
| Date | 2016-07-16 14:19 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <nmdtr1$f2f$1@dont-email.me> (permalink) |
| References | <rand-20160716162126@ram.dialup.fu-berlin.de> <nmdoj7$o5v$1@news2.informatik.uni-stuttgart.de> <nmdtk7$19to$1@gioia.aioe.org> |
On 7/16/2016 2:15 PM, Arne Vajhøj wrote:
> On 7/16/2016 12:49 PM, Thomas Richter wrote:
>> Am 16.07.2016 um 17:24 schrieb Stefan Ram:
>>> I wrote the following program.
>>>
>>> public final class Main
>>> { public static void main( final java.lang.String[] args )
>>> { while( java.lang.Math.random() != 0.0 );
>>> java.lang.System.out.println( "0.0" ); }}
>>>
>>> What do you expect it's (average) runtime to be
>>> on average hardware?
>>>
>>> Can we be sure that it will ever terminate?
>>
>> No, you cannot.
>
> Sure?
>
>> If random() is implemented by the average (=bad) linear
>> congruence generator, then zero will never be the output of random().
>
> Not true.
>
> First LCG's can have seed zero and a good cycle as long as the add part
> is non-zero.
>
> Second even for an MLCG (with add part zero) where seed can not be
> zero, then the random numbers can include zero simply by subtracting
> one.
Third, no law requires that *all* the state bits become part
of the output. (Indeed, for java.util.Random *no more than* 32 of
the 48 bits of state contribute to the output of next(), and in the
particular case of nextDouble() only 53 high-order bits from two
consecutive 48-bit states participate.)
--
esosman@comcast-dot-net.invalid
"Don't be afraid of work. Make work afraid of you." -- TLM
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: Will Math.random return 0.0? Thomas Richter <thor@math.tu-berlin.de> - 2016-07-16 18:49 +0200
Re: Will Math.random return 0.0? Arne Vajhøj <arne@vajhoej.dk> - 2016-07-16 14:15 -0400
Re: Will Math.random return 0.0? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-07-16 14:19 -0400
csiph-web