This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: math.h


Newlib had a mistake related to how this was done that was corrected
in 1.18--which is why the behavior has changed from 1.17.
 
If isnanf() really is wanted, the suggested addition of including
<ieeefp.h> is correct.  However, the better correction is to not use
isnanf()--obviating the need to add ieeefp.h--but rather to use the
C99/POSIX isnan() function-like macro, which takes any floating point
type (float or double or long double (ldbl not in Newlib--yet)).  This
should be the most portable method.
 
Craig

-----Original Message-----
From: newlib-owner@sourceware.org [mailto:newlib-owner@sourceware.org] On Behalf Of Søren Holm
Sent: Sunday, January 31, 2010 7:27 PM
To: newlib@sourceware.org
Subject: Re: math.h

Mandag 01 februar 2010 01:08:17 skrev Yaakov (Cygwin/X):
> Careful; <ieeefp.h> disables the isnan and isinf macros (which are
> required by POSIX) and declares them as functions instead.  So <math.h>
> cannot #include <ieeefp.h> in this way.  If you really need these
> functions, I think you'll need to #include <ieeefp.h> in your code
>  directly.

ok. The wierd thing is that the software I'm developing compile nice agains 
newlib 1.1.7 but it fails with missing isnanf against newlib 1.18.

/Søren Holm


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]