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

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

public class BitDistance
extends NumberDistance<BitDistance,Bit>

Provides a Distance for a bit-valued distance.

See Also:
Serialized Form

Field Summary
static BitDistance FACTORY
          The static factory instance
private static long serialVersionUID
          Generated serial version UID
private  boolean value
          The distance value
 
Fields inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.AbstractDistance
DOUBLE_PATTERN, INFINITY_PATTERN, INTEGER_PATTERN
 
Constructor Summary
BitDistance()
          Empty constructor for serialization purposes.
BitDistance(Bit bit)
          Constructs a new BitDistance object that represents the bit argument.
BitDistance(boolean bit)
          Constructs a new BitDistance object that represents the bit argument.
 
Method Summary
 boolean bitValue()
          Returns the value of this BitDistance as a boolean.
 int compareTo(BitDistance 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.
 BitDistance fromDouble(double val)
          Build a new instance from a double value.
 Pattern getPattern()
          Get the pattern accepted by this distance
 Bit getValue()
          Returns the value of this NumberDistance.
 BitDistance infiniteDistance()
          Provides an infinite distance.
 int intValue()
          Get the value as int.
 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.
 BitDistance minus(BitDistance distance)
          Returns a new Distance by subtracting the given distance from this distance.
 BitDistance nullDistance()
          Provides a null distance.
 BitDistance parseString(String val)
          Provides a measurement suitable to this measurement function based on the given pattern.
 BitDistance plus(BitDistance distance)
          Returns a new distance as sum of this distance and the given distance.
 void readExternal(ObjectInput in)
          Reads the bit value of this BitDistance from the specified stream.
(package private)  void setValue(Bit value)
          Sets the value of this NumberDistance.
 BitDistance undefinedDistance()
          Provides an undefined distance.
 void writeExternal(ObjectOutput out)
          Writes the bit value of this BitDistance to the specified stream.
 
Methods inherited from class de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance
byteValue, floatValue, hashCode, 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 BitDistance FACTORY
The static factory instance


value

private boolean value
The distance value


serialVersionUID

private static final long serialVersionUID
Generated serial version UID

See Also:
Constant Field Values
Constructor Detail

BitDistance

public BitDistance()
Empty constructor for serialization purposes.


BitDistance

public BitDistance(boolean bit)
Constructs a new BitDistance object that represents the bit argument.

Parameters:
bit - the value to be represented by the BitDistance.

BitDistance

public BitDistance(Bit bit)
Constructs a new BitDistance object that represents the bit argument.

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

fromDouble

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

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

plus

public BitDistance plus(BitDistance 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 BitDistance minus(BitDistance 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

bitValue

public boolean bitValue()
Returns the value of this BitDistance as a boolean.

Returns:
the value as a boolean

writeExternal

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

Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException
Reads the bit value of this BitDistance 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:
1 (1 Byte for a boolean value)

getValue

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

Specified by:
getValue in class NumberDistance<BitDistance,Bit>
Returns:
the value of this NumberDistance

setValue

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

Specified by:
setValue in class NumberDistance<BitDistance,Bit>
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<BitDistance,Bit>
Returns:
same result as getValue().doubleValue() 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<BitDistance,Bit>
Returns:
same result as getValue().longValue() but may be more efficient.

intValue

public int intValue()
Description copied from class: NumberDistance
Get the value as int.

Overrides:
intValue in class NumberDistance<BitDistance,Bit>
Returns:
same result as getValue().intValue() but may be more efficient.

compareTo

public int compareTo(BitDistance 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<BitDistance>
Overrides:
compareTo in class NumberDistance<BitDistance,Bit>
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.

parseString

public BitDistance parseString(String val)
                        throws IllegalArgumentException
Description copied from interface: Distance
Provides a measurement suitable to this measurement function based on the given pattern.

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

infiniteDistance

public BitDistance infiniteDistance()
Description copied from interface: Distance
Provides an infinite distance.

Returns:
an infinite distance

nullDistance

public BitDistance nullDistance()
Description copied from interface: Distance
Provides a null distance.

Returns:
a null distance

undefinedDistance

public BitDistance undefinedDistance()
Description copied from interface: Distance
Provides an undefined distance.

Returns:
an undefined distance

getPattern

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

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

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<BitDistance>
Overrides:
isInfiniteDistance in class AbstractDistance<BitDistance>
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<BitDistance>
Overrides:
isNullDistance in class AbstractDistance<BitDistance>
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<BitDistance>
Overrides:
isUndefinedDistance in class AbstractDistance<BitDistance>
Returns:
true, if the distance is an undefined distance, false otherwise

Release 0.4.0 (2011-09-20_1324)