diff options
author | 2014-01-31 20:32:44 +0900 | |
---|---|---|
committer | 2014-01-31 20:32:44 +0900 | |
commit | 94d9a2309fbca6b1e42b6c57b9c9509182fe8a0b (patch) | |
tree | 2b78997af4973607a52387a050ebb066e55f7452 /native/jni/src | |
parent | 17e7768a3efbf239ad39a2e1c36803c88e816d6d (diff) | |
download | latinime-94d9a2309fbca6b1e42b6c57b9c9509182fe8a0b.tar.gz latinime-94d9a2309fbca6b1e42b6c57b9c9509182fe8a0b.tar.xz latinime-94d9a2309fbca6b1e42b6c57b9c9509182fe8a0b.zip |
Extend jni interface to get bigrams in WordProperty.
Bug: 12810574
Change-Id: Ia4b88d02ea8790a5c47d32376cc0b84c3e071ddd
Diffstat (limited to 'native/jni/src')
-rw-r--r-- | native/jni/src/suggest/core/dictionary/word_property.cpp | 15 | ||||
-rw-r--r-- | native/jni/src/suggest/core/dictionary/word_property.h | 4 |
2 files changed, 11 insertions, 8 deletions
diff --git a/native/jni/src/suggest/core/dictionary/word_property.cpp b/native/jni/src/suggest/core/dictionary/word_property.cpp index 4a260a982..d8c330bbd 100644 --- a/native/jni/src/suggest/core/dictionary/word_property.cpp +++ b/native/jni/src/suggest/core/dictionary/word_property.cpp @@ -19,20 +19,23 @@ namespace latinime { void WordProperty::outputProperties(JNIEnv *const env, jintArray outCodePoints, - jbooleanArray outFlags, jintArray outProbability, jintArray outHistoricalInfo, - jobject outShortcutTargets, jobject outShortcutProbabilities) const { + jbooleanArray outFlags, jintArray outProbabilityInfo, jobject outBigramTargets, + jobject outBigramProbabilities, jobject outShortcutTargets, + jobject outShortcutProbabilities) const { env->SetIntArrayRegion(outCodePoints, 0 /* start */, mCodePoints.size(), &mCodePoints[0]); jboolean flags[] = {mIsNotAWord, mIsBlacklisted, mHasBigrams, mHasShortcuts}; env->SetBooleanArrayRegion(outFlags, 0 /* start */, NELEMS(flags), flags); - env->SetIntArrayRegion(outProbability, 0 /* start */, 1 /* len */, &mProbability); - int historicalInfo[] = {mTimestamp, mLevel, mCount}; - env->SetIntArrayRegion(outHistoricalInfo, 0 /* start */, NELEMS(historicalInfo), - historicalInfo); + int probabilityInfo[] = {mProbability, mTimestamp, mLevel, mCount}; + env->SetIntArrayRegion(outProbabilityInfo, 0 /* start */, NELEMS(probabilityInfo), + probabilityInfo); jclass integerClass = env->FindClass("java/lang/Integer"); jmethodID intToIntegerConstructorId = env->GetMethodID(integerClass, "<init>", "(I)V"); jclass arrayListClass = env->FindClass("java/util/ArrayList"); jmethodID addMethodId = env->GetMethodID(arrayListClass, "add", "(Ljava/lang/Object;)Z"); + + // TODO: Output bigrams. + // Output shortcuts. const int shortcutTargetCount = mShortcuts.size(); for (int i = 0; i < shortcutTargetCount; ++i) { const std::vector<int> *const targetCodePoints = mShortcuts[i].getTargetCodePoints(); diff --git a/native/jni/src/suggest/core/dictionary/word_property.h b/native/jni/src/suggest/core/dictionary/word_property.h index 69c880861..cc06b1baa 100644 --- a/native/jni/src/suggest/core/dictionary/word_property.h +++ b/native/jni/src/suggest/core/dictionary/word_property.h @@ -78,8 +78,8 @@ class WordProperty { mShortcuts(*shortcuts) {} void outputProperties(JNIEnv *const env, jintArray outCodePoints, jbooleanArray outFlags, - jintArray outProbability, jintArray outHistoricalInfo, jobject outShortcutTargets, - jobject outShortcutProbabilities) const; + jintArray outProbabilityInfo, jobject outBigramTargets, jobject outBigramProbabilities, + jobject outShortcutTargets, jobject outShortcutProbabilities) const; private: DISALLOW_ASSIGNMENT_OPERATOR(WordProperty); |