You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles (JIRA)" <ji...@apache.org> on 2016/03/14 12:45:33 UTC

[jira] [Created] (MATH-1341) "RandomDataGenerator" is brittle

Gilles created MATH-1341:
----------------------------

             Summary: "RandomDataGenerator" is brittle
                 Key: MATH-1341
                 URL: https://issues.apache.org/jira/browse/MATH-1341
             Project: Commons Math
          Issue Type: Bug
            Reporter: Gilles
            Priority: Minor
             Fix For: 4.0


Class {{RandomDataGenerator}} can easily be misused as it advertizes a method to access its internal RNG (which is _not_ thread-safe).

The class is also a mixed bag of "data generators" that are either "secure" or not.
Moreover it uses the "lazy initialization" pattern (for the RNG instance) solely because of this duality; otherwise users that need one or the other form of data generation will obviously always use the RNG since all data generation methods need it.
This entails also a performance hit (albeit tiny) as each call checks whether the RNG has been initialized already.
The clean solution would be to separate the two types of data generation (secure vs not) into different classes.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)