Message-Id: <200207141827.OAA10957@vizcacha.cox.net> From: radian AT cox DOT net (Adrian Mariano) Date: Sun, 14 Jul 2002 14:27:14 -0400 In-Reply-To: "Re: ANNOUNCE: DJGPP packages of GNU units 1.80" (Jul 14, 14:08) X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: Richard Dawe , JT Williams Subject: Re: ANNOUNCE: DJGPP packages of GNU units 1.80 Cc: DJGPP newsgroup Reply-To: djgpp AT delorie DOT com On Jul 14, 14:08, Richard Dawe 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.