call method

R call(
  1. double value
)

Maps a domain value to a range value.

Implementation

R call(double value) {
  final n = _range.length;
  final d0 = _domain[0];
  final d1 = _domain[1];

  // Normalize value to [0, 1]
  double t = (value - d0) / (d1 - d0);
  t = t.clamp(0.0, 1.0);

  // Find the appropriate bin
  int i = (t * n).floor();
  if (i >= n) i = n - 1;

  return _range[i];
}