comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Float conversion
Date: Wed, 04 Aug 2010 18:15:36 +0200
Date: 2010-08-04T18:15:37+02:00	[thread overview]
Message-ID: <4c599229$0$6761$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <82lj8mu9ar.fsf@stephe-leake.org>

On 04.08.10 09:27, Stephen Leake wrote:
> Georg Bauhaus <rm.dash-bauhaus@futureapps.de> writes:
> 
>> On 03.08.10 03:07, Phil Clayton wrote:
>>
>>>> Clearly to cover all cases, you
>>>> need A < B, A = B, A > B, A < C, etc.
>>>
>>> You make it sound easy...  Generally, how do you justify that tests
>>> 'cover all cases' so giving you a 100% chance of finding an error?
>>
>> When {A, B, C} in (machine) Float, I guess "<", "=", and ">"
>> won't tell the whole story in any case? 
> 
> Why not? 
> 
> Those are the only conditions tested in the code.

Suppose the code has, for a reason, the conditional

  if A = A then
  else
  end if;

That one can be important, J.-P. Rosen recently explained why,
talking about NaN. Is this test usually present?

Then, as Dmitry said, comparing Inf needs special care.  The meaning
of predefined "=" in some test case, for some floating point type,
can depend not just on platform, but also on platform state.
Practically, GNAT has, or used to have a state switching subprogram
that would turn on 80 bit FPT when running on Windows NT, IIRC.
Can a test make sure that results of "=" or even of "<" will be
unaffected by state switches in the processor?

What if significant epsilons change as computed results grow or shrink?

Additionally, can one write a test for ARM Something and hope
it gives the same result on a PC workstation for the
"same" program?


Georg



  reply	other threads:[~2010-08-04 16:15 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-29 12:23 Float conversion Henrique
2010-07-29 12:44 ` Jacob Sparre Andersen
2010-07-29 12:46 ` Dmitry A. Kazakov
2010-07-29 15:08   ` Georg Bauhaus
2010-07-29 15:10     ` Georg Bauhaus
2010-07-29 15:35     ` Dmitry A. Kazakov
2010-07-29 18:21       ` Henrique
2010-07-29 19:08         ` Jeffrey R. Carter
2010-07-29 19:15         ` Dmitry A. Kazakov
2010-07-30  1:30           ` Phil Clayton
2010-07-30  8:43             ` Dmitry A. Kazakov
2010-07-30 13:14               ` Phil Clayton
2010-07-30 14:34                 ` Dmitry A. Kazakov
2010-07-31 15:12                 ` Stephen Leake
2010-08-03  1:07                   ` Phil Clayton
2010-08-03  3:31                     ` Shark8
2010-08-03 10:38                     ` Georg Bauhaus
2010-08-04  7:27                       ` Stephen Leake
2010-08-04 16:15                         ` Georg Bauhaus [this message]
2010-08-04 16:32                       ` Phil Clayton
2010-08-04  7:26                     ` Stephen Leake
2010-08-04 12:52                       ` Robert A Duff
2010-08-04 14:32                         ` Dmitry A. Kazakov
2010-08-04 19:36                           ` Simon Wright
2010-08-04 19:46                             ` Dmitry A. Kazakov
2010-08-04 20:29                             ` Georg Bauhaus
2010-08-05 12:05                         ` Stephen Leake
2010-08-07  5:54                           ` Shark8
2010-08-07  8:56                             ` Georg Bauhaus
2010-08-07 13:49                               ` Shark8
2010-08-05 10:20                       ` Phil Clayton
2010-07-30 13:16           ` Henrique
2010-07-29 15:37   ` Warren
2010-07-29 14:56 ` Georg Bauhaus
2010-07-29 17:56   ` Jeffrey R. Carter
replies disabled

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