1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/missing/isnan.c
akr bac8fa5f9d * missing/isnan.c (isnan): Don't define if isnan() macro is defined.
This fixes a compilation failure on uClibc based Gentoo system.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 11:27:07 +00:00

32 lines
667 B
C

/* public domain rewrite of isnan(3) */
#include "ruby/missing.h"
/*
* isnan() may be a macro, a function or both.
* (The C99 standard defines that isnan() is a macro, though.)
* http://www.gnu.org/software/automake/manual/autoconf/Function-Portability.html
*
* macro only: uClibc
* both: GNU libc
*
* This file is compile if no isnan() function is available.
* (autoconf AC_REPLACE_FUNCS detects only the function.)
* The macro is detected by following #ifndef.
*/
#ifndef isnan
static int double_ne(double n1, double n2);
int
isnan(double n)
{
return double_ne(n, n);
}
static int
double_ne(double n1, double n2)
{
return n1 != n2;
}
#endif