Rename jni method for n-gram supporting.

Bug: 14425059
Change-Id: I242d1de5d9db37344f02d8fba9035829794a56c8
Keisuke Kuroyanagi 2014-06-24 18:13:24 +09:00
parent e708b1bc2e
commit 83b6ee2538
4 changed files with 28 additions and 28 deletions

View File

@ -173,7 +173,7 @@ public final class BinaryDictionary extends Dictionary {
private static native int getFormatVersionNative(long dict); private static native int getFormatVersionNative(long dict);
private static native int getProbabilityNative(long dict, int[] word); private static native int getProbabilityNative(long dict, int[] word);
private static native int getMaxProbabilityOfExactMatchesNative(long dict, int[] word); private static native int getMaxProbabilityOfExactMatchesNative(long dict, int[] word);
private static native int getBigramProbabilityNative(long dict, int[] word0, private static native int getNgramProbabilityNative(long dict, int[] word0,
boolean isBeginningOfSentence, int[] word1); boolean isBeginningOfSentence, int[] word1);
private static native void getWordPropertyNative(long dict, int[] word, private static native void getWordPropertyNative(long dict, int[] word,
int[] outCodePoints, boolean[] outFlags, int[] outProbabilityInfo, int[] outCodePoints, boolean[] outFlags, int[] outProbabilityInfo,
@ -187,13 +187,13 @@ public final class BinaryDictionary extends Dictionary {
int[] outputSuggestionCount, int[] outputCodePoints, int[] outputScores, int[] outputSuggestionCount, int[] outputCodePoints, int[] outputScores,
int[] outputIndices, int[] outputTypes, int[] outputAutoCommitFirstWordConfidence, int[] outputIndices, int[] outputTypes, int[] outputAutoCommitFirstWordConfidence,
float[] inOutLanguageWeight); float[] inOutLanguageWeight);
private static native boolean addUnigramWordNative(long dict, int[] word, int probability, private static native boolean addUnigramEntryNative(long dict, int[] word, int probability,
int[] shortcutTarget, int shortcutProbability, boolean isBeginningOfSentence, int[] shortcutTarget, int shortcutProbability, boolean isBeginningOfSentence,
boolean isNotAWord, boolean isBlacklisted, int timestamp); boolean isNotAWord, boolean isBlacklisted, int timestamp);
private static native boolean removeUnigramWordNative(long dict, int[] word); private static native boolean removeUnigramEntryNative(long dict, int[] word);
private static native boolean addBigramWordsNative(long dict, int[] word0, private static native boolean addNgramEntryNative(long dict, int[] word0,
boolean isBeginningOfSentence, int[] word1, int probability, int timestamp); boolean isBeginningOfSentence, int[] word1, int probability, int timestamp);
private static native boolean removeBigramWordsNative(long dict, int[] word0, private static native boolean removeNgramEntryNative(long dict, int[] word0,
boolean isBeginningOfSentence, int[] word1); boolean isBeginningOfSentence, int[] word1);
private static native int addMultipleDictionaryEntriesNative(long dict, private static native int addMultipleDictionaryEntriesNative(long dict,
LanguageModelParam[] languageModelParams, int startIndex); LanguageModelParam[] languageModelParams, int startIndex);
@ -356,7 +356,7 @@ public final class BinaryDictionary extends Dictionary {
new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM]; new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray); prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray);
final int[] wordCodePoints = StringUtils.toCodePointArray(word); final int[] wordCodePoints = StringUtils.toCodePointArray(word);
return getBigramProbabilityNative(mNativeDict, prevWordCodePointArrays[0], return getNgramProbabilityNative(mNativeDict, prevWordCodePointArrays[0],
isBeginningOfSentenceArray[0], wordCodePoints); isBeginningOfSentenceArray[0], wordCodePoints);
} }
@ -417,7 +417,7 @@ public final class BinaryDictionary extends Dictionary {
final int[] codePoints = StringUtils.toCodePointArray(word); final int[] codePoints = StringUtils.toCodePointArray(word);
final int[] shortcutTargetCodePoints = (shortcutTarget != null) ? final int[] shortcutTargetCodePoints = (shortcutTarget != null) ?
StringUtils.toCodePointArray(shortcutTarget) : null; StringUtils.toCodePointArray(shortcutTarget) : null;
if (!addUnigramWordNative(mNativeDict, codePoints, probability, shortcutTargetCodePoints, if (!addUnigramEntryNative(mNativeDict, codePoints, probability, shortcutTargetCodePoints,
shortcutProbability, isBeginningOfSentence, isNotAWord, isBlacklisted, timestamp)) { shortcutProbability, isBeginningOfSentence, isNotAWord, isBlacklisted, timestamp)) {
return false; return false;
} }
@ -431,7 +431,7 @@ public final class BinaryDictionary extends Dictionary {
return false; return false;
} }
final int[] codePoints = StringUtils.toCodePointArray(word); final int[] codePoints = StringUtils.toCodePointArray(word);
if (!removeUnigramWordNative(mNativeDict, codePoints)) { if (!removeUnigramEntryNative(mNativeDict, codePoints)) {
return false; return false;
} }
mHasUpdated = true; mHasUpdated = true;
@ -449,7 +449,7 @@ public final class BinaryDictionary extends Dictionary {
new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM]; new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray); prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray);
final int[] wordCodePoints = StringUtils.toCodePointArray(word); final int[] wordCodePoints = StringUtils.toCodePointArray(word);
if (!addBigramWordsNative(mNativeDict, prevWordCodePointArrays[0], if (!addNgramEntryNative(mNativeDict, prevWordCodePointArrays[0],
isBeginningOfSentenceArray[0], wordCodePoints, probability, timestamp)) { isBeginningOfSentenceArray[0], wordCodePoints, probability, timestamp)) {
return false; return false;
} }
@ -467,7 +467,7 @@ public final class BinaryDictionary extends Dictionary {
new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM]; new boolean[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM];
prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray); prevWordsInfo.outputToArray(prevWordCodePointArrays, isBeginningOfSentenceArray);
final int[] wordCodePoints = StringUtils.toCodePointArray(word); final int[] wordCodePoints = StringUtils.toCodePointArray(word);
if (!removeBigramWordsNative(mNativeDict, prevWordCodePointArrays[0], if (!removeNgramEntryNative(mNativeDict, prevWordCodePointArrays[0],
isBeginningOfSentenceArray[0], wordCodePoints)) { isBeginningOfSentenceArray[0], wordCodePoints)) {
return false; return false;
} }

