comp.lang.ada
 help / color / mirror / Atom feed
From: gwinn@res.ray.com (Joe Gwinn)
Subject: Re: fixed point vs floating point
Date: 1997/12/01
Date: 1997-12-01T00:00:00+00:00	[thread overview]
Message-ID: <gwinn-0112971245290001@dh5055193.res.ray.com> (raw)
In-Reply-To: dewar.880598918@merv


In article <dewar.880598918@merv>, dewar@merv.cs.nyu.edu (Robert Dewar) wrote:

> Joe said
> 
> <<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.
> >>
> 
> It would also be a good thing if Ada could magically write your program
> for you :-)
> 
> There is no free lunch when it comes to being careful with fixed-point
> scaling. To expect Ada83 to somehow solve this problem automatically
> sounds a bit naive, or let's at least say over-optimistic.

Who said we expected Ada83 fixed point types to solve all problems?  What
we hoped for was that conversion between scalings and normalizations after
arithmetic would be handled, and they weren't.  This, one could expect a
language to do.  

I think the reason it didn't was that in my experience most compiler
experts don't understand computer math functions all that well.  I used to
run a small compiler group (fortran and C), and I must say that that group
didn't understand such things.  I recall one incident when our fortran
compiler failed some math function accuracy tests, and they convinced
themselves that the hardware floating point multiply instruction was
wrong.  Wrong.  It was clear that their expertise was in computer language
grammars and compiler internals, not mathematics per se.  Numerical
Methods is not Compiler Design.

Programmers still have to figure out what the variables shall mean, their
ranges, and their accuracies (resolutions, really).

 
> <<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.
> >>
> 
> Sounds like you had the wrong "Ada experts" or the wrong compilers, or both.
> Many people used fixed-point in Ada very successfully in the early days
> (I am really thinking specifically of the Alsys compiler here, since I was
> working for Alsys at the time).

Well, we had the Ada experts we had, but not a lot of them, or time to
fiddle.  Almost by definition, the real Ada experts work for Ada vendors,
not their customers.  And something that requires the level of expertise
you seem to imply cannot be widely used in the context of full-scale
engineering development (FSED) projects, with 50 or 100 programmers, most
of which are not language gurus in any language.  Most are experts in the
problem domain, not the langauge of the day.  It cannot be otherwise; we
are not in the language business.

As for choice of compiler, it's a big decision, made using a matrix of
weighted numerical scores covering all manner of issues, and I don't
recall that Alsys was ever chosen here.  I don't know (or recall) why, but
there are lots of bigger issues than the handling of fixed point types. 
Verdix (pre-Rational) was the usual winner, as was XD Ada to a lesser
extent.  Handling of the usual embedded realtime issues, plus toolpath
isses, dominated the decisions then, and still do

Joe Gwinn




  reply	other threads:[~1997-12-01  0:00 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-11-22  0:00 fixed point vs floating point Matthew Heaney
1997-11-22  0:00 ` Tucker Taft
1997-11-22  0:00   ` Robert Dewar
1997-11-22  0:00     ` Matthew Heaney
1997-11-23  0:00 ` Geert Bosch
1997-11-23  0:00   ` Tom Moran
1997-11-25  0:00     ` John A. Limpert
1997-11-25  0:00       ` Robert Dewar
1997-11-25  0:00       ` Robert Dewar
1997-11-23  0:00   ` Matthew Heaney
1997-11-23  0:00     ` Robert Dewar
1997-11-24  0:00       ` Herman Rubin
1997-11-24  0:00         ` Robert Dewar
1997-11-25  0:00           ` Joe Gwinn
1997-11-25  0:00             ` Matthew Heaney
1997-11-25  0:00             ` Robert Dewar
1997-11-25  0:00               ` Joe Gwinn
1997-11-25  0:00                 ` Robert Dewar
1997-11-26  0:00                   ` Joe Gwinn
1997-11-26  0:00                     ` Robert Dewar
1997-12-01  0:00                       ` Joe Gwinn [this message]
1997-12-01  0:00                         ` Robert Dewar
1997-12-01  0:00                           ` Joe Gwinn
1997-12-03  0:00                           ` robin
1997-11-26  0:00             ` William A Whitaker
1997-11-24  0:00     ` Geert Bosch
1997-11-24  0:00 ` Vince Del Vecchio
1997-11-24  0:00 ` Vince Del Vecchio
1997-12-03  0:00 ` robin
  -- strict thread matches above, loose matches on Subject: below --
2011-09-29 10:25 RasikaSrinivasan@gmail.com
2011-09-29 10:49 ` AdaMagica
2011-09-29 13:38   ` Martin
2011-09-30 10:17 ` Stephen Leake
2011-09-30 16:25   ` tmoran
2011-09-30 16:52     ` Dmitry A. Kazakov
2011-10-01 11:09     ` Stephen Leake
2011-09-30 19:26   ` tmoran
2011-09-30 22:31   ` tmoran
2011-10-01 13:37   ` RasikaSrinivasan@gmail.com
2011-10-02 14:19     ` Stephen Leake
1997-12-02  0:00 Robert Dewar
1997-12-02  0:00 ` Joe Gwinn
1997-12-02  0:00   ` Robert Dewar
1997-12-02  0:00     ` Matthew Heaney
1997-12-03  0:00       ` Robert Dewar
1997-12-03  0:00     ` Shmuel (Seymour J.) Metz
1997-12-03  0:00       ` Matthew Heaney
1997-12-04  0:00         ` Shmuel (Seymour J.) Metz
1997-12-04  0:00           ` Robert Dewar
1997-12-03  0:00       ` Robert Dewar
1997-12-03  0:00       ` Robert Dewar
1997-12-03  0:00     ` robin
1997-12-03  0:00       ` Robert Dewar
1997-12-02  0:00   ` Ken Garlington
1997-12-03  0:00     ` Joe Gwinn
1997-12-04  0:00       ` Robert Dewar
1997-12-04  0:00         ` Shmuel (Seymour J.) Metz
1997-12-03  0:00 ` robin
1997-11-28  0:00 tmoran
1997-11-28  0:00 ` Robert Dewar
1997-11-27  0:00 tmoran
1997-11-27  0:00 ` Robert Dewar
1997-11-29  0:00   ` Tarjei T. Jensen
     [not found] <9711221603.AA03295@nile.gnat.com>
1997-11-22  0:00 ` Ken Garlington
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox