C# Class SoundFingerprinting.Math.SimilarityUtility

Inheritance: ISimilarityUtility
Exibir arquivo Open project: AddictedCS/soundfingerprinting

Public Methods

Method Description
AccumulateHammingSimilarity ( IEnumerable candidates, HashedFingerprint expected, ResultEntryAccumulator>.ConcurrentDictionary accumulator ) : void
CalculateHammingDistance ( byte a, byte b ) : int
CalculateHammingSimilarity ( byte a, byte b ) : int
CalculateJaccardSimilarity ( bool x, bool y ) : double

Calculate similarity between 2 fingerprints.

Similarity defined as (A intersection B)/(A union B) for types of columns a (1,1), b(1,0), c(0,1) and d(0,0), it will be equal to Sim(x,y) = a/(a+b+c) +1 = 10 -1 = 01 0 = 00

SimilarityUtility ( ) : System.Collections.Concurrent

Private Methods

Method Description
SimilarityUtility ( IHashConverter hashConverter ) : System.Collections.Concurrent

Method Details

AccumulateHammingSimilarity() public method

public AccumulateHammingSimilarity ( IEnumerable candidates, HashedFingerprint expected, ResultEntryAccumulator>.ConcurrentDictionary accumulator ) : void
candidates IEnumerable
expected SoundFingerprinting.Data.HashedFingerprint
accumulator ResultEntryAccumulator>.ConcurrentDictionary
return void

CalculateHammingDistance() public method

public CalculateHammingDistance ( byte a, byte b ) : int
a byte
b byte
return int

CalculateHammingSimilarity() public method

public CalculateHammingSimilarity ( byte a, byte b ) : int
a byte
b byte
return int

CalculateJaccardSimilarity() public method

Calculate similarity between 2 fingerprints.
Similarity defined as (A intersection B)/(A union B) for types of columns a (1,1), b(1,0), c(0,1) and d(0,0), it will be equal to Sim(x,y) = a/(a+b+c) +1 = 10 -1 = 01 0 = 00
public CalculateJaccardSimilarity ( bool x, bool y ) : double
x bool Fingerprint x
y bool Fingerprint y
return double

SimilarityUtility() public method

public SimilarityUtility ( ) : System.Collections.Concurrent
return System.Collections.Concurrent