Re: Machine epsilon: conclusion



Richard Heathfield wrote, On 30/06/07 20:51:
jacob navia said:

Richard Heathfield wrote:
jacob navia said:

<snip>
For the different representations we have in the standard header
<float.h>:

#define FLT_EPSILON 1.19209290e-07F // float
#define DBL_EPSILON 2.2204460492503131e-16 // double
#define LDBL_EPSILON 1.084202172485504434007452e-19L //long double
// qfloat epsilon truncated so that it fits in this page...
#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.

I have told you thousand times that this can be disabled
by using -ansic.

You don't seem to understand my point, which is that you are describing <float.h> as a *standard header*, and yet you *also* describe it as containing QFLT_EPSILON. It can't *both* be a standard header *and* contain QFLT_EPSILON at the same time. If it is a standard header, it does not contain QFLT_EPSILON. If it contains QFLT_EPSILON, it is not a standard header. Your claim that QFLT_EPSILON is in a standard header is simply wrong, switch or no switch.

Well, if it was appropriately guarded it *could* be there. E.g.

#define FLT_EPSILON 1.19209290e-07F // float
#define DBL_EPSILON 2.2204460492503131e-16 // double
#define LDBL_EPSILON 1.084202172485504434007452e-19L //long double
#ifdef _LCCWIN_EXTENSIONS
// qfloat epsilon truncated so that it fits in this page...
# define QFLT_EPSILON 1.09003771904865842969737513593110651 ... E-106
#endif

However, that is not how Jacob is presenting it.
--
Flash Gordon
.



Relevant Pages

  • Re: Machine epsilon: conclusion
    ... Richard Heathfield wrote: ... // qfloat epsilon truncated so that it fits in this page... ... implementation may define QFLT_EPSILON in the standard header, as I pointed out to you earlier this week. ...
    (comp.lang.c)
  • Re: The machine epsilon
    ... representations we have in the standard header: ... // qfloat epsilon truncated so that it fits in this page... ... Conforming implementations must not define QFLT_EPSILON in ...
    (comp.lang.c)
  • Re: Machine epsilon: conclusion
    ... // qfloat epsilon truncated so that it fits in this page... ... It can't *both* be a standard header *and* contain QFLT_EPSILON at the same time. ... Your claim that QFLT_EPSILON is in a standard header is simply wrong, switch or no switch. ... The fact that my compiler is the only C compiler giving to the user ...
    (comp.lang.c)
  • Re: Machine epsilon: conclusion
    ... jacob navia wrote: ... snip ... ... implementation may define QFLT_EPSILON in the standard header ... cbfalconer at maineline dot net ...
    (comp.lang.c)
  • Re: any error in the code
    ... odd behaviour if s contained any % symbols. ... make the compilation procedure costlier ... No standard header includes any other standard header, and yes, ...
    (comp.lang.c)