ivory.lsh.data
Class Signature

java.lang.Object
  extended by ivory.lsh.data.Signature
All Implemented Interfaces:
Comparable, Writable, WritableComparable
Direct Known Subclasses:
MinhashSignature, NBitSignature, SixtyFourBitSignature

public abstract class Signature
extends Object
implements WritableComparable

Abstract class for signatures.

Author:
ferhanture

Constructor Summary
Signature()
           
Signature(int size)
           
Signature(Signature p)
           
 
Method Summary
static Signature createSignature(Class subClass, int size)
           
 int getLongestPrefix(Signature signature)
           
abstract  Signature getSubSignature(int start, int end)
           
abstract  Signature getSubSignature(int start, int end, Signature subSign)
           
abstract  int hammingDistance(Signature signature)
           
abstract  int hammingDistance(Signature signature, int threshold)
           
abstract  Signature perm(ArrayListOfIntsWritable permutation)
           
abstract  void perm(ArrayListOfIntsWritable permutation, Signature permSign)
           
abstract  int size()
           
abstract  String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.hadoop.io.Writable
readFields, write
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

Signature

public Signature()

Signature

public Signature(int size)

Signature

public Signature(Signature p)
Method Detail

createSignature

public static Signature createSignature(Class subClass,
                                        int size)

getLongestPrefix

public int getLongestPrefix(Signature signature)

getSubSignature

public abstract Signature getSubSignature(int start,
                                          int end)

getSubSignature

public abstract Signature getSubSignature(int start,
                                          int end,
                                          Signature subSign)

hammingDistance

public abstract int hammingDistance(Signature signature)
Parameters:
signature -
Returns:
compute hamming distance between this object and signature.

hammingDistance

public abstract int hammingDistance(Signature signature,
                                    int threshold)
Parameters:
signature -
threshold -
Returns:
compute hamming distance between this object and signature. early terminate if distance exceeds threshold.

perm

public abstract Signature perm(ArrayListOfIntsWritable permutation)
Parameters:
permutation -
Returns:
permute this object w.r.t permutation object and return permuted signature

perm

public abstract void perm(ArrayListOfIntsWritable permutation,
                          Signature permSign)
Parameters:
permutation - permute this object w.r.t permutation object and save permuted signature in permSign

size

public abstract int size()

toString

public abstract String toString()
Overrides:
toString in class Object