**'umontreal.iro.lecuyer.hups.PointSetIterator'**Java class

## Interface PointSetIterator

- All Superinterfaces:
- RandomStream

- All Known Implementing Classes:
- CycleBasedPointSet.CycleBasedPointSetIterator, CycleBasedPointSetBase2.CycleBasedPointSetBase2Iterator

public interface PointSetIteratorextends RandomStream

Objects of classes that implement this interface are iterators that permit one to enumerate (or observe) the successive points of a point set and the successive coordinates of these points. Each`PointSetIterator`

is associated with a given point set and maintains a current point index*i*and a current coordinate index*j*, which are both initialized to zero.Successive coordinates can be accessed one or many at a time by the methods

`nextCoordinate`

and`nextCoordinates`

, respectively. The current coordinate index*j*can be set explicitely by`setCurCoordIndex`

and`resetCurCoordIndex`

. Similar methods are available for resetting and accessing the current point. The method`nextPoint`

permits one to enumerate the successive points in natural order.This class also implements the

`RandomStream`

interface. This permits one to replace random numbers by the coordinates of (randomized) quasi-Monte Carlo points without changing the code that calls the generators in a simulation program. That is, the same simulation program can be used for both Monte Carlo and quasi-Monte Carlo simulations. The method`nextDouble`

does exactly the same as`nextCoordinate`

, it returns the current coordinate of the current point and advances the current coordinate by one. The substreams correspond to the points, so`resetStartSubstream`

resets the current point coordinate to zero,`resetNextSubstream`

resets the iterator to the next point, and`resetStartStream`

resets the iterator to the first point of the point set.There can be several iterators over the same point set. These iterators are independent from each other. Classes that implement this interface must maintain enough information so that each iterator is unaffected by other iterator's operations. However, the iterator does not need to be independent of the underlying point set. If the point set is modified (e.g., randomized), the iterator may continue to work as usual.

Point set iterators are implemented as inner classes because this gives a direct access to the private members (or variables) of the class. This is important for efficiency. They are quite similar to the iterators in Java collections.

**Warning:**You cannot see the full API documentation of this class since the access to the DatMelt documentation for third-party Java classes is denied. Guests can only view jhplot Java API. To view the complete description of this class and its methods, please request the full DataMelt membership.

If you are already a full member, please login to the DataMelt member area before visiting this documentation.