From 9c42ad47d4c8e2ae11b51b48609948ff391e89f2 Mon Sep 17 00:00:00 2001
From: Keisuke Kuroyanagi <ksk@google.com>
Date: Fri, 5 Sep 2014 19:23:52 +0900
Subject: [PATCH] Rename probability to unigramProbability.

Bug: 14425059
Change-Id: I6a204c3b8fb257d037ad95a1a455ae6fb89068fd
---
 .../jni/src/suggest/core/dicnode/dic_node.h   |  9 +++++----
 .../suggest/core/dicnode/dic_node_utils.cpp   |  2 +-
 .../suggest/core/dicnode/dic_node_vector.h    |  4 ++--
 .../dicnode/internal/dic_node_properties.h    | 20 ++++++++++---------
 .../core/dictionary/dictionary_utils.cpp      |  6 +++---
 .../core/result/suggestions_output_utils.cpp  |  2 +-
 .../policyimpl/typing/typing_traversal.h      |  3 ++-
 7 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h
index 52a204ce4..32ff0ce18 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node.h
@@ -136,14 +136,14 @@ class DicNode {
     }
 
     void initAsChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos,
-            const int probability, const int wordId, const bool isBlacklistedOrNotAWord,
+            const int unigramProbability, const int wordId, const bool isBlacklistedOrNotAWord,
             const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) {
         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],
-                probability, wordId, isBlacklistedOrNotAWord, newDepth, newLeavingDepth,
+                unigramProbability, wordId, isBlacklistedOrNotAWord, newDepth, newLeavingDepth,
                 dicNode->mDicNodeProperties.getPrevWordIds());
         mDicNodeState.init(&dicNode->mDicNodeState, mergedNodeCodePointCount,
                 mergedNodeCodePoints);
@@ -217,8 +217,9 @@ class DicNode {
         return mDicNodeProperties.getChildrenPtNodeArrayPos();
     }
 
