diff options
author | 2014-09-10 21:21:23 +0900 | |
---|---|---|
committer | 2014-09-10 21:21:23 +0900 | |
commit | 521e2382da833f114477f4ef68db68a8d30b64d6 (patch) | |
tree | 7c4fdfee8516d69167a43f2e7f2a2f6d61edc6da /native/jni/src/suggest/core/dicnode | |
parent | 87a5c76906bae9546189888fa009ce0032ddad0f (diff) | |
download | latinime-521e2382da833f114477f4ef68db68a8d30b64d6.tar.gz latinime-521e2382da833f114477f4ef68db68a8d30b64d6.tar.xz latinime-521e2382da833f114477f4ef68db68a8d30b64d6.zip |
Use CodePointArrayView to create children DicNodes.
Change-Id: Ie940b6595f3f3f804fbb8dd03c710ea062b75af3
Diffstat (limited to 'native/jni/src/suggest/core/dicnode')
-rw-r--r-- | native/jni/src/suggest/core/dicnode/dic_node.h | 13 | ||||
-rw-r--r-- | native/jni/src/suggest/core/dicnode/dic_node_vector.h | 5 |
2 files changed, 10 insertions, 8 deletions
diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h index 7777de7d1..2618d7c27 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node.h +++ b/native/jni/src/suggest/core/dicnode/dic_node.h @@ -26,6 +26,7 @@ #include "suggest/core/dictionary/error_type_utils.h" #include "suggest/core/layout/proximity_info_state.h" #include "utils/char_utils.h" +#include "utils/int_array_view.h" #if DEBUG_DICT #define LOGI_SHOW_ADD_COST_PROP \ @@ -136,17 +137,17 @@ class DicNode { } void initAsChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos, - const int unigramProbability, const int wordId, const uint16_t mergedNodeCodePointCount, - const int *const mergedNodeCodePoints) { + const int unigramProbability, const int wordId, + const CodePointArrayView mergedCodePoints) { uint16_t newDepth = static_cast<uint16_t>(dicNode->getNodeCodePointCount() + 1); mIsCachedForNextSuggestion = dicNode->mIsCachedForNextSuggestion; const uint16_t newLeavingDepth = static_cast<uint16_t>( - dicNode->mDicNodeProperties.getLeavingDepth() + mergedNodeCodePointCount); - mDicNodeProperties.init(childrenPtNodeArrayPos, mergedNodeCodePoints[0], + dicNode->mDicNodeProperties.getLeavingDepth() + mergedCodePoints.size()); + mDicNodeProperties.init(childrenPtNodeArrayPos, mergedCodePoints[0], unigramProbability, wordId, newDepth, newLeavingDepth, dicNode->mDicNodeProperties.getPrevWordIds()); - mDicNodeState.init(&dicNode->mDicNodeState, mergedNodeCodePointCount, - mergedNodeCodePoints); + mDicNodeState.init(&dicNode->mDicNodeState, mergedCodePoints.size(), + mergedCodePoints.data()); PROF_NODE_COPY(&dicNode->mProfiler, mProfiler); } diff --git a/native/jni/src/suggest/core/dicnode/dic_node_vector.h b/native/jni/src/suggest/core/dicnode/dic_node_vector.h index fa491dcf9..44bf3febd 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_vector.h +++ b/native/jni/src/suggest/core/dicnode/dic_node_vector.h @@ -21,6 +21,7 @@ #include "defines.h" #include "suggest/core/dicnode/dic_node.h" +#include "utils/int_array_view.h" namespace latinime { @@ -60,11 +61,11 @@ class DicNodeVector { void pushLeavingChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos, const int unigramProbability, const int wordId, - const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) { + const CodePointArrayView mergedCodePoints) { ASSERT(!mLock); mDicNodes.emplace_back(); mDicNodes.back().initAsChild(dicNode, childrenPtNodeArrayPos, unigramProbability, - wordId, mergedNodeCodePointCount, mergedNodeCodePoints); + wordId, mergedCodePoints); } DicNode *operator[](const int id) { |