21 |
|
}; |
22 |
|
|
23 |
|
const int cm_elem_size[] = { |
24 |
< |
0, 0, 3*sizeof(float), 3*sizeof(double), 4, 4 |
24 |
> |
0, 0, 4, 4, 3*sizeof(float), 3*sizeof(double) |
25 |
|
}; |
26 |
|
|
27 |
|
/* Allocate a color coefficient matrix */ |
87 |
|
get_cminfo(char *s, void *p) |
88 |
|
{ |
89 |
|
CMINFO *ip = (CMINFO *)p; |
90 |
< |
char fmt[32]; |
90 |
> |
char fmt[MAXFMTLEN]; |
91 |
|
int i; |
92 |
|
|
93 |
|
if (!strncmp(s, "NCOMP=", 6) && atoi(s+6) != 3) { |
403 |
|
for (i = 0; i < cm1->ncols; i++) { |
404 |
|
const COLORV *cp1 = cm_lval(cm1,dr,i); |
405 |
|
const COLORV *cp2 = cm_lval(cm2,i,dc); |
406 |
< |
res[0] += cp1[0] * cp2[0]; |
407 |
< |
res[1] += cp1[1] * cp2[1]; |
408 |
< |
res[2] += cp1[2] * cp2[2]; |
406 |
> |
res[0] += (double)cp1[0] * cp2[0]; |
407 |
> |
res[1] += (double)cp1[1] * cp2[1]; |
408 |
> |
res[2] += (double)cp1[2] * cp2[2]; |
409 |
|
} |
410 |
|
copycolor(dp, res); |
411 |
|
} |