commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] [Commented] (MATH-1300) BitsStreamGenerator#nextBytes(byte[]) is wrong
Date Sun, 20 Dec 2015 15:10:46 GMT


Gilles commented on MATH-1300:

Minimal change committed as 1d635088f697178660b6e1c9a89d2b7d3bbe2d29 in "master" branch (4.0).

A unit test shows that the property referred to in the description of this issue passes if
the array size is a multiple of 4.
Another test is "@Ignore"d as a reminder of the limitation.  Can be removed if deemed useless.

We have yet to decide whether to upgrade the Javadoc to mention the feature.

Since the behaviour has changed, perhaps this should not be backported to 3.x (?).

For improving the code (e.g. performance), another report should be created.

> BitsStreamGenerator#nextBytes(byte[]) is wrong
> ----------------------------------------------
>                 Key: MATH-1300
>                 URL:
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.5
>            Reporter: Rostislav Krasny
>         Attachments:,
> Sequential calls to the BitsStreamGenerator#nextBytes(byte[]) must generate the same
sequence of bytes, no matter by chunks of which size it was divided. This is also how java.util.Random#nextBytes(byte[])
> When nextBytes(byte[]) is called with a bytes array of length multiple of 4 it makes
one unneeded call to next(int) method. This is wrong and produces an inconsistent behavior
of classes like MersenneTwister.
> I made a new implementation of the BitsStreamGenerator#nextBytes(byte[]) see attached

This message was sent by Atlassian JIRA

View raw message