comp.lang.ada
 help / color / mirror / Atom feed
From: Hans Marqvardsen <hm@ddre.dk>
Subject: Re: Calculating SQRT in ADA
Date: 1999/03/24
Date: 1999-03-24T00:00:00+00:00	[thread overview]
Message-ID: <36F8D9B7.1F8D@ddre.dk> (raw)
In-Reply-To: 19990324201959.00800.00000708@ngol04.aol.com

John Herro wrote:
> 
> Robert Dewar wrote:
> >>   while ...
> >>        abs(Guess*Guess/X - 1.0) > 3.0*Dummy'Epsilon loop
> > Why the epsilon test, this iteration will terminate to
> > exact equality in any reasonable floating-point model ...
> 
> I don't know if the Open Ada 83 compiler has a "reasonable" floating-point
> model, but I do know that if I test for exact equality, instantiate with type
> Float, and compute Sqrt(2.0) with that compiler, the program goes into an
> infinite loop.  I think that in general, you can't guarantee that Guess*Guess
> will ever exactly equal X.
> 

Clearly, in any floating-point model the square root of X can only
be represented  exactly  for very few values of X.

However any "reasonable" model may be expected to contain two 
neighbour numbers G and H such that

   G*G <= X <= H*H

Then one may expect convergence to either
G, or H, or to the alternating sequence G,H,G,H,...

Hence you need the epsilon test after all, 
but probably the constant 3.0 can safely be reduced.

Sincerely, 
Hans Marqvardsen

(In my previous posting, please disregard the idea of excluding abs)




  reply	other threads:[~1999-03-24  0:00 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-24  0:00 Calculating SQRT in ADA cmcrae
1999-03-23  0:00 ` Chris Morgan
1999-03-24  0:00   ` Marin David Condic
     [not found]   ` <36F913E0.75F51763@lmco.com>
1999-03-24  0:00     ` Ada 83 - Sometimes still chosen Richard D Riehle
1999-03-25  0:00       ` robert_dewar
1999-03-25  0:00         ` Richard D Riehle
1999-03-25  0:00           ` Marin David Condic
1999-03-26  0:00           ` robert_dewar
1999-03-25  0:00       ` robert_dewar
1999-03-25  0:00         ` Richard D Riehle
1999-03-25  0:00           ` Larry Kilgallen
1999-03-26  0:00           ` robert_dewar
1999-03-26  0:00             ` Richard D Riehle
1999-03-26  0:00               ` Tom Moran
1999-03-26  0:00                 ` Larry Kilgallen
1999-03-29  0:00                 ` Marin David Condic
1999-03-29  0:00                   ` Tarjei Tj�stheim Jensen
1999-03-27  0:00               ` Matthew Heaney
1999-03-26  0:00             ` Tom Moran
1999-03-26  0:00             ` Tarjei Tj�stheim Jensen
1999-03-27  0:00               ` robert_dewar
1999-03-27  0:00                 ` Tarjei Tj�stheim Jensen
1999-03-24  0:00     ` Calculating SQRT in ADA John Herro
1999-03-24  0:00       ` Hans Marqvardsen
     [not found]         ` <36FAA3DF.42C31CF@lmco.com>
1999-03-26  0:00           ` Tom Moran
1999-03-25  0:00       ` robert_dewar
1999-03-25  0:00         ` John Herro
1999-03-24  0:00           ` Hans Marqvardsen [this message]
1999-03-25  0:00             ` David C. Hoos, Sr.
1999-03-25  0:00           ` robert_dewar
1999-03-25  0:00             ` David C. Hoos, Sr.
1999-03-26  0:00               ` Howard W. LUDWIG
1999-03-26  0:00             ` Ole-Hjalmar Kristensen
1999-03-27  0:00               ` robert_dewar
1999-03-29  0:00                 ` Robert I. Eachus
1999-03-30  0:00                   ` robert_dewar
1999-04-02  0:00                     ` Robert I. Eachus
1999-03-30  0:00                   ` robert_dewar
1999-04-02  0:00                     ` Robert I. Eachus
1999-04-03  0:00                       ` robert_dewar
1999-03-25  0:00           ` robert_dewar
1999-03-26  0:00             ` Calculating SQRT in Ada John Herro
1999-03-26  0:00               ` David C. Hoos, Sr.
1999-03-26  0:00                 ` John Herro
1999-03-25  0:00       ` Calculating SQRT in ADA robert_dewar
1999-03-25  0:00     ` robert_dewar
1999-03-24  0:00       ` Howard W. LUDWIG
1999-03-25  0:00         ` Larry Kilgallen
1999-03-24  0:00 ` bob
1999-03-24  0:00   ` Niklas Holsti
1999-03-26  0:00     ` bob
1999-03-26  0:00     ` als0045
1999-03-26  0:00       ` als0045
1999-03-26  0:00 ` Marin David Condic
1999-03-26  0:00   ` David C. Hoos, Sr.
replies disabled

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