As you know, one of the reasons I'm discovering these little "quirks" is because in converting to .NET I'm building a lot of unit tests. These might turn out to be useful for discovering bugs (such as the one reported last month for array copy in "Bag.addAll()"). But they are not directly useful to you, other than to "turn up the soil".
Obviously for a conversion, the unit tests are mandatory. Do you have internal test batteries that you run against these projects?
I would volunteer to build such batteries myself were it not for severe constraints on my time. Surely there are comp science students there who could be enlisted to practice formal testing techniques on your projects? ;-)
In any case, I have a HUGE amount of work to do to translate the MASON code (Java3D, OpenGL, Swing, etc.). It is frankly quite daunting, and I'm still trying to find the best way to hook appropriately into WPF and Direct3D. Yikes!
Don't bother telling me I'm crazy. I'm already "committed"!
When the dust settles, I'll see what I can do to help in Java.
On Wed, May 11, 2011 at 10:04 AM, Sean Luke <[log in to unmask]>
Hi Ben. The sim.util.distribution implementations are actually slightly modified versions of original code from the now-defunct COLT project at CERN -- and with a statement to that effect [basically "we didn't make it so we can't vouch for other people's crummy code, but this might be useful for you" :-) ]. This incorrect documentation is from them.
If you're concerned about the documentation, you should see the magic numbers in their code. :-(
We can go over their documentation but it's going to be a long time in the queue. But if YOU have time to prod at it, I will gladly fix every single error you find in that documentation. I've fixed the ChiSquare doc bug.
[Sorry that this is a variant of the classic irritating Linux developers' response "well if you want a feature YOU write it" -- which I hate.]
On May 11, 2011, at 9:41 AM, Ben Stabile wrote:
I've been going over the "sim.util.distribution" implementations and I've noticed that the code comments (JavaDoc) has several inconsistencies. I know that the online docs don't include these comments (yet?), but if you DO generate the docs someone should review the descriptions of parameter boundaries.
For example, in ChiSquare class documentation (line 19) the following is found:
* Valid parameter ranges: <tt>freedom > 0</tt>.
In fact, the parameter must be greater than or equal to 1.0 or an ArgumentException will be thrown in "setState(double freedom)" (line 142).
Other inconsistencies exist elsewhere, but I'm just pointing this one out so you can be aware that a thorough review should be conducted if you plan on publishing the class docs for these distributions. Otherwise, you could end up with quite a flurry of newsgroup queries, or worse, a lot of broken code. ;-)