aboutsummaryrefslogtreecommitdiffstats
path: root/native/src/unigram_dictionary.h
diff options
context:
space:
mode:
authorsatok <satok@google.com>2010-12-10 01:38:51 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-12-10 01:38:51 -0800
commitf6a6429e10817c80a7c00f0f2acae12a8e31cb15 (patch)
tree702540328aedc7eb1f81f3ab2a0f289f69203147 /native/src/unigram_dictionary.h
parente26ef1bccddc942fdaeada3409c8e8ff18a35008 (diff)
parenta3d78f606e8e764c22637299a58c27e195b4e1d3 (diff)
downloadlatinime-f6a6429e10817c80a7c00f0f2acae12a8e31cb15.tar.gz
latinime-f6a6429e10817c80a7c00f0f2acae12a8e31cb15.tar.xz
latinime-f6a6429e10817c80a7c00f0f2acae12a8e31cb15.zip
Merge "Suggest words with transposed chars"
Diffstat (limited to 'native/src/unigram_dictionary.h')
-rw-r--r--native/src/unigram_dictionary.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/native/src/unigram_dictionary.h b/native/src/unigram_dictionary.h
index f8af55c92..abfdb8d87 100644
--- a/native/src/unigram_dictionary.h
+++ b/native/src/unigram_dictionary.h
@@ -32,7 +32,8 @@ public:
private:
void initSuggestions(int *codes, int codesSize, unsigned short *outWords, int *frequencies);
void getSuggestionCandidates(const int inputLength, const int skipPos, const int excessivePos,
- int *nextLetters, const int nextLettersSize);
+ const int transposedPos, int *nextLetters, const int nextLettersSize,
+ const int maxDepth);
void getVersionNumber();
bool checkIfDictVersionIsLatest();
int getAddress(int *pos);
@@ -43,25 +44,30 @@ private:
unsigned short toLowerCase(unsigned short c);
void getWordsRec(const int childrenCount, const int pos, const int depth, const int maxDepth,
const bool traverseAllNodes, const int snr, const int inputIndex, const int diffs,
- const int skipPos, const int excessivePos, int *nextLetters, const int nextLettersSize);
+ const int skipPos, const int excessivePos, const int transposedPos, int *nextLetters,
+ const int nextLettersSize);
bool getMissingSpaceWords(const int inputLength, const int missingSpacePos);
// Keep getWordsOld for comparing performance between getWords and getWordsOld
void getWordsOld(const int initialPos, const int inputLength, const int skipPos,
- const int excessivePos, int *nextLetters, const int nextLettersSize);
+ const int excessivePos, const int transposedPos, int *nextLetters,
+ const int nextLettersSize);
void registerNextLetter(unsigned short c, int *nextLetters, int nextLettersSize);
void onTerminalWhenUserTypedLengthIsGreaterThanInputLength(unsigned short *word,
const int mInputLength, const int depth, const int snr, int *nextLetters,
- const int nextLettersSize, const int skipPos, const int freq);
+ const int nextLettersSize, const int skipPos, const int excessivePos,
+ const int transposedPos, const int freq);
void onTerminalWhenUserTypedLengthIsSameAsInputLength(unsigned short *word, const int depth,
- const int snr, const int skipPos, const int freq, const int addedWeight);
+ const int snr, const int skipPos, const int excessivePos, const int transposedPos,
+ const int freq, const int addedWeight);
bool needsToSkipCurrentNode(const unsigned short c,
const int inputIndex, const int skipPos, const int depth);
- int getMatchedProximityId(const int *currentChars, const unsigned short c, const int skipPos);
+ int getMatchedProximityId(const int *currentChars, const unsigned short c, const int skipPos,
+ const int excessivePos, const int transposedPos);
// Process a node by considering proximity, missing and excessive character
bool processCurrentNode(const int pos, const int depth,
const int maxDepth, const bool traverseAllNodes, const int snr, int inputIndex,
- const int diffs, const int skipPos, const int excessivePos, int *nextLetters,
- const int nextLettersSize, int *newCount, int *newChildPosition,
+ const int diffs, const int skipPos, const int excessivePos, const int transposedPos,
+ int *nextLetters, const int nextLettersSize, int *newCount, int *newChildPosition,
bool *newTraverseAllNodes, int *newSnr, int*newInputIndex, int *newDiffs,
int *nextSiblingPosition);
int getBestWordFreq(const int startInputIndex, const int inputLength, unsigned short *word);