/*
Copyright 2006 by Sean Luke and George Mason University
Licensed under the Academic Free License version 3.0
See the file "LICENSE" for more information
*/
package sim.util;
/** Defines an inclusive (closed) interval between two numerical values MIN and MAX.
Beware that if you pass in an integer to Interval, it is converted internally to a Long,
and not to a Double. */
public class Interval
{
public Interval(long min, long max)
{
this.min = Long.valueOf(min);
this.max = Long.valueOf(max);
isDouble = false;
}
public Interval(double min, double max)
{
this.min = new Double(min);
this.max = new Double(max);
isDouble = true;
}
Number min;
Number max;
boolean isDouble;
public Number getMin() { return min; }
public Number getMax() { return max; }
public boolean isDouble() { return isDouble; }
public boolean contains(Number val) { return contains(val.doubleValue()); }
public boolean contains(double val) { return (val >= min.doubleValue() && val <= max.doubleValue()); }
}