de.lmu.ifi.dbs.elki.distance.distancevalue
Class FloatDistance

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance<D>
      extended by de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance<FloatDistance,Float>
          extended by de.lmu.ifi.dbs.elki.distance.distancevalue.FloatDistance
All Implemented Interfaces:
Distance<FloatDistance>, Externalizable, Serializable, Comparable<FloatDistance>

public class FloatDistance
extends NumberDistance<FloatDistance,Float>

Provides a Distance for a float-valued distance.

See Also:
Serialized Form

Field Summary
static FloatDistance FACTORY
          The static factory instance
private static long serialVersionUID
          Generated serialVersionUID.
private  float value
          The distance value.
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance
DOUBLE_PATTERN, INFINITY_PATTERN, INTEGER_PATTERN
 
Constructor Summary
FloatDistance()
          Empty constructor for serialization purposes.
FloatDistance(float value)
          Constructs a new FloatDistance object that represents the float argument.
 
Method Summary
 int compareTo(FloatDistance other)
          Compares this NumberDistance with the given NumberDistance wrt the represented value.
 double doubleValue()
          Get the value as double.
 int externalizableSize()
          Returns the number of Bytes this distance uses if it is written to an external file.
 float floatValue()
          Get the value as float.
 FloatDistance fromDouble(double val)
          Build a new instance from a double value.
 Pattern getPattern()
          Get the pattern accepted by this distance
 Float getValue()
          Returns the value of this NumberDistance.
 FloatDistance infiniteDistance()
          An infinite FloatDistance is based on Float.POSITIVE_INFINITY.
 boolean isInfiniteDistance()
          Returns true, if the distance is an infinite distance, false otherwise.
 boolean isNullDistance()
          Returns true, if the distance is a null distance, false otherwise.
 boolean isUndefinedDistance()
          Returns true, if the distance is an undefined distance, false otherwise.
 long longValue()
          Get the value as long.
 FloatDistance minus(FloatDistance distance)
          Returns a new Distance by subtracting the given distance from this distance.
 FloatDistance nullDistance()
          A null FloatDistance is based on 0.
 FloatDistance parseString(String val)
          As pattern is required a String defining a Float.
 FloatDistance plus(FloatDistance distance)
          Returns a new distance as sum of this distance and the given distance.
 void readExternal(ObjectInput in)
          Reads the float value of this FloatDistance from the specified stream.
(package private)  void setValue(Float value)
          Sets the value of this NumberDistance.
 FloatDistance times(float lambda)
          Returns a new distance as the product of this distance and the given float value.
 FloatDistance times(FloatDistance distance)
          Returns a new distance as the product of this distance and the given distance.
 FloatDistance undefinedDistance()
          An undefined FloatDistance is based on Float.NaN.
 void writeExternal(ObjectOutput out)
          Writes the float value of this FloatDistance to the specified stream.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance
byteValue, hashCode, intValue, shortValue, toString
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance
equals, requiredInputPattern, testInputPattern
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

FACTORY

public static final FloatDistance FACTORY
The static factory instance


value

private float value
The distance value.


serialVersionUID

private static final long serialVersionUID
Generated serialVersionUID.

See Also:
Constant Field Values
Constructor Detail

FloatDistance

public FloatDistance()
Empty constructor for serialization purposes.


FloatDistance

public FloatDistance(float value)
Constructs a new FloatDistance object that represents the float argument.

Parameters:
value - the value to be represented by the FloatDistance.
Method Detail

fromDouble

public FloatDistance fromDouble(double val)
Description copied from class: NumberDistance
Build a new instance from a double value.

Specified by:
fromDouble in class NumberDistance<FloatDistance,Float>
Parameters:
val - Value
Returns:
Distance

plus

public FloatDistance plus(FloatDistance distance)
Description copied from interface: Distance
Returns a new distance as sum of this distance and the given distance.

Parameters:
distance - the distance to be added to this distance
Returns:
a new distance as sum of this distance and the given distance

minus

public FloatDistance minus(FloatDistance distance)
Description copied from interface: Distance
Returns a new Distance by subtracting the given distance from this distance.

Parameters:
distance - the distance to be subtracted from this distance
Returns:
a new Distance by subtracting the given distance from this distance

times

public FloatDistance times(FloatDistance distance)
Returns a new distance as the product of this distance and the given distance.

Parameters:
distance - the distance to be multiplied with this distance
Returns:
a new distance as the product of this distance and the given distance

