42#include "ling_class/EST_Utterance.h"
45static EST_Item *
const def_val_item_ptr = NULL;
48static EST_Item* error_return_item_ptr = NULL;
51#if defined(INSTANTIATE_TEMPLATES)
53#include "../base_class/EST_TVector.cc"
64bool (*local_pruning_function)(
const int i,
69bool dp_sub(
int i,
int j,
73 local_cost_function
lcf,
74 local_pruning_function
lpf,
78void trace_back_and_link(
int i,
int j,
84inline bool null_lpf(
const int,
const int,
const int,
const int)
92 local_cost_function
lcf,
93 local_pruning_function
lpf,
100 local_cost_function
lcf,
109static float fixed_ins;
110static float fixed_del;
111static float fixed_sub;
118 if (s1->name() == s2->name())
122 if (s1->name() == null_sym)
124 else if (s2->name() == null_sym)
135 float ins,
float del,
float sub)
143 null_lpf, &null_sym);
150 local_cost_function
lcf,
151 local_pruning_function
lpf,
181 for (p=
lexical.head(),i=1; p != 0; p = inext(p),i++)
183 for (p=
surface.head(),i=1; p != 0; p = inext(p),i++)
209 cost.a_no_check(i,
j) = -1;
211 if(!dp_sub(
l1-1,
l2-1,
216 cerr <<
"No path found (over pruning ?)" <<
endl;
221 for (p =
lexical.head(); p; p = inext(p))
234 trace_back_and_link(
l1-1,
l2-1,
237 DP_path_i,DP_path_j,null_sym);
243bool dp_sub(
int i,
int j,
247 local_cost_function
lcf,
248 local_pruning_function
lpf,
376void trace_back_and_link(
int i,
int j,
394 if(DP_path_i(i,
j) == i-1)
396 if(DP_path_j(i,
j) ==
j-1)
400 p1->append_daughter(
p2);
415 trace_back_and_link(DP_path_i(i,
j), DP_path_j(i,
j),
INLINE const T & a_no_check(int row, int col) const
const access with no bounds check, care recommend
void resize(int rows, int cols, int set=1)
resize matrix
static const T * def_val
default value, used for filling matrix after resizing