commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Hendriks (Updated) (JIRA)" <>
Subject [jira] [Updated] (MATH-724) RandomDataImpl.nextInt does not distribute uniformly for negative lower bound
Date Thu, 15 Dec 2011 08:24:30 GMT


Dennis Hendriks updated MATH-724:

    Attachment: math-724-v3.patch

bq. Double.Min_VALUE is a positive number.


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

> RandomDataImpl.nextInt does not distribute uniformly for negative lower bound
> -----------------------------------------------------------------------------
>                 Key: MATH-724
>                 URL:
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: Nightly Builds
>            Reporter: Dennis Hendriks
>         Attachments:,,,
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 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:!default.jspa
For more information on JIRA, see:


View raw message