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
TemperatureRate scaleToRateUnit(TemperatureRate input, RateUnit rateUnit) {
final scaledPeriod = rateUnit.duration;
final scale = Rational.fromInt(scaledPeriod.inMicroseconds) /
Rational.fromInt(input.period.inMicroseconds);
final result =
Temperature.fromKelvins(input.value.kelvins * scale).per(scaledPeriod);
return result;
}