HUGE is missing in math.h
Tue Jun 28 10:25:00 GMT 2005
>From: Ralf Corsepius
>Sent: 28 June 2005 10:19
> On Tue, 2005-06-28 at 09:52 +0200, Corinna Vinschen wrote:
>> On Jun 27 17:25, Jeff Johnston wrote:
>>> Corinna Vinschen wrote:
>>>> However, other definitions are missing in math.h, like HUGE_VALF,
>>>> HUGE_VALL, INFINITY and NAN.
>>> I'll take a look at adding these unless you want to. HUGE_VALL is the
>>> only one that is difficult.
>> Would it be a problem to use the Mingw definitions?
>> #define NAN (0.0F/0.0F)
>> #define HUGE_VALF (1.0F/0.0F)
>> #define HUGE_VALL (1.0L/0.0L)
>> #define INFINITY (1.0F/0.0F)
> Are you sure none of these "divisions by zero" doesn't result into an
> exception on some architectures?
And, indeed, might whether it did or not vary according to whether you
compile with optimisations on or off, and which compiler you are using,
because it might be evaulated at either run- or compile-time? And then it
might vary according to whether you were using a cross-compiler or not?
I don't have a copy of the 754 standard, but IIRC it clearly defines the
representations of (at least some of) these various constants in terms of
bit-patterns in the various fields (s/e/m) of the fp type, and shouldn't we
just implement those as hex constants of the appropriate target-dependent
endian-ness, which should be a thoroughly cross-platform solution? (I'll
see if I can find a copy of the standard online anywhere to study.)
Can't think of a witty .sigline today....
More information about the Newlib