digitalmars.D.bugs - [Issue 10427] New: No opEquals method in std.random.MersenneTwisterEngine
- d-bugmail puremagic.com (20/20) Jun 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10427
- d-bugmail puremagic.com (18/18) Jun 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10427
- d-bugmail puremagic.com (10/10) Jun 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10427
- d-bugmail puremagic.com (13/13) Jun 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10427
- d-bugmail puremagic.com (6/6) Jun 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10427
http://d.puremagic.com/issues/show_bug.cgi?id=10427 Summary: No opEquals method in std.random.MersenneTwisterEngine Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: joseph.wakeling webdrake.net 2013-06-20 13:38:23 PDT --- MersenneTwisterEngine should have an .opEquals() method like Xorshift and the Linear Congruential generator. Because it's currently a value type the lack seems innocuous, but it will cause issues if/when the design is converted to a reference type. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10427 Jonathan M Davis <jmdavisProg gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jmdavisProg gmx.com PDT --- How is this a bug? It doesn't _need_ an opEquals, so it would be bad practice to add one. If it's changed to a reference type, _then_ you need opEquals, and you implement it. But until it's a reference type, opEquals is unnnecessary, and not having it is most definitely not a bug. If anything, the fact that XOrshiftEngine and LinearCongruentialEngine have opEquals have opEquals is the bug. As far as I can tell, they don't need them. Please _don't_ declare opEquals on types that don't need them. It _increases_ the chances of there being a bug, because the opEquals could be wrong. It could also be less efficient than what the compiler would have done on its own. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10427 2013-06-20 14:30:40 PDT --- It's a discrepancy I noticed, so I thought it should be on record. The concern was that when the RNGs _are_ converted to reference types, the lack of opEquals in one out of three might be overlooked. The unittests I've submitted earlier today should catch that if it happens, though. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10427 Jonathan M Davis <jmdavisProg gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID PDT --- While I understand the concern about the possibility of introducing a bug, bug reports are for actual bugs, not for potential bugs. And unit testing is exactly how you prevent such regressions from creeping into the code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10427 2013-06-20 16:40:50 PDT --- Fair enough, sorry for the noise. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2013