Package edu.cornell.lassp.houle.RngPack
Class RandomSeedable
- java.lang.Object
-
- edu.cornell.lassp.houle.RngPack.RandomElement
-
- edu.cornell.lassp.houle.RngPack.RandomSeedable
-
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
Ranmar
public abstract class RandomSeedable extends RandomElement
RandomSeedable
is an abstract class that extends theRandomElement
class to include the ability to automatically generate a validlong
seed from the clock. Thus it provides a consistent interface for seeding interchangable generators. It is reccomended that aRandomSeedable
have a constructor that takes along
for a seed. For example, if you write a generator calledReallyRandom
, you want to be able to dolong seed=ReallyRandom.ClockSeed(); RandomSeedable e=new ReallyRandom(seed);
this makes it convenient to keep a copy of the seed in case you want to restart the generator with the same seed some time in the future.If one is going to use a long to generate a smaller seed by taking
Clockseed()
modulus another number, we reccomend that you use a prime number; this ensures that the generator would have the maximum "period" if it were started at regular issues, for instance, by a batch job. SeeRanmar
for an example.Source code is available.
- Version:
- 1.1a
- Author:
- Paul Houle (E-mail: [email protected])
- See Also:
Ranecu
,Ranlux
,Ranmar
-
-
Constructor Summary
Constructors Constructor Description RandomSeedable()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
ClockSeed()
Return a long integer seed calculated from the date.static long
ClockSeed(Date d)
Return a long integer seed given a date
-
-
-
Method Detail
-
ClockSeed
public static long ClockSeed(Date d)
Return a long integer seed given a date- Parameters:
d
- a date- Returns:
- a long integer seed
-
ClockSeed
public static long ClockSeed()
Return a long integer seed calculated from the date. Equivalent toClockSeed(new Date());
- Returns:
- a long integer seed
-
-