Lines Matching refs:strength
108 RuleBasedCollator::RuleBasedCollator(const UnicodeString &rules, ECollationStrength strength, in RuleBasedCollator() argument
116 internalBuildTailoring(rules, strength, UCOL_DEFAULT, NULL, NULL, errorCode); in RuleBasedCollator()
132 ECollationStrength strength, in RuleBasedCollator() argument
141 internalBuildTailoring(rules, strength, decompositionMode, NULL, NULL, errorCode); in RuleBasedCollator()
158 int32_t strength, in internalBuildTailoring() argument
182 if(strength != UCOL_DEFAULT) { in internalBuildTailoring()
183 setAttribute(UCOL_STRENGTH, (UColAttributeValue)strength, errorCode); in internalBuildTailoring()
285 CollationBuilder::addReset(int32_t strength, const UnicodeString &str, in addReset() argument
308 if(strength == UCOL_IDENTICAL) { return; } // simple reset-at-position in addReset()
311 U_ASSERT(UCOL_PRIMARY <= strength && strength <= UCOL_TERTIARY); in addReset()
312 int32_t index = findOrInsertNodeForCEs(strength, parserErrorReason, errorCode); in addReset()
318 while(strengthFromNode(node) > strength) { in addReset()
324 if(strengthFromNode(node) == strength && isTailoredNode(node)) { in addReset()
327 } else if(strength == UCOL_PRIMARY) { in addReset()
360 if(strength >= UCOL_TERTIARY) { in addReset()
364 if(strengthFromNode(node) == strength) { in addReset()
369 if(strength == UCOL_SECONDARY) { in addReset()
388 if(strength == UCOL_SECONDARY) { in addReset()
434 node = nodeFromWeight16(weight16) | nodeFromStrength(strength); in addReset()
441 if(strength == UCOL_SECONDARY) { in addReset()
454 node = nodeFromWeight16(BEFORE_WEIGHT16) | nodeFromStrength(strength); in addReset()
457 nodeFromStrength(strength); in addReset()
462 strength = ceStrength(ces[cesLength - 1]); in addReset()
468 ces[cesLength - 1] = tempCEFromIndexAndStrength(index, strength); in addReset()
476 int32_t strength = UCOL_PRIMARY; in getSpecialResetPosition() local
504 strength = UCOL_TERTIARY; in getSpecialResetPosition()
513 strength = strengthFromNode(node); in getSpecialResetPosition()
514 if(strength < UCOL_SECONDARY) { break; } in getSpecialResetPosition()
515 if(strength == UCOL_SECONDARY) { in getSpecialResetPosition()
528 strength = UCOL_SECONDARY; in getSpecialResetPosition()
533 strength = UCOL_SECONDARY; in getSpecialResetPosition()
577 int32_t index = findOrInsertNodeForRootCE(ce, strength, errorCode); in getSpecialResetPosition()
593 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
595 U_ASSERT(strength == UCOL_PRIMARY); in getSpecialResetPosition()
616 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
626 if(strengthFromNode(nextNode) < strength) { break; } in getSpecialResetPosition()
634 ce = tempCEFromIndexAndStrength(index, strength); in getSpecialResetPosition()
641 CollationBuilder::addRelation(int32_t strength, const UnicodeString &prefix, in addRelation() argument
690 if(strength != UCOL_IDENTICAL) { in addRelation()
692 int32_t index = findOrInsertNodeForCEs(strength, parserErrorReason, errorCode); in addRelation()
695 if(strength == UCOL_PRIMARY && !isTempCE(ce) && (uint32_t)(ce >> 32) == 0) { in addRelation()
701 if(strength == UCOL_QUATERNARY && ce == 0) { in addRelation()
709 index = insertTailoredNodeAfter(index, strength, errorCode); in addRelation()
717 if(strength < tempStrength) { tempStrength = strength; } in addRelation()
756 CollationBuilder::findOrInsertNodeForCEs(int32_t strength, const char *&parserErrorReason, in findOrInsertNodeForCEs() argument
759 U_ASSERT(UCOL_PRIMARY <= strength && strength <= UCOL_QUATERNARY); in findOrInsertNodeForCEs()
772 if(ceStrength(ce) <= strength) { break; } in findOrInsertNodeForCEs()
787 return findOrInsertNodeForRootCE(ce, strength, errorCode); in findOrInsertNodeForCEs()
791 CollationBuilder::findOrInsertNodeForRootCE(int64_t ce, int32_t strength, UErrorCode &errorCode) { in findOrInsertNodeForRootCE() argument
800 if(strength >= UCOL_SECONDARY) { in findOrInsertNodeForRootCE()
803 if(strength >= UCOL_TERTIARY) { in findOrInsertNodeForRootCE()
906 CollationBuilder::insertTailoredNodeAfter(int32_t index, int32_t strength, UErrorCode &errorCode) { in insertTailoredNodeAfter() argument
909 if(strength >= UCOL_SECONDARY) { in insertTailoredNodeAfter()
911 if(strength >= UCOL_TERTIARY) { in insertTailoredNodeAfter()
921 if(strengthFromNode(node) <= strength) { break; } in insertTailoredNodeAfter()
925 node = IS_TAILORED | nodeFromStrength(strength); in insertTailoredNodeAfter()
953 CollationBuilder::findCommonNode(int32_t index, int32_t strength) const { in findCommonNode()
954 U_ASSERT(UCOL_SECONDARY <= strength && strength <= UCOL_TERTIARY); in findCommonNode()
956 if(strengthFromNode(node) >= strength) { in findCommonNode()
960 if(strength == UCOL_SECONDARY ? !nodeHasBefore2(node) : !nodeHasBefore3(node)) { in findCommonNode()
966 U_ASSERT(!isTailoredNode(node) && strengthFromNode(node) == strength && in findCommonNode()
972 U_ASSERT(strengthFromNode(node) >= strength); in findCommonNode()
973 } while(isTailoredNode(node) || strengthFromNode(node) > strength); in findCommonNode()
1030 int32_t strength = ceStrength(ce); in setCaseBits() local
1031 if(strength == UCOL_PRIMARY) { in setCaseBits()
1034 } else if(strength == UCOL_TERTIARY) { in setCaseBits()
1377 int32_t strength = strengthFromNode(node); in makeTailoredCEs() local
1378 if(strength == UCOL_QUATERNARY) { in makeTailoredCEs()
1390 if(strength == UCOL_TERTIARY) { in makeTailoredCEs()
1433 if(strength == UCOL_SECONDARY) { in makeTailoredCEs()
1520 CollationBuilder::countTailoredNodes(const int64_t *nodesArray, int32_t i, int32_t strength) { in countTailoredNodes() argument
1525 if(strengthFromNode(node) < strength) { break; } in countTailoredNodes()
1526 if(strengthFromNode(node) == strength) { in countTailoredNodes()
1598 UColAttributeValue normalizationMode, UCollationStrength strength, in ucol_openRules() argument
1611 coll->internalBuildTailoring(r, strength, normalizationMode, parseError, NULL, *pErrorCode); in ucol_openRules()