scaleToRateUnit method
Scales input
, which is assumed to be a rated unit of measurement, so that its rate is rateUnit
.
This method is irrelevant to non rated units of measurement, which can simply throw UnsupportedError.
Implementation
@override
LengthRate scaleToRateUnit(LengthRate input, RateUnit rateUnit) {
final scaledPeriod = rateUnit.duration;
final scale = Rational.fromInt(scaledPeriod.inMicroseconds) /
Rational.fromInt(input.period.inMicroseconds);
final result =
Length.fromMeters(input.value.meters * scale).per(scaledPeriod);
return result;
}