Home | History | Annotate | Download | only in i18n

Lines Matching defs:ce

63 binarySearch(const int64_t list[], int32_t limit, int64_t ce) {
68 int32_t cmp = compareInt64AsUnsigned(ce, list[i]);
73 return ~start; // insert ce before i
78 return ~(start + 1); // insert ce after i
317 // or a short-primary CE is followed by a secondary CE.
409 CollationFastLatinBuilder::addUniqueCE(int64_t ce, UErrorCode &errorCode) {
411 if(ce == 0 || (uint32_t)(ce >> 32) == Collation::NO_CE_PRIMARY) { return; }
412 ce &= ~(int64_t)Collation::CASE_MASK; // blank out case bits
413 int32_t i = binarySearch(uniqueCEs.getBuffer(), uniqueCEs.size(), ce);
415 uniqueCEs.insertElementAt(ce, ~i, errorCode);
420 CollationFastLatinBuilder::getMiniCE(int64_t ce) const {
421 ce &= ~(int64_t)Collation::CASE_MASK; // blank out case bits
422 int32_t index = binarySearch(uniqueCEs.getBuffer(), uniqueCEs.size(), ce);
438 // The lowest unique CE must be at least a secondary CE.
446 int64_t ce = uniqueCEs.elementAti(i);
447 // Note: At least one of the p/s/t weights changes from one unique CE to the next.
449 uint32_t p = (uint32_t)(ce >> 32);
495 uint32_t lower32 = (uint32_t)ce;
555 int64_t ce = uniqueCEs.elementAti(i);
556 printf("unique CE 0x%016lx -> 0x%04x\n", ce, miniCEs[i]);
571 int64_t ce = charCEs[i][0];
572 if(isContractionCharCE(ce)) { continue; } // defer contraction
573 uint32_t miniCE = encodeTwoCEs(ce, charCEs[i][1]);
599 int64_t ce = charCEs[i][0];
600 if(!isContractionCharCE(ce)) { continue; }
607 for(int32_t index = (int32_t)ce & 0x7fffffff;; index += 3) {
681 // Shift them from normal CE bits 15..14 to mini CE bits 4..3.
706 // Secondary CE, or a CE with a short primary, copy the case bits.