SSJ  3.3.1
Stochastic Simulation in Java
Classes | Public Member Functions | Protected Attributes | Package Attributes | List of all members
SubsetOfPointSet Class Reference

This container class permits one to select a subset of a point set. More...

Inheritance diagram for SubsetOfPointSet:
[legend]
Collaboration diagram for SubsetOfPointSet:
[legend]

Public Member Functions

 SubsetOfPointSet (PointSet p)
 Constructs a new PointSet object, initially identical to p, and from which a subset of the points and/or a subset of the coordinates is to be extracted. More...
 
void selectPointsRange (int from, int to)
 Selects the points numbered from "<tt>from</tt>" to "<tt>to - 1</tt>" from the original point set. More...
 
void selectPoints (int[] pointIndices, int numPoints)
 Selects the numPoints points whose numbers are provided in the array pointIndices. More...
 
void selectCoordinatesRange (int from, int to)
 Selects the coordinates from "<tt>from</tt>" to "<tt>to - 1</tt>" from the original point set. More...
 
void selectCoordinates (int[] coordIndices, int numCoord)
 Selects the numCoord coordinates whose numbers are provided in the array coordIndices. More...
 
double getCoordinate (int i, int j)
 
PointSetIterator iterator ()
 
String toString ()
 
- Public Member Functions inherited from PointSet
int getDimension ()
 Returns the dimension (number of available coordinates) of the points. More...
 
int getNumPoints ()
 Returns the number of points. More...
 
abstract double getCoordinate (int i, int j)
 Returns \(u_{i,j}\), the coordinate \(j\) of the point \(i\). More...
 
PointSetIterator iterator ()
 Constructs and returns a point set iterator. More...
 
void randomize (PointSetRandomization rand)
 Randomizes this point set using the given rand. More...
 
void addRandomShift (int d1, int d2, RandomStream stream)
 By default, this method generates a random shift in the protected double[] array shift, to be used eventually for a random shift modulo 1. More...
 
void addRandomShift (RandomStream stream)
 Same as addRandomShift(0, dim, stream), where dim is the dimension of the point set. More...
 
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.
 
void clearRandomShift ()
 Erases the current random shift, if any.
 
String toString ()
 Formats a string that contains information about the point set. More...
 
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. More...
 
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 \(n\) points. More...
 
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. More...
 
String formatPoints (PointSetIterator iter, int n, int d)
 Same as invoking formatPoints(n, d), but prints the points by calling iter repeatedly. More...
 
String formatPointsBase (int b)
 Similar to formatPoints(), but the points coordinates are printed in base \(b\). More...
 
String formatPointsBase (int n, int d, int b)
 Similar to formatPoints(n, d), but the points coordinates are printed in base \(b\). More...
 
String formatPointsBase (PointSetIterator iter, int b)
 Similar to formatPoints(iter), but the points coordinates are printed in base \(b\). More...
 
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\). More...
 
String formatPointsNumbered ()
 Same as invoking formatPointsNumbered(n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. More...
 
String formatPointsNumbered (int n, int d)
 Same as invoking formatPoints(n,d), except that the points are numbered. More...
 

Protected Attributes

PointSet P
 
int i_from
 
int j_from
 
- Protected Attributes inherited from 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. More...
 
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. More...
 
RandomStream shiftStream
 Stream used to generate the random shifts. More...
 

Package Attributes

int i_to
 
int i_index []
 
int j_to
 
int j_index []
 

Additional Inherited Members

- Static Protected Attributes inherited from 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. More...
 

Detailed Description

This container class permits one to select a subset of a point set.

This is done by selecting a range or providing an array of either point or coordinate indices. A typical application of a range selection is to make the number of points or the dimension finite. It is also possible to provide, for example, a random permutation in the selection of components. It is possible also to take projections of coordinates for selected dimensions.

Selecting a new subset of points or coordinates overwrites the previous selection. The specification of a subset with respect to the points is independent from selecting a subset with respect to the coordinates. The number of points and the dimension are adapted to the current selection and all indices still start from 0, i.e., the subset works just like an ordinary point set.

When the points or coordinates ranges are changed, existing iterators become invalid. They should be reconstructed or reset to avoid inconsistencies.

Additional Information

Remarks
Pierre: Code à reviser.

Constructor & Destructor Documentation

◆ SubsetOfPointSet()

Constructs a new PointSet object, initially identical to p, and from which a subset of the points and/or a subset of the coordinates is to be extracted.

Parameters
ppoint set for which a subset is constructed

Member Function Documentation

◆ selectCoordinates()

void selectCoordinates ( int []  coordIndices,
int  numCoord 
)

Selects the numCoord coordinates whose numbers are provided in the array coordIndices.

Parameters
coordIndicesarray of coordinate indices to be selected
numCoordnumber of coordinatess for each point in the subset of point set

◆ selectCoordinatesRange()

void selectCoordinatesRange ( int  from,
int  to 
)

Selects the coordinates from "<tt>from</tt>" to "<tt>to - 1</tt>" from the original point set.

Parameters
fromindex of the coordinate, in the contained point set, corresponding to the coordinate 0 of each point of this point set
toindex of the last coordinate taken for each point from the contained point set

◆ selectPoints()

void selectPoints ( int []  pointIndices,
int  numPoints 
)

Selects the numPoints points whose numbers are provided in the array pointIndices.

Parameters
pointIndicesarray of point indices to be selected
numPointsnumber of points in the subset of point set

◆ selectPointsRange()

void selectPointsRange ( int  from,
int  to 
)

Selects the points numbered from "<tt>from</tt>" to "<tt>to - 1</tt>" from the original point set.

Parameters
fromindex of the point, in the contained point set, corresponding to the point 0 of this point set
toindex of the last point taken from the contained point set

The documentation for this class was generated from the following file: