From -5148069349148644493
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: f78e5,d93488bb970aa444
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 2001-06-11 13:54:00 PST
Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!colt.net!dispose.news.demon.net!news.demon.co.uk!demon!mail2news.demon.co.uk!not-for-mail
From: news_comp.std.c++_expires-2001-09-01@nmhq.net (Niklas Matthies)
Newsgroups: comp.std.c++
Subject: Re: How to test for NaNs and infinites?
Date: Mon, 11 Jun 2001 20:53:11 GMT
Organization: Team Rocket
Approved: Fergus Henderson <fjh@cs.mu.oz.au>, moderator of comp.std.c++
Message-ID: <slrn9ia34r.vfs.news_comp.std.c++_expires-2001-09-01@nightrunner.nmhq.net>
References: <3B176D2F.70C3E7F7@meteo.fr> <usrihtkqfjd9qfj2bgtbp6pj530asi567k@4ax.com> <b172eb2f.0106071330.5f984936@posting.google.com> <9fql8h$pfg$1@news.hal-pc.org> <3B21100E.5B25F7AA@acm.org> <9frdlp$14bc$1@news.hal-pc.org> <3B222BB6.3B86CF85@acm.org> <3B231F15.E39EDD12@wizard.net>
X-Trace: mail2news.demon.co.uk 992292796 mail2news:2863 mail2news mail2news.demon.co.uk
X-Complaints-To: abuse@demon.net
X-Mail2News-Path: news.demon.net!mulga.cs.mu.oz.au
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
X-Orig-NNTP-Posting-Host: pd901612c.dip.t-dialin.net (217.1.97.44)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
X-Orig-X-Trace: fu-berlin.de 992283846 7235801 217.1.97.44 (16 [27100])
X-Orig-Path: news_comp.std.c++_expires-2001-09-01
User-Agent: slrn/0.9.6.2 (Linux)
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mulga.cs.mu.OZ.AU id GAA28336
Lines: 34
Xref: archiver1.google.com comp.std.c++:5961

On Mon, 11 Jun 2001 11:27:01 GMT, James Kuyper Jr. <kuyper@wizard.net> wr=
ote:
[=B7=B7=B7]
> There's a major difference between wanting a legal way to do this, and
> wanting a portable way to do this. Specifically, it's the difference
> between something the language already allows, and the new features
> you'd like it to have.

I believe what most programmers actually want is that, for facilities
that are available on "most" platforms, the language should provide some
way to use such facilities on those platforms in a way that is
guaranteed by the language to work on those platforms. The idea is that
although a program might not be portable in the sense that it requires
the platform to support a certain facility not guaranteed by the
language to be available (e.g. Infs and NaNs), one wants the program to
be portable among all platforms that do support that facility, and not
have to write code that only works on some specific, known platforms
(and may break on the next release of the compiler). All the language
has to do is to provide some means for a program to test whether a given
facility is available, and define the facility's behavior for those
implementations where the test is successful.
With this concept, I'd call a program "legal" that tests for a facility
(possibly at compile-time) and then uses it if the test was successful,
although it is not "portable" in the sense that it will fail on
platforms that don't provide that facility.

-- Niklas Matthies

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.research.att.com/~austern/csc/faq.html                ]



