SSJ
V. labo.

umontreal.iro.lecuyer.util
Class OneDimSort

java.lang.Object
  extended by umontreal.iro.lecuyer.util.OneDimSort
All Implemented Interfaces:
MultiDimSort

public class OneDimSort
extends Object
implements MultiDimSort

This class implements a MultiDimSort that simply sorts the arrays according to one dimension specified in the constructor. The sort uses method sort from class Arrays. The dimension (dimState) of the states to be sorted may be specified. For example, it is possible to sort a 2-dimensional state by using only its first coordinate (OneDimSort(0, 2)), or only its second coordinate (OneDimSort(1, 2) or OneDimSort(1)).


Constructor Summary
OneDimSort(int sortCoordinate)
          Constructs a OneDimSort object that will sort states with respect to their last coordinate sortCoordinate.
OneDimSort(int sortCoordinate, int dimState)
          Constructs a OneDimSort object that will sort states with respect to their sortCoordinate-th coordinate.
 
Method Summary
 int dimension()
          Returns the dimension of the states to be sorted.
 int getSortCoordinate()
          Returns the coordinate used for sorting.
 void sort(double[][] a)
          Sorts the entire array.
 void sort(double[][] a, int iMin, int iMax)
          Sorts the subarray of a made of the elements with indices from iMin to iMax-1.
<T extends MultiDimComparable<? super T>>
void
sort(T[] a)
          Sorts the entire array.
<T extends MultiDimComparable<? super T>>
void
sort(T[] a, int iMin, int iMax)
          Sorts the subarray of a made of the elements with indices from iMin to iMax-1.
 String toString()
          Returns a String containing information about this object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OneDimSort

public OneDimSort(int sortCoordinate,
                  int dimState)
Constructs a OneDimSort object that will sort states with respect to their sortCoordinate-th coordinate. The states have dimension dimState. sortCoordinate is a value in 0 <= sortCoordinate < dimState.


OneDimSort

public OneDimSort(int sortCoordinate)
Constructs a OneDimSort object that will sort states with respect to their last coordinate sortCoordinate. The dimension of the states is sortCoordinate + 1.

Method Detail

sort

public <T extends MultiDimComparable<? super T>> void sort(T[] a,
                                                           int iMin,
                                                           int iMax)
Description copied from interface: MultiDimSort
Sorts the subarray of a made of the elements with indices from iMin to iMax-1.

Specified by:
sort in interface MultiDimSort
Parameters:
a - array to sort
iMin - index of first element to sort
iMax - index of last element to sort is iMax - 1

sort

public <T extends MultiDimComparable<? super T>> void sort(T[] a)
Description copied from interface: MultiDimSort
Sorts the entire array.

Specified by:
sort in interface MultiDimSort
Parameters:
a - array to sort

sort

public void sort(double[][] a,
                 int iMin,
                 int iMax)
Description copied from interface: MultiDimSort
Sorts the subarray of a made of the elements with indices from iMin to iMax-1.

Specified by:
sort in interface MultiDimSort
Parameters:
a - array to sort
iMin - index of first element to sort
iMax - index of last element to sort is iMax - 1

sort

public void sort(double[][] a)
Description copied from interface: MultiDimSort
Sorts the entire array.

Specified by:
sort in interface MultiDimSort
Parameters:
a - array to sort

getSortCoordinate

public int getSortCoordinate()
Returns the coordinate used for sorting.

Returns:
coordinate used for sorting

dimension

public int dimension()
Returns the dimension of the states to be sorted.

Specified by:
dimension in interface MultiDimSort
Returns:
dimension of states

toString

public String toString()
Returns a String containing information about this object.

Overrides:
toString in class Object
Returns:
a String

SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.