(someone wrote)
> Some years ago this situation changed dramatically.  Mike
> Cowlishaw---he who designed REXX---devised what is now ANSI decimal
> floating point  (DFP).  DFP behaves consistently in ways that do not
> surprise accountants.  (All three floating-point formats are supported
> by zArchitecture hardware.)

According to D.E.Knuth, there are two things that should not be
done in floating point: financial calculations and typesetting.

Floating point is great for quantities with a relative error.
That is, where the uncertainty in measurement scales with the value.
One can measure lengths in nanometers or gigameters to about
one part in 100 million or so at best(*)

For quantities where the uncertainty does not depend on the 
magnitude, fixed point is a better choice. I expect my bank to
keep my balance to the cent, when I have either $1.00 or 
(rarely) $1,000,000.00 in my account.

Digital typesetting needs to be able to position glyphs on the
page consistently. The eye is amazingly sensitive to some types
of positioning errors. Knuth has an example of a typesetting
machine that was thought to have 5333 dot/inch resolution, but
turned out to be 5333 and a third dpi. The difference was visible
in printed output. TeX and Metafont use only fixed point arithmetic
for any calculation that affects the printed page. Some messages
to the user use floating point arithmetic.
 
> Although there has been ample tIme to do so, IBM COBOL does not yet
> support DFP.  It should.   When IBM COBOL does support DFP, it will be
> possible to eliminate packed-decimal (except as a transitional data
> type in certain conversion operations) from COBOL routines; and doing
> so will confer large performance advantages.

I suppose if one is careful in how it is used. Still, the 15 
decimal digits from S/360 packed decimal should be enough for
most uses. (31 digits for add/subtract.) 

--------------------------------------------------------------

(*)

(The lattice constant for crystalline Silicon is
 543.102 0504 x 10^-12 m with a relative error of 1.6 
in 100,000,000.)

The radius of the earth is about 6371km. Because the earth isn't
a perfect sphere it is hard to give it much more accurately, though
one could measure the distance between two points on the earth
more accurately. The semi-major axis of the earth's orbit 
is 149598261km, so again to about one part in 100,000,000.

The period of the earth's orbit is 365.256363004 days, or known
to about 1 part in ten to the 11th. Optical spectra lines can
also be measured to a similar relative uncertainty.

-- glen

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to