/* Sim_uniform_obj.java
 */

package eduni.simjava;

import java.util.Random;
import java.lang.Math;

/**
 * A uniform random number generator.
 * @version     1.0, 17 February 1998
 * @author      Fred Howell
 */

public class Sim_uniform_obj {
  private Random gen;
  private double lower;
  private double upper;

  /**
   * The constructor.
   * @param name The name to be associated with this instance,
   *             (currently ignored)
   * @param avg  The *mean* of the exponential distribution
   * @param seed The initial seed for the generator, two instances with
   *             the same seed will generate the same sequence of numbers
   * @return A new instance of the class
   */
  public Sim_uniform_obj(String name, double lower, double upper, int seed) {
    gen = new Random((long)seed);
    this.lower = lower;
    this.upper = upper;
  }

  /**
   * Generate a new random number.
   * @return The next random number in the sequence
   */
  public double sample() {
    return ((gen.nextDouble()) * (upper-lower))+lower;
  }
}
