Lines Matching refs:lcp
94 std::vector<TextIdx>* lcp, std::vector<TextIdx>* invese_sa) { in buildLcp() argument
96 lcp->resize(size); in buildLcp()
98 lcp->at(size - 1) = 0; in buildLcp()
109 lcp->at(invese_sa->at(i)) = k; in buildLcp()
118 TextIdx lcp; member
148 TextIdx length, std::vector<TextIdx>* sa, std::vector<TextIdx>* lcp, in cutMatch() argument
153 while (lcp->at(i) >= length) { in cutMatch()
161 if (index == 0 || lcp->at(index - 1) < length) break; in cutMatch()
216 std::vector<TextIdx> lcp; in DM_generate() local
236 buildLcp(&full_text, &sa, &lcp, &invese_sa); in DM_generate()
245 for (TextIdx i = 0; i < lcp.size(); ++i) { in DM_generate()
250 while (lcp[i] < isles.back().lcp) { in DM_generate()
257 TextIdx effective_lcp = top.lcp; in DM_generate()
265 best_isle.lcp = effective_lcp; in DM_generate()
272 if (lcp[i] > isles.back().lcp) isles.push_back({lcp[i], l, 0, {{0}}}); in DM_generate()
280 if (best_cost == 0 || best_isle.lcp < MIN_MATCH) { in DM_generate()
291 total_cost, best_cost, total, best_isle.lcp); in DM_generate()
293 output.insert(output.end(), piece, piece + best_isle.lcp); in DM_generate()
294 total += best_isle.lcp; in DM_generate()
296 cutMatch(&data, best_isle.l, best_isle.lcp, &sa, &lcp, &invese_sa, in DM_generate()