Lines Matching refs:strength
106 RuleBasedCollator::RuleBasedCollator(const UnicodeString &rules, ECollationStrength strength, in RuleBasedCollator() argument
115 internalBuildTailoring(rules, strength, UCOL_DEFAULT, NULL, NULL, errorCode); in RuleBasedCollator()
132 ECollationStrength strength, in RuleBasedCollator() argument
142 internalBuildTailoring(rules, strength, decompositionMode, NULL, NULL, errorCode); in RuleBasedCollator()
160 int32_t strength, in internalBuildTailoring() argument
184 if(strength != UCOL_DEFAULT) { in internalBuildTailoring()
185 setAttribute(UCOL_STRENGTH, (UColAttributeValue)strength, errorCode); in internalBuildTailoring()
294 CollationBuilder::addReset(int32_t strength, const UnicodeString &str, in addReset() argument
317 if(strength == UCOL_IDENTICAL) { return; } // simple reset-at-position in addReset()
320 U_ASSERT(UCOL_PRIMARY <= strength && strength <= UCOL_TERTIARY); in addReset()
321 int32_t index = findOrInsertNodeForCEs(strength, parserErrorReason, errorCode); in addReset()
327 while(strengthFromNode(node) > strength) { in addReset()
333 if(strengthFromNode(node) == strength && isTailoredNode(node)) { in addReset()
336 } else if(strength == UCOL_PRIMARY) { in addReset()
369 if(strength >= UCOL_TERTIARY) { in addReset()
375 if(strengthFromNode(node) == strength) { in addReset()
380 if(strength == UCOL_SECONDARY) { in addReset()
391 weight16 = getWeight16Before(index, node, strength); in addReset()
398 if(previousStrength < strength) { in addReset()
406 } else if(previousStrength == strength && !isTailoredNode(node)) { in addReset()
419 node = nodeFromWeight16(weight16) | nodeFromStrength(strength); in addReset()
424 uint32_t weight16 = getWeight16Before(index, node, strength); in addReset()
425 index = findOrInsertWeakNode(index, weight16, strength, errorCode); in addReset()
429 strength = ceStrength(ces[cesLength - 1]); in addReset()
435 ces[cesLength - 1] = tempCEFromIndexAndStrength(index, strength); in addReset()
486 int32_t strength = UCOL_PRIMARY; in getSpecialResetPosition() local
514 strength = UCOL_TERTIARY; in getSpecialResetPosition()
523 strength = strengthFromNode(node); in getSpecialResetPosition()
524 if(strength < UCOL_SECONDARY) { break; } in getSpecialResetPosition()
525 if(strength == UCOL_SECONDARY) { in getSpecialResetPosition()
538 strength = UCOL_SECONDARY; in getSpecialResetPosition()
543 strength = UCOL_SECONDARY; in getSpecialResetPosition()
583 int32_t index = findOrInsertNodeForRootCE(ce, strength, errorCode); in getSpecialResetPosition()
599 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
601 U_ASSERT(strength == UCOL_PRIMARY); in getSpecialResetPosition()
622 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
632 if(strengthFromNode(nextNode) < strength) { break; } in getSpecialResetPosition()
640 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
647 CollationBuilder::addRelation(int32_t strength, const UnicodeString &prefix, in addRelation() argument
696 if(strength != UCOL_IDENTICAL) { in addRelation()
698 int32_t index = findOrInsertNodeForCEs(strength, parserErrorReason, errorCode); in addRelation()
701 if(strength == UCOL_PRIMARY && !isTempCE(ce) && (uint32_t)(ce >> 32) == 0) { in addRelation()
707 if(strength == UCOL_QUATERNARY && ce == 0) { in addRelation()
715 index = insertTailoredNodeAfter(index, strength, errorCode); in addRelation()
723 if(strength < tempStrength) { tempStrength = strength; } in addRelation()
762 CollationBuilder::findOrInsertNodeForCEs(int32_t strength, const char *&parserErrorReason, in findOrInsertNodeForCEs() argument
765 U_ASSERT(UCOL_PRIMARY <= strength && strength <= UCOL_QUATERNARY); in findOrInsertNodeForCEs()
778 if(ceStrength(ce) <= strength) { break; } in findOrInsertNodeForCEs()
793 return findOrInsertNodeForRootCE(ce, strength, errorCode); in findOrInsertNodeForCEs()
797 CollationBuilder::findOrInsertNodeForRootCE(int64_t ce, int32_t strength, UErrorCode &errorCode) { in findOrInsertNodeForRootCE() argument
806 if(strength >= UCOL_SECONDARY) { in findOrInsertNodeForRootCE()
809 if(strength >= UCOL_TERTIARY) { in findOrInsertNodeForRootCE()
939 CollationBuilder::insertTailoredNodeAfter(int32_t index, int32_t strength, UErrorCode &errorCode) { in insertTailoredNodeAfter() argument
942 if(strength >= UCOL_SECONDARY) { in insertTailoredNodeAfter()
944 if(strength >= UCOL_TERTIARY) { in insertTailoredNodeAfter()
954 if(strengthFromNode(node) <= strength) { break; } in insertTailoredNodeAfter()
958 node = IS_TAILORED | nodeFromStrength(strength); in insertTailoredNodeAfter()
986 CollationBuilder::findCommonNode(int32_t index, int32_t strength) const { in findCommonNode()
987 U_ASSERT(UCOL_SECONDARY <= strength && strength <= UCOL_TERTIARY); in findCommonNode()
989 if(strengthFromNode(node) >= strength) { in findCommonNode()
993 if(strength == UCOL_SECONDARY ? !nodeHasBefore2(node) : !nodeHasBefore3(node)) { in findCommonNode()
999 U_ASSERT(!isTailoredNode(node) && strengthFromNode(node) == strength && in findCommonNode()
1005 U_ASSERT(strengthFromNode(node) >= strength); in findCommonNode()
1006 } while(isTailoredNode(node) || strengthFromNode(node) > strength || in findCommonNode()
1064 int32_t strength = ceStrength(ce); in setCaseBits() local
1065 if(strength == UCOL_PRIMARY) { in setCaseBits()
1068 } else if(strength == UCOL_TERTIARY) { in setCaseBits()
1414 int32_t strength = strengthFromNode(node); in makeTailoredCEs() local
1415 if(strength == UCOL_QUATERNARY) { in makeTailoredCEs()
1427 if(strength == UCOL_TERTIARY) { in makeTailoredCEs()
1470 if(strength == UCOL_SECONDARY) { in makeTailoredCEs()
1562 CollationBuilder::countTailoredNodes(const int64_t *nodesArray, int32_t i, int32_t strength) { in countTailoredNodes() argument
1567 if(strengthFromNode(node) < strength) { break; } in countTailoredNodes()
1568 if(strengthFromNode(node) == strength) { in countTailoredNodes()
1639 UColAttributeValue normalizationMode, UCollationStrength strength, in ucol_openRules() argument
1652 coll->internalBuildTailoring(r, strength, normalizationMode, parseError, NULL, *pErrorCode); in ucol_openRules()