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