aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/suggest/core/dicnode
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-09-10 21:21:23 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-09-10 21:21:23 +0900
commit521e2382da833f114477f4ef68db68a8d30b64d6 (patch)
tree7c4fdfee8516d69167a43f2e7f2a2f6d61edc6da /native/jni/src/suggest/core/dicnode
parent87a5c76906bae9546189888fa009ce0032ddad0f (diff)
downloadlatinime-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.h13
-rw-r--r--native/jni/src/suggest/core/dicnode/dic_node_vector.h5
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) {