diff options
author | 2011-08-26 19:30:56 +0900 | |
---|---|---|
committer | 2011-08-26 19:30:56 +0900 | |
commit | a6f2fcdcea2e56aae08f73dc542be98f48d3995f (patch) | |
tree | aa058b5417f79bd33682e2cab78f4b30649b1e20 | |
parent | add3e053797d7d2355c61160ab746f7dfeb92aef (diff) | |
download | latinime-a6f2fcdcea2e56aae08f73dc542be98f48d3995f.tar.gz latinime-a6f2fcdcea2e56aae08f73dc542be98f48d3995f.tar.xz latinime-a6f2fcdcea2e56aae08f73dc542be98f48d3995f.zip |
Fix a bug for calculating the edit distance
Change-Id: I4c2cd102c258ccdb2de18c53901f91c0f7c7a986
-rw-r--r-- | native/src/correction.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/native/src/correction.cpp b/native/src/correction.cpp index ce4a869f0..5a0e608b8 100644 --- a/native/src/correction.cpp +++ b/native/src/correction.cpp @@ -490,7 +490,7 @@ inline static int editDistance( const uint16_t cost = (ci == co) ? 0 : 1; dp[(i + 1) * lo + (j + 1)] = min(dp[i * lo + (j + 1)] + 1, min(dp[(i + 1) * lo + j] + 1, dp[i * lo + j] + cost)); - if (ci == Dictionary::toBaseLowerCase(output[j - 1]) + if (i > 0 && j > 0 && ci == Dictionary::toBaseLowerCase(output[j - 1]) && co == Dictionary::toBaseLowerCase(input[i - 1])) { dp[(i + 1) * lo + (j + 1)] = min( dp[(i + 1) * lo + (j + 1)], dp[(i - 1) * lo + (j - 1)] + cost); |