(j3.2006) Exceptions to Exclusions (Was: Interval arithmetic)

Craig Dedo craig
Fri Mar 20 14:50:56 EDT 2009


Everyone:
	I have a few thoughts about the general issue of exceptions to the
exclusions that were in section 1.4 and now are in section 1.1p4 of 09-007.
Generally, I believe that Van's analysis is sound.  However, his analysis
brings up a few related items in the area of the general issues of
exceptions to exclusions.  

	See below.

> -----Original Message-----
> From: j3-bounces at j3-fortran.org [mailto:j3-bounces at j3-fortran.org] On
> Behalf Of Van Snyder
> Sent: Thursday, March 19, 2009 18:52
> To: fortran standards email list for J3
> Subject: Re: (j3.2006) Interval arithmetic
> 
> I think I've narrowed down the problem that affects software
> implementations of interval arithmetic, or program-specified rounding
> in
> general.

	<snip discussion of other important and interesting issues>

> I think every standard since Fortran 90 _does_ effectively allow
> inter-statement optimization, since subclause 2.3.4 (now 2.3.5) says
> "as
> if."  We just have to be careful not to allow any loopholes in the "as
> if."  It wouldn't hurt to put a note in 2.3.5 to this effect.

	Yes.  I have believed this for over 15 years, ever since I first
read the "as if" language.  I could never understand the apparent belief by
many that strict execution sequence must be preserved and, therefore,
inter-line optimization was not allowed.

> 1.4(6) should probably be re-examined, since the standard now does
> specify the method (at least methods to specify the direction) of
> rounding.

	Well, due to edits in the last two years, it is no longer 1.4(6).
"Exclusions" moved from section 1.4 to 1.3 with 08-007 and from 1.3 to 1.1p4
with 09-007.  Also the list item numbers in what used to be 1.3,
"Inclusions", and 1.4, "Exclusions", became bullet points starting with
07-007r1.  

	More importantly, this is likely to be only part of the general
subject of exceptions to the listed exclusions.  The issue of rounding modes
and the needs of interval arithmetic is likely to be only the start of
several (many?) exceptions to the general rule on exclusions.

	It seems to me that what we really need is a rule that says, in
effect, that the exclusions in 1.1p4 are the default general rule but that
the standard can make exceptions to this list of exclusions in other parts
of the normative text.

	I proposed this approach back in 2001.  I submitted paper J3 /
01-141, "Inclusions and Exclusions", on February 17, 2001, that proposed an
explicit statement of this rule.  Back then, I was thinking mainly of
minimum implementation limits but at the time that I wrote the paper I was
well aware that there could be other situations that would require carefully
tailored exceptions to the general rule on exclusions.

	Perhaps J3 should re-visit this issue again right now.  I am willing
to submit a modified version of my original paper.  What do others think?

Sincerely,
Craig Dedo
17130 W. Burleigh Place
P. O. Box 423                
Brookfield, WI   53008-0423  
USA                          Mobile Phone:  (414) 412-5869
E-mail:  <craig at ctdedo.com>




More information about the J3 mailing list