Hello. This is a post to ask about what we want "Commons RNG" to be (as a service to the users).
In the Wikipedia pages referred to in the following reports https://issues.apache.org/jira/browse/RNG-16 https://issues.apache.org/jira/browse/RNG-17 the take-away message (IIUC) is that LCG and LFG are almost never to be used.[1] If we want "Commons RNG" to be a repository of all generators that exist out there, irrespective of their known weaknesses, it's fine; but we should be careful to not let casual users just pick one of the implementations on the premise that the library focuses on high quality generators. On the other hand, we could be wary of adding code[2] that we'd then recommend to not use... If, from some POV, it is deemed useful to have those, the scope and overview of the component should mention, prominently, the "caveat".[3] I have no issue with adding any new implementation,[4] on the conditions that it comes with 1. a unit test where the output (say, a few hundred numbers) of "Commons RNG" is compared against a "reference" implementation,[5] 2. the outputs of the "RandomStressTester"[6] piping from the "Dieharder" and "TU01/BigCrush" actual stress test suites.[7] We should add a note to that effect somewhere in the documentation, perhaps in "CONTRIBUTING.md" (?). Regards, Gilles [1] Emmanuel, if you don't mind, we'd thus set the JIRA issue "type" to "wish" rather than "improvement". [2] https://xkcd.com/221/ [3] Up to now, I had assumed that no known-to-be-bad generators would be part of "Commons RNG" (except "JDK", for reference purposes). [4] It is not a problem to wait another couple of weeks for the additional code, before releasing 1.0. [5] I.e. _not_ a "pre-run" of the same implementation! [6] Source is in "src/userguide/java". [7] Those software have to be installed separately. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org