public Random createRandom() {
switch (randomType) {
case JDK:
return randomSeed == null ? new Random() : new Random(randomSeed);
case MERSENNE_TWISTER:
return new RandomAdaptor(randomSeed == null ? new MersenneTwister() : new MersenneTwister(randomSeed));
case WELL512A:
return new RandomAdaptor(randomSeed == null ? new Well512a() : new Well512a(randomSeed));
case WELL1024A:
return new RandomAdaptor(randomSeed == null ? new Well1024a() : new Well1024a(randomSeed));
case WELL19937A:
return new RandomAdaptor(randomSeed == null ? new Well19937a() : new Well19937a(randomSeed));
case WELL19937C:
return new RandomAdaptor(randomSeed == null ? new Well19937c() : new Well19937c(randomSeed));
case WELL44497A:
return new RandomAdaptor(randomSeed == null ? new Well44497a() : new Well44497a(randomSeed));
case WELL44497B:
return new RandomAdaptor(randomSeed == null ? new Well44497b() : new Well44497b(randomSeed));
default:
throw new IllegalStateException("The randomType (" + randomType + ") is not implemented.");
}
}