am 2d3f2daf: Check compound distance of node and prune useless node after creating new word.

* commit '2d3f2daf12643e57f15fc98c7fd61329513ca0cf':
  Check compound distance of node and prune useless node after creating new word.
main
Keisuke Kuroynagi 2013-06-18 01:29:44 -07:00 committed by Android Git Automerger
commit ca6ed60045
1 changed files with 7 additions and 1 deletions

View File

@ -530,6 +530,12 @@ void Suggest::createNextWordDicNode(DicTraverseSession *traverseSession, DicNode
CT_NEW_WORD_SPACE_SUBSTITUTION : CT_NEW_WORD_SPACE_OMITTION;
Weighting::addCostAndForwardInputIndex(WEIGHTING, correctionType, traverseSession, dicNode,
&newDicNode, traverseSession->getMultiBigramMap());
traverseSession->getDicTraverseCache()->copyPushNextActive(&newDicNode);
if (newDicNode.getCompoundDistance() < static_cast<float>(MAX_VALUE_FOR_WEIGHTING)) {
// newDicNode is worth continuing to traverse.
// CAVEAT: This pruning is important for speed. Remove this when we can afford not to prune
// here because here is not the right place to do pruning. Pruning should take place only
// in DicNodePriorityQueue.
traverseSession->getDicTraverseCache()->copyPushNextActive(&newDicNode);
}
}
} // namespace latinime