package umontreal.iro.lecuyer.hups;
import umontreal.iro.lecuyer.rng.RandomStream;
/**
* This class implements a
* {@link umontreal.iro.lecuyer.hups.PointSetRandomization PointSetRandomization}.
* The {@link umontreal.iro.lecuyer.rng.RandomStream RandomStream} is
* stored internally. The method {@link #randomize(PointSet) randomize} simply
* calls
* {@link umontreal.iro.lecuyer.hups.PointSet#addRandomShift(RandomStream) addRandomShift}(stream).
*
*
* This class can be used as a base class to implement a specific
* randomization by overriding method {@link #randomize(PointSet) randomize}.
*
*/
public class RandomShift implements PointSetRandomization {
protected RandomStream stream;
/**
* Empty constructor.
*
*/
public RandomShift() {
}
/**
* Sets the internal
* {@link umontreal.iro.lecuyer.rng.RandomStream RandomStream} to stream.
*
* @param stream stream to use in the randomization
*
*/
public RandomShift (RandomStream stream) {
this.stream = stream;
}
/**
* This method calls
* {@link umontreal.iro.lecuyer.hups.PointSet#addRandomShift(RandomStream) addRandomShift} (stream).
*
* @param p Point set to randomize
*
*
*/
public void randomize (PointSet p) {
p.addRandomShift(stream);
}
/**
* Sets the internal
* {@link umontreal.iro.lecuyer.rng.RandomStream RandomStream} to
* stream.
*
* @param stream stream to use in the randomization
*
*
*/
public void setStream (RandomStream stream) {
this.stream = stream;
}
/**
* Returns the internal
* {@link umontreal.iro.lecuyer.rng.RandomStream RandomStream}.
*
* @return stream used in the randomization
*
*/
public RandomStream getStream() {
return stream;
}
}
Ads help maintain this website.