Class

# UnitConverterLinear

A description of how to convert between units using a linear equation.

## Overview

A linear equation for unit conversion takes the form `y = mx + b`, such that:

• y is the value in terms of the base unit of the dimension

• m is the known coefficient used for this unit's conversion

• x is the value in terms of the unit on which this method is called

• b is the known constant used 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 defined by `UnitTemperature`: The `baseUnitValueFromValue:` method calculates the value in the base unit, `kelvin` using the formula `K = (0.55555555555556) × °F + 255.37222222222427`, and the `valueFromBaseUnitValue:` 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 `0`. For example, consider the `kilometers` unit defined by `UnitLength`: The `baseUnitValueFromValue:` method calculates the value in meters using the formula `valueInMeters = 1000 * valueInKilometers + 0`, and the `valueFromBaseUnitValue:` calculates the value in kilometers using the formula `valueInKilometers = (valueInMeters - 0) / 1000`, where the coefficient is `1000` and the constant is `0`.

## Topics

### Accessing Linear Parameters

`var coefficient: Double`

The coefficient used in the linear unit conversion calculation.

`var constant: Double`

The constant used in the linear unit conversion calculation.

### Creating Unit Converters

`init(coefficient: Double)`

Initializes the unit converter with the specified coefficient.

## See Also

### Conversion

`class UnitConverter`

An abstract class that provides a description of how to convert a unit to and from the base unit of its dimension.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software