diff options
Diffstat (limited to 'native/jni/src/correction.h')
-rw-r--r-- | native/jni/src/correction.h | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/native/jni/src/correction.h b/native/jni/src/correction.h index 3300a8491..ae7b3a5f8 100644 --- a/native/jni/src/correction.h +++ b/native/jni/src/correction.h @@ -19,9 +19,10 @@ #include <assert.h> #include <stdint.h> -#include "correction_state.h" +#include "correction_state.h" #include "defines.h" +#include "proximity_info_state.h" namespace latinime { @@ -93,7 +94,7 @@ class Correction { } } - Correction(const int typedLetterMultiplier, const int fullWordMultiplier); + Correction() {}; void resetCorrection(); void initCorrection( const ProximityInfo *pi, const int inputLength, const int maxWordLength); @@ -174,11 +175,25 @@ class Correction { private: static const int CODE_SPACE = ' '; static const int MAX_INITIAL_SCORE = 255; - static const int TYPED_LETTER_MULTIPLIER = 2; - static const int FULL_WORD_MULTIPLIER = 2; }; + // proximity info state + void initInputParams(const ProximityInfo *proximityInfo, const int32_t *inputCodes, + const int inputLength, const int *xCoordinates, const int *yCoordinates) { + mProximityInfoState.initInputParams( + proximityInfo, inputCodes, inputLength, xCoordinates, yCoordinates); + } + + const unsigned short* getPrimaryInputWord() const { + return mProximityInfoState.getPrimaryInputWord(); + } + + unsigned short getPrimaryCharAt(const int index) const { + return mProximityInfoState.getPrimaryCharAt(index); + } + private: + DISALLOW_COPY_AND_ASSIGN(Correction); inline void incrementInputIndex(); inline void incrementOutputIndex(); inline void startToTraverseAllNodes(); @@ -190,8 +205,8 @@ class Correction { inline int getFinalProbabilityInternal(const int probability, unsigned short **word, int* wordLength, const int inputLength); - const int TYPED_LETTER_MULTIPLIER; - const int FULL_WORD_MULTIPLIER; + static const int TYPED_LETTER_MULTIPLIER = 2; + static const int FULL_WORD_MULTIPLIER = 2; const ProximityInfo *mProximityInfo; bool mUseFullEditDistance; @@ -240,7 +255,7 @@ class Correction { bool mExceeding; bool mTransposing; bool mSkipping; - + ProximityInfoState mProximityInfoState; }; } // namespace latinime #endif // LATINIME_CORRECTION_H |