CycleBasedPointSet
umontreal.iro.lecuyer.hups

Class CycleBasedPointSet

  • Direct Known Subclasses:
    CycleBasedPointSetBase2, LCGPointSet


    public abstract class CycleBasedPointSetextends 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.

    • 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 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(n, d) with n and d equal to the number of points and the dimension of this object, respectively.
        Overrides:
        formatPoints in class PointSet
        Returns:
        string representation of all the points in the point set

SCaVis 1.8 © jWork.org