Class AbstractWell.IndexTable

java.lang.Object
org.hipparchus.random.AbstractWell.IndexTable
Enclosing class:
AbstractWell

protected static final class AbstractWell.IndexTable extends Object
Inner class used to store the indirection index table which is fixed for a given type of WELL class of pseudo-random number generator.
  • Constructor Summary

    Constructors
    Constructor
    Description
    IndexTable(int k, int m1, int m2, int m3)
    Creates a new pre-calculated indirection index table.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getIndexM1(int index)
    Returns index + M1 modulo the table size.
    int
    getIndexM2(int index)
    Returns index + M2 modulo the table size.
    int
    getIndexM3(int index)
    Returns index + M3 modulo the table size.
    int
    getIndexPred(int index)
    Returns the predecessor of the given index modulo the table size.
    int
    getIndexPred2(int index)
    Returns the second predecessor of the given index modulo the table size.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IndexTable

      public IndexTable(int k, int m1, int m2, int m3)
      Creates a new pre-calculated indirection index table.
      Parameters:
      k - number of bits in the pool (not necessarily a multiple of 32)
      m1 - first parameter of the algorithm
      m2 - second parameter of the algorithm
      m3 - third parameter of the algorithm
  • Method Details

    • getIndexPred

      public int getIndexPred(int index)
      Returns the predecessor of the given index modulo the table size.
      Parameters:
      index - the index to look at
      Returns:
      (index - 1) % table size
    • getIndexPred2

      public int getIndexPred2(int index)
      Returns the second predecessor of the given index modulo the table size.
      Parameters:
      index - the index to look at
      Returns:
      (index - 2) % table size
    • getIndexM1

      public int getIndexM1(int index)
      Returns index + M1 modulo the table size.
      Parameters:
      index - the index to look at
      Returns:
      (index + M1) % table size
    • getIndexM2

      public int getIndexM2(int index)
      Returns index + M2 modulo the table size.
      Parameters:
      index - the index to look at
      Returns:
      (index + M2) % table size
    • getIndexM3

      public int getIndexM3(int index)
      Returns index + M3 modulo the table size.
      Parameters:
      index - the index to look at
      Returns:
      (index + M3) % table size