scaleToRateUnit method

  1. @override
TemperatureRate scaleToRateUnit(
  1. TemperatureRate input,
  2. RateUnit rateUnit
)
override

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;
}