Lines Matching full:collation
30 #include "collation.h"
216 if(ce32 == Collation::FALLBACK_CE32) {
229 charCEs[i][0] = ce0 = Collation::NO_CE;
237 charCEs[0][0] = ((int64_t)Collation::NO_CE_PRIMARY << 32) | CONTRACTION_FLAG;
251 if(Collation::isSimpleOrLongCE32(ce32)) {
252 ce0 = Collation::ceFromCE32(ce32);
254 switch(Collation::tagFromCE32(ce32)) {
255 case Collation::LATIN_EXPANSION_TAG:
256 ce0 = Collation::latinCE0FromCE32(ce32);
257 ce1 = Collation::latinCE1FromCE32(ce32);
259 case Collation::EXPANSION32_TAG: {
260 const uint32_t *ce32s = data.ce32s + Collation::indexFromCE32(ce32);
261 int32_t length = Collation::lengthFromCE32(ce32);
263 ce0 = Collation::ceFromCE32(ce32s[0]);
265 ce1 = Collation::ceFromCE32(ce32s[1]);
272 case Collation::EXPANSION_TAG: {
273 const int64_t *ces = data.ces + Collation::indexFromCE32(ce32);
274 int32_t length = Collation::lengthFromCE32(ce32);
290 case Collation::CONTRACTION_TAG:
293 case Collation::OFFSET_TAG:
311 uint32_t sc0 = lower32_0 & Collation::SECONDARY_AND_CASE_MASK;
312 if(sc0 != Collation::COMMON_SECONDARY_CE) { return FALSE; }
315 if((lower32_0 & Collation::ONLY_TERTIARY_MASK) < Collation::COMMON_WEIGHT16) { return FALSE; }
330 uint32_t sc1 = lower32_1 & Collation::SECONDARY_AND_CASE_MASK;
331 if(sc1 != Collation::COMMON_SECONDARY_CE) { return FALSE; }
334 if((lower32_1 & Collation::ONLY_TERTIARY_MASK) < Collation::COMMON_WEIGHT16) { return FALSE; }
337 if(((ce0 | ce1) & Collation::QUATERNARY_MASK) != 0) { return FALSE; }
345 const UChar *p = data.contexts + Collation::indexFromCE32(ce32);
349 U_ASSERT(!Collation::isContractionCE32(ce32));
355 addContractionEntry(CollationFastLatin::CONTR_CHAR_MASK, Collation::NO_CE, 0, errorCode);
369 addContractionEntry(x, Collation::NO_CE, 0, errorCode);
381 addContractionEntry(x, Collation::NO_CE, 0, errorCode);
395 ce0 = ((int64_t)Collation::NO_CE_PRIMARY << 32) | CONTRACTION_FLAG | contractionIndex;
413 if(ce == 0 || (uint32_t)(ce >> 32) == Collation::NO_CE_PRIMARY) { return; }
414 ce &= ~(int64_t)Collation::CASE_MASK; // blank out case bits
423 ce &= ~(int64_t)Collation::CASE_MASK; // blank out case bits
493 prevSecondary = Collation::COMMON_WEIGHT16;
511 } else if(s < Collation::COMMON_WEIGHT16) {
520 } else if(s == Collation::COMMON_WEIGHT16) {
535 U_ASSERT((lower32 & Collation::CASE_MASK) == 0); // blanked out in uniqueCEs
536 uint32_t t = lower32 & Collation::ONLY_TERTIARY_MASK;
537 if(t > Collation::COMMON_WEIGHT16) {
674 if(first == Collation::NO_CE) {
677 U_ASSERT((uint32_t)(first >> 32) != Collation::NO_CE_PRIMARY);
684 uint32_t c = (((uint32_t)first & Collation::CASE_MASK) >> (14 - 3));
694 uint32_t case1 = (uint32_t)second & Collation::CASE_MASK;