ScorePostingMatcher* ScorePostMatcher_init(ScorePostingMatcher *self, Similarity *sim, PostingList *plist, Compiler *compiler) { // Init. TermMatcher_init((TermMatcher*)self, sim, plist, compiler); ScorePostingMatcherIVARS *const ivars = ScorePostMatcher_IVARS(self); // Fill score cache. ivars->score_cache = (float*)MALLOCATE(TERMMATCHER_SCORE_CACHE_SIZE * sizeof(float)); for (uint32_t i = 0; i < TERMMATCHER_SCORE_CACHE_SIZE; i++) { ivars->score_cache[i] = Sim_TF(sim, (float)i) * ivars->weight; } return self; }
MatchPostingMatcher* MatchPostMatcher_init(MatchPostingMatcher *self, Similarity *sim, PostingList *plist, Compiler *compiler) { TermMatcher_init((TermMatcher*)self, sim, plist, compiler); return self; }