aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src
diff options
context:
space:
mode:
Diffstat (limited to 'native/jni/src')
-rw-r--r--native/jni/src/binary_format.h16
-rw-r--r--native/jni/src/correction.cpp8
-rw-r--r--native/jni/src/correction.h6
-rw-r--r--native/jni/src/defines.h2
-rw-r--r--native/jni/src/dic_traverse_wrapper.h8
-rw-r--r--native/jni/src/proximity_info.cpp4
-rw-r--r--native/jni/src/proximity_info.h67
-rw-r--r--native/jni/src/proximity_info_state_utils.cpp2
-rw-r--r--native/jni/src/proximity_info_utils.h39
-rw-r--r--native/jni/src/words_priority_queue.h2
10 files changed, 55 insertions, 99 deletions
diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h
index 61780dea5..2d7c4b492 100644
--- a/native/jni/src/binary_format.h
+++ b/native/jni/src/binary_format.h
@@ -18,9 +18,9 @@
#define LATINIME_BINARY_FORMAT_H
#include <cstdlib>
-#include <limits>
#include <map>
#include <stdint.h>
+
#include "bloom_filter.h"
#include "char_utils.h"
@@ -66,8 +66,8 @@ class BinaryFormat {
static int detectFormat(const uint8_t *const dict);
static int getHeaderSize(const uint8_t *const dict);
static int getFlags(const uint8_t *const dict);
- static void readHeaderValue(const uint8_t *const dict, const char *const key,
- int *outValue, const int outValueSize);
+ static void readHeaderValue(const uint8_t *const dict, const char *const key, int *outValue,
+ const int outValueSize);
static int readHeaderValueInt(const uint8_t *const dict, const char *const key);
static int getGroupCountAndForwardPointer(const uint8_t *const dict, int *pos);
static uint8_t getFlagsAndForwardPointer(const uint8_t *const dict, int *pos);
@@ -168,7 +168,7 @@ inline int BinaryFormat::getHeaderSize(const uint8_t *const dict) {
// See the format of the header in the comment in detectFormat() above
return (dict[8] << 24) + (dict[9] << 16) + (dict[10] << 8) + dict[11];
default:
- return std::numeric_limits<int>::max();
+ return S_INT_MAX;
}
}
@@ -197,8 +197,7 @@ inline void BinaryFormat::readHeaderValue(const uint8_t *const dict, const char
if (codePoint == NOT_A_CODE_POINT && key[keyIndex] == 0) {
// We found the key! Copy and return the value.
codePoint = getCodePointAndForwardPointer(dict, &index);
- while (codePoint != NOT_A_CODE_POINT
- && outValueIndex < outValueSize) {
+ while (codePoint != NOT_A_CODE_POINT && outValueIndex < outValueSize) {
outValue[outValueIndex++] = codePoint;
codePoint = getCodePointAndForwardPointer(dict, &index);
}
@@ -314,7 +313,7 @@ static inline int childrenAddressSize(const uint8_t flags) {
}
static AK_FORCE_INLINE int shortcutByteSize(const uint8_t *const dict, const int pos) {
- return ((int)(dict[pos] << 8)) + (dict[pos + 1]);
+ return (static_cast<int>(dict[pos] << 8)) + (dict[pos + 1]);
}
inline int BinaryFormat::skipChildrenPosition(const uint8_t flags, const int pos) {
@@ -664,9 +663,8 @@ inline int BinaryFormat::getProbability(const int position, const std::map<int,
if (bigramFreqIt != bigramMap->end()) {
const int bigramFreq = bigramFreqIt->second;
return computeFrequencyForBigram(unigramFreq, bigramFreq);
- } else {
- return backoff(unigramFreq);
}
+ return backoff(unigramFreq);
}
} // namespace latinime
#endif // LATINIME_BINARY_FORMAT_H
diff --git a/native/jni/src/correction.cpp b/native/jni/src/correction.cpp
index e892c8591..d4bd4aa00 100644
--- a/native/jni/src/correction.cpp
+++ b/native/jni/src/correction.cpp
@@ -112,7 +112,7 @@ void Correction::setCorrectionParams(const int skipPos, const int excessivePos,
mMaxErrors = maxErrors;
}
-void Correction::checkState() {
+void Correction::checkState() const {
if (DEBUG_DICT) {
int inputCount = 0;
if (mSkipPos >= 0) ++inputCount;
@@ -121,12 +121,12 @@ void Correction::checkState() {
}
}
-bool Correction::sameAsTyped() {
+bool Correction::sameAsTyped() const {
return mProximityInfoState.sameAsTyped(mWord, mOutputIndex);
}
int Correction::getFreqForSplitMultipleWords(const int *freqArray, const int *wordLengthArray,
- const int wordCount, const bool isSpaceProximity, const int *word) {
+ const int wordCount, const bool isSpaceProximity, const int *word) const {
return Correction::RankingAlgorithm::calcFreqForSplitMultipleWords(freqArray, wordLengthArray,
wordCount, this, isSpaceProximity, word);
}
@@ -677,7 +677,7 @@ inline static bool isUpperCase(unsigned short c) {
const float factor =
SuggestUtils::getDistanceScalingFactor(static_cast<float>(squaredDistance));
if (factor > 0.0f) {
- multiplyRate((int)(factor * 100.0f), &finalFreq);
+ multiplyRate(static_cast<int>(factor * 100.0f), &finalFreq);
} else if (squaredDistance == PROXIMITY_CHAR_WITHOUT_DISTANCE_INFO) {
multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq);
}
diff --git a/native/jni/src/correction.h b/native/jni/src/correction.h
index 89e300d75..0873daef3 100644
--- a/native/jni/src/correction.h
+++ b/native/jni/src/correction.h
@@ -64,8 +64,8 @@ class Correction {
void setCorrectionParams(const int skipPos, const int excessivePos, const int transposedPos,
const int spaceProximityPos, const int missingSpacePos, const bool useFullEditDistance,
const bool doAutoCompletion, const int maxErrors);
- void checkState();
- bool sameAsTyped();
+ void checkState() const;
+ bool sameAsTyped() const;
bool initProcessState(const int index);
int getInputIndex() const;
@@ -77,7 +77,7 @@ class Correction {
}
int getFreqForSplitMultipleWords(const int *freqArray, const int *wordLengthArray,
- const int wordCount, const bool isSpaceProximity, const int *word);
+ const int wordCount, const bool isSpaceProximity, const int *word) const;
int getFinalProbability(const int probability, int **word, int *wordLength);
int getFinalProbabilityForSubQueue(const int probability, int **word, int *wordLength,
const int inputSize);
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h
index 922a746b8..9883168fe 100644
--- a/native/jni/src/defines.h
+++ b/native/jni/src/defines.h
@@ -370,7 +370,7 @@ static inline void prof_out(void) {
// TODO: Remove
#define MAX_POINTER_COUNT 1
-#define MAX_POINTER_COUNT_FOR_G 2
+#define MAX_POINTER_COUNT_G 2
// Size, in bytes, of the bloom filter index for bigrams
// 128 gives us 1024 buckets. The probability of false positive is (1 - e ** (-kn/m))**k,
diff --git a/native/jni/src/dic_traverse_wrapper.h b/native/jni/src/dic_traverse_wrapper.h
index 9a1db3852..1108a45c8 100644
--- a/native/jni/src/dic_traverse_wrapper.h
+++ b/native/jni/src/dic_traverse_wrapper.h
@@ -31,8 +31,8 @@ class DicTraverseWrapper {
}
return 0;
}
- static void initDicTraverseSession(void *traverseSession,
- const Dictionary *const dictionary, const int *prevWord, const int prevWordLength) {
+ static void initDicTraverseSession(void *traverseSession, const Dictionary *const dictionary,
+ const int *prevWord, const int prevWordLength) {
if (sDicTraverseSessionInitMethod) {
sDicTraverseSessionInitMethod(traverseSession, dictionary, prevWord, prevWordLength);
}
@@ -42,8 +42,7 @@ class DicTraverseWrapper {
sDicTraverseSessionReleaseMethod(traverseSession);
}
}
- static void setTraverseSessionFactoryMethod(
- void *(*factoryMethod)(JNIEnv *, jstring)) {
+ static void setTraverseSessionFactoryMethod(void *(*factoryMethod)(JNIEnv *, jstring)) {
sDicTraverseSessionFactoryMethod = factoryMethod;
}
static void setTraverseSessionInitMethod(
@@ -53,6 +52,7 @@ class DicTraverseWrapper {
static void setTraverseSessionReleaseMethod(void (*releaseMethod)(void *)) {
sDicTraverseSessionReleaseMethod = releaseMethod;
}
+
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(DicTraverseWrapper);
static void *(*sDicTraverseSessionFactoryMethod)(JNIEnv *, jstring);
diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp
index 8157fe2d0..a0bad1af4 100644
--- a/native/jni/src/proximity_info.cpp
+++ b/native/jni/src/proximity_info.cpp
@@ -110,8 +110,8 @@ bool ProximityInfo::hasSpaceProximity(const int x, const int y) const {
return false;
}
- const int startIndex = ProximityInfoUtils::getStartIndexFromCoordinates(
- MAX_PROXIMITY_CHARS_SIZE, x, y, CELL_HEIGHT, CELL_WIDTH, GRID_WIDTH);
+ const int startIndex = ProximityInfoUtils::getStartIndexFromCoordinates(x, y,
+ CELL_HEIGHT, CELL_WIDTH, GRID_WIDTH);
if (DEBUG_PROXIMITY_INFO) {
AKLOGI("hasSpaceProximity: index %d, %d, %d", startIndex, x, y);
}
diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h
index 6d571d7bb..f3a68e4f2 100644
--- a/native/jni/src/proximity_info.h
+++ b/native/jni/src/proximity_info.h
@@ -47,57 +47,21 @@ class ProximityInfo {
// the radius of the key is assigned to zero.
return mSweetSpotRadii[keyIndex] > 0.0f;
}
- float getSweetSpotRadiiAt(int keyIndex) const {
- return mSweetSpotRadii[keyIndex];
- }
- float getSweetSpotCenterXAt(int keyIndex) const {
- return mSweetSpotCenterXs[keyIndex];
- }
- float getSweetSpotCenterYAt(int keyIndex) const {
- return mSweetSpotCenterYs[keyIndex];
- }
+ float getSweetSpotRadiiAt(int keyIndex) const { return mSweetSpotRadii[keyIndex]; }
+ float getSweetSpotCenterXAt(int keyIndex) const { return mSweetSpotCenterXs[keyIndex]; }
+ float getSweetSpotCenterYAt(int keyIndex) const { return mSweetSpotCenterYs[keyIndex]; }
void calculateNearbyKeyCodes(
const int x, const int y, const int primaryKey, int *inputCodes) const;
-
- bool hasTouchPositionCorrectionData() const {
- return HAS_TOUCH_POSITION_CORRECTION_DATA;
- }
-
- int getMostCommonKeyWidth() const {
- return MOST_COMMON_KEY_WIDTH;
- }
-
- int getMostCommonKeyWidthSquare() const {
- return MOST_COMMON_KEY_WIDTH_SQUARE;
- }
-
- int getKeyCount() const {
- return KEY_COUNT;
- }
-
- int getCellHeight() const {
- return CELL_HEIGHT;
- }
-
- int getCellWidth() const {
- return CELL_WIDTH;
- }
-
- int getGridWidth() const {
- return GRID_WIDTH;
- }
-
- int getGridHeight() const {
- return GRID_HEIGHT;
- }
-
- int getKeyboardWidth() const {
- return KEYBOARD_WIDTH;
- }
-
- int getKeyboardHeight() const {
- return KEYBOARD_HEIGHT;
- }
+ bool hasTouchPositionCorrectionData() const { return HAS_TOUCH_POSITION_CORRECTION_DATA; }
+ int getMostCommonKeyWidth() const { return MOST_COMMON_KEY_WIDTH; }
+ int getMostCommonKeyWidthSquare() const { return MOST_COMMON_KEY_WIDTH_SQUARE; }
+ int getKeyCount() const { return KEY_COUNT; }
+ int getCellHeight() const { return CELL_HEIGHT; }
+ int getCellWidth() const { return CELL_WIDTH; }
+ int getGridWidth() const { return GRID_WIDTH; }
+ int getGridHeight() const { return GRID_HEIGHT; }
+ int getKeyboardWidth() const { return KEYBOARD_WIDTH; }
+ int getKeyboardHeight() const { return KEYBOARD_HEIGHT; }
int getKeyCenterXOfCodePointG(int charCode) const;
int getKeyCenterYOfCodePointG(int charCode) const;
@@ -109,9 +73,8 @@ class ProximityInfo {
const int *const inputYCoordinates, const int inputSize, int *allInputCodes) const {
ProximityInfoUtils::initializeProximities(inputCodes, inputXCoordinates, inputYCoordinates,
inputSize, mKeyXCoordinates, mKeyYCoordinates, mKeyWidths, mKeyHeights,
- mProximityCharsArray, MAX_PROXIMITY_CHARS_SIZE, CELL_HEIGHT, CELL_WIDTH,
- GRID_WIDTH, MOST_COMMON_KEY_WIDTH, KEY_COUNT, mLocaleStr, &mCodeToKeyMap,
- allInputCodes);
+ mProximityCharsArray, CELL_HEIGHT, CELL_WIDTH, GRID_WIDTH, MOST_COMMON_KEY_WIDTH,
+ KEY_COUNT, mLocaleStr, &mCodeToKeyMap, allInputCodes);
}
int getKeyIndexOf(const int c) const {
diff --git a/native/jni/src/proximity_info_state_utils.cpp b/native/jni/src/proximity_info_state_utils.cpp
index 9f85743e5..ac74a4e91 100644
--- a/native/jni/src/proximity_info_state_utils.cpp
+++ b/native/jni/src/proximity_info_state_utils.cpp
@@ -211,7 +211,7 @@ namespace latinime {
ProximityInfoParams::NOT_A_DISTANCE_FLOAT;
if (squaredDistance >= 0.0f) {
normalizedSquaredDistances[i * MAX_PROXIMITY_CHARS_SIZE + j] =
- (int) (squaredDistance
+ static_cast<int>(squaredDistance
* ProximityInfoParams::NORMALIZED_SQUARED_DISTANCE_SCALING_FACTOR);
} else {
normalizedSquaredDistances[i * MAX_PROXIMITY_CHARS_SIZE + j] =
diff --git a/native/jni/src/proximity_info_utils.h b/native/jni/src/proximity_info_utils.h
index 24917d879..c50df57f9 100644
--- a/native/jni/src/proximity_info_utils.h
+++ b/native/jni/src/proximity_info_utils.h
@@ -49,9 +49,9 @@ class ProximityInfoUtils {
const int *const inputXCoordinates, const int *const inputYCoordinates,
const int inputSize, const int *const keyXCoordinates,
const int *const keyYCoordinates, const int *const keyWidths, const int *keyHeights,
- const int *const proximityCharsArray, const int maxProximityCharsSize,
- const int cellHeight, const int cellWidth, const int gridWidth,
- const int mostCommonKeyWidth, const int keyCount, const char *const localeStr,
+ const int *const proximityCharsArray, const int cellHeight, const int cellWidth,
+ const int gridWidth, const int mostCommonKeyWidth, const int keyCount,
+ const char *const localeStr,
const hash_map_compat<int, int> *const codeToKeyMap, int *inputProximities) {
// Initialize
// - mInputCodes
@@ -63,9 +63,8 @@ class ProximityInfoUtils {
const int y = inputYCoordinates[i];
int *proximities = &inputProximities[i * MAX_PROXIMITY_CHARS_SIZE];
calculateProximities(keyXCoordinates, keyYCoordinates, keyWidths, keyHeights,
- proximityCharsArray, maxProximityCharsSize, cellHeight, cellWidth, gridWidth,
- mostCommonKeyWidth, keyCount, x, y, primaryKey, localeStr, codeToKeyMap,
- proximities);
+ proximityCharsArray, cellHeight, cellWidth, gridWidth, mostCommonKeyWidth,
+ keyCount, x, y, primaryKey, localeStr, codeToKeyMap, proximities);
}
if (DEBUG_PROXIMITY_CHARS) {
@@ -81,10 +80,9 @@ class ProximityInfoUtils {
}
}
- static AK_FORCE_INLINE int getStartIndexFromCoordinates(const int maxProximityCharsSize,
- const int x, const int y, const int cellHeight, const int cellWidth,
- const int gridWidth) {
- return ((y / cellHeight) * gridWidth + (x / cellWidth)) * maxProximityCharsSize;
+ static AK_FORCE_INLINE int getStartIndexFromCoordinates(const int x, const int y,
+ const int cellHeight, const int cellWidth, const int gridWidth) {
+ return ((y / cellHeight) * gridWidth + (x / cellWidth)) * MAX_PROXIMITY_CHARS_SIZE;
}
static inline float getSquaredDistanceFloat(const float x1, const float y1, const float x2,
@@ -153,21 +151,18 @@ class ProximityInfoUtils {
return left < right && top < bottom && x >= left && x < right && y >= top && y < bottom;
}
- static void calculateProximities(
- const int *const keyXCoordinates, const int *const keyYCoordinates,
- const int *const keyWidths, const int *keyHeights,
- const int *const proximityCharsArray,
- const int maxProximityCharsSize, const int cellHeight, const int cellWidth,
+ static void calculateProximities(const int *const keyXCoordinates,
+ const int *const keyYCoordinates, const int *const keyWidths, const int *keyHeights,
+ const int *const proximityCharsArray, const int cellHeight, const int cellWidth,
const int gridWidth, const int mostCommonKeyWidth, const int keyCount,
const int x, const int y, const int primaryKey, const char *const localeStr,
const hash_map_compat<int, int> *const codeToKeyMap, int *proximities) {
const int mostCommonKeyWidthSquare = mostCommonKeyWidth * mostCommonKeyWidth;
int insertPos = 0;
proximities[insertPos++] = primaryKey;
- const int startIndex = getStartIndexFromCoordinates(
- maxProximityCharsSize, x, y, cellHeight, cellWidth, gridWidth);
+ const int startIndex = getStartIndexFromCoordinates(x, y, cellHeight, cellWidth, gridWidth);
if (startIndex >= 0) {
- for (int i = 0; i < maxProximityCharsSize; ++i) {
+ for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) {
const int c = proximityCharsArray[startIndex + i];
if (c < KEYCODE_SPACE || c == primaryKey) {
continue;
@@ -179,7 +174,7 @@ class ProximityInfoUtils {
keyWidths, keyHeights, keyIndex, x, y);
if (onKey || distance < mostCommonKeyWidthSquare) {
proximities[insertPos++] = c;
- if (insertPos >= maxProximityCharsSize) {
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
if (DEBUG_DICT) {
ASSERT(false);
}
@@ -191,7 +186,7 @@ class ProximityInfoUtils {
AdditionalProximityChars::getAdditionalCharsSize(localeStr, primaryKey);
if (additionalProximitySize > 0) {
proximities[insertPos++] = ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE;
- if (insertPos >= maxProximityCharsSize) {
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
if (DEBUG_DICT) {
ASSERT(false);
}
@@ -212,7 +207,7 @@ class ProximityInfoUtils {
continue;
}
proximities[insertPos++] = ac;
- if (insertPos >= maxProximityCharsSize) {
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
if (DEBUG_DICT) {
ASSERT(false);
}
@@ -222,7 +217,7 @@ class ProximityInfoUtils {
}
}
// Add a delimiter for the proximity characters
- for (int i = insertPos; i < maxProximityCharsSize; ++i) {
+ for (int i = insertPos; i < MAX_PROXIMITY_CHARS_SIZE; ++i) {
proximities[i] = NOT_A_CODE_POINT;
}
}
diff --git a/native/jni/src/words_priority_queue.h b/native/jni/src/words_priority_queue.h
index e0833ce4b..8a22f051a 100644
--- a/native/jni/src/words_priority_queue.h
+++ b/native/jni/src/words_priority_queue.h
@@ -87,7 +87,7 @@ class WordsPriorityQueue {
}
}
- SuggestedWord *top() {
+ SuggestedWord *top() const {
if (mSuggestions.empty()) return 0;
SuggestedWord *sw = mSuggestions.top();
return sw;