lerpDouble method
Implementation
double? lerpDouble(num? a, num? b, double t) {
if (a == b || (a?.isNaN ?? false) && (b?.isNaN ?? false)) {
return a?.toDouble();
}
a ??= 0.0;
b ??= 0.0;
assert(
a.isFinite, 'Cannot interpolate between finite and non-finite values');
assert(
b.isFinite, 'Cannot interpolate between finite and non-finite values');
assert(t.isFinite, 't must be finite when interpolating between values');
return a * (1.0 - t) + b * t;
}