ICU-7273 small simplification, and avoid compiler warnings from getNorm16FromBMP() like >>comparison is always true due to limited range of data type<<

X-SVN-Rev: 27326
This commit is contained in:
Markus Scherer 2010-01-19 19:19:06 +00:00
parent 800a8a951c
commit c82f884457
2 changed files with 7 additions and 20 deletions

View file

@ -197,20 +197,17 @@ uint8_t ReorderingBuffer::previousCC() {
if(reorderStart>=codePointStart) {
return 0;
}
UChar c=*--codePointStart;
UChar32 c=*--codePointStart;
if(c<Normalizer2Impl::MIN_CCC_LCCC_CP) {
return 0;
}
UChar c2;
uint16_t norm16;
if(U16_IS_TRAIL(c) && start<codePointStart && U16_IS_LEAD(c2=*(codePointStart-1))) {
--codePointStart;
norm16=impl.getNorm16FromSurrogatePair(c2, c);
} else {
norm16=impl.getNorm16FromBMP(c);
c=U16_GET_SUPPLEMENTARY(c2, c);
}
return Normalizer2Impl::getCCFromYesOrMaybe(norm16);
return Normalizer2Impl::getCCFromYesOrMaybe(impl.getNorm16(c));
}
// Inserts c somewhere before the last character.
@ -299,12 +296,13 @@ Normalizer2Impl::load(const char *packageName, const char *name, UErrorCode &err
}
uint8_t Normalizer2Impl::getTrailCCFromCompYesAndZeroCC(const UChar *cpStart, const UChar *cpLimit) const {
uint16_t prevNorm16;
UChar32 c;
if(cpStart==(cpLimit-1)) {
prevNorm16=getNorm16FromBMP(*cpStart);
c=*cpStart;
} else {
prevNorm16=getNorm16FromSurrogatePair(cpStart[0], cpStart[1]);
c=U16_GET_SUPPLEMENTARY(cpStart[0], cpStart[1]);
}
uint16_t prevNorm16=getNorm16(c);
if(prevNorm16<=minYesNo) {
return 0; // yesYes and Hangul LV/LVT have ccc=tccc=0
} else {

View file

@ -196,16 +196,6 @@ public:
const UTrie2 *getFCDTrie(UErrorCode &errorCode) const ;
uint16_t getNorm16(UChar32 c) const { return UTRIE2_GET16(normTrie, c); }
uint16_t getNorm16FromBMP(UChar c) const { return UTRIE2_GET16(normTrie, c); }
uint16_t getNorm16FromSingleLead(UChar c) const {
return UTRIE2_GET16_FROM_U16_SINGLE_LEAD(normTrie, c);
}
uint16_t getNorm16FromSupplementary(UChar32 c) const {
return UTRIE2_GET16_FROM_SUPP(normTrie, c);
}
uint16_t getNorm16FromSurrogatePair(UChar c, UChar c2) const {
return getNorm16FromSupplementary(U16_GET_SUPPLEMENTARY(c, c2));
}
UNormalizationCheckResult getCompQuickCheck(uint16_t norm16) const {
if(norm16<minNoNo || MIN_YES_YES_WITH_CC<=norm16) {
@ -233,7 +223,6 @@ public:
}
uint16_t getFCD16(UChar32 c) const { return UTRIE2_GET16(fcdTrie(), c); }
uint16_t getFCD16FromBMP(UChar c) const { return UTRIE2_GET16(fcdTrie(), c); }
uint16_t getFCD16FromSingleLead(UChar c) const {
return UTRIE2_GET16_FROM_U16_SINGLE_LEAD(fcdTrie(), c);
}