summaryrefslogtreecommitdiff
path: root/klm
diff options
context:
space:
mode:
authorKenneth Heafield <kheafiel@cluster01.lti.ece.cmu.local>2012-07-16 10:50:56 -0400
committerKenneth Heafield <kheafiel@cluster01.lti.ece.cmu.local>2012-07-16 10:50:56 -0400
commit30c3f2b7186e6dc19acb8856b280b8dd97d1f679 (patch)
treeee2b59e3d8a4fb367c7f50b631d328d9f32cd491 /klm
parent42532406b1246e6f17766b804b8bd5cce828f0fa (diff)
Fix slow backoff lookup
Diffstat (limited to 'klm')
-rw-r--r--klm/lm/model.cc5
1 files changed, 1 insertions, 4 deletions
diff --git a/klm/lm/model.cc b/klm/lm/model.cc
index c081788c..a2d31ce0 100644
--- a/klm/lm/model.cc
+++ b/klm/lm/model.cc
@@ -53,9 +53,6 @@ template <class Search, class VocabularyT> void GenericModel<Search, VocabularyT
search_.LoadedBinary();
}
-namespace {
-} // namespace
-
template <class Search, class VocabularyT> void GenericModel<Search, VocabularyT>::InitializeFromARPA(const char *file, const Config &config) {
// Backing file is the ARPA. Steal it so we can make the backing file the mmap output if any.
util::FilePiece f(backing_.file.release(), file, config.messages);
@@ -126,7 +123,7 @@ template <class Search, class VocabularyT> FullScoreReturn GenericModel<Search,
return ret;
}
// i is the order of the backoff we're looking for.
- unsigned char order_minus_2 = 0;
+ unsigned char order_minus_2 = start - 2;
for (const WordIndex *i = context_rbegin + start - 1; i < context_rend; ++i, ++order_minus_2) {
typename Search::MiddlePointer p(search_.LookupMiddle(order_minus_2, *i, node, independent_left, extend_left));
if (!p.Found()) break;