aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/BinaryDictionary.java
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-01-12 18:44:40 +0900
committersatok <satok@google.com>2012-01-12 19:56:15 +0900
commitbe0cf72253f15bff6abdeaa79f60a56f06ab7b86 (patch)
tree2772bbef71714e6c3e8b05a869a9e121bd7fa806 /java/src/com/android/inputmethod/latin/BinaryDictionary.java
parent53f56ddef9f5e9e5eee86b95a9d8e1f2878d5e24 (diff)
downloadlatinime-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.java14
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;