Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.hups
Class CycleBasedPointSet

    java.lang.Object
      umontreal.iro.lecuyer.hups.PointSet
          umontreal.iro.lecuyer.hups.CycleBasedPointSet

Direct Known Subclasses:
  CycleBasedPointSetBase2, LCGPointSet

    public abstract class CycleBasedPointSet

extends PointSet

This abstract class provides the basic structures for storing and manipulating a highly uniform point set defined by a set of cycles. The s-dimensional points are all the vectors of s successive values found in any of the cycles, from any starting point. Since this is defined for any positive integer s, the points effectively have an infinite number of dimensions. The number of points, n, is the sum of lengths of all the cycles. The cycles of the point set are simply stored as a list of arrays, where each array contains the successive values for a given cycle. By default, the values are stored in `double`.

This structure is convenient for implementing recurrence-based point sets, where the point set in s dimensions is defined as the set of all vectors of s successive values of a periodic recurrence, from all its possible initial states.

Nested Class Summary
`class` | `CycleBasedPointSet.CycleBasedPointSetIterator`

Constructor Summary
`CycleBasedPointSet()`

Method Summary
`void` | `addRandomShift(int d1, int d2, RandomStream stream)` Adds a random shift to all the points of the point set, using stream `stream` to generate the random numbers, for coordinates `d1` to `d2 - 1`.
`void` | `clearRandomShift()` Erases the current random shift, if any.
`String` | `formatPoints()` Same as invoking `formatPoints` with n and d equal to the number of points and the dimension, respectively.
`double` | `getCoordinate(int i, int j)` Returns ui, j, the coordinate j of the point i.
`int` | `getDimension()` Returns the dimension (number of available coordinates) of the point set.
`PointSetIterator` | `iterator()` Constructs and returns a point set iterator.
`String` | `toString()` Formats a string that contains the information about the point set.

Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
`addRandomShift, addRandomShift, addRandomShift, formatPoints, getNumPoints, getStream, randomize, randomize, randomize, randomize, randomize, setStream, unrandomize`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CycleBasedPointSet

    public CycleBasedPointSet()

Method Detail

### getCoordinate

    public double getCoordinate(int i,
                                int j)

  Description copied from class: `PointSet`
  Returns ui, j, the coordinate j of the point i.

  Specified by:
    `getCoordinate` in class `PointSet`
  Parameters:
    `i` - index of the point to look for
    `j` - index of the coordinate to look for
  Returns:
    the value of ui, j

### addRandomShift

    public void addRandomShift(int d1,
                               int d2,
                               RandomStream stream)

  Adds a random shift to all the points of the point set, using stream `stream` to generate the random numbers, for coordinates `d1` to `d2 - 1`. This applies an addition modulo 1 of a single random point to all the points.

  Overrides:
    `addRandomShift` in class `PointSet`
  Parameters:
    `stream` - Stream used to generate random numbers

### clearRandomShift

    public void clearRandomShift()

  Description copied from class: `PointSet`
  Erases the current random shift, if any.

  Overrides:
    `clearRandomShift` in class `PointSet`

### getDimension

    public int getDimension()

  Description copied from class: `PointSet`
  Returns the dimension (number of available coordinates) of the point set. If the dimension is actually infinite, `Integer.MAX_VALUE` is returned.

  Overrides:
    `getDimension` in class `PointSet`
  Returns:
    the dimension of the point set or `Integer.MAX_VALUE` if it is infinite

### iterator

    public PointSetIterator iterator()

  Description copied from class: `PointSet`
  Constructs and returns a point set iterator. The default implementation returns an iterator that uses the method `getCoordinate` `(i,j)` to iterate over the points and coordinates, but subclasses can reimplement it for better efficiency.

  Overrides:
    `iterator` in class `PointSet`
  Returns:
    point set iterator for the point set

### toString

    public String toString()

  Description copied from class: `PointSet`
  Formats a string that contains the information about the point set.

  Overrides:
    `toString` in class `PointSet`
  Returns:
    string representation of the point set information

### formatPoints

    public String formatPoints()

  Description copied from class: `PointSet`
  Same as invoking `formatPoints` with n and d equal to the number of points and the dimension, respectively.

  Overrides:
    `formatPoints` in class `PointSet`
  Returns:
    string representation of all the points in the point set

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.