extern int __isnanf(float f); extern int __isnan(double f); extern int __isnanl(long double f); #define isnan(x) \ (sizeof (x) == sizeof (float) \ ? __isnanf (x) \ : sizeof (x) == sizeof (double) \ ? __isnan (x) : __isnanl (x))