Class TwoCmres.Cmres.Factory
- java.lang.Object
-
- org.apache.commons.rng.core.source64.TwoCmres.Cmres.Factory
-
- Enclosing class:
- TwoCmres.Cmres
static class TwoCmres.Cmres.Factory extends java.lang.ObjectFactory.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<TwoCmres.Cmres>TABLEList of good "Cmres" subcycle generators.
-
Constructor Summary
Constructors Constructor Description Factory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidadd(long multiply, int rotate, int start)Adds an entry to theTABLE.(package private) static voidcheckUnique(java.util.List<TwoCmres.Cmres> table, long multiply)Check the multiply parameter is unique (not contained in any entry in the provided table).(package private) TwoCmres.Cmresget(int index)(package private) TwoCmres.CmresgetIfDifferent(int index, int other)Get the generator atindexif theotherindex is different.(package private) intnumberOfSubcycleGenerators()
-
-
-
Field Detail
-
TABLE
private static final java.util.List<TwoCmres.Cmres> TABLE
List of good "Cmres" subcycle generators.
-
-
Method Detail
-
numberOfSubcycleGenerators
int numberOfSubcycleGenerators()
- Returns:
- the number of subcycle generators.
-
get
TwoCmres.Cmres get(int index)
- Parameters:
index- Index into the list of available generators.- Returns:
- the subcycle generator entry at index
index.
-
getIfDifferent
TwoCmres.Cmres getIfDifferent(int index, int other)
Get the generator atindexif theotherindex is different.This method exists to raise an exception before invocation of the private constructor; this mitigates Finalizer attacks (see SpotBugs CT_CONSTRUCTOR_THROW).
- Parameters:
index- Index into the list of available generators.other- Other index.- Returns:
- the subcycle generator entry at index
index.
-
add
private static void add(long multiply, int rotate, int start)Adds an entry to theTABLE.- Parameters:
multiply- Multiplier.rotate- Rotate.start- Cycle start.
-
checkUnique
static void checkUnique(java.util.List<TwoCmres.Cmres> table, long multiply)
Check the multiply parameter is unique (not contained in any entry in the provided table).- Parameters:
table- the tablemultiply- the multiply parameter
-
-