[ https://issues.apache.org/jira/browse/MATH-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dennis Hendriks updated MATH-724: --------------------------------- Attachment: math-724-v3.patch NextUniformTest3.java NextIntTest3.java bq. Double.Min_VALUE is a positive number. Oops... OK, I uploaded a third version of the patch, which also applies the new formula for nextUniform. I included two test files, that show the results for the old and new formulas. As for as I can see, the new formula works equally well or better in all cases. All existing unit tests pass. > RandomDataImpl.nextInt does not distribute uniformly for negative lower bound > ----------------------------------------------------------------------------- > > Key: MATH-724 > URL: https://issues.apache.org/jira/browse/MATH-724 > Project: Commons Math > Issue Type: Bug > Affects Versions: Nightly Builds > Reporter: Dennis Hendriks > Attachments: NextIntTest3.java, NextIntUniformTest.java, > NextUniformTest3.java, math-724-v2.patch, math-724-v3.patch, math-724.patch > > > When using the RandomDataImpl.nextInt function to get a uniform sample in a > [lower, upper] interval, when the lower value is less than zero, the output > is not uniformly distributed, as the lowest value is practically never > returned. > See the attached NextIntUniformTest.java file. It uses a [-3, 5] interval. > For several values between 0 and 1, testNextIntUniform1 prints the return > value of RandomDataImpl.nextInt (as double and as int). We see that -2 > through 5 are returned several times. The -3 value however, is only returned > for 0.0, and is thus under-respresented in the integer samples. The output of > test method testNextIntUniform2 also clearly shows that value -3 is never > sampled. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira