зеркало из https://github.com/github/ruby.git
33 строки
667 B
C
33 строки
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
|