Esempio n. 1
0
 private void ResetBestMatchIfAppropriate(MatchedPair newPair)
 {
     if (BestMatch.HammingSimilarity < newPair.HammingSimilarity)
     {
         BestMatch = newPair;
     }
 }
Esempio n. 2
0
        public ResultEntryAccumulator Add(HashedFingerprint hashedFingerprint, SubFingerprintData match, int hammingSimilarity)
        {
            HammingSimilaritySum += hammingSimilarity;
            var matchedPair = new MatchedPair(hashedFingerprint, match, hammingSimilarity);

            ResetBestMatchIfAppropriate(matchedPair);
            matches.Add(matchedPair);
            return(this);
        }
Esempio n. 3
0
 internal ResultEntry(TrackData track, double queryMatchStartsAt, double queryMatchLength, double originStartsAt, double trackStartsAt, double confidence, int hammingSimilaritySum, double queryLength, MatchedPair bestMatch)
 {
     Track = track;
     QueryMatchStartsAt   = queryMatchStartsAt;
     QueryMatchLength     = queryMatchLength;
     TrackMatchStartsAt   = originStartsAt;
     Confidence           = confidence;
     HammingSimilaritySum = hammingSimilaritySum;
     TrackStartsAt        = trackStartsAt;
     QueryLength          = queryLength;
     BestMatch            = bestMatch;
 }
Esempio n. 4
0
 private double GetTrackStartsAt(MatchedPair bestMatch)
 {
     return(bestMatch.HashedFingerprint.StartsAt - bestMatch.SubFingerprint.SequenceAt);
 }
Esempio n. 5
0
 public ResultEntryAccumulator(HashedFingerprint hashedFingerprint, SubFingerprintData match, int hammingSimilarity)
 {
     BestMatch = new MatchedPair(hashedFingerprint, match, hammingSimilarity);
     Add(hashedFingerprint, match, hammingSimilarity);
 }