From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107079,183ebe04e93f0506 X-Google-Attributes: gid107079,public X-Google-Thread: 103376,183ebe04e93f0506 X-Google-Attributes: gid103376,public From: gwinn@res.ray.com (Joe Gwinn) Subject: Re: fixed point vs floating point Date: 1997/11/26 Message-ID: #1/1 X-Deja-AN: 293021398 Distribution: inet References: <65846t$4vq$1@gonzo.sun3.iaf.nl> <65c58j$1302@mean.stat.purdue.edu> Organization: Raytheon Electronic Systems Newsgroups: comp.lang.ada,sci.math.num-analysis Date: 1997-11-26T00:00:00+00:00 List-Id: In article , dewar@merv.cs.nyu.edu (Robert Dewar) wrote: > Joe said > > < and I no longer recall the details. I don't think it was lack of > understanding, as we had lots of oldtimers experienced with scaled binary > (most often in assembly, but also in fortran etc) and lots of Ada folk, > some quite good. Anyway, we gave up on it. It may have been an > early-compiler effect, later fixed, but the damage was already done. > >> > > Actually that's probably a recipe for such misunderstanding. If you come > to the fixed-point semantics in Ada with preconceptions, you can often > be surprised. For example, people do not realize that delta does not > specify the small, or they don't understand the issue with end points > fudged by delta, or they don't understand the role of universal fixed > in multiplication and division, or they don't undersatnd the accuracy > requiremets etc. > > So it would not surprise me *at all* if this "damage" were self > inflicted. Using fixed-point in Ada is not like using scaled binary > in Fortran! Well, in those days many people had lots of trouble getting scaled binary exactly right too. It wasn't always obvious how to renormalize the results of multiplications and divisions on various machines. One of my best-selling memos of that era gave a simple turn-the-crank algorithm to convert a function from mathematical (ie, real arithmetic) form to scaled binary form, and back. The great hope of Ada83 fixed-point arithmetic was that it would make such memos unnecessary. This would have been a good thing, but it had to wait for the wide use of floating point. As for the differences in Ada's model, I don't recall complaints about that, or that they couldn't understand how it worked. What I do recall was that the Ada experts couldn't get it to work reliably or well using the compilers of the day. In the large-scale development world, under the ususal schedule and budget pressures, tools and technologies don't get so many chances. People will try something. If it works, and doesn't cost too much blood or treasure, they keep on using it, and it will spread. If it fails, or is too much trouble, or bites them too often, they stop using it, and they tell all their friends. It's rare that something that failed for them will ever be tried again. Bad news travels faster than good news. And, full-scale engineering development (FSED) labs are not research universities. For better or worse, the FSED labs are paid to build something in no more than two or perhaps three years, and push it out the door, so there's little time or money to fiddle with things. Joe Gwinn