template<class ArrayT, class SimFuncT>
Compute similarity of example vector to each subset of src unless a filter is given indicating which subsets should be skipped. Similarity is defined by simFunc on two VectorSet<ArrayT>::VectorT. Number of elements in filter as well as dst should be src->Size()/subSetSize. Definition at line 37 of file Similarity.h. References Impala::Core::Vector::VectorSet< ArrayT >::GetVector(), and Impala::Core::Vector::VectorSet< ArrayT >::Size(). 00039 { 00040 int nrSubSets = src->Size() / subSetSize; 00041 for (int s=0 ; s<nrSubSets ; s++) 00042 { 00043 if (filter && (!filter[s])) 00044 continue; 00045 Real64 maxScore = -1; 00046 int srcIdx = s * subSetSize; 00047 for (int i=0 ; i<subSetSize ; i++) 00048 { 00049 typename VectorSet<ArrayT>::VectorT temp(src->GetVector(srcIdx + i, true)); 00050 Real64 score = simFunc(example, temp); 00051 if (score > maxScore) 00052 maxScore = score; 00053 } 00054 dst[s] = maxScore; 00055 } 00056 }
Here is the call graph for this function:
|