Lines Matching full:upper
146 WeightRange lower[5], middle, upper[5]; /* [0] and [1] are not used - this simplifies indexing */
158 printf("length of upper limit 0x%08lx is %ld\n", upperLimit, upperLength);
163 printf("error: no space between lower & upper limits\n");
172 printf("error: lower limit 0x%08lx is a prefix of upper limit 0x%08lx\n", lowerLimit, upperLimit);
177 /* if the upper limit is a prefix of the lower limit then the earlier test lowerLimit>=upperLimit has caught it */
182 uprv_memset(upper, 0, sizeof(upper));
191 * upper[2] 2
192 * upper[3] 3
193 * upper[4] 4
215 upper[length].start=setWeightTrail(weight, length, UCOL_BYTE_FIRST_TAILORED);
216 upper[length].end=decWeightTrail(weight, length);
217 upper[length].length=length;
218 upper[length].count=trail-UCOL_BYTE_FIRST_TAILORED;
237 if(lower[length].count>0 && upper[length].count>0) {
238 start=upper[length].start;
242 /* lower and upper ranges collide or are directly adjacent: merge these two and remove all shorter ranges */
244 end=lower[length].end=upper[length].end;
252 upper[length].count=0;
254 lower[length].count=upper[length].count=0;
273 if(upper[length].count>0) {
274 printf("upper[%ld] .start=0x%08lx .end=0x%08lx .count=%ld\n", length, upper[length].start, upper[length].end, upper[length].count);
286 /* copy upper first so that later the middle range is more likely the first one to use */
287 if(upper[length].count>0) {
288 uprv_memcpy(ranges+rangeCount, upper+length, sizeof(WeightRange));