operator - method
Override the subtraction operator to manage the Temperature
/TemperatureInterval relationship.
- Subtracting a
Temperature
returns a TemperatureInterval object. - Subtracting a
TemperatureInterval
returns a Temperature object.
Implementation
@override
Quantity operator -(dynamic subtrahend) {
if (subtrahend is TemperatureInterval) {
final newValueSI = valueSI - subtrahend.valueSI;
final ur = Quantity.calcRelativeCombinedUncertaintySumDiff(
this, subtrahend, newValueSI);
return Temperature(K: newValueSI, uncert: ur);
} else if (subtrahend is Temperature) {
final newValueSI = valueSI - subtrahend.valueSI;
final ur = Quantity.calcRelativeCombinedUncertaintySumDiff(
this, subtrahend, newValueSI);
return TemperatureInterval(K: newValueSI, uncert: ur);
} else {
return super - subtrahend;
}
}