172 TessLangModEdge *tess_lm_edge =
173 reinterpret_cast<TessLangModEdge *
>(lang_mod_edge);
174 LangModEdge **edge_array = NULL;
179 if (tess_lm_edge == NULL) {
181 int dawg_cnt = NumDawgs();
183 (*edge_cnt) = dawg_cnt * max_edge_;
184 edge_array =
new LangModEdge *[(*edge_cnt)];
186 for (
int dawg_idx = (*edge_cnt) = 0; dawg_idx < dawg_cnt; dawg_idx++) {
187 const Dawg *curr_dawg = GetDawg(dawg_idx);
191 (*edge_cnt) += FanOut(alt_list, curr_dawg, 0, 0, NULL,
true,
192 edge_array + (*edge_cnt));
196 (*edge_cnt) += FanOut(alt_list, number_dawg_, 0, 0, NULL,
true,
197 edge_array + (*edge_cnt));
201 (*edge_cnt) += FanOut(alt_list, ood_dawg_, 0, 0, NULL,
true,
202 edge_array + (*edge_cnt));
205 for (
int edge_idx = 0; edge_idx < (*edge_cnt); edge_idx++) {
206 edge_array[edge_idx]->SetRoot(
true);
210 (*edge_cnt) = max_edge_;
212 edge_array =
new LangModEdge *[(*edge_cnt)];
215 (*edge_cnt) = FanOut(alt_list,
216 tess_lm_edge->GetDawg(),
217 tess_lm_edge->EndEdge(), tess_lm_edge->EdgeMask(),
218 tess_lm_edge->EdgeString(),
false, edge_array);