Re: Machine epsilon: conclusion
- From: Richard Heathfield <rjh@xxxxxxxxxxxxxxx>
- Date: Sat, 30 Jun 2007 20:36:46 +0000
Harald van D?k said:
Richard Heathfield wrote:
Richard Tobin said:
In article <ltSdnT3DNLGY9xvbnZ2dnUVZ8tHinZ2d@xxxxxx>,
Richard Heathfield <rjh@xxxxxxxxxxxxxxx> wrote:
#define QFLT_EPSILON 1.09003771904865842969737513593110651 ...
#E-106
You have the same bug as last time. No standard-conforming
implementation may define QFLT_EPSILON in the standard header
<float.h>, as I pointed out to you earlier this week.
Jacon already described how to suppress this definition if required.
Either it's a standard header (as he claims), or it isn't. If it's a
standard header, it cannot contain QFLT_EPSILON. If it contains
QFLT_EPSILON, it can't be a standard header.
The C99 rationale section 7.1.2 gives an example of how it can, and
there is nothing whatsoever in the standard that contradicts it.
I think you're confusing the physical implementation of the header (as
some kind of file) with the concept of "standard header", the
implementation of which is neither here nor there, as the Standard
makes very clear. A standard header *MUST NOT* contain a definition of
QFLT_EPSILON. How the implementation deals with this is up to it.
I presume (not having any way to check it right now) that Mr Navia's
claim (that setting a switch in his compiler renders <float.h> a
standard header) is a correct claim. If so, presumably it does so by
removing the definition of QFLT_EPSILON from <float.h>, possibly by
some kind of #ifdef construct. Were he not to do this, <float.h> would
not be a standard header. Therefore, his implementation agrees with me
and with the Standard that QFLT_EPSILON must not be defined in a
standard header. So he is arguing against his own implementation.
--
Richard Heathfield <http://www.cpax.org.uk>
Email: -www. +rjh@
Google users: <http://www.cpax.org.uk/prg/writings/googly.php>
"Usenet is a strange place" - dmr 29 July 1999
.
- Follow-Ups:
- Re: Machine epsilon: conclusion
- From: Harald van Dijk
- Re: Machine epsilon: conclusion
- References:
- Machine epsilon: conclusion
- From: jacob navia
- Re: Machine epsilon: conclusion
- From: Richard Heathfield
- Re: Machine epsilon: conclusion
- From: Richard Tobin
- Re: Machine epsilon: conclusion
- From: Richard Heathfield
- Re: Machine epsilon: conclusion
- From: Harald van Dijk
- Machine epsilon: conclusion
- Prev by Date: Re: reply the answer
- Next by Date: Re: Machine epsilon: conclusion
- Previous by thread: Re: Machine epsilon: conclusion
- Next by thread: Re: Machine epsilon: conclusion
- Index(es):
Relevant Pages
|