lab2xyz static method

List<num> lab2xyz(
  1. num l,
  2. num a,
  3. num b
)

Implementation

static List<num> lab2xyz(num l, num a, num b) {
  double y = (l + 16) / 116;
  double x = a / 500 + y;
  double z = y - b / 200;

  double y3 = y * y * y;
  double x3 = x * x * x;
  double z3 = z * z * z;
  y = y3 > 0.008856 ? y3 : (y - 16 / 116) / 7.787;
  x = x3 > 0.008856 ? x3 : (x - 16 / 116) / 7.787;
  z = z3 > 0.008856 ? z3 : (z - 16 / 116) / 7.787;

  x *= 95.047;
  y *= 100;
  z *= 108.883;

  return [x, y, z];
}