[ 
https://issues.apache.org/jira/browse/MATH-724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13167594#comment-13167594
 ] 

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: https://issues.apache.org/jira/browse/MATH-724
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: Nightly Builds
>            Reporter: Dennis Hendriks
>         Attachments: NextIntUniformTest.java
>
>
> 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

        

Reply via email to