From J.Reid@directory.rl.ac.uk Thu Dec 24 12:40:38 1992
Received: from danpost4.uni-c.dk by dkuug.dk with SMTP id AA27021
  (5.65c8/IDA-1.4.4j for <SC22WG5@dkuug.dk>); Thu, 24 Dec 1992 11:39:09 +0100
X400-Received: by mta danpost4.uni-c.dk in /PRMD=minerva/ADMD=dk400/C=dk/;
               Relayed; Thu, 24 Dec 1992 11:38:33 +0100
X400-Received: by /PRMD=uk.ac/ADMD= /C=gb/; Relayed;
               Thu, 24 Dec 1992 11:38:57 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Thu, 24 Dec 1992 11:25:33 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Thu, 24 Dec 1992 11:40:38 +0100
X400-Received: by /PRMD=UK.AC/ADMD= /C=GB/; Relayed;
               Thu, 24 Dec 1992 11:40:38 +0100
Date: Thu, 24 Dec 1992 11:40:38 +0100
X400-Originator: J.Reid@directory.rutherford.ac.uk
X400-Recipients: SC22WG5@dkuug.dk
X400-Mts-Identifier: [/PRMD=UK.AC/ADMD= /C=GB/;<9212241040.AA01031@numerical.cc]
X400-Content-Type: P2-1984 (2)
Content-Identifier: Note on LIA-1...
From: " (John Reid)" <jkr@directory.rl.ac.uk>
Sender: J.Reid@directory.rl.ac.uk
Message-Id: <9212241040.AA01031@numerical.cc.rl.ac.uk>
To: JLS@liverpool.ac.uk, MEllis@vax.ox.ac.uk, SC22WG5@dkuug.dk,
        baw@seg.npl.co.uk, d.t.muxworthy@edinburgh.ac.uk
Subject: Note on LIA-1 to appear in IMA Numerical Analysis Newsletter
X-Charset: ASCII
X-Char-Esc: 29

LANGUAGE INDEPENDENT ARITHMETIC (LIA) - A DRAFT INTERNATIONAL STANDARD (DIS)

           John Reid, Rutherford Appleton Laboratory


The UK vote has been decided on the draft international standard
ISO/IEC CD 10967-1:1992: Language independent arithmetic - part 1:
Integer and floating point arithmetic. The stated goals of the draft
are:
1. To enhance the portability of numeric programs across a wide range
   of numeric architectures.
2. To help programming languages express the semantics of their 
   numerical types.
It defines integer and (normalized and denormalized) floating point
types. It specifies the primitive computational operations with source
and destination operands of the same type, comparison operations on two
operands of the same type, and conversions from any arithmetic type to
any other arithmetic type. The values of parameters define the exact
arithmetic behaviour of any particular platform. At its meeting on
December 8, BSI IST/5 decided to vote YES with some comments. The
resolution is attached as an appendix to this note and was passed
nem-con.

I was invited to address the meeting and criticized the draft for not
fully supporting the IEEE standard for binary floating point
arithmetic. The increasing popularity of the IEEE standard is a
very encouraging trend of recent years and is a very real help to those
of us writing portable software. LIA is intended to provide
   "a bridge between the language and the underlying arithmetic
    hardware" .
It appears to me that the current draft cripples IEEE arithmetic by not
supporting
   NaNs ("Not-a-Number"s), infinities, signed zeros, invalid
   exceptions, divide-by-zero exceptions, inexact exceptions, rounding
   modes, and trapping modes.
The suggestion in last paragraph of the UK comments of an informative
annex containing a specific binding to the IEEE standard was added to
meet this objection.

I said at the time that I felt that such an annex would be helpful, but
on reflection have decided otherwise. Such an annex would either fail
to provide some important IEEE facilities or would represent an
extension of the new standard (and those of us writing software to 
standards have learnt that extensions should be avoided). The draft
standard already contains a parameter that specifies whether
denormalized values are supported, so I can see no reason for not
including other parameters for other aspects of the IEEE standard or
for an IEEE parameter.  This would allow us to write clean codes that
do not port beyond the IEEE implementations, and less elegant code of
wider applicability.  It would positively encourage better support of
the IEEE facilities on IEEE implementations, which is certainly needed.
It would also encourage the further proliferation of the use of the
IEEE standard, which, after all, is also an ISO standard.

If you wish to read the draft, it is available as postscript or
compressed postscript by anonymous ftp:
        Node:           crl.dec.com
        Directory:      pub/misc
        File:           lia-1-v40-cb.ps         (569K bytes)
        File:           lia-1-v40-cb.ps.Z       (216K bytes)

IFIP WG 2.5's collection of commentary is available by anonymous ftp
from
	Node:		osl.csc.ncsu.edu (152.1.58.11)
	Directory:	pub/wg25

The ANSI public review period ends on January 12, 1993, which is
probably before you receive this newsletter. If you wish to comment,
send hardcopy to:
   X3 Secretariat
   Attn: Monica Vago
   Suite 200 - 1250 Eye Street, NW
   Washington, DC  20005
My experience is that late comments, though not of the same force, are
passed on. 

If you wish to comment on the UK position, write to 
 Dr Andrew Walker, IST/5 Chairman,
 Standards Manager,
 X/Open Company Ltd.,
 Apex Plaza,
 Forbury Road,
 Reading RG1 1AX
 email: andrew@xopen.co.uk



Appendix. The IST/5 resolution
------------------------------

The UK, noting that there are no known significant technical objections
to the content of this document, and believing that it is valuable to
users of programs and important to the development of Programming
Language standards votes YES to DIS registration of this document,
with the following comments.

Comments

The following changes to the Introduction, under Goals, should be
made:

1.  In the first goal replace the two occurrences of "portability" with
    "predictability".

    Rationale: Portability, in a bit-wise sense, is not achievable. The
    proposed change better describes this aim of the standard, and is 
    achievable.

2.  Replace the second sentence of the first goal with:
    "The focus is on assuring users of single programs in a specific
    programming language of a documented level of accuracy of
    arithmetic operations on which they can rely, and the portability
    of such programs across platforms."

    Rationale: This changes gives needed further emphasis to the value
    of the standard to users of programs, whether or not they are
    ported across platforms.

3. In the second paragraph replace "Our second goal" with "The second
goal of this international standard".

For the benefit of many numerical users, LIA-1 should be accompanied,
in an informative annex, by a specific binding to IEC 559 (IEEE 754).
In addition, definitions should be adapted so that they are consistent
with IEC 559 (IEE 754).



