|
SSJ V. 2.6.2. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object umontreal.iro.lecuyer.hups.PointSet umontreal.iro.lecuyer.hups.CycleBasedPointSet umontreal.iro.lecuyer.hups.CycleBasedPointSetBase2
public abstract class CycleBasedPointSetBase2
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 (n, d) with n and d equal to the
number of points and the dimension of this object, 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, formatPoints, formatPoints, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsNumbered, formatPointsNumbered, 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 |
---|
public CycleBasedPointSetBase2()
Method Detail |
---|
public double getCoordinate(int i, int j)
PointSet
getCoordinate
in class CycleBasedPointSet
i
- index of the point to look forj
- index of the coordinate to look for
public PointSetIterator iterator()
PointSet
getCoordinate
(i,j) to iterate over the
points and coordinates, but subclasses can reimplement it
for better efficiency.
iterator
in class CycleBasedPointSet
public void addRandomShift(int d1, int d2, RandomStream stream)
addRandomShift
in class CycleBasedPointSet
stream
- Stream used to generate random numberspublic void clearRandomShift()
PointSet
clearRandomShift
in class CycleBasedPointSet
public String formatPoints()
PointSet
formatPoints
(n, d) with n and d equal to the
number of points and the dimension of this object, respectively.
formatPoints
in class CycleBasedPointSet
|
SSJ V. 2.6.2. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |