Conversions can be done either with the "->" conversion operator or with the equivalent "convert" function. The function has three parameters: a quantity, a unit to convert from and a unit to convert to. Likewise the conversion operator uses three values: the quantity and unit to convert from are placed on the left side of the operator while the unit to convert to goes to the right side.
AddUp expresses temperature units using complex numbers. In each complex number, the real component is one degree of the given scale expressed in Kelvin and the imaginary component is the absolute zero in the scale in question. Both Kelvin and Rankine are absolute scales so the value of their imaginary component is zero. The "convert" function and the conversion operator process these complex numbers appropriately to obtain correct temperature conversions.
30 C -> F = 86
convert(30; Celsius; Fahrenheit) = 86
100 Celsius -> Kelvin = 373.15
convert(100; C; K) = 373.15
0 Celsius -> Rankine = 491.67
convert(0; centigrade; R) = 491.67
0 Fahrenheit -> C = -17.777778
convert(0; F; Celsius) = -17.777778
-30 F -> K = 238.70556
convert(-30; Fahrenheit; Kelvin) = 238.70556
80 Fahrenheit -> Rankine = 539.67
convert(80; F; R) = 539.67
100 Kelvin -> Rankine = 180
convert(100; Kelvin; Rankine) = 180
100 K -> C = -173.15
convert(100; Kelvin; centigrade) = -173.15
100 K -> F = -279.67
convert(100; Kelvin; Fahrenheit) = -279.67
100 Rankine -> Kelvin = 55.555556
convert(100; R; K) = 55.555556
100 R -> Reaumur = -174.07556
convert(100; Rankine; Reaumur) = -174.07556
100 Reaumur -> K = 398.15
convert(100; Reaumur; Kelvin) = 398.15