SSJ
V. 1.2.5.

umontreal.iro.lecuyer.hups
Class CycleBasedPointSet

java.lang.Object
  extended by umontreal.iro.lecuyer.hups.PointSet
      extended by 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, randomize, randomize, randomize, randomize, 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

SSJ
V. 1.2.5.

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