<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 3 Jan 2014, at 19:22, Krzysztof SkrzÄ™tnicki wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div><div><div>I think the confusion may be come from the understanding of "distinct". The documentation is right that the generators are not equal which is easily checked e.g. using their Show instance. They <i>will</i> produce different random numbers. The user of the library might OTOH assume that "distinct" mean "producing uncorrelated output".</div></div></div></div></div></blockquote><div><br></div>I agree that my example doesn't refute the precise meaning of the words.</div><div>May I suggest that the statement that the generators are likely to be</div><div>distinct on distinct inputs isn't really that useful to someone using StdGen.</div><div><br><blockquote type="cite"><div dir="ltr"><div><div><div><div> This is harder and may simply not hold, especially that it doesn't mention sequentially increasing integers or any other kinds of sequences.<br>

<br></div>The property you seem to be looking for is "have vastly different output for similar numbers". Sounds a lot like a hash function to me. <br><br></div></div></div></div></blockquote><div><br></div>I think most people would expect the function that maps the seed of a</div><div>pseudo-random number generator to the</div><div>first (or second or third or ...) value it generates to be a</div><div>reasonably good hash function. As this turns out not to be</div><div>the case for the algorithm used by StdGen for certain lengths</div><div>of the range, the statement about distinct generators is</div><div>somewhat misleading.</div><div><br></div><div>I had a look at the StdGen source and don't know enough about</div><div>the algorithm it is using to comment on why it has this surprising</div><div>behaviour for some lengths of the range. It really is surprising</div><div>in my view: one way of describing the behaviour is that if you</div><div>use StdGen to generate a random boolean with seeds n and n+1,</div><div>the probability that the two values are different is less than 1/50,000.</div><div><br></div><div>Thanks for suggesting the useful work-arounds.</div><div><br></div><div>Regards,</div><div><br></div><div>Rob.</div><div><br></div></body></html>