aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/utils/jni_data_utils.h
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-09-16 20:52:32 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-09-18 19:18:55 +0900
commit880624838611a69f20f39ae762181ea4639dd071 (patch)
tree35e5413127c56e37fadf9c905855fbc194a90855 /native/jni/src/utils/jni_data_utils.h
parentcdabc71c6da00ea1c2254e13021973c762c79be4 (diff)
downloadlatinime-880624838611a69f20f39ae762181ea4639dd071.tar.gz
latinime-880624838611a69f20f39ae762181ea4639dd071.tar.xz
latinime-880624838611a69f20f39ae762181ea4639dd071.zip
Pass prevWordCount to native code for getSuggestion.
Bug: 14425059 Change-Id: Id2b49a448982c997e5c0a22445b115e675156c3e
Diffstat (limited to 'native/jni/src/utils/jni_data_utils.h')
-rw-r--r--native/jni/src/utils/jni_data_utils.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/native/jni/src/utils/jni_data_utils.h b/native/jni/src/utils/jni_data_utils.h
index cb82d3c3b..235a03bba 100644
--- a/native/jni/src/utils/jni_data_utils.h
+++ b/native/jni/src/utils/jni_data_utils.h
@@ -97,17 +97,13 @@ class JniDataUtils {
}
static PrevWordsInfo constructPrevWordsInfo(JNIEnv *env, jobjectArray prevWordCodePointArrays,
- jbooleanArray isBeginningOfSentenceArray) {
+ jbooleanArray isBeginningOfSentenceArray, const size_t prevWordCount) {
int prevWordCodePoints[MAX_PREV_WORD_COUNT_FOR_N_GRAM][MAX_WORD_LENGTH];
int prevWordCodePointCount[MAX_PREV_WORD_COUNT_FOR_N_GRAM];
bool isBeginningOfSentence[MAX_PREV_WORD_COUNT_FOR_N_GRAM];
- jsize prevWordsCount = env->GetArrayLength(prevWordCodePointArrays);
- for (size_t i = 0; i < NELEMS(prevWordCodePoints); ++i) {
+ for (size_t i = 0; i < prevWordCount; ++i) {
prevWordCodePointCount[i] = 0;
isBeginningOfSentence[i] = false;
- if (prevWordsCount <= static_cast<int>(i)) {
- continue;
- }
jintArray prevWord = (jintArray)env->GetObjectArrayElement(prevWordCodePointArrays, i);
if (!prevWord) {
continue;
@@ -124,7 +120,7 @@ class JniDataUtils {
isBeginningOfSentence[i] = isBeginningOfSentenceBoolean == JNI_TRUE;
}
return PrevWordsInfo(prevWordCodePoints, prevWordCodePointCount, isBeginningOfSentence,
- MAX_PREV_WORD_COUNT_FOR_N_GRAM);
+ prevWordCount);
}
static void putBooleanToArray(JNIEnv *env, jbooleanArray array, const int index,