times

public FloatDistance times(float lambda)
Returns a new distance as the product of this distance and the given float value.

Parameters:
lambda - the float value this distance should be multiplied with
Returns:
a new distance as the product of this distance and the given double value

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Writes the float value of this FloatDistance to the specified stream.

Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException
Reads the float value of this FloatDistance from the specified stream.

Throws:
IOException

externalizableSize

public int externalizableSize()
Returns the number of Bytes this distance uses if it is written to an external file.

Returns:
4 (4 Byte for a float value)

getValue

public Float getValue()
Description copied from class: NumberDistance
Returns the value of this NumberDistance.

Specified by:
getValue in class NumberDistance<FloatDistance,Float>
Returns:
the value of this NumberDistance

setValue

void setValue(Float value)
Description copied from class: NumberDistance
Sets the value of this NumberDistance.

Specified by:
setValue in class NumberDistance<FloatDistance,Float>
Parameters:
value - the value to be set

doubleValue

public double doubleValue()
Description copied from class: NumberDistance
Get the value as double.

Specified by:
doubleValue in class NumberDistance<FloatDistance,Float>
Returns:
same result as getValue().doubleValue() but may be more efficient.

floatValue

public float floatValue()
Description copied from class: NumberDistance
Get the value as float.

Overrides:
floatValue in class NumberDistance<FloatDistance,Float>
Returns:
same result as getValue().floatValue() but may be more efficient.

longValue

public long longValue()
Description copied from class: NumberDistance
Get the value as long.

Specified by:
longValue in class NumberDistance<FloatDistance,Float>
Returns:
same result as getValue().longValue() but may be more efficient.

compareTo

public int compareTo(FloatDistance other)
Description copied from class: NumberDistance
Compares this NumberDistance with the given NumberDistance wrt the represented value.

d1.compareTo(d2) is the same as Double.compare(d1.value.doubleValue(), d2.value.doubleValue()). Subclasses may need to overwrite this method if necessary.

Specified by:
compareTo in interface Comparable<FloatDistance>
Overrides:
compareTo in class NumberDistance<FloatDistance,Float>
Parameters:
other - Other object
Returns:
a negative integer, zero, or a positive integer as the value of this NumberDistance is less than, equal to, or greater than the value of the specified NumberDistance.

infiniteDistance

public FloatDistance infiniteDistance()
An infinite FloatDistance is based on Float.POSITIVE_INFINITY.

Returns:
an infinite distance

nullDistance

public FloatDistance nullDistance()
A null FloatDistance is based on 0.

Returns:
a null distance

undefinedDistance

public FloatDistance undefinedDistance()
An undefined FloatDistance is based on Float.NaN.

Returns:
an undefined distance

parseString

public FloatDistance parseString(String val)
                          throws IllegalArgumentException
As pattern is required a String defining a Float.

Parameters:
val - a pattern defining a similarity suitable to this measurement function
Returns:
a measurement suitable to this measurement function based on the given pattern
Throws:
IllegalArgumentException - if the given pattern is not compatible with the requirements of this measurement function

isInfiniteDistance

public boolean isInfiniteDistance()
Description copied from interface: Distance
Returns true, if the distance is an infinite distance, false otherwise.

Specified by:
isInfiniteDistance in interface Distance<FloatDistance>
Overrides:
isInfiniteDistance in class AbstractDistance<FloatDistance>
Returns:
true, if the distance is an infinite distance, false otherwise

isNullDistance

public boolean isNullDistance()
Description copied from interface: Distance
Returns true, if the distance is a null distance, false otherwise.

Specified by:
isNullDistance in interface Distance<FloatDistance>
Overrides:
isNullDistance in class AbstractDistance<FloatDistance>
Returns:
true, if the distance is a null distance, false otherwise

isUndefinedDistance

public boolean isUndefinedDistance()
Description copied from interface: Distance
Returns true, if the distance is an undefined distance, false otherwise.

Specified by:
isUndefinedDistance in interface Distance<FloatDistance>
Overrides:
isUndefinedDistance in class AbstractDistance<FloatDistance>
Returns:
true, if the distance is an undefined distance, false otherwise

getPattern

public Pattern getPattern()
Description copied from class: AbstractDistance
Get the pattern accepted by this distance

Specified by:
getPattern in class AbstractDistance<FloatDistance>
Returns:
Pattern

Release 0.4.0 (2011-09-20_1324)