Unified · Split
| @@ -228,9 +228,14 @@ l2y(double l) · 227 unmodified lines | |||
| 228 | static void | 228 | static void |
| 229 | xyz2luv(Triplet* in_out) | 229 | xyz2luv(Triplet* in_out) |
| 230 | { | 230 | { |
| 231 | double var_u = (4.0 * in_out->a) / (in_out->a + (15.0 * in_out->b) + (3.0 * in_out->c)); | ||
| 232 | double var_v = (9.0 * in_out->b) / (in_out->a + (15.0 * in_out->b) + (3.0 * in_out->c)); | ||
| 233 | double l = y2l(in_out->b); | 231 | double l = y2l(in_out->b); |
| 232 | double var_u = 4.0 * in_out->a; | ||
| 233 | double var_v = 9.0 * in_out->b; | ||
| 234 | double div = (in_out->a + (15.0 * in_out->b) + (3.0 * in_out->c)); | ||
| 235 | if (div > 0.00000001) { | ||
| 236 | var_u /= div; | ||
| 237 | var_v /= div; | ||
| 238 | } | ||
| 234 | double u = 13.0 * l * (var_u - ref_u); | 239 | double u = 13.0 * l * (var_u - ref_u); |
| 235 | double v = 13.0 * l * (var_v - ref_v); | 240 | double v = 13.0 * l * (var_v - ref_v); |
| 236 | 241 | ||