Package elki.utilities.random
Class RandomFactory
- java.lang.Object
-
- elki.utilities.random.RandomFactory
-
public class RandomFactory extends java.lang.ObjectRandomFactory is responsible for creatingRandomgenerator objects. It does not provide individual random numbers, but will create a random generator; either using a fixed seed or random seeded (default).The seed can be globally predefined using
-Delki.seed=123.These classes are not optimized for non-predictability, but for speed, as scientific experiments are not likely to be adversarial.
- Since:
- 0.5.5
- Author:
- Erich Schubert
-
-
Field Summary
Fields Modifier and Type Field Description static RandomFactoryDEFAULTGlobal default factoryprotected longseedSeed.
-
Constructor Summary
Constructors Constructor Description RandomFactory(long seed)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RandomFactoryget(java.lang.Long seed)Factory method: Get a random factory for the given seed.private static longgetGlobalSeed()Initialize the default random.java.util.RandomgetRandom()Get a random generator.java.util.RandomgetSingleThreadedRandom()Get a non-threadsafe random generator.static intmurmurMix32(int h)MurmurHash3 mixing function.static longmurmurMix64(long k)MurmurHash3 mixing function.java.lang.StringtoString()
-
-
-
Field Detail
-
DEFAULT
public static final RandomFactory DEFAULT
Global default factory
-
seed
protected long seed
Seed.
-
-
Method Detail
-
getGlobalSeed
private static long getGlobalSeed()
Initialize the default random.- Returns:
- seed for the random generator factory.
-
get
public static RandomFactory get(java.lang.Long seed)
Factory method: Get a random factory for the given seed.- Parameters:
seed- Seed- Returns:
- Instance
-
getRandom
public java.util.Random getRandom()
Get a random generator.- Returns:
- Random generator
-
getSingleThreadedRandom
public java.util.Random getSingleThreadedRandom()
Get a non-threadsafe random generator.- Returns:
- Random generator
-
murmurMix32
public static int murmurMix32(int h)
MurmurHash3 mixing function.- Parameters:
h- input- Returns:
- Output
-
murmurMix64
public static long murmurMix64(long k)
MurmurHash3 mixing function.- Parameters:
k- input- Returns:
- Output
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-