Merge "Add a string for main dictionary"
diff --git a/native/src/correction.cpp b/native/src/correction.cpp
index 5a0e608..d5bfed0 100644
--- a/native/src/correction.cpp
+++ b/native/src/correction.cpp
@@ -429,6 +429,9 @@
         if (multiplier == 2) {
             *base = TWO_31ST_DIV_2 >= temp ? temp << 1 : S_INT_MAX;
         } else {
+            // TODO: This overflow check gives a wrong answer when, for example,
+            //       temp = 2^16 + 1 and multiplier = 2^17 + 1.
+            //       Fix this behavior.
             const int tempRetval = temp * multiplier;
             *base = tempRetval >= temp ? tempRetval : S_INT_MAX;
         }
diff --git a/native/src/unigram_dictionary.cpp b/native/src/unigram_dictionary.cpp
index 4e671a1..517dc84 100644
--- a/native/src/unigram_dictionary.cpp
+++ b/native/src/unigram_dictionary.cpp
@@ -348,20 +348,6 @@
     }
 }
 
-static const int TWO_31ST_DIV_2 = S_INT_MAX / 2;
-inline static void multiplyIntCapped(const int multiplier, int *base) {
-    const int temp = *base;
-    if (temp != S_INT_MAX) {
-        // Branch if multiplier == 2 for the optimization
-        if (multiplier == 2) {
-            *base = TWO_31ST_DIV_2 >= temp ? temp << 1 : S_INT_MAX;
-        } else {
-            const int tempRetval = temp * multiplier;
-            *base = tempRetval >= temp ? tempRetval : S_INT_MAX;
-        }
-    }
-}
-
 void UnigramDictionary::getMissingSpaceWords(
         const int inputLength, const int missingSpacePos, Correction *correction) {
     correction->setCorrectionParams(-1 /* skipPos */, -1 /* excessivePos */,