invert method

  1. @override
double invert(
  1. double value
)
override

Maps a range value back to a domain value.

Implementation

@override
double invert(double value) {
  // Handle polylinear case
  if (_range.length > 2) {
    return _polylinear(value, _range, _domain, interpolateNumber);
  }

  final d0 = _domain[0];
  final d1 = _domain[1];
  final r0 = _range[0];
  final r1 = _range[1];

  double t = normalize(value, r0, r1);

  if (_clamp) {
    t = t.clamp(0.0, 1.0);
  }

  return interpolateNumber(d0, d1)(t).toDouble();
}