#include "LCDefaultSimilarity.h" #include /** Expert: Default scoring implementation. */ @implementation LCDefaultSimilarity /** Implemented as 1/sqrt(numTerms). */ - (float) lengthNorm: (NSString *) fileName numberOfTerms: (int) numTerms { return (float)(1.0 / sqrt(numTerms)); } /** Implemented as 1/sqrt(sumOfSquaredWeights). */ - (float) queryNorm: (float) sumOfSquaredWeights { return (float)(1.0 / sqrt(sumOfSquaredWeights)); } /** Implemented as sqrt(freq). */ - (float) termFrequencyWithFloat: (float) freq { return (float)sqrt(freq); } /** Implemented as 1 / (distance + 1). */ - (float) sloppyFrequency: (int) distance { return 1.0f / (distance + 1); } /** Implemented as log(numDocs/(docFreq+1)) + 1. */ - (float) inverseDocumentFrequency: (int) docFreq numberOfDocuments: (int) numDocs { return (float)(log(numDocs/(double)(docFreq+1)) + 1.0); } /** Implemented as overlap / maxOverlap. */ - (float) coordination: (int) overlap max: (int) maxOverLap { return (float)overlap / (float)maxOverLap; } @end