UnitConverterLinear
A description of how to convert between units using a linear equation.
Declaration
class UnitConverterLinearOverview
A linear equation for unit conversion takes the form y = mx + b, such that the following is true:
yis the value in terms of the base unit of the dimension.mis the known coefficient to use for this unit’s conversion.xis the value in terms of the unit on which you call this method.bis the known constant to use for this unit’s conversion.
The baseUnitValueFromValue: method performs the conversion in the form of y = mx + b, where x represents the value passed in and y represents the value returned. The valueFromBaseUnitValue: method performs the inverse conversion in the form of x = (y - b) / m, where y represents the value passed in and x represents the value returned.
For example, consider the fahrenheit unit that UnitTemperature defines. The baseUnitValue(fromValue:) method calculates the value in the base unit, kelvin, using the formula K = (0.55555555555556) × °F + 255.37222222222427. The value(fromBaseUnitValue:) method calculates the value in fahrenheit using the formula °F = (K — 255.37222222222427) / (0.55555555555556), where the coefficient is (0.55555555555556) and the constant is 255.37222222222427.
Units that perform conversion using only a scale factor have a coefficient equal to the scale factor and a constant equal to 0. For example, consider the kilometers unit UnitLength defines. The baseUnitValue(fromValue:) method calculates the value in meters using the formula valueInMeters = 1000 * valueInKilometers + 0. The value(fromBaseUnitValue:) calculates the value in kilometers using the formula valueInKilometers = (valueInMeters - 0) / 1000, where the coefficient is 1000 and the constant is 0.