use initialized static final arrays, instead of initializing it in constructors
-------------------------------------------------------------------------------

                 Key: MATH-725
                 URL: https://issues.apache.org/jira/browse/MATH-725
             Project: Commons Math
          Issue Type: Improvement
    Affects Versions: 2.2
            Reporter: Eldar Agalarov
            Priority: Minor


The Well PRNG's implementations have arrays iRm1, iRm2, iRm3, i1, i2, i3. All 
these arrays are unmodifiable, so we can replace this arrays initialization 
block

        final int w = 32;
        final int r = (k + w - 1) / w;
        this.v = new int[r];
        this.index = 0;
        
        // precompute indirection index tables. These tables are used for 
optimizing access
        // they allow saving computations like "(j + r - 2) % r" with costly 
modulo operations
        iRm1 = new int[r];
        iRm2 = new int[r];
        i1 = new int[r];
        i2 = new int[r];
        i3 = new int[r];
        for (int j = 0; j < r; ++j) {
        iRm1[j] = (j + r - 1) % r;
        iRm2[j] = (j + r - 2) % r;
        i1[j] = (j + m1) % r;
        i2[j] = (j + m2) % r;
        i3[j] = (j + m3) % r;
        }


with inline initialized static final arrays.


--
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