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:
- Ranecu, Ranlux, Ranmar, RanMT
- public abstract class RandomSeedable
- extends RandomElement
RandomSeedable
is an abstract class that extends the
RandomElement
class to include the ability to
automatically generate a valid long
seed from the clock.
Thus it provides a consistent interface for seeding interchangable
generators. It is reccomended that a RandomSeedable
have
a constructor that takes a long
for a seed. For example,
if you write a generator called ReallyRandom
, you want
to be able to do
long 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. See Ranmar
for an
example.
Source code is available.
- Version:
- 1.1a
- Author:
- Paul Houle (E-mail: paul@honeylocust.com)
- See Also:
Ranecu
,
Ranlux
,
Ranmar
Method Summary |
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 |
Methods inherited from class edu.cornell.lassp.houle.RngPack.RandomElement |
choose, choose, clone, coin, coin, gaussian, gaussian, powlaw, raw, raw, raw, uniform |
RandomSeedable
public RandomSeedable()
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 to
ClockSeed(new Date());
- Returns:
- a long integer seed