SSJ
V. 1.2.5.

umontreal.iro.lecuyer.hups
Class RandShiftedPointSet

java.lang.Object
  extended by umontreal.iro.lecuyer.hups.PointSet
      extended by umontreal.iro.lecuyer.hups.ContainerPointSet
          extended by umontreal.iro.lecuyer.hups.RandShiftedPointSet

public class RandShiftedPointSet
extends ContainerPointSet

This container class embodies a point set to which a random shift modulo 1 is applied (i.e., a single uniform random point is added to all points, modulo 1, to randomize the inner point set).

When calling addRandomShift, a new random shift will be generated. This shift is represented by a vector of d uniforms over (0, 1), where d is the current dimension of the shift.


Constructor Summary
RandShiftedPointSet(PointSet P, int dimShift, RandomStream stream)
          Constructs a structure to contain a randomly shifted version of P.
 
Method Summary
 void addRandomShift()
          Refreshes all coordinates of the random shift, up to its current dimension.
 void addRandomShift(int d1, int d2)
          Refreshes the random shift (generates new uniform values for the random shift coordinates) for coordinates d1 to d2-1.
 void addRandomShift(int d1, int d2, RandomStream stream)
          Changes the stream used for the random shifts to stream, then refreshes the shift for coordinates d1 to d2-1.
 void addRandomShift(RandomStream stream)
          Changes the stream used for the random shifts to stream, then refreshes all coordinates of the random shift, up to its current dimension.
 int getShiftDimension()
          Returns the number of dimensions of the current random shift.
 PointSetIterator iterator()
          Constructs and returns a point set iterator.
 
Methods inherited from class umontreal.iro.lecuyer.hups.ContainerPointSet
clearRandomShift, formatPoints, getCoordinate, getDimension, getNumPoints, toString
 
Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
formatPoints, randomize, randomize, randomize, randomize, unrandomize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RandShiftedPointSet

public RandShiftedPointSet(PointSet P,
                           int dimShift,
                           RandomStream stream)
Constructs a structure to contain a randomly shifted version of P. The random shifts will be generated in up to dimShift dimensions, using stream stream.

Parameters:
P - point set being randomized
dimShift - dimension of the initial shift
stream - stream used for generating random shifts
Method Detail

getShiftDimension

public int getShiftDimension()
Returns the number of dimensions of the current random shift.


addRandomShift

public void addRandomShift(int d1,
                           int d2,
                           RandomStream stream)
Changes the stream used for the random shifts to stream, then refreshes the shift for coordinates d1 to d2-1.

Overrides:
addRandomShift in class ContainerPointSet

addRandomShift

public void addRandomShift(RandomStream stream)
Changes the stream used for the random shifts to stream, then refreshes all coordinates of the random shift, up to its current dimension.

Overrides:
addRandomShift in class ContainerPointSet

addRandomShift

public void addRandomShift(int d1,
                           int d2)
Refreshes the random shift (generates new uniform values for the random shift coordinates) for coordinates d1 to d2-1.

Overrides:
addRandomShift in class ContainerPointSet

addRandomShift

public void addRandomShift()
Refreshes all coordinates of the random shift, up to its current dimension.

Overrides:
addRandomShift in class ContainerPointSet

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 ContainerPointSet
Returns:
point set iterator for the point set

SSJ
V. 1.2.5.

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