Package org.apache.commons.math4.util
Class RandomPivotingStrategy
- java.lang.Object
-
- org.apache.commons.math4.util.RandomPivotingStrategy
-
- All Implemented Interfaces:
java.io.Serializable,PivotingStrategyInterface
public class RandomPivotingStrategy extends java.lang.Object implements PivotingStrategyInterface, java.io.Serializable
A strategy of selecting random index between begin and end indices.- Since:
- 3.4
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RandomPivotingStrategy(RandomSource randomSource, long seed)Simple constructor.
-
Method Summary
Modifier and Type Method Description intpivotIndex(double[] work, int begin, int end)Find pivot index of the array so that partition and Kth element selection can be made
-
-
-
Constructor Detail
-
RandomPivotingStrategy
public RandomPivotingStrategy(RandomSource randomSource, long seed)
Simple constructor.- Parameters:
randomSource- RNG to use for selecting pivot.seed- Seed for initializing the RNG.- Since:
- 4.0
-
-
Method Detail
-
pivotIndex
public int pivotIndex(double[] work, int begin, int end) throws MathIllegalArgumentExceptionFind pivot index of the array so that partition and Kth element selection can be made A uniform random pivot selection between begin and end indices.- Specified by:
pivotIndexin interfacePivotingStrategyInterface- Parameters:
work- data arraybegin- index of the first element of the sliceend- index after the last element of the slice- Returns:
- The index corresponding to a random uniformly selected value between first and the last indices of the array slice
- Throws:
MathIllegalArgumentException- when indices exceeds range
-
-