de.lmu.ifi.dbs.elki.math
Class DoubleMinMax

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.utilities.pairs.DoubleDoublePair
      extended by de.lmu.ifi.dbs.elki.math.DoubleMinMax
All Implemented Interfaces:
PairInterface<Double,Double>, Comparable<DoubleDoublePair>

public class DoubleMinMax
extends DoubleDoublePair

Class to find the minimum and maximum double values in data.


Field Summary
 
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.pairs.DoubleDoublePair
BYFIRST_COMPARATOR, BYSECOND_COMPARATOR, first, second, SWAPPED_COMPARATOR
 
Constructor Summary
DoubleMinMax()
          Constructor without starting values.
DoubleMinMax(double min, double max)
          Constructor with predefined minimum and maximum values.
 
Method Summary
 double[] asDoubleArray()
          Return minimum and maximum as array.
 double getDiff()
          Return the difference between minimum and maximum.
 double getMax()
          Get the current maximum.
 double getMin()
          Get the current minimum.
 boolean isValid()
          Test whether the result is defined.
static DoubleMinMax[] newArray(int size)
          Generate a new array of initialized DoubleMinMax objects (with default constructor)
 void put(Collection<Double> data)
          Process a whole collection of double values.
 void put(double data)
          Process a single double value.
 void put(double[] data)
          Process a whole array of double values.
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.pairs.DoubleDoublePair
compareSwappedTo, compareTo, equals, getFirst, getSecond, hashCode, setFirst, setSecond, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DoubleMinMax

public DoubleMinMax()
Constructor without starting values. The minimum will be initialized to Double.POSITIVE_INFINITY. The maximum will be initialized to Double.NEGATIVE_INFINITY. So that the first data added will replace both.


DoubleMinMax

public DoubleMinMax(double min,
                    double max)
Constructor with predefined minimum and maximum values.

Parameters:
min - Minimum value
max - Maximum value
Method Detail

put

public void put(double data)
Process a single double value. If the new value is smaller than the current minimum, it will become the new minimum. If the new value is larger than the current maximum, it will become the new maximum.

Parameters:
data - New value

put

public void put(double[] data)
Process a whole array of double values. If any of the values is smaller than the current minimum, it will become the new minimum. If any of the values is larger than the current maximum, it will become the new maximum.

Parameters:
data - Data to process

put

public void put(Collection<Double> data)
Process a whole collection of double values. If any of the values is smaller than the current minimum, it will become the new minimum. If any of the values is larger than the current maximum, it will become the new maximum.

Parameters:
data - Data to process

getMin

public double getMin()
Get the current minimum.

Returns:
current minimum.

getMax

public double getMax()
Get the current maximum.

Returns:
current maximum.

getDiff

public double getDiff()
Return the difference between minimum and maximum.

Returns:
Difference of current Minimum and Maximum.

isValid

public boolean isValid()
Test whether the result is defined.

Returns:
true when at least one value has been added

asDoubleArray

public double[] asDoubleArray()
Return minimum and maximum as array.

Returns:
Minimum, Maximum

newArray

public static DoubleMinMax[] newArray(int size)
Generate a new array of initialized DoubleMinMax objects (with default constructor)

Parameters:
size - Array size
Returns:
initialized array

Release 0.4.0 (2011-09-20_1324)