| 203 |
|
sum += sdv.cieY; |
| 204 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 205 |
|
c_ccvt(&sdv.spec, C_CSXY); |
| 206 |
< |
xsum += sdv.cieY*sdv.spec.cx; |
| 207 |
< |
ysum += sdv.cieY*sdv.spec.cy; |
| 206 |
> |
xsum += sdv.cieY * sdv.spec.cx; |
| 207 |
> |
ysum += sdv.cieY * sdv.spec.cy; |
| 208 |
|
} |
| 209 |
|
} |
| 210 |
|
fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps); |
| 211 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 212 |
< |
fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum)); |
| 213 |
< |
fprintf(cfp[CIE_Z], "\t%3e\n", |
| 212 |
> |
fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum)); |
| 213 |
> |
fprintf(cfp[CIE_Z], "\t%.3e\n", |
| 214 |
|
(sum - xsum - ysum)*sum/(npsamps*ysum)); |
| 215 |
|
} |
| 216 |
|
} |
| 253 |
|
sum += sdv.cieY; |
| 254 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 255 |
|
c_ccvt(&sdv.spec, C_CSXY); |
| 256 |
< |
xsum += sdv.cieY*sdv.spec.cx; |
| 257 |
< |
ysum += sdv.cieY*sdv.spec.cy; |
| 256 |
> |
xsum += sdv.cieY * sdv.spec.cx; |
| 257 |
> |
ysum += sdv.cieY * sdv.spec.cy; |
| 258 |
|
} |
| 259 |
|
} |
| 260 |
|
fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps); |
| 261 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 262 |
< |
fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum)); |
| 263 |
< |
fprintf(cfp[CIE_Z], "\t%3e\n", |
| 262 |
> |
fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum)); |
| 263 |
> |
fprintf(cfp[CIE_Z], "\t%.3e\n", |
| 264 |
|
(sum - xsum - ysum)*sum/(npsamps*ysum)); |
| 265 |
|
} |
| 266 |
|
} |
| 302 |
|
sum += sdv.cieY; |
| 303 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 304 |
|
c_ccvt(&sdv.spec, C_CSXY); |
| 305 |
< |
xsum += sdv.cieY*sdv.spec.cx; |
| 306 |
< |
ysum += sdv.cieY*sdv.spec.cy; |
| 305 |
> |
xsum += sdv.cieY * sdv.spec.cx; |
| 306 |
> |
ysum += sdv.cieY * sdv.spec.cy; |
| 307 |
|
} |
| 308 |
|
} |
| 309 |
|
fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps); |
| 310 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 311 |
< |
fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum)); |
| 312 |
< |
fprintf(cfp[CIE_Z], "\t%3e\n", |
| 311 |
> |
fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum)); |
| 312 |
> |
fprintf(cfp[CIE_Z], "\t%.3e\n", |
| 313 |
|
(sum - xsum - ysum)*sum/(npsamps*ysum)); |
| 314 |
|
} |
| 315 |
|
} |
| 332 |
|
if ((bsd.tb != NULL) | (bsd.tf != NULL)) { |
| 333 |
|
input_orient = -1; output_orient = 1; |
| 334 |
|
cfp[CIE_Y] = open_component_file(CIE_Y); |
| 335 |
< |
if (bsd.tb != NULL && bsd.tb->comp[0].cspec[2].flags) { |
| 336 |
< |
rbf_colorimetry = RBCtristimulus; |
| 335 |
> |
if (bsd.tb != NULL) |
| 336 |
> |
rbf_colorimetry = bsd.tb->comp[0].cspec[2].flags |
| 337 |
> |
? RBCtristimulus : RBCphotopic ; |
| 338 |
> |
if (rbf_colorimetry == RBCtristimulus) { |
| 339 |
|
cfp[CIE_X] = open_component_file(CIE_X); |
| 340 |
|
cfp[CIE_Z] = open_component_file(CIE_Z); |
| 341 |
< |
} else |
| 340 |
< |
rbf_colorimetry = RBCphotopic; |
| 341 |
> |
} |
| 342 |
|
for (j = 0; j < abp->nangles; j++) { |
| 343 |
|
for (i = 0; i < abp->nangles; i++) { |
| 344 |
|
sum = 0; /* average over patches */ |
| 352 |
|
sum += sdv.cieY; |
| 353 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 354 |
|
c_ccvt(&sdv.spec, C_CSXY); |
| 355 |
< |
xsum += sdv.cieY*sdv.spec.cx; |
| 356 |
< |
ysum += sdv.cieY*sdv.spec.cy; |
| 355 |
> |
xsum += sdv.cieY * sdv.spec.cx; |
| 356 |
> |
ysum += sdv.cieY * sdv.spec.cy; |
| 357 |
|
} |
| 358 |
|
} |
| 359 |
|
fprintf(cfp[CIE_Y], "\t%.3e\n", sum/npsamps); |
| 360 |
|
if (rbf_colorimetry == RBCtristimulus) { |
| 361 |
< |
fprintf(cfp[CIE_X], "\t%3e\n", xsum*sum/(npsamps*ysum)); |
| 362 |
< |
fprintf(cfp[CIE_Z], "\t%3e\n", |
| 361 |
> |
fprintf(cfp[CIE_X], "\t%.3e\n", xsum*sum/(npsamps*ysum)); |
| 362 |
> |
fprintf(cfp[CIE_Z], "\t%.3e\n", |
| 363 |
|
(sum - xsum - ysum)*sum/(npsamps*ysum)); |
| 364 |
|
} |
| 365 |
|
} |
| 472 |
|
sum += sdv.cieY; |
| 473 |
|
if (XZarr != NULL) { |
| 474 |
|
c_ccvt(&sdv.spec, C_CSXY); |
| 475 |
< |
xsum += sdv.cieY*sdv.spec.cx; |
| 476 |
< |
ysum += sdv.cieY*sdv.spec.cy; |
| 475 |
> |
xsum += sdv.cieY * sdv.spec.cx; |
| 476 |
> |
ysum += sdv.cieY * sdv.spec.cy; |
| 477 |
|
} |
| 478 |
|
} |
| 479 |
|
n = j*abp->nangles + i; |
| 480 |
< |
bsdfarr[n] = sum / (double)npsamps; |
| 480 |
> |
bsdfarr[n] = sum / npsamps; |
| 481 |
|
if (XZarr != NULL) { |
| 482 |
|
XZarr[n][0] = xsum*sum/(npsamps*ysum); |
| 483 |
|
XZarr[n][1] = (sum - xsum - ysum)*sum/(npsamps*ysum); |