package com.plectix.simulator.interfaces;
/**
* Interface of random generator.
* @author avokhmin
*
*/
public interface RandomInterface {
/**
* Returns the next pseudorandom, uniformly distributed
* {@code double} value between {@code 0.0} and
* {@code 1.0} from this random number generator's sequence.
* @return the next pseudorandom, uniformly distributed {@code double}
* value between {@code 0.0} and {@code 1.0} from this
* random number generator's sequence
*/
public double getDouble();
/**
* Returns a pseudorandom, uniformly distributed {@code int} value
* between 0 (inclusive) and the specified value (exclusive), drawn from
* this random number generator's sequence.
* @param limit the bound on the random number to be returned. Must be
* positive.
* @return the next pseudorandom, uniformly distributed {@code int}
* value between {@code 0} (inclusive) and {@code limit} (exclusive)
* from this random number generator's sequence
*/
public int getInteger(int limit);
/**
* Sets the seed of this random number generator using a single
* <code>long</code> seed. The general contract of <tt>setSeed</tt>
* is that it alters the state of this random number generator
* object so as to be in exactly the same state as if it had just
* been created with the argument <tt>seed</tt> as a seed.
*
* @param seed the initial seed.
*/
public void setSeed(long seed);
}