diff options
author | 2012-01-12 18:44:40 +0900 | |
---|---|---|
committer | 2012-01-12 19:56:15 +0900 | |
commit | be0cf72253f15bff6abdeaa79f60a56f06ab7b86 (patch) | |
tree | 2772bbef71714e6c3e8b05a869a9e121bd7fa806 /java/src/com/android/inputmethod/latin/BinaryDictionary.java | |
parent | 53f56ddef9f5e9e5eee86b95a9d8e1f2878d5e24 (diff) | |
download | latinime-be0cf72253f15bff6abdeaa79f60a56f06ab7b86.tar.gz latinime-be0cf72253f15bff6abdeaa79f60a56f06ab7b86.tar.xz latinime-be0cf72253f15bff6abdeaa79f60a56f06ab7b86.zip |
Move auto correction thresthold to the native code
bug: 5858137
Change-Id: Ic4b6270c6e51ef4ed25a6a1d8ddd7fdfa70fd78d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index f0e56d346..3692ac179 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -118,6 +118,10 @@ public class BinaryDictionary extends Dictionary { private native int getBigramsNative(long dict, char[] prevWord, int prevWordLength, int[] inputCodes, int inputCodesLength, char[] outputChars, int[] scores, int maxWordLength, int maxBigrams, int maxAlternatives); + private static native double calcNormalizedScoreNative( + char[] before, int beforeLength, char[] after, int afterLength, int score); + private static native int editDistanceNative( + char[] before, int beforeLength, char[] after, int afterLength); private final void loadDictionary(String path, long startOffset, long length) { mNativeDict = openNative(path, startOffset, length, @@ -211,6 +215,16 @@ public class BinaryDictionary extends Dictionary { mFlags, outputChars, scores); } + public static double calcNormalizedScore(String before, String after, int score) { + return calcNormalizedScoreNative(before.toCharArray(), before.length(), + after.toCharArray(), after.length(), score); + } + + public static int editDistance(String before, String after) { + return editDistanceNative( + before.toCharArray(), before.length(), after.toCharArray(), after.length()); + } + @Override public boolean isValidWord(CharSequence word) { if (word == null) return false; |