On Wednesday, 18 April 2012 at 05:05:20 UTC, Joseph Rushton Wakeling wrote:
On 18/04/12 06:43, jerro wrote:
According to the comment the call to prime() is necessary
so that the result doesn't always start with the same element.
But prime() uses the gen member which is only assigned after the constructor completes. So at the time when prime() is called the
gen member is in some default state, so the prime() call in the
constructor always does the same thing. The fix would be to
either modify the constructor to take random generator as a
parameter if Random type parameter is not void, or to move the
call to prime() out of constructor and into all the randomSample
functions. In the ones that have a random generator parameter,
the call to prime should come after gen is asigned.

Ahhh, clear. I should have worked that out from the code, brain not working right today. :-P

It still looks like a serious bug to me, so I've filed a report.
http://d.puremagic.com/issues/show_bug.cgi?id=7936

Well, off course it's a bug :D. I opened a pull request:

https://github.com/D-Programming-Language/phobos/pull/542

Reply via email to