diff options
Diffstat (limited to 'native')
-rw-r--r-- | native/jni/jni_common.cpp | 2 | ||||
-rw-r--r-- | native/jni/src/suggest/core/dicnode/dic_node.h | 8 | ||||
-rw-r--r-- | native/jni/src/suggest/core/dicnode/dic_node_utils.cpp | 32 | ||||
-rw-r--r-- | native/jni/src/suggest/core/dicnode/dic_node_utils.h | 4 | ||||
-rw-r--r-- | native/jni/src/suggest/core/result/suggestions_output_utils.cpp | 5 |
5 files changed, 7 insertions, 44 deletions
diff --git a/native/jni/jni_common.cpp b/native/jni/jni_common.cpp index 9fa7ef8f9..ce5e30c5d 100644 --- a/native/jni/jni_common.cpp +++ b/native/jni/jni_common.cpp @@ -67,7 +67,7 @@ int registerNativeMethods(JNIEnv *env, const char *const className, const JNINat AKLOGE("Native registration unable to find class '%s'", className); return JNI_FALSE; } - if (env->RegisterNatives(clazz, methods, numMethods) < 0) { + if (env->RegisterNatives(clazz, methods, numMethods) != 0) { AKLOGE("RegisterNatives failed for '%s'", className); env->DeleteLocalRef(clazz); return JNI_FALSE; diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h index 865aab632..3118cdfa3 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node.h +++ b/native/jni/src/suggest/core/dicnode/dic_node.h @@ -218,10 +218,6 @@ class DicNode { return CharUtils::isAsciiUpper(c); } - bool isFirstWord() const { - return mDicNodeProperties.getPrevWordTerminalPtNodePos() == NOT_A_DICT_POS; - } - bool isCompletion(const int inputSize) const { return mDicNodeState.mDicNodeStateInput.getInputIndex(0) >= inputSize; } @@ -292,7 +288,9 @@ class DicNode { // the one that corresponds to the last word of the suggestion, and all the previous words // are concatenated together in mDicNodeStateOutput. int getTotalNodeSpaceCount() const { - if (isFirstWord()) return 0; + if (!hasMultipleWords()) { + return 0; + } return CharUtils::getSpaceCount(mDicNodeState.mDicNodeStateOutput.getCodePointBuf(), mDicNodeState.mDicNodeStateOutput.getPrevWordsLength()); } diff --git a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp index 48752f2cd..2d02a7d9c 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp +++ b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp @@ -16,8 +16,6 @@ #include "suggest/core/dicnode/dic_node_utils.h" -#include <cstring> - #include "suggest/core/dicnode/dic_node.h" #include "suggest/core/dicnode/dic_node_vector.h" #include "suggest/core/dictionary/multi_bigram_map.h" @@ -103,34 +101,4 @@ namespace latinime { NOT_A_PROBABILITY); } -//////////////// -// Char utils // -//////////////// - -// TODO: Move to char_utils? -/* static */ int DicNodeUtils::appendTwoWords(const int *const src0, const int16_t length0, - const int *const src1, const int16_t length1, int *const dest) { - int actualLength0 = 0; - for (int i = 0; i < length0; ++i) { - if (src0[i] == 0) { - break; - } - actualLength0 = i + 1; - } - actualLength0 = std::min(actualLength0, MAX_WORD_LENGTH); - memmove(dest, src0, actualLength0 * sizeof(dest[0])); - if (!src1 || length1 == 0) { - return actualLength0; - } - int actualLength1 = 0; - for (int i = 0; i < length1; ++i) { - if (src1[i] == 0) { - break; - } - actualLength1 = i + 1; - } - actualLength1 = std::min(actualLength1, MAX_WORD_LENGTH - actualLength0); - memmove(&dest[actualLength0], src1, actualLength1 * sizeof(dest[0])); - return actualLength0 + actualLength1; -} } // namespace latinime diff --git a/native/jni/src/suggest/core/dicnode/dic_node_utils.h b/native/jni/src/suggest/core/dicnode/dic_node_utils.h index 3f1514a52..4c0f1f15d 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_utils.h +++ b/native/jni/src/suggest/core/dicnode/dic_node_utils.h @@ -17,8 +17,6 @@ #ifndef LATINIME_DIC_NODE_UTILS_H #define LATINIME_DIC_NODE_UTILS_H -#include <stdint.h> - #include "defines.h" namespace latinime { @@ -30,8 +28,6 @@ class MultiBigramMap; class DicNodeUtils { public: - static int appendTwoWords(const int *src0, const int16_t length0, const int *src1, - const int16_t length1, int *const dest); static void initAsRoot( const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy, const int prevWordPtNodePos, DicNode *const newRootDicNode); diff --git a/native/jni/src/suggest/core/result/suggestions_output_utils.cpp b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp index 19912f2ac..a27631510 100644 --- a/native/jni/src/suggest/core/result/suggestions_output_utils.cpp +++ b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp @@ -254,8 +254,9 @@ const int SuggestionsOutputUtils::MIN_LEN_FOR_MULTI_WORD_AUTOCORRECT = 16; outputScores[outputWordIndex] = shortcutScore; outputScores[outputWordIndex] = std::max(S_INT_MIN + 1, shortcutScore) - 1; const int startIndex2 = outputWordIndex * MAX_WORD_LENGTH; - DicNodeUtils::appendTwoWords(0, 0, shortcutTarget, shortcutTargetStringLength, - &outputCodePoints[startIndex2]); + // Copy shortcut target code points to the output buffer. + memmove(&outputCodePoints[startIndex2], shortcutTarget, + shortcutTargetStringLength * sizeof(shortcutTarget[0])); ++outputWordIndex; } return outputWordIndex; |