Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cmath and math.h Changes in Xcode 2.4



On 8/29/06 8:48 AM, "Lyndsey" <email@hidden> wrote:

> On 8/28/06 10:59 PM, "Mike Jackson" <email@hidden> wrote:
> 
>> Was there some change to Xcode (and the entire tool chain) in Xcode 2.4 that
>> would affect the isnan(x) function?
>> 
>> I have now come across two open source packages that get hung up on
>> "isnan(x) is undeclared in this context"  type errors.
>> 
>> The projects are OpenSceneGraph (www.openscenegraph.net) and ITK
>> (www.itk.org).
>> 
>> In ITK's case I had to change a #define to look like the following:
>> 
>> #if defined(__APPLE__)
>> #if (__GNUC__ >= 4)
>>   #include <cmath>
>>   #define isnan(x) std::isnan(x)
>> #else
>>   #include <math.h>
>>   #define isnan(x) __isnand((double)x)
>> #endif
>> #endif
>> 
>> Where as it used to be just:
>> #if defined(__APPLE__)
>>   #include <math.h>
>>   #define isnan(x) __isnand((double)x)
>> #endif
>> 
>>  Just curious....
> 
> I came up against the same problem and Tommy Nordgren (whom I could not get
> a reply thank-you-email to) found that:
> 
> Preprocessing and grepping for isnand gives the following line:
> static __inline__ int __inline_isnand( double __x ) { return __x !=
> __x; }
> So it looks as the correct name is :  __inline_isnand
> 
> This is only for Intel builds, it is still __isnand on PowePC.
> 
> Lyndsey

Looking around it seems the "safer" way to do this is to use the
#define isnan(x) std::isnan(x)

But I don't know anything about anything when it comes to this sort of thing
in C++ so I do not really know the "correct" way to do this. The ITK list is
settling on the std::isnan(x) convention. Not sure what track OpenSceneGraph
took.


-- 
Mike Jackson
imikejackson <at> gmail <dot> com


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/xcode-users/email@hidden

This email sent to email@hidden

References: 
 >Re: Cmath and math.h Changes in Xcode 2.4 (From: Lyndsey <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.