lerpDoubleAllowInfinity function
Lerps double list based on t
value, allows double.infinity.
Implementation
double? lerpDoubleAllowInfinity(double? a, double? b, double t) {
if (a == b || (a?.isNaN == true) && (b?.isNaN == true)) {
return a;
}
if (a!.isInfinite || b!.isInfinite) {
return b;
}
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;
}