<nmath.h> ? [forwarded for Rex Jaeschke]
David Hough
dgh
Fri Feb 2 19:33:21 PST 1990
Rex's note is followed by more from dgh:
From: aussie!rexauunet.UU.NET (Rex Jaeschke)
Subject: Re: <nmath.h> ?
> Hough:
> In a mostly unrelated usenet posting, Doug Gwyn remarks in passing...
>
> > My feeling is that the only
> > proper way to do that is through extensions of, not conflicts with,
> > the ANSI C standard.
>
> It's clear to me at least that this particular solution is absolutely
> not what customers want.
I believe that Doug is expressing concern about the following section
of the NCEG project proposal I drafted (and NCEG accepted last
meeting) that was included in the recent X3J11/NCEG ballot.
{3.1 Expected Relationship with X3, etc.}
...
The stated goal of NCEG is to be upwards compatible with ANSI~C.
However, it is conceded that in at least one area (namely error
handling by certain library functions) NCEG may have to use an
approach not sanctioned by ANSI~C.
Note that the key word here is "may". I was definitely NOT advocating
we set out to "fix" or "break" ANSI C in this regard. However, I am
told by more than a few knowledgable NCEG members that errno is a
major thorn in their sides. Assuming NCEG is actually adopted as a
working group within X3J11 (which appears likely) it is my job as
convenor to monitor issues that are incompatible with existing
standards. HOWEVER, NCEG's mission is to produce a technical report
NOT a standard. Even if NCEG recommends an alternative error handling
mechanism X3J11 is under no obligation to adopt it. In fact, I expect
numerous NCEG efforts will result in implementation-defined or
undefined behaviors due to conflicting prior art or failure to agree.
That's OK too.
I REALLY want to make sure everyone (within and without NCEG)
understands that I personally, am not at all advocating NCEG stray
from other than being a proper superset of ANSI C. Only the final
analysis will show if that's in fact workable.
Rex
----------------------------------------------------------------------------
Rex Jaeschke | Journal of C Language Translation | C Users Journal
(703) 860-0091 | 2051 Swans Neck Way | DEC PROFESSIONAL
uunet!aussie!rex | Reston, Virginia 22091, USA | Programmers Journal
----------------------------------------------------------------------------
Convener of the Numerical C Extensions Group (NCEG)
----------------------------------------------------------------------------
============================================================================
dgh:
> errno is a
> major thorn in their sides
More properly, a major thorn in their customers' sides. For instance,
with Sun C (possibly GCC too),
you can conform to the SVID (errno and matherr) if you use
libm.a plain, or you can compile your program with 68881 inline expansion
templates that don't bother. I have never had a complaint about SVID
conformance with or without the templates, but numerous complaints
about the necessity of using inline expansion templates to maximize
performance in numerical C programs. These complaints often come from
people who have just completed substantial translation programs from
Fortran to C because "everybody knows that C is more efficient and
portable than Fortran" only to find that it ain't necessarily so.
More information about the Numeric-interest
mailing list