Skip to content
Snippets Groups Projects
Commit bcb439e7 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Add jni method to update entries for a word efficiently."

parents 841aa0b6 ce5fd94b
No related branches found
No related tags found
No related merge requests found
...@@ -199,6 +199,9 @@ public final class BinaryDictionary extends Dictionary { ...@@ -199,6 +199,9 @@ public final class BinaryDictionary extends Dictionary {
int[] word, int probability, int timestamp); int[] word, int probability, int timestamp);
private static native boolean removeNgramEntryNative(long dict, private static native boolean removeNgramEntryNative(long dict,
int[][] prevWordCodePointArrays, boolean[] isBeginningOfSentenceArray, int[] word); int[][] prevWordCodePointArrays, boolean[] isBeginningOfSentenceArray, int[] word);
private static native boolean updateCounterNative(long dict,
int[][] prevWordCodePointArrays, boolean[] isBeginningOfSentenceArray,
int[] word, boolean isValidWord, int count, int timestamp);
private static native int addMultipleDictionaryEntriesNative(long dict, private static native int addMultipleDictionaryEntriesNative(long dict,
LanguageModelParam[] languageModelParams, int startIndex); LanguageModelParam[] languageModelParams, int startIndex);
private static native String getPropertyNative(long dict, String query); private static native String getPropertyNative(long dict, String query);
......
...@@ -427,6 +427,19 @@ static bool latinime_BinaryDictionary_removeNgramEntry(JNIEnv *env, jclass clazz ...@@ -427,6 +427,19 @@ static bool latinime_BinaryDictionary_removeNgramEntry(JNIEnv *env, jclass clazz
CodePointArrayView(wordCodePoints, codePointCount)); CodePointArrayView(wordCodePoints, codePointCount));
} }
static bool latinime_BinaryDictionary_updateCounter(JNIEnv *env, jclass clazz, jlong dict,
jobjectArray prevWordCodePointArrays, jbooleanArray isBeginningOfSentenceArray,
jintArray word, jboolean isValidWord, jint count, jint timestamp) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) {
return false;
}
jsize wordLength = env->GetArrayLength(word);
int wordCodePoints[wordLength];
env->GetIntArrayRegion(word, 0, wordLength, wordCodePoints);
return false;
}
// Returns how many language model params are processed. // Returns how many language model params are processed.
static int latinime_BinaryDictionary_addMultipleDictionaryEntries(JNIEnv *env, jclass clazz, static int latinime_BinaryDictionary_addMultipleDictionaryEntries(JNIEnv *env, jclass clazz,
jlong dict, jobjectArray languageModelParams, jint startIndex) { jlong dict, jobjectArray languageModelParams, jint startIndex) {
...@@ -724,6 +737,11 @@ static const JNINativeMethod sMethods[] = { ...@@ -724,6 +737,11 @@ static const JNINativeMethod sMethods[] = {
const_cast<char *>("(J[[I[Z[I)Z"), const_cast<char *>("(J[[I[Z[I)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_removeNgramEntry) reinterpret_cast<void *>(latinime_BinaryDictionary_removeNgramEntry)
}, },
{
const_cast<char *>("updateCounterNative"),
const_cast<char *>("(J[[I[Z[IZII)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_updateCounter)
},
{ {
const_cast<char *>("addMultipleDictionaryEntriesNative"), const_cast<char *>("addMultipleDictionaryEntriesNative"),
const_cast<char *>( const_cast<char *>(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment