/packages/inputmethods/LatinIME/native/jni/src/suggest/core/dicnode/ |
H A D | dic_node.cpp | 21 DicNode::DicNode(const DicNode &dicNode) argument 24 mProfiler(dicNode.mProfiler), 26 mDicNodeProperties(dicNode.mDicNodeProperties), mDicNodeState(dicNode.mDicNodeState), 27 mIsCachedForNextSuggestion(dicNode.mIsCachedForNextSuggestion) { 31 DicNode &DicNode::operator=(const DicNode &dicNode) { argument 33 mProfiler = dicNode.mProfiler; 35 mDicNodeProperties = dicNode.mDicNodeProperties; 36 mDicNodeState = dicNode.mDicNodeState; 37 mIsCachedForNextSuggestion = dicNode [all...] |
H A D | dic_node_utils.cpp | 51 /* static */ void DicNodeUtils::getAllChildDicNodes(const DicNode *dicNode, argument 54 if (dicNode->isTotalInputSizeExceedingLimit()) { 57 if (!dicNode->isLeavingNode()) { 58 childDicNodes->pushPassingChild(dicNode); 60 dictionaryStructurePolicy->createAndGetAllChildDicNodes(dicNode, childDicNodes); 68 * Computes the combined bigram / unigram cost for the given dicNode. 72 const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) { 73 if (dicNode->hasMultipleWords() && !dicNode->isValidMultipleWordSuggestion()) { 76 const int probability = getBigramNodeProbability(dictionaryStructurePolicy, dicNode, 70 getBigramNodeImprobability( const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy, const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) argument 84 getBigramNodeProbability( const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy, const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) argument [all...] |
H A D | dic_node_pool.h | 44 for (auto &dicNode : mDicNodes) { 45 mPooledDicNodes.emplace_back(&dicNode); 54 DicNode *const dicNode = mPooledDicNodes.back(); local 56 return dicNode; 61 void placeBackInstance(DicNode *dicNode) { argument 62 mPooledDicNodes.emplace_back(dicNode); 68 for (const auto &dicNode : mDicNodes) { 69 usedDicNodes.insert(&dicNode);
|
H A D | dic_node_utils.h | 38 static void getAllChildDicNodes(const DicNode *dicNode, 43 const DicNode *const dicNode, MultiBigramMap *const multiBigramMap); 52 const DicNode *const dicNode, MultiBigramMap *const multiBigramMap);
|
H A D | dic_node_priority_queue.h | 64 AK_FORCE_INLINE void copyPush(const DicNode *const dicNode) { argument 65 DicNode *const pooledDicNode = newDicNode(dicNode); 118 AK_FORCE_INLINE bool betterThanWorstDicNode(const DicNode *const dicNode) const { 123 return compareDicNode(dicNode, worstNode); 126 AK_FORCE_INLINE DicNode *newDicNode(const DicNode *const dicNode) { argument 129 DicNodeUtils::initByCopy(dicNode, newNode);
|
H A D | dic_node_vector.h | 55 void pushPassingChild(const DicNode *dicNode) { argument 58 mDicNodes.back().initAsPassingChild(dicNode); 61 void pushLeavingChild(const DicNode *const dicNode, const int ptNodePos, argument 67 mDicNodes.back().initAsChild(dicNode, ptNodePos, childrenPtNodeArrayPos, probability,
|
H A D | dic_node.h | 94 DicNode(const DicNode &dicNode); 95 DicNode &operator=(const DicNode &dicNode); 99 void initByCopy(const DicNode *const dicNode) { argument 100 mIsCachedForNextSuggestion = dicNode->mIsCachedForNextSuggestion; 101 mDicNodeProperties.initByCopy(&dicNode->mDicNodeProperties); 102 mDicNodeState.initByCopy(&dicNode->mDicNodeState); 103 PROF_NODE_COPY(&dicNode->mProfiler, mProfiler); 115 void initAsRootWithPreviousWord(const DicNode *const dicNode, const int rootPtNodeArrayPos) { argument 116 mIsCachedForNextSuggestion = dicNode->mIsCachedForNextSuggestion; 118 newPrevWordsPtNodePos[0] = dicNode 138 initAsChild(const DicNode *const dicNode, const int ptNodePos, const int childrenPtNodeArrayPos, const int probability, const bool isTerminal, const bool hasChildren, const bool isBlacklistedOrNotAWord, const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) argument [all...] |
H A D | dic_nodes_cache.h | 30 * Class for controlling dicNode search priority queue and lexicon trie traversal. 88 AK_FORCE_INLINE void copyPushTerminal(DicNode *dicNode) { argument 89 mTerminalDicNodes->copyPush(dicNode); 92 AK_FORCE_INLINE void copyPushActive(DicNode *dicNode) { argument 93 mActiveDicNodes->copyPush(dicNode); 96 AK_FORCE_INLINE void copyPushContinue(DicNode *dicNode) { argument 97 mCachedDicNodesForContinuousSuggestion->copyPush(dicNode); 100 AK_FORCE_INLINE void copyPushNextActive(DicNode *dicNode) { argument 101 mNextActiveDicNodes->copyPush(dicNode);
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/policyimpl/typing/ |
H A D | typing_traversal.h | 41 AK_FORCE_INLINE bool allowsErrorCorrections(const DicNode *const dicNode) const { 42 return dicNode->getNormalizedSpatialDistance() 47 const DicNode *const dicNode, const DicNode *const childDicNode, 60 if (dicNode->isCompletion(inputSize)) { 63 if (dicNode->canBeIntentionalOmission()) { 66 const int point0Index = dicNode->getInputIndex(0); 76 const DicTraverseSession *const traverseSession, const DicNode *const dicNode) const { 80 if (!canDoLookAheadCorrection(traverseSession, dicNode)) { 83 const int point0Index = dicNode->getInputIndex(0); 84 return dicNode 46 isOmission(const DicTraverseSession *const traverseSession, const DicNode *const dicNode, const DicNode *const childDicNode, const bool allowsErrorCorrections) const argument 124 getProximityType( const DicTraverseSession *const traverseSession, const DicNode *const dicNode, const DicNode *const childDicNode) const argument [all...] |
H A D | typing_weighting.h | 41 const DicNode *const dicNode) const { 43 if (dicNode->hasMultipleWords()) { 46 if (dicNode->getProximityCorrectionCount() > 0) { 49 if (dicNode->getEditCorrectionCount() > 0) { 55 float getOmissionCost(const DicNode *const parentDicNode, const DicNode *const dicNode) const { 58 const bool sameCodePoint = dicNode->isSameNodeCodePoint(parentDicNode); 59 // If the traversal omitted the first letter then the dicNode should now be on the second. 60 const bool isFirstLetterOmission = dicNode->getNodeCodePointCount() == 2; 76 const DicNode *const dicNode, DicNode_InputStateG *inputStateG) const { 77 const int pointIndex = dicNode 75 getMatchedCost(const DicTraverseSession *const traverseSession, const DicNode *const dicNode, DicNode_InputStateG *inputStateG) const argument 153 getNewWordSpatialCost(const DicTraverseSession *const traverseSession, const DicNode *const dicNode, DicNode_InputStateG *inputStateG) const argument 158 getNewWordBigramLanguageCost(const DicTraverseSession *const traverseSession, const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) const argument 177 getTerminalLanguageCost(const DicTraverseSession *const traverseSession, const DicNode *const dicNode, const float dicNodeLanguageImprobability) const argument [all...] |
H A D | typing_weighting.cpp | 28 const DicNode *const dicNode) const { 31 if (isProximityDicNode(traverseSession, dicNode)) { 33 } else if (dicNode->isInDigraph()) { 40 dicNode->getInputIndex(0)); 41 const int nodeCodePoint = dicNode->getNodeCodePoint();
|
H A D | typing_scoring.h | 77 const DicNode *const dicNode) const { 79 dicNode->getOutputWordBuf(), dicNode->getNodeCodePointCount());
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/core/policy/ |
H A D | weighting.h | 35 const DicNode *const parentDicNode, DicNode *const dicNode, 40 const DicNode *const dicNode) const = 0; 43 const DicNode *const parentDicNode, const DicNode *const dicNode) const = 0; 46 const DicTraverseSession *const traverseSession, const DicNode *const dicNode, 50 const DicNode *const dicNode) const = 0; 54 const DicNode *const dicNode) const = 0; 58 const DicNode *const parentDicNode, const DicNode *const dicNode) const = 0; 61 const DicNode *const dicNode, DicNode_InputStateG *const inputStateG) const = 0; 64 const DicTraverseSession *const traverseSession, const DicNode *const dicNode, 69 const DicNode *const dicNode) cons [all...] |
H A D | traversal.h | 29 virtual bool allowsErrorCorrections(const DicNode *const dicNode) const = 0; 31 const DicNode *const dicNode, const DicNode *const childDicNode, 34 const DicNode *const dicNode) const = 0; 36 const DicNode *const dicNode) const = 0; 39 const DicNode *const dicNode) const = 0; 41 const DicNode *const dicNode) const = 0; 43 const DicNode *const dicNode, const DicNode *const childDicNode) const = 0; 50 const DicNode *const parentDicNode, const DicNode *const dicNode) const = 0; 51 virtual bool isGoodToTraverseNextWord(const DicNode *const dicNode) const = 0;
|
H A D | weighting.cpp | 77 const DicNode *const parentDicNode, DicNode *const dicNode, 83 traverseSession, parentDicNode, dicNode, &inputStateG); 85 traverseSession, parentDicNode, dicNode, multiBigramMap); 87 traverseSession, parentDicNode, dicNode); 88 profile(correctionType, dicNode); 90 dicNode->updateInputIndexG(&inputStateG); 92 dicNode->forwardInputIndex(0, getForwardInputCount(correctionType), 95 dicNode->addCost(spatialCost, languageCost, weighting->needsToNormalizeCompoundDistance(), 100 dicNode->saveNormalizedCompoundDistanceAfterFirstWordIfNoneYet(); 106 const DicNode *const parentDicNode, const DicNode *const dicNode, 75 addCostAndForwardInputIndex(const Weighting *const weighting, const CorrectionType correctionType, const DicTraverseSession *const traverseSession, const DicNode *const parentDicNode, DicNode *const dicNode, MultiBigramMap *const multiBigramMap) argument 104 getSpatialCost(const Weighting *const weighting, const CorrectionType correctionType, const DicTraverseSession *const traverseSession, const DicNode *const parentDicNode, const DicNode *const dicNode, DicNode_InputStateG *const inputStateG) argument 138 getLanguageCost(const Weighting *const weighting, const CorrectionType correctionType, const DicTraverseSession *const traverseSession, const DicNode *const parentDicNode, const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) argument [all...] |
H A D | scoring.h | 42 const DicNode *const dicNode) const = 0;
|
H A D | dictionary_structure_with_buffer_policy.h | 47 virtual void createAndGetAllChildDicNodes(const DicNode *const dicNode,
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/core/ |
H A D | suggest.cpp | 119 DicNode dicNode; local 120 traverseSession->getDicTraverseCache()->popActive(&dicNode); 121 if (dicNode.isTotalInputSizeExceedingLimit()) { 125 const int point0Index = dicNode.getInputIndex(0); 127 TRAVERSAL->canDoLookAheadCorrection(traverseSession, &dicNode); 131 const bool isCompletion = dicNode.isCompletion(inputSize); 134 TRAVERSAL->shouldNodeLevelCache(traverseSession, &dicNode); 137 dicNode.dump("PUSH_CACHE"); 139 traverseSession->getDicTraverseCache()->copyPushContinue(&dicNode); 140 dicNode 278 processDicNodeAsAdditionalProximityChar(DicTraverseSession *traverseSession, DicNode *dicNode, DicNode *childDicNode) const argument 288 processDicNodeAsSubstitution(DicTraverseSession *traverseSession, DicNode *dicNode, DicNode *childDicNode) const argument 413 createNextWordDicNode(DicTraverseSession *traverseSession, DicNode *dicNode, const bool spaceSubstitution) const argument [all...] |
H A D | suggest.h | 56 void createNextWordDicNode(DicTraverseSession *traverseSession, DicNode *dicNode, 60 void processTerminalDicNode(DicTraverseSession *traverseSession, DicNode *dicNode) const; 61 void processExpandedDicNode(DicTraverseSession *traverseSession, DicNode *dicNode) const; 62 void weightChildNode(DicTraverseSession *traverseSession, DicNode *dicNode) const; 63 void processDicNodeAsOmission(DicTraverseSession *traverseSession, DicNode *dicNode) const; 64 void processDicNodeAsDigraph(DicTraverseSession *traverseSession, DicNode *dicNode) const; 66 DicNode *dicNode) const; 67 void processDicNodeAsInsertion(DicTraverseSession *traverseSession, DicNode *dicNode) const; 69 DicNode *dicNode, DicNode *childDicNode) const; 70 void processDicNodeAsSubstitution(DicTraverseSession *traverseSession, DicNode *dicNode, [all...] |
/packages/inputmethods/LatinIME/native/jni/src/suggest/core/dictionary/ |
H A D | dictionary_utils.cpp | 45 for (const DicNode &dicNode : current) { 46 if (dicNode.isInDigraph() && dicNode.getNodeCodePoint() == codePoint) { 47 next.emplace_back(dicNode); 51 processChildDicNodes(dictionaryStructurePolicy, codePoint, &dicNode, &next); 58 for (const DicNode &dicNode : current) { 59 if (!dicNode.isTerminalDicNode()) { 62 // dicNode can contain case errors, accent errors, intentional omissions or digraphs. 63 maxProbability = std::max(maxProbability, dicNode.getProbability());
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/policyimpl/dictionary/structure/v2/ |
H A D | patricia_trie_policy.cpp | 33 void PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const dicNode, argument 35 if (!dicNode->hasChildren()) { 38 int nextPos = dicNode->getChildrenPtNodeArrayPos(); 56 nextPos = createAndGetLeavingChildNode(dicNode, nextPos, childDicNodes); 355 int PatriciaTriePolicy::createAndGetLeavingChildNode(const DicNode *const dicNode, argument 370 childDicNodes->pushLeavingChild(dicNode, ptNodePos, childrenPos, probability,
|
H A D | patricia_trie_policy.h | 58 void createAndGetAllChildDicNodes(const DicNode *const dicNode, 163 int createAndGetLeavingChildNode(const DicNode *const dicNode, const int ptNodePos,
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/core/session/ |
H A D | dic_traverse_session.h | 109 ProximityType getProximityTypeG(const DicNode *const dicNode, const int childCodePoint) const { argument 115 const int pointerId = dicNode->getInputIndex(i);
|
/packages/inputmethods/LatinIME/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ |
H A D | ver4_patricia_trie_policy.cpp | 55 void Ver4PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const dicNode, argument 57 if (!dicNode->hasChildren()) { 61 readingHelper.initWithPtNodeArrayPos(dicNode->getChildrenPtNodeArrayPos()); 79 childDicNodes->pushLeavingChild(dicNode, ptNodeParams.getHeadPos(),
|
H A D | ver4_patricia_trie_policy.h | 81 void createAndGetAllChildDicNodes(const DicNode *const dicNode,
|