-    int getProbability() const {
-        return mDicNodeProperties.getProbability();
+    // TODO: Remove
+    int getUnigramProbability() const {
+        return mDicNodeProperties.getUnigramProbability();
     }
 
     AK_FORCE_INLINE bool isTerminalDicNode() const {
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 87d245276..9f03e30d1 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp
+++ b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp
@@ -84,7 +84,7 @@ namespace latinime {
 /* static */ int DicNodeUtils::getBigramNodeProbability(
         const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy,
         const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) {
-    const int unigramProbability = dicNode->getProbability();
+    const int unigramProbability = dicNode->getUnigramProbability();
     if (multiBigramMap) {
         const int *const prevWordIds = dicNode->getPrevWordIds();
         return multiBigramMap->getBigramProbability(dictionaryStructurePolicy,
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 139a36e2a..dfeb3fc1f 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node_vector.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node_vector.h
@@ -59,11 +59,11 @@ class DicNodeVector {
     }
 
     void pushLeavingChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos,
-            const int probability, const int wordId, const bool isBlacklistedOrNotAWord,
+            const int unigramProbability, const int wordId, const bool isBlacklistedOrNotAWord,
             const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) {
         ASSERT(!mLock);
         mDicNodes.emplace_back();
-        mDicNodes.back().initAsChild(dicNode, childrenPtNodeArrayPos, probability,
+        mDicNodes.back().initAsChild(dicNode, childrenPtNodeArrayPos, unigramProbability,
                 wordId, isBlacklistedOrNotAWord, mergedNodeCodePointCount, mergedNodeCodePoints);
     }
 
diff --git a/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h b/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h
index e8adca195..6a8377a1b 100644
--- a/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h
+++ b/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h
@@ -29,19 +29,19 @@ namespace latinime {
 class DicNodeProperties {
  public:
     AK_FORCE_INLINE DicNodeProperties()
-            : mChildrenPtNodeArrayPos(NOT_A_DICT_POS), mProbability(NOT_A_PROBABILITY),
+            : mChildrenPtNodeArrayPos(NOT_A_DICT_POS), mUnigramProbability(NOT_A_PROBABILITY),
               mDicNodeCodePoint(NOT_A_CODE_POINT), mWordId(NOT_A_WORD_ID),
               mIsBlacklistedOrNotAWord(false), mDepth(0), mLeavingDepth(0) {}
 
     ~DicNodeProperties() {}
 
     // Should be called only once per DicNode is initialized.
-    void init(const int childrenPos, const int nodeCodePoint, const int probability,
+    void init(const int childrenPos, const int nodeCodePoint, const int unigramProbability,
             const int wordId, const bool isBlacklistedOrNotAWord, const uint16_t depth,
             const uint16_t leavingDepth, const int *const prevWordIds) {
         mChildrenPtNodeArrayPos = childrenPos;
         mDicNodeCodePoint = nodeCodePoint;
-        mProbability = probability;
+        mUnigramProbability = unigramProbability;
         mWordId = wordId;
         mIsBlacklistedOrNotAWord = isBlacklistedOrNotAWord;
         mDepth = depth;
@@ -53,7 +53,7 @@ class DicNodeProperties {
     void init(const int rootPtNodeArrayPos, const int *const prevWordIds) {
         mChildrenPtNodeArrayPos = rootPtNodeArrayPos;
         mDicNodeCodePoint = NOT_A_CODE_POINT;
-        mProbability = NOT_A_PROBABILITY;
+        mUnigramProbability = NOT_A_PROBABILITY;
         mWordId = NOT_A_WORD_ID;
         mIsBlacklistedOrNotAWord = false;
         mDepth = 0;
@@ -64,7 +64,7 @@ class DicNodeProperties {
     void initByCopy(const DicNodeProperties *const dicNodeProp) {
         mChildrenPtNodeArrayPos = dicNodeProp->mChildrenPtNodeArrayPos;
         mDicNodeCodePoint = dicNodeProp->mDicNodeCodePoint;
-        mProbability = dicNodeProp->mProbability;
+        mUnigramProbability = dicNodeProp->mUnigramProbability;
         mWordId = dicNodeProp->mWordId;
         mIsBlacklistedOrNotAWord = dicNodeProp->mIsBlacklistedOrNotAWord;
         mDepth = dicNodeProp->mDepth;
@@ -76,7 +76,7 @@ class DicNodeProperties {
     void init(const DicNodeProperties *const dicNodeProp, const int codePoint) {
         mChildrenPtNodeArrayPos = dicNodeProp->mChildrenPtNodeArrayPos;
         mDicNodeCodePoint = codePoint; // Overwrite the node char of a passing child
-        mProbability = dicNodeProp->mProbability;
+        mUnigramProbability = dicNodeProp->mUnigramProbability;
         mWordId = dicNodeProp->mWordId;
         mIsBlacklistedOrNotAWord = dicNodeProp->mIsBlacklistedOrNotAWord;
         mDepth = dicNodeProp->mDepth + 1; // Increment the depth of a passing child
@@ -88,8 +88,8 @@ class DicNodeProperties {
         return mChildrenPtNodeArrayPos;
     }
 
-    int getProbability() const {
-        return mProbability;
+    int getUnigramProbability() const {
+        return mUnigramProbability;
     }
 
     int getDicNodeCodePoint() const {
@@ -130,9 +130,11 @@ class DicNodeProperties {
     // Use a default copy constructor and an assign operator because shallow copies are ok
     // for this class
     int mChildrenPtNodeArrayPos;
-    int mProbability;
+    // TODO: Remove
+    int mUnigramProbability;
     int mDicNodeCodePoint;
     int mWordId;
+    // TODO: Remove
     bool mIsBlacklistedOrNotAWord;
     uint16_t mDepth;
     uint16_t mLeavingDepth;
diff --git a/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp b/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp
index b372b6b4f..94d7c886f 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp
+++ b/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp
@@ -54,15 +54,15 @@ namespace latinime {
         current.swap(next);
     }
 
-    int maxProbability = NOT_A_PROBABILITY;
+    int maxUnigramProbability = NOT_A_PROBABILITY;
     for (const DicNode &dicNode : current) {
         if (!dicNode.isTerminalDicNode()) {
             continue;
         }
         // dicNode can contain case errors, accent errors, intentional omissions or digraphs.
-        maxProbability = std::max(maxProbability, dicNode.getProbability());
+        maxUnigramProbability = std::max(maxUnigramProbability, dicNode.getUnigramProbability());
     }
-    return maxProbability;
+    return maxUnigramProbability;
 }
 
 /* static */ void DictionaryUtils::processChildDicNodes(
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 ad860c4a4..cecb4e216 100644
--- a/native/jni/src/suggest/core/result/suggestions_output_utils.cpp
+++ b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp
@@ -87,7 +87,7 @@ const int SuggestionsOutputUtils::MIN_LEN_FOR_MULTI_WORD_AUTOCORRECT = 16;
             + doubleLetterCost;
     const bool isPossiblyOffensiveWord =
             traverseSession->getDictionaryStructurePolicy()->getProbability(
-                    terminalDicNode->getProbability(), NOT_A_PROBABILITY) <= 0;
+                    terminalDicNode->getUnigramProbability(), NOT_A_PROBABILITY) <= 0;
     const bool isExactMatch =
             ErrorTypeUtils::isExactMatch(terminalDicNode->getContainedErrorTypes());
     const bool isExactMatchWithIntentionalOmission =
diff --git a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h
index cb3dfac70..ed9df8eb3 100644
--- a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h
+++ b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h
@@ -162,7 +162,8 @@ class TypingTraversal : public Traversal {
     }
 
     AK_FORCE_INLINE bool isGoodToTraverseNextWord(const DicNode *const dicNode) const {
-        const int probability = dicNode->getProbability();
+        // TODO: Quit using unigram probability and use probability in the context.
+        const int probability = dicNode->getUnigramProbability();
         if (probability < ScoringParams::THRESHOLD_NEXT_WORD_PROBABILITY) {
             return false;
         }