class Sass::Value::Color::Space::XyzD50

def _convert_component_to_lab_f(component)

def _convert_component_to_lab_f(component)
  if component > Utils::LAB_EPSILON
    Math.cbrt(component)
  else
    ((Utils::LAB_KAPPA * component) + 16) / 116.0
  end
end

def bounded?

def bounded?
  false
end

def convert(dest, x, y, z, alpha, # rubocop:disable Naming/MethodParameterName

rubocop:disable Naming/MethodParameterName
def convert(dest, x, y, z, alpha, # rubocop:disable Naming/MethodParameterName
            missing_lightness: false,
            missing_chroma: false,
            missing_hue: false,
            missing_a: false,
            missing_b: false)
  case dest
  when LAB, LCH
    f0 = _convert_component_to_lab_f((x.nil? ? 0 : x) / Conversions::D50[0])
    f1 = _convert_component_to_lab_f((y.nil? ? 0 : y) / Conversions::D50[1])
    f2 = _convert_component_to_lab_f((z.nil? ? 0 : z) / Conversions::D50[2])
    lightness = missing_lightness ? nil : (116 * f1) - 16
    a = 500 * (f0 - f1)
    b = 200 * (f1 - f2)
    if dest == LAB
      Color.send(:_for_space,
                 dest,
                 lightness,
                 missing_a ? nil : a,
                 missing_b ? nil : b,
                 alpha)
    else
      Utils.lab_to_lch(dest, lightness, a, b, alpha, missing_chroma:, missing_hue:)
    end
  else
    convert_linear(dest, x, y, z, alpha,
                   missing_lightness:,
                   missing_chroma:,
                   missing_hue:,
                   missing_a:,
                   missing_b:)
  end
end

def from_linear(channel)

def from_linear(channel)
  channel
end

def initialize

def initialize
  super('xyz-d50', Utils::XYZ_CHANNELS)
end

def to_linear(channel)

def to_linear(channel)
  channel
end

def transformation_matrix(dest)

def transformation_matrix(dest)
  case dest
  when A98_RGB
    Conversions::XYZ_D50_TO_LINEAR_A98_RGB
  when DISPLAY_P3
    Conversions::XYZ_D50_TO_LINEAR_DISPLAY_P3
  when LMS
    Conversions::XYZ_D50_TO_LMS
  when PROPHOTO_RGB
    Conversions::XYZ_D50_TO_LINEAR_PROPHOTO_RGB
  when REC2020
    Conversions::XYZ_D50_TO_LINEAR_REC2020
  when RGB, SRGB, SRGB_LINEAR
    Conversions::XYZ_D50_TO_LINEAR_SRGB
  when XYZ_D65
    Conversions::XYZ_D50_TO_XYZ_D65
  else
    super
  end
end