116 |
|
/* find pixel in tree */ |
117 |
|
for (tp = ctree, h = 0; is_branch(*tp); h++) |
118 |
|
if (cv[prim(*tp)] < part(*tp)) |
119 |
< |
tp += 1<<h; /* left branch */ |
119 |
> |
tp += (size_t)1<<h; /* left branch */ |
120 |
|
else |
121 |
< |
tp += 1<<(h+1); /* right branch */ |
121 |
> |
tp += (size_t)1<<(h+1); /* right branch */ |
122 |
|
h = pval(*tp); |
123 |
|
/* add to color table */ |
124 |
|
clrtab[h].sum[RED] += r; |
200 |
|
memcpy((void *)kb, (void *)box, sizeof(kb)); |
201 |
|
/* do left (lesser) branch */ |
202 |
|
kb[prim(*tree)][1] = part(*tree); |
203 |
< |
cut(tree+(1<<level), level+1, kb, c0, (c0+c1)>>1); |
203 |
> |
cut(tree+((size_t)1<<level), level+1, kb, c0, (c0+c1)>>1); |
204 |
|
/* do right branch */ |
205 |
|
kb[prim(*tree)][0] = part(*tree); |
206 |
|
kb[prim(*tree)][1] = box[prim(*tree)][1]; |
207 |
< |
cut(tree+(1<<(level+1)), level+1, kb, (c0+c1)>>1, c1); |
207 |
> |
cut(tree+((size_t)1<<(level+1)), level+1, kb, (c0+c1)>>1, c1); |
208 |
|
} |
209 |
|
|
210 |
|
|