Detach bigram functionarities from unigram_dictionary
Change-Id: Ie35164a5f293e5370885a1ba13d6ed7caf6000ec
diff --git a/native/src/unigram_dictionary.h b/native/src/unigram_dictionary.h
index 4cb1abe..557e54c 100644
--- a/native/src/unigram_dictionary.h
+++ b/native/src/unigram_dictionary.h
@@ -24,63 +24,42 @@
class UnigramDictionary {
public:
UnigramDictionary(const unsigned char *dict, int typedLetterMultipler, int fullWordMultiplier,
- int maxWordLength, int maxWords, int maxAlternatives, const bool isLatestDictVersion,
- const bool hasBigram, Dictionary *parentDictionary);
+ int maxWordLength, int maxWords, int maxAlternatives, const bool isLatestDictVersion);
int getSuggestions(int *codes, int codesSize, unsigned short *outWords, int *frequencies,
int *nextLetters, int nextLettersSize);
- int getBigrams(unsigned short *word, int length, int *codes, int codesSize,
- unsigned short *outWords, int *frequencies, int maxWordLength, int maxBigrams,
- int maxAlternatives);
~UnigramDictionary();
private:
void initSuggestions(int *codes, int codesSize, unsigned short *outWords, int *frequencies);
- int getSuggestionCandidates(int inputLength, int skipPos, int *nextLetters, int nextLettersSize);
+ int getSuggestionCandidates(int inputLength, int skipPos, int *nextLetters,
+ int nextLettersSize);
void getVersionNumber();
bool checkIfDictVersionIsLatest();
int getAddress(int *pos);
- int getBigramAddress(int *pos, bool advance);
int getFreq(int *pos);
- int getBigramFreq(int *pos);
- void searchForTerminalNode(int address, int frequency);
-
- bool getFirstBitOfByte(int *pos) { return (DICT[*pos] & 0x80) > 0; }
- bool getSecondBitOfByte(int *pos) { return (DICT[*pos] & 0x40) > 0; }
- bool getTerminal(int *pos) { return (DICT[*pos] & FLAG_TERMINAL_MASK) > 0; }
int wideStrLen(unsigned short *str);
bool sameAsTyped(unsigned short *word, int length);
- bool checkFirstCharacter(unsigned short *word);
bool addWord(unsigned short *word, int length, int frequency);
- bool addWordBigram(unsigned short *word, int length, int frequency);
unsigned short toLowerCase(unsigned short c);
void getWordsRec(int pos, int depth, int maxDepth, bool completion, int frequency,
int inputIndex, int diffs, int skipPos, int *nextLetters, int nextLettersSize);
void registerNextLetter(unsigned short c, int *nextLetters, int nextLettersSize);
const unsigned char *DICT;
-
const int MAX_WORDS;
const int MAX_WORD_LENGTH;
const int MAX_ALTERNATIVES;
const bool IS_LATEST_DICT_VERSION;
- const bool HAS_BIGRAM;
+ const int TYPED_LETTER_MULTIPLIER;
+ const int FULL_WORD_MULTIPLIER;
- Dictionary *mParentDictionary;
int *mFrequencies;
- int *mBigramFreq;
- int mMaxBigrams;
unsigned short *mOutputChars;
- unsigned short *mBigramChars;
int *mInputCodes;
int mInputLength;
unsigned short mWord[128];
int mMaxEditDistance;
-
- int mFullWordMultiplier;
- int mTypedLetterMultiplier;
- int mVersion;
- int mBigram;
};
// ----------------------------------------------------------------------------