public void ConvertXyyToLinearSRgb()
{
// TODO: Check this.
if (Component3 == 0.0)
{
Component1 = 0.0;
Component2 = 0.0;
}
const double f11 = 330000.0 / 88229.0;
const double f12 = -275000.0 / 264687.0;
const double f13 = -44000.0 / 88229.0;
const double f21 = -12500.0 / 12367.0;
const double f22 = 612500.0 / 333909.0;
const double f23 = 4625.0 / 111303.0;
const double f31 = -30000.0 / 29963.0;
const double f32 = -340000.0 / 269667.0;
const double f33 = 5000.0 / 4731.0;
double x = Component1;
double y = Component2;
double bigY = Component3;
double scale = bigY / y;
Component1 = (f11 * x + f12 * y + f13) * scale;
Component2 = (f21 * x + f22 * y + f23) * scale;
Component3 = (f31 * x + f32 * y + f33) * scale;
}