commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz (Commented) (JIRA)" <>
Subject [jira] [Commented] (MATH-724) RandomDataImpl.nextInt does not distribute uniformly for negative lower bound
Date Mon, 12 Dec 2011 16:49:32 GMT


Phil Steitz commented on MATH-724:

Thanks for reporting this. The problem is in the rounding, which does not work correctly for
negative values.  My first inclination is to test for negative lower bound and just shift
the interval in that case.  Any better ideas?
> 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:
> 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