Mail Archives: djgpp/2002/07/14/14:48:50
On Jul 14, 14:08, Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk> wrote:
> Hello.
>
> JT Williams wrote:
> >
> > -: from its readme file:
> > -:
> > -: "GNU `units' converts between different systems of units. It can
> > -: handle multiplicative scale changes. It can also handle nonlinear
> > -: ?????????
> > -: conversions
> > -: such as Celsius to Fahrenheit."
> >
> > FYI, the readme is broken; Celsius and Fahrenheit are _linearly_ related.
> > Does this merit a bug report?
>
> Yes, I think so. I've BCC'd the author on this reply.
>
No, the transformation between Fahrenheit and Celsius is an affine
transformation, not a linear one, because of the constant offset. If
F is a linear transformation then it must satisfy the property
F(a+b)=F(a)+F(b). This is clearly false for the above temperature
conversion. For example 32 degrees Fahrenheit is 0 degrees Celsius
but 32+32=64 degrees Fahrenheit is not 0+0=0 degrees Celsius.
This difference between linear and affine is not a minor issue.
Fahrenheit to Celsius conversion was the most requested "units"
feature for years, but I had no way to implement it because the
fundamental design of the program could only handle linear
transformations. And furthermore, it wasn't even obvious how to
extend the design in a natural way to make this conversion possible.
- Raw text -