Package dev.nm.stat.random.rng
Class RNGUtils
- java.lang.Object
-
- dev.nm.stat.random.rng.RNGUtils
-
public class RNGUtils extends Object
Provides static methods that wraps random number generators to produce synchronized generators. For example,
orRandomNumberGenerator rng = RngUtils.synchronizedRNG(new Gaussian());RandomLongGenerator uniform = RngUtils.synchronizedRLG(new MersenneTwister());
-
-
Field Summary
Fields Modifier and Type Field Description static RandomStandardNormalGeneratorCONCURRENT_RNORMstatic RandomStandardNormalGeneratorRNORMstatic longSEEDstatic RandomNumberGeneratorSYNC_RNORMstatic RandomLongGeneratorSYNC_UNIFORMstatic RandomLongGeneratorUNIFORM
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double[]getComponent(List<double[]> list, int i)Gets the i-th component from a list ofdouble[].static List<double[]>nextN(RandomVectorGenerator rvg, int n)Generatesnrandom vectors from a given random vector generator.static double[]nextN(RandomNumberGenerator rng, int n)Generatesnrandom numbers from a given random number generator.static RandomLongGeneratorsynchronizedRLG(RandomLongGenerator uniform)Returns a synchronized (thread-safe)RandomLongGeneratorbacked by a specified generator.static RandomNumberGeneratorsynchronizedRNG(RandomNumberGenerator rng)Returns a synchronized (thread-safe)RandomNumberGeneratorbacked by a specified generator.static RandomVectorGeneratorsynchronizedRVG(RandomVectorGenerator rng)Returns a synchronized (thread-safe)RandomVectorGeneratorbacked by a specified generator.
-
-
-
Field Detail
-
SEED
public static final long SEED
- See Also:
- Constant Field Values
-
UNIFORM
public static final RandomLongGenerator UNIFORM
-
RNORM
public static final RandomStandardNormalGenerator RNORM
-
SYNC_UNIFORM
public static final RandomLongGenerator SYNC_UNIFORM
-
SYNC_RNORM
public static final RandomNumberGenerator SYNC_RNORM
-
CONCURRENT_RNORM
public static final RandomStandardNormalGenerator CONCURRENT_RNORM
-
-
Method Detail
-
synchronizedRNG
public static RandomNumberGenerator synchronizedRNG(RandomNumberGenerator rng)
Returns a synchronized (thread-safe)RandomNumberGeneratorbacked by a specified generator.- Parameters:
rng- the generator to be "wrapped" in a synchronized generator- Returns:
- a synchronized generator
-
synchronizedRLG
public static RandomLongGenerator synchronizedRLG(RandomLongGenerator uniform)
Returns a synchronized (thread-safe)RandomLongGeneratorbacked by a specified generator.- Parameters:
uniform- the generator to be "wrapped" in a synchronized generator- Returns:
- a synchronized generator
-
synchronizedRVG
public static RandomVectorGenerator synchronizedRVG(RandomVectorGenerator rng)
Returns a synchronized (thread-safe)RandomVectorGeneratorbacked by a specified generator.- Parameters:
rng- the generator to be "wrapped" in a synchronized generator- Returns:
- a synchronized generator
-
nextN
public static double[] nextN(RandomNumberGenerator rng, int n)
Generatesnrandom numbers from a given random number generator.- Parameters:
rng- a random number generatorn- the number of random numbers to be generated- Returns:
- the generated
nnumbers
-
nextN
public static List<double[]> nextN(RandomVectorGenerator rvg, int n)
Generatesnrandom vectors from a given random vector generator.- Parameters:
rvg- a random vector generatorn- the number of random vectors to be generated- Returns:
- the generated
nvectors
-
getComponent
public static double[] getComponent(List<double[]> list, int i)
Gets the i-th component from a list ofdouble[]. Use in conjunction with nextN(dev.nm.stat.random.rng.multivariate.RandomVectorGenerator, int).- Parameters:
list- a list ofdouble[]i- the component/index to extract- Returns:
- the values of the i-th component
-
-