View File

@ -283,7 +283,7 @@ static jint latinime_BinaryDictionary_getMaxProbabilityOfExactMatches(
return dictionary->getMaxProbabilityOfExactMatches(codePoints, wordLength); return dictionary->getMaxProbabilityOfExactMatches(codePoints, wordLength);
} }
static jint latinime_BinaryDictionary_getBigramProbability(JNIEnv *env, jclass clazz, static jint latinime_BinaryDictionary_getNgramProbability(JNIEnv *env, jclass clazz,
jlong dict, jintArray word0, jboolean isBeginningOfSentence, jintArray word1) { jlong dict, jintArray word0, jboolean isBeginningOfSentence, jintArray word1) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict); Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) return JNI_FALSE; if (!dictionary) return JNI_FALSE;
@ -294,7 +294,7 @@ static jint latinime_BinaryDictionary_getBigramProbability(JNIEnv *env, jclass c
env->GetIntArrayRegion(word0, 0, word0Length, word0CodePoints); env->GetIntArrayRegion(word0, 0, word0Length, word0CodePoints);
env->GetIntArrayRegion(word1, 0, word1Length, word1CodePoints); env->GetIntArrayRegion(word1, 0, word1Length, word1CodePoints);
const PrevWordsInfo prevWordsInfo(word0CodePoints, word0Length, isBeginningOfSentence); const PrevWordsInfo prevWordsInfo(word0CodePoints, word0Length, isBeginningOfSentence);
return dictionary->getBigramProbability(&prevWordsInfo, word1CodePoints, word1Length); return dictionary->getNgramProbability(&prevWordsInfo, word1CodePoints, word1Length);
} }
// Method to iterate all words in the dictionary for makedict. // Method to iterate all words in the dictionary for makedict.
@ -334,7 +334,7 @@ static void latinime_BinaryDictionary_getWordProperty(JNIEnv *env, jclass clazz,
outShortcutProbabilities); outShortcutProbabilities);
} }
static bool latinime_BinaryDictionary_addUnigramWord(JNIEnv *env, jclass clazz, jlong dict, static bool latinime_BinaryDictionary_addUnigramEntry(JNIEnv *env, jclass clazz, jlong dict,
jintArray word, jint probability, jintArray shortcutTarget, jint shortcutProbability, jintArray word, jint probability, jintArray shortcutTarget, jint shortcutProbability,
jboolean isBeginningOfSentence, jboolean isNotAWord, jboolean isBlacklisted, jboolean isBeginningOfSentence, jboolean isNotAWord, jboolean isBlacklisted,
jint timestamp) { jint timestamp) {
@ -357,7 +357,7 @@ static bool latinime_BinaryDictionary_addUnigramWord(JNIEnv *env, jclass clazz,
return dictionary->addUnigramEntry(codePoints, codePointCount, &unigramProperty); return dictionary->addUnigramEntry(codePoints, codePointCount, &unigramProperty);
} }
static bool latinime_BinaryDictionary_removeUnigramWord(JNIEnv *env, jclass clazz, jlong dict, static bool latinime_BinaryDictionary_removeUnigramEntry(JNIEnv *env, jclass clazz, jlong dict,
jintArray word) { jintArray word) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict); Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) { if (!dictionary) {
@ -369,7 +369,7 @@ static bool latinime_BinaryDictionary_removeUnigramWord(JNIEnv *env, jclass claz
return dictionary->removeUnigramEntry(codePoints, codePointCount); return dictionary->removeUnigramEntry(codePoints, codePointCount);
} }
static bool latinime_BinaryDictionary_addBigramWords(JNIEnv *env, jclass clazz, jlong dict, static bool latinime_BinaryDictionary_addNgramEntry(JNIEnv *env, jclass clazz, jlong dict,
jintArray word0, jboolean isBeginningOfSentence, jintArray word1, jint probability, jintArray word0, jboolean isBeginningOfSentence, jintArray word1, jint probability,
jint timestamp) { jint timestamp) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict); Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
@ -391,7 +391,7 @@ static bool latinime_BinaryDictionary_addBigramWords(JNIEnv *env, jclass clazz,
return dictionary->addNgramEntry(&prevWordsInfo, &bigramProperty); return dictionary->addNgramEntry(&prevWordsInfo, &bigramProperty);
} }
static bool latinime_BinaryDictionary_removeBigramWords(JNIEnv *env, jclass clazz, jlong dict, static bool latinime_BinaryDictionary_removeNgramEntry(JNIEnv *env, jclass clazz, jlong dict,
jintArray word0, jboolean isBeginningOfSentence, jintArray word1) { jintArray word0, jboolean isBeginningOfSentence, jintArray word1) {
Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict); Dictionary *dictionary = reinterpret_cast<Dictionary *>(dict);
if (!dictionary) { if (!dictionary) {
@ -661,9 +661,9 @@ static const JNINativeMethod sMethods[] = {
reinterpret_cast<void *>(latinime_BinaryDictionary_getMaxProbabilityOfExactMatches) reinterpret_cast<void *>(latinime_BinaryDictionary_getMaxProbabilityOfExactMatches)
}, },
{ {
const_cast<char *>("getBigramProbabilityNative"), const_cast<char *>("getNgramProbabilityNative"),
const_cast<char *>("(J[IZ[I)I"), const_cast<char *>("(J[IZ[I)I"),
reinterpret_cast<void *>(latinime_BinaryDictionary_getBigramProbability) reinterpret_cast<void *>(latinime_BinaryDictionary_getNgramProbability)
}, },
{ {
const_cast<char *>("getWordPropertyNative"), const_cast<char *>("getWordPropertyNative"),
@ -677,24 +677,24 @@ static const JNINativeMethod sMethods[] = {
reinterpret_cast<void *>(latinime_BinaryDictionary_getNextWord) reinterpret_cast<void *>(latinime_BinaryDictionary_getNextWord)
}, },
{ {
const_cast<char *>("addUnigramWordNative"), const_cast<char *>("addUnigramEntryNative"),
const_cast<char *>("(J[II[IIZZZI)Z"), const_cast<char *>("(J[II[IIZZZI)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_addUnigramWord) reinterpret_cast<void *>(latinime_BinaryDictionary_addUnigramEntry)
}, },
{ {
const_cast<char *>("removeUnigramWordNative"), const_cast<char *>("removeUnigramEntryNative"),
const_cast<char *>("(J[I)Z"), const_cast<char *>("(J[I)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_removeUnigramWord) reinterpret_cast<void *>(latinime_BinaryDictionary_removeUnigramEntry)
}, },
{ {
const_cast<char *>("addBigramWordsNative"), const_cast<char *>("addNgramEntryNative"),
const_cast<char *>("(J[IZ[III)Z"), const_cast<char *>("(J[IZ[III)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_addBigramWords) reinterpret_cast<void *>(latinime_BinaryDictionary_addNgramEntry)
}, },
{ {
const_cast<char *>("removeBigramWordsNative"), const_cast<char *>("removeNgramEntryNative"),
const_cast<char *>("(J[IZ[I)Z"), const_cast<char *>("(J[IZ[I)Z"),
reinterpret_cast<void *>(latinime_BinaryDictionary_removeBigramWords) reinterpret_cast<void *>(latinime_BinaryDictionary_removeNgramEntry)
}, },
{ {
const_cast<char *>("addMultipleDictionaryEntriesNative"), const_cast<char *>("addMultipleDictionaryEntriesNative"),

View File

@ -81,7 +81,7 @@ int Dictionary::getMaxProbabilityOfExactMatches(const int *word, int length) con
mDictionaryStructureWithBufferPolicy.get(), word, length); mDictionaryStructureWithBufferPolicy.get(), word, length);
} }
int Dictionary::getBigramProbability(const PrevWordsInfo *const prevWordsInfo, const int *word, int Dictionary::getNgramProbability(const PrevWordsInfo *const prevWordsInfo, const int *word,
int length) const { int length) const {
TimeKeeper::setCurrentTime(); TimeKeeper::setCurrentTime();
return mBigramDictionary.getBigramProbability(prevWordsInfo, word, length); return mBigramDictionary.getBigramProbability(prevWordsInfo, word, length);

View File

@ -75,7 +75,7 @@ class Dictionary {
int getMaxProbabilityOfExactMatches(const int *word, int length) const; int getMaxProbabilityOfExactMatches(const int *word, int length) const;
int getBigramProbability(const PrevWordsInfo *const prevWordsInfo, int getNgramProbability(const PrevWordsInfo *const prevWordsInfo,
const int *word, int length) const; const int *word, int length) const;
bool addUnigramEntry(const int *const codePoints, const int codePointCount, bool addUnigramEntry(const int *const codePoints, const int codePointCount,