diff options
author | 2011-12-15 10:10:56 -0800 | |
---|---|---|
committer | 2011-12-15 10:10:56 -0800 | |
commit | c29688749746aa5a0c3cf7d29a542975609aa1bd (patch) | |
tree | 52c0685218832a4036e5cc4d1f2883feeca4297b /native/src/correction.cpp | |
parent | 0b910d79d2b640bb6c060f728c4dcd5e0f0339cc (diff) | |
parent | d03317c4be21ee65c19d00c7b83a7042042b8627 (diff) | |
download | latinime-c29688749746aa5a0c3cf7d29a542975609aa1bd.tar.gz latinime-c29688749746aa5a0c3cf7d29a542975609aa1bd.tar.xz latinime-c29688749746aa5a0c3cf7d29a542975609aa1bd.zip |
am d03317c4: Prune traversing a bit agressively and add a flag not to do auto completion
* commit 'd03317c4be21ee65c19d00c7b83a7042042b8627':
Prune traversing a bit agressively and add a flag not to do auto completion
Diffstat (limited to 'native/src/correction.cpp')
-rw-r--r-- | native/src/correction.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/native/src/correction.cpp b/native/src/correction.cpp index 22ee75a24..364913f38 100644 --- a/native/src/correction.cpp +++ b/native/src/correction.cpp @@ -145,7 +145,7 @@ void Correction::initCorrectionState( void Correction::setCorrectionParams(const int skipPos, const int excessivePos, const int transposedPos, const int spaceProximityPos, const int missingSpacePos, - const bool useFullEditDistance) { + const bool useFullEditDistance, const bool doAutoCompletion) { // TODO: remove mTransposedPos = transposedPos; mExcessivePos = excessivePos; @@ -158,6 +158,7 @@ void Correction::setCorrectionParams(const int skipPos, const int excessivePos, mSpaceProximityPos = spaceProximityPos; mMissingSpacePos = missingSpacePos; mUseFullEditDistance = useFullEditDistance; + mDoAutoCompletion = doAutoCompletion; } void Correction::checkState() { @@ -279,7 +280,9 @@ void Correction::startToTraverseAllNodes() { bool Correction::needsToPrune() const { // TODO: use edit distance here - return mOutputIndex - 1 >= mMaxDepth || mProximityCount > mMaxEditDistance; + return mOutputIndex - 1 >= mMaxDepth || mProximityCount > mMaxEditDistance + // Allow one char longer word for missing character + || (!mDoAutoCompletion && (mOutputIndex + 1 >= mInputLength)); } void Correction::addCharToCurrentWord(const int32_t c) { |