areWithin function
Returns whether or not the magnitude of the difference between two
quantities is less than or equal to the specified tolerance
.
Implementation
bool areWithin(Quantity q1, Quantity q2, Quantity tolerance) {
if (q1.dimensions != q2.dimensions || q2.dimensions != tolerance.dimensions) {
throw DimensionsException(
'The two quantities and tolerance must have the same dimensions');
}
return (q1 - q2).abs().valueSI <= tolerance.valueSI;
}