diff options
Diffstat (limited to 'native/jni/src')
-rw-r--r-- | native/jni/src/additional_proximity_chars.cpp | 10 | ||||
-rw-r--r-- | native/jni/src/additional_proximity_chars.h | 15 | ||||
-rw-r--r-- | native/jni/src/bigram_dictionary.cpp | 8 | ||||
-rw-r--r-- | native/jni/src/binary_format.h | 2 | ||||
-rw-r--r-- | native/jni/src/dictionary.cpp | 8 | ||||
-rw-r--r-- | native/jni/src/dictionary.h | 6 | ||||
-rw-r--r-- | native/jni/src/proximity_info.cpp | 20 | ||||
-rw-r--r-- | native/jni/src/proximity_info.h | 16 |
8 files changed, 39 insertions, 46 deletions
diff --git a/native/jni/src/additional_proximity_chars.cpp b/native/jni/src/additional_proximity_chars.cpp index f59492741..661c50e91 100644 --- a/native/jni/src/additional_proximity_chars.cpp +++ b/native/jni/src/additional_proximity_chars.cpp @@ -21,23 +21,23 @@ namespace latinime { // TODO: Have proximity character informations in each language's binary dictionary. const char *AdditionalProximityChars::LOCALE_EN_US = "en"; -const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_A[EN_US_ADDITIONAL_A_SIZE] = { +const int AdditionalProximityChars::EN_US_ADDITIONAL_A[EN_US_ADDITIONAL_A_SIZE] = { 'e', 'i', 'o', 'u' }; -const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_E[EN_US_ADDITIONAL_E_SIZE] = { +const int AdditionalProximityChars::EN_US_ADDITIONAL_E[EN_US_ADDITIONAL_E_SIZE] = { 'a', 'i', 'o', 'u' }; -const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_I[EN_US_ADDITIONAL_I_SIZE] = { +const int AdditionalProximityChars::EN_US_ADDITIONAL_I[EN_US_ADDITIONAL_I_SIZE] = { 'a', 'e', 'o', 'u' }; -const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_O[EN_US_ADDITIONAL_O_SIZE] = { +const int AdditionalProximityChars::EN_US_ADDITIONAL_O[EN_US_ADDITIONAL_O_SIZE] = { 'a', 'e', 'i', 'u' }; -const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_U[EN_US_ADDITIONAL_U_SIZE] = { +const int AdditionalProximityChars::EN_US_ADDITIONAL_U[EN_US_ADDITIONAL_U_SIZE] = { 'a', 'e', 'i', 'o' }; } // namespace latinime diff --git a/native/jni/src/additional_proximity_chars.h b/native/jni/src/additional_proximity_chars.h index 0333c2dbd..21eb0bf8d 100644 --- a/native/jni/src/additional_proximity_chars.h +++ b/native/jni/src/additional_proximity_chars.h @@ -18,7 +18,6 @@ #define LATINIME_ADDITIONAL_PROXIMITY_CHARS_H #include <cstring> -#include <stdint.h> #include "defines.h" @@ -29,15 +28,15 @@ class AdditionalProximityChars { DISALLOW_IMPLICIT_CONSTRUCTORS(AdditionalProximityChars); static const char *LOCALE_EN_US; static const int EN_US_ADDITIONAL_A_SIZE = 4; - static const int32_t EN_US_ADDITIONAL_A[]; + static const int EN_US_ADDITIONAL_A[]; static const int EN_US_ADDITIONAL_E_SIZE = 4; - static const int32_t EN_US_ADDITIONAL_E[]; + static const int EN_US_ADDITIONAL_E[]; static const int EN_US_ADDITIONAL_I_SIZE = 4; - static const int32_t EN_US_ADDITIONAL_I[]; + static const int EN_US_ADDITIONAL_I[]; static const int EN_US_ADDITIONAL_O_SIZE = 4; - static const int32_t EN_US_ADDITIONAL_O[]; + static const int EN_US_ADDITIONAL_O[]; static const int EN_US_ADDITIONAL_U_SIZE = 4; - static const int32_t EN_US_ADDITIONAL_U[]; + static const int EN_US_ADDITIONAL_U[]; AK_FORCE_INLINE static bool isEnLocale(const char *localeStr) { const size_t LOCALE_EN_US_SIZE = strlen(LOCALE_EN_US); @@ -46,7 +45,7 @@ class AdditionalProximityChars { } public: - static int getAdditionalCharsSize(const char *localeStr, const int32_t c) { + static int getAdditionalCharsSize(const char *localeStr, const int c) { if (!isEnLocale(localeStr)) { return 0; } @@ -66,7 +65,7 @@ class AdditionalProximityChars { } } - static const int32_t *getAdditionalChars(const char *localeStr, const int32_t c) { + static const int *getAdditionalChars(const char *localeStr, const int c) { if (!isEnLocale(localeStr)) { return 0; } diff --git a/native/jni/src/bigram_dictionary.cpp b/native/jni/src/bigram_dictionary.cpp index f89dd1615..e62ae6fd9 100644 --- a/native/jni/src/bigram_dictionary.cpp +++ b/native/jni/src/bigram_dictionary.cpp @@ -146,8 +146,8 @@ int BigramDictionary::getBigrams(const int *prevWord, int prevWordLength, int *i // Returns a pointer to the start of the bigram list. // If the word is not found or has no bigrams, this function returns 0. -int BigramDictionary::getBigramListPositionForWord(const int32_t *prevWord, - const int prevWordLength, const bool forceLowerCaseSearch) const { +int BigramDictionary::getBigramListPositionForWord(const int *prevWord, const int prevWordLength, + const bool forceLowerCaseSearch) const { if (0 >= prevWordLength) return 0; const uint8_t *const root = DICT; int pos = BinaryFormat::getTerminalPosition(root, prevWord, prevWordLength, @@ -167,7 +167,7 @@ int BigramDictionary::getBigramListPositionForWord(const int32_t *prevWord, return pos; } -void BigramDictionary::fillBigramAddressToFrequencyMapAndFilter(const int32_t *prevWord, +void BigramDictionary::fillBigramAddressToFrequencyMapAndFilter(const int *prevWord, const int prevWordLength, std::map<int, int> *map, uint8_t *filter) const { memset(filter, 0, BIGRAM_FILTER_BYTE_SIZE); const uint8_t *const root = DICT; @@ -207,7 +207,7 @@ bool BigramDictionary::checkFirstCharacter(int *word, int *inputCodes) const { return false; } -bool BigramDictionary::isValidBigram(const int32_t *word1, int length1, const int32_t *word2, +bool BigramDictionary::isValidBigram(const int *word1, int length1, const int *word2, int length2) const { const uint8_t *const root = DICT; int pos = getBigramListPositionForWord(word1, length1, false /* forceLowerCaseSearch */); diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h index d1e8316de..400389615 100644 --- a/native/jni/src/binary_format.h +++ b/native/jni/src/binary_format.h @@ -201,7 +201,6 @@ inline void BinaryFormat::readHeaderValue(const uint8_t *const dict, const char outValue[outValueIndex++] = codePoint; codePoint = getCodePointAndForwardPointer(dict, &index); } - if (outValueIndex < outValueIndex) outValue[outValueIndex] = 0; // Finished copying. Break to go to the termination code. break; } @@ -219,7 +218,6 @@ inline void BinaryFormat::readHeaderValue(const uint8_t *const dict, const char // Put a terminator 0 if possible at all (always unless outValueSize is <= 0) if (outValueIndex >= outValueSize) outValueIndex = outValueSize - 1; if (outValueIndex >= 0) outValue[outValueIndex] = 0; - return; } inline int BinaryFormat::readHeaderValueInt(const uint8_t *const dict, const char *const key) { diff --git a/native/jni/src/dictionary.cpp b/native/jni/src/dictionary.cpp index 963ba4645..8210aa0ff 100644 --- a/native/jni/src/dictionary.cpp +++ b/native/jni/src/dictionary.cpp @@ -28,7 +28,6 @@ namespace latinime { -// TODO: Change the type of all keyCodes to uint32_t Dictionary::Dictionary(void *dict, int dictSize, int mmapFd, int dictBufAdjust, int maxWordLength, int maxWords, int maxPredictions) : mDict(static_cast<unsigned char *>(dict)), @@ -81,19 +80,18 @@ int Dictionary::getSuggestions(ProximityInfo *proximityInfo, void *traverseSessi } } -int Dictionary::getBigrams(const int32_t *word, int length, int *codes, int codesSize, +int Dictionary::getBigrams(const int *word, int length, int *codes, int codesSize, int *outWords, int *frequencies, int *outputTypes) const { if (length <= 0) return 0; return mBigramDictionary->getBigrams(word, length, codes, codesSize, outWords, frequencies, outputTypes); } -int Dictionary::getFrequency(const int32_t *word, int length) const { +int Dictionary::getFrequency(const int *word, int length) const { return mUnigramDictionary->getFrequency(word, length); } -bool Dictionary::isValidBigram(const int32_t *word1, int length1, const int32_t *word2, - int length2) const { +bool Dictionary::isValidBigram(const int *word1, int length1, const int *word2, int length2) const { return mBigramDictionary->isValidBigram(word1, length1, word2, length2); } } // namespace latinime diff --git a/native/jni/src/dictionary.h b/native/jni/src/dictionary.h index dd97e9a88..e9660002e 100644 --- a/native/jni/src/dictionary.h +++ b/native/jni/src/dictionary.h @@ -50,11 +50,11 @@ class Dictionary { bool useFullEditDistance, int *outWords, int *frequencies, int *spaceIndices, int *outputTypes) const; - int getBigrams(const int32_t *word, int length, int *codes, int codesSize, int *outWords, + int getBigrams(const int *word, int length, int *codes, int codesSize, int *outWords, int *frequencies, int *outputTypes) const; - int getFrequency(const int32_t *word, int length) const; - bool isValidBigram(const int32_t *word1, int length1, const int32_t *word2, int length2) const; + int getFrequency(const int *word, int length) const; + bool isValidBigram(const int *word1, int length1, const int *word2, int length2) const; const uint8_t *getDict() const { // required to release dictionary buffer return mDict; } diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp index 84db7c196..d38ea670c 100644 --- a/native/jni/src/proximity_info.cpp +++ b/native/jni/src/proximity_info.cpp @@ -66,7 +66,7 @@ ProximityInfo::ProximityInfo(JNIEnv *env, const jstring localeJStr, const int ma HAS_TOUCH_POSITION_CORRECTION_DATA(keyCount > 0 && keyXCoordinates && keyYCoordinates && keyWidths && keyHeights && keyCharCodes && sweetSpotCenterXs && sweetSpotCenterYs && sweetSpotRadii), - mProximityCharsArray(new int32_t[GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE + mProximityCharsArray(new int[GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE /* proximityGridLength */]), mCodeToKeyMap() { const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE; @@ -115,7 +115,7 @@ bool ProximityInfo::hasSpaceProximity(const int x, const int y) const { if (DEBUG_PROXIMITY_INFO) { AKLOGI("hasSpaceProximity: index %d, %d, %d", startIndex, x, y); } - int32_t *proximityCharsArray = mProximityCharsArray; + int *proximityCharsArray = mProximityCharsArray; for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) { if (DEBUG_PROXIMITY_INFO) { AKLOGI("Index: %d", mProximityCharsArray[startIndex + i]); @@ -163,14 +163,14 @@ int ProximityInfo::squaredDistanceToEdge(const int keyId, const int x, const int } void ProximityInfo::calculateNearbyKeyCodes( - const int x, const int y, const int32_t primaryKey, int *inputCodes) const { - int32_t *proximityCharsArray = mProximityCharsArray; + const int x, const int y, const int primaryKey, int *inputCodes) const { + int *proximityCharsArray = mProximityCharsArray; int insertPos = 0; inputCodes[insertPos++] = primaryKey; const int startIndex = getStartIndexFromCoordinates(x, y); if (startIndex >= 0) { for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) { - const int32_t c = proximityCharsArray[startIndex + i]; + const int c = proximityCharsArray[startIndex + i]; if (c < KEYCODE_SPACE || c == primaryKey) { continue; } @@ -198,13 +198,13 @@ void ProximityInfo::calculateNearbyKeyCodes( return; } - const int32_t *additionalProximityChars = + const int *additionalProximityChars = AdditionalProximityChars::getAdditionalChars(mLocaleStr, primaryKey); for (int j = 0; j < additionalProximitySize; ++j) { - const int32_t ac = additionalProximityChars[j]; + const int ac = additionalProximityChars[j]; int k = 0; for (; k < insertPos; ++k) { - if (static_cast<int>(ac) == inputCodes[k]) { + if (ac == inputCodes[k]) { break; } } @@ -235,7 +235,7 @@ int ProximityInfo::getKeyIndexOf(const int c) const { if (c == NOT_A_CODE_POINT) { return NOT_AN_INDEX; } - const int lowerCode = static_cast<int>(toLowerCase(c)); + const int lowerCode = toLowerCase(c); hash_map_compat<int, int>::const_iterator mapPos = mCodeToKeyMap.find(lowerCode); if (mapPos != mCodeToKeyMap.end()) { return mapPos->second; @@ -254,7 +254,7 @@ void ProximityInfo::initializeG() { // TODO: Optimize for (int i = 0; i < KEY_COUNT; ++i) { const int code = mKeyCodePoints[i]; - const int lowerCode = static_cast<int>(toLowerCase(code)); + const int lowerCode = toLowerCase(code); mCenterXsG[i] = mKeyXCoordinates[i] + mKeyWidths[i] / 2; mCenterYsG[i] = mKeyYCoordinates[i] + mKeyHeights[i] / 2; mCodeToKeyMap[lowerCode] = i; diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h index 7ee15d578..d00228359 100644 --- a/native/jni/src/proximity_info.h +++ b/native/jni/src/proximity_info.h @@ -17,8 +17,6 @@ #ifndef LATINIME_PROXIMITY_INFO_H #define LATINIME_PROXIMITY_INFO_H -#include <stdint.h> - #include "defines.h" #include "hash_map_compat.h" #include "jni.h" @@ -59,7 +57,7 @@ class ProximityInfo { return mSweetSpotCenterYs[keyIndex]; } void calculateNearbyKeyCodes( - const int x, const int y, const int32_t primaryKey, int *inputCodes) const; + const int x, const int y, const int primaryKey, int *inputCodes) const; bool hasTouchPositionCorrectionData() const { return HAS_TOUCH_POSITION_CORRECTION_DATA; @@ -141,12 +139,12 @@ class ProximityInfo { const int KEYBOARD_HEIGHT; const bool HAS_TOUCH_POSITION_CORRECTION_DATA; char mLocaleStr[MAX_LOCALE_STRING_LENGTH]; - int32_t *mProximityCharsArray; - int32_t mKeyXCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD]; - int32_t mKeyYCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD]; - int32_t mKeyWidths[MAX_KEY_COUNT_IN_A_KEYBOARD]; - int32_t mKeyHeights[MAX_KEY_COUNT_IN_A_KEYBOARD]; - int32_t mKeyCodePoints[MAX_KEY_COUNT_IN_A_KEYBOARD]; + int *mProximityCharsArray; + int mKeyXCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD]; + int mKeyYCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD]; + int mKeyWidths[MAX_KEY_COUNT_IN_A_KEYBOARD]; + int mKeyHeights[MAX_KEY_COUNT_IN_A_KEYBOARD]; + int mKeyCodePoints[MAX_KEY_COUNT_IN_A_KEYBOARD]; float mSweetSpotCenterXs[MAX_KEY_COUNT_IN_A_KEYBOARD]; float mSweetSpotCenterYs[MAX_KEY_COUNT_IN_A_KEYBOARD]; float mSweetSpotRadii[MAX_KEY_COUNT_IN_A_KEYBOARD]; |