This acts as a generic base class for all container classes that contain a point set and apply a specific kind of transformation to the coordinates \(u_{i,j}\) when the points are generated by the iterator. More...
Classes | |
| class | ContainerPointSetIterator |
Public Member Functions | |
| PointSet | getOriginalPointSet () |
| Returns the (untransformed) point set contained in this container. | |
| int | getDimension () |
| Returns the dimension of the contained point set. | |
| int | getNumPoints () |
| Returns the number of points in the contained point set. | |
| double | getCoordinate (int i, int j) |
| By default, returns the untransformed coordinate \(u_{i,j}\) for the contained point set. | |
| PointSetIterator | iterator () |
| Return an iterator for this ContainerPointSet. | |
| void | randomize (PointSetRandomization rand) |
| Randomizes the contained point set using rand. | |
| void | addRandomShift (int d1, int d2, RandomStream stream) |
| Calls addRandomShift(d1, d2, stream) of the contained point set. | |
| void | addRandomShift (RandomStream stream) |
| Calls addRandomShift(stream) of the contained point set. | |
| void | clearRandomShift () |
| Calls clearRandomShift() of the contained point set. | |
| String | toString () |
| Formats a string that contains information about the point set. | |
| Public Member Functions inherited from umontreal.ssj.hups.PointSet | |
| 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, using the saved shiftStream. | |
| void | addRandomShift () |
Same as addRandomShift(0, dim), where dim is the dimension of the point set. | |
| 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. | |
| String | formatPoints (int n, int d) |
| Formats a string that displays the same information as returned by toString, together with the first \(d\) coordinates of the first. | |
| String | formatPoints (PointSetIterator iter) |
Same as invoking formatPoints(iter, n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. | |
| String | formatPoints (PointSetIterator iter, int n, int d) |
Same as invoking formatPoints(n, d), but prints the points by calling iter repeatedly. | |
| String | formatPointsBase (int b) |
Similar to formatPoints(), but the points coordinates are printed in base \(b\). | |
| String | formatPointsBase (int n, int d, int b) |
Similar to formatPoints(n, d), but the points coordinates are printed in base \(b\). | |
| String | formatPointsBase (PointSetIterator iter, int b) |
Similar to formatPoints(iter), but the points coordinates are printed in base. | |
| String | formatPointsBase (PointSetIterator iter, int n, int d, int b) |
Similar to formatPoints(iter,
n, d), but the points coordinates are printed in base \(b\). | |
| String | formatPointsNumbered () |
Same as invoking formatPointsNumbered(n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. | |
| String | formatPointsNumbered (int n, int d) |
Same as invoking formatPoints(n,d), except that the points are numbered. | |
Protected Member Functions | |
| void | init (PointSet p0) |
| Initializes this container point set so that it will contain the point set p0. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from umontreal.ssj.hups.PointSet | |
| static int | getMaxBits () |
| Returns the maximum number of usable bits. | |
| Protected Attributes inherited from umontreal.ssj.hups.PointSet | |
| double | EpsilonHalf = 1.0 / Num.TWOEXP[55] |
| To avoid 0 for nextCoordinate when random shifting, we add this to each coordinate. | |
| int | dim = 0 |
| Dimension of the points. | |
| int | numPoints = 0 |
| Number of points. | |
| int | dimShift = 0 |
| Current dimension of the shift. | |
| int | capacityShift = 0 |
| Number of array elements in the shift vector, always >= dimShift. | |
| double[] | shift |
| This is the shift vector as a double[] array, which contains the current random shift in case we apply a random shift modulo 1. | |
| RandomStream | shiftStream |
| Stream used to generate the random shifts. | |
| Static Protected Attributes inherited from umontreal.ssj.hups.PointSet | |
| static final int | MAXBITS = 31 |
| Since Java has no unsigned type, the 32nd bit cannot be used efficiently, so we have only 31 bits. | |
This acts as a generic base class for all container classes that contain a point set and apply a specific kind of transformation to the coordinates \(u_{i,j}\) when the points are generated by the iterator.
One example of such transformation is the antithetic map, applied by the container class AntitheticPointSet, where each output coordinate \(u_{i,j}\) is transformed into \(1-u_{i,j}\). Another example is RandShiftedMod1PointSet, which applies a random shift modulo 1 (the same shift) to all the points. Thus, the transformation can be deterministic in some cases, and in other cases it may implement a randomization.
The PointSetIterator implemented in this ContainerPointSet class contains itself an iterator for the contained point set and uses it to access the points and coordinates internally, instead of maintaining itself indices for the current point and current coordinate. It gets the coordinates \(u_{i,j}\) from the internal iterator, applies the appropriate transformation, and returns the transformed coordinates.
Definition at line 51 of file ContainerPointSet.java.
| void umontreal.ssj.hups.ContainerPointSet.addRandomShift | ( | int | d1, |
| int | d2, | ||
| RandomStream | stream ) |
Calls addRandomShift(d1, d2, stream) of the contained point set.
| d1 | lower dimension of the random shift |
| d2 | upper dimension of the random shift |
| stream | the random stream |
Reimplemented from umontreal.ssj.hups.PointSet.
Reimplemented in umontreal.ssj.hups.RandShiftedMod1PointSet.
Definition at line 130 of file ContainerPointSet.java.
| void umontreal.ssj.hups.ContainerPointSet.addRandomShift | ( | RandomStream | stream | ) |
Calls addRandomShift(stream) of the contained point set.
| stream | the random stream |
Reimplemented from umontreal.ssj.hups.PointSet.
Reimplemented in umontreal.ssj.hups.RandShiftedMod1PointSet.
Definition at line 139 of file ContainerPointSet.java.
| void umontreal.ssj.hups.ContainerPointSet.clearRandomShift | ( | ) |
Calls clearRandomShift() of the contained point set.
Reimplemented from umontreal.ssj.hups.PointSet.
Definition at line 146 of file ContainerPointSet.java.
| double umontreal.ssj.hups.ContainerPointSet.getCoordinate | ( | int | i, |
| int | j ) |
By default, returns the untransformed coordinate \(u_{i,j}\) for the contained point set.
Reimplemented from umontreal.ssj.hups.PointSet.
Reimplemented in umontreal.ssj.hups.AntitheticPointSet, umontreal.ssj.hups.BakerTransformedPointSet, and umontreal.ssj.hups.RandShiftedMod1PointSet.
Definition at line 100 of file ContainerPointSet.java.
| int umontreal.ssj.hups.ContainerPointSet.getDimension | ( | ) |
Returns the dimension of the contained point set.
Reimplemented from umontreal.ssj.hups.PointSet.
Definition at line 81 of file ContainerPointSet.java.
| int umontreal.ssj.hups.ContainerPointSet.getNumPoints | ( | ) |
Returns the number of points in the contained point set.
Reimplemented from umontreal.ssj.hups.PointSet.
Definition at line 90 of file ContainerPointSet.java.
| PointSet umontreal.ssj.hups.ContainerPointSet.getOriginalPointSet | ( | ) |
Returns the (untransformed) point set contained in this container.
Definition at line 72 of file ContainerPointSet.java.
|
protected |
Initializes this container point set so that it will contain the point set p0.
This method must be called by the constructor of any subclass of the present abstract class.
| p0 | contained point set |
Definition at line 61 of file ContainerPointSet.java.
| PointSetIterator umontreal.ssj.hups.ContainerPointSet.iterator | ( | ) |
Return an iterator for this ContainerPointSet.
Reimplemented from umontreal.ssj.hups.PointSet.
Reimplemented in umontreal.ssj.hups.AntitheticPointSet, umontreal.ssj.hups.BakerTransformedPointSet, and umontreal.ssj.hups.RandShiftedMod1PointSet.
Definition at line 109 of file ContainerPointSet.java.
| void umontreal.ssj.hups.ContainerPointSet.randomize | ( | PointSetRandomization | rand | ) |
Randomizes the contained point set using rand.
| rand | PointSetRandomization to use |
Reimplemented from umontreal.ssj.hups.PointSet.
Definition at line 119 of file ContainerPointSet.java.
| String umontreal.ssj.hups.ContainerPointSet.toString | ( | ) |
Formats a string that contains information about the point set.
Reimplemented from umontreal.ssj.hups.PointSet.
Reimplemented in umontreal.ssj.hups.AntitheticPointSet, umontreal.ssj.hups.BakerTransformedPointSet, and umontreal.ssj.hups.RandShiftedMod1PointSet.
Definition at line 150 of file ContainerPointSet.java.