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 RandomStandardNormalGenerator
CONCURRENT_RNORM
static RandomStandardNormalGenerator
RNORM
static long
SEED
static RandomNumberGenerator
SYNC_RNORM
static RandomLongGenerator
SYNC_UNIFORM
static RandomLongGenerator
UNIFORM
-
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)
Generatesn
random vectors from a given random vector generator.static double[]
nextN(RandomNumberGenerator rng, int n)
Generatesn
random numbers from a given random number generator.static RandomLongGenerator
synchronizedRLG(RandomLongGenerator uniform)
Returns a synchronized (thread-safe)RandomLongGenerator
backed by a specified generator.static RandomNumberGenerator
synchronizedRNG(RandomNumberGenerator rng)
Returns a synchronized (thread-safe)RandomNumberGenerator
backed by a specified generator.static RandomVectorGenerator
synchronizedRVG(RandomVectorGenerator rng)
Returns a synchronized (thread-safe)RandomVectorGenerator
backed 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)RandomNumberGenerator
backed 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)RandomLongGenerator
backed 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)RandomVectorGenerator
backed 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)
Generatesn
random numbers from a given random number generator.- Parameters:
rng
- a random number generatorn
- the number of random numbers to be generated- Returns:
- the generated
n
numbers
-
nextN
public static List<double[]> nextN(RandomVectorGenerator rvg, int n)
Generatesn
random vectors from a given random vector generator.- Parameters:
rvg
- a random vector generatorn
- the number of random vectors to be generated- Returns:
- the generated
n
vectors
-
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
-
-