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 CycleBasedPointSetBase2

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

Direct Known Subclasses:
  F2wCycleBasedLFSR, F2wCycleBasedPolyLCG

    public abstract class CycleBasedPointSetBase2

extends CycleBasedPointSet

Similar to `CycleBasedPointSet`, except that the successive values in the cycles are stored as integers in the range {0,..., 2k -1}, where 1 <= k <= 31. The output values ui, j are obtained by dividing these integer values by 2k. Point sets where the successive coordinates of each point are obtained via linear recurrences modulo 2 (e.g., linear feedback shift registers or Korobov-type polynomial lattice rules) are naturally expressed in this form. Storing the integers 2kui, j instead of the ui, j themselves makes it easier to apply randomizations such as digital random shifts in base 2, which are applied to the bits before transforming the value to a real number ui, j. When a random digital shift is performed, it applies a bitwise exclusive-or of all the points with a single random point.

Nested Class Summary
`class` | `CycleBasedPointSetBase2.CycleBasedPointSetBase2Iterator`

Nested classes/interfaces inherited from class umontreal.iro.lecuyer.hups.CycleBasedPointSet
`CycleBasedPointSet.CycleBasedPointSetIterator`

Constructor Summary
`CycleBasedPointSetBase2()`

Method Summary
`void` | `addRandomShift(int d1, int d2, RandomStream stream)` Adds a random digital shift in base 2 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.
`PointSetIterator` | `iterator()` Constructs and returns a point set iterator.

Methods inherited from class umontreal.iro.lecuyer.hups.CycleBasedPointSet
`getDimension, toString`

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

### CycleBasedPointSetBase2

    public CycleBasedPointSetBase2()

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.

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

### 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 `CycleBasedPointSet`
  Returns:
    point set iterator for the point set

### addRandomShift

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

  Adds a random digital shift in base 2 to all the points of the point set, using stream `stream` to generate the random numbers, for coordinates `d1` to `d2 - 1`. This applies a bitwise exclusive-or of all the points with a single random point.

  Overrides:
    `addRandomShift` in class `CycleBasedPointSet`
    `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 `CycleBasedPointSet`

### 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 `CycleBasedPointSet`
